Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

List of Publications for PhD thesis

104 views
Skip to first unread message

Christian Riesch

unread,
Mar 23, 2009, 7:44:59 AM3/23/09
to
Hi,

half a year ago I asked for help with a list of publications in my PhD
thesis:

> In my thesis I would like to have a list of my own publications in
> addition to the bibliography. The data for both the list of my own
> publications and the bibliography should be taken from the same bibtex
> file. I would like to use the IEEEtran style for both lists, but in the
> list of publications no numbering of the entries (like [1], [2]...)
> should be done:
>
> List of publications
> Myself, "Title of my own publication", Journal, Volume, Year.
> ...
>
> Bibliography
> [1] Somebody else, "Title of the article", Journal...
> ...

I got very helpful replies, especially from Michael Shell. I used this code:

-------
\documentclass{article}
\usepackage{multibib}
\newcites{apubs}{Author Publications}

\begin{document}
\cite{pub1,pub2,pub3}
\nociteapubs{apub1,apub2}

% author publications
\begingroup
\labelsep 0pt % set left indentation
\makeatletter
\def\@biblabel#1{\relax} % turn off biblabels
\makeatother
\bibliographystyleapubs{IEEEtran}
\bibliographyapubs{mybibfile}
\endgroup

% "global" bibliography
\begingroup
\continuouslabelsfalse
\bibliographystyle{IEEEtran}
\bibliography{mybibfile}
\endgroup

\end{document}
-------

However, using the same references in both the bibliography and the
author publications, e.g.,

\cite{pub1}
\nociteapubs{pub1},

results in "Label ... multiply defined" warnings.

To circumvent this problem, I am now using a different solution. I wrote
a small latex package, that creates its own .aux file (like multibib
does), but does not create labels. Then I run bibtex with this
additional aux file and include the result in the "author publications"
chapter.

------
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{lop}[2009/03/04 v0.1 List of Publications]

\newcommand{\lopbibfiles}[1]{\def\@lopbibfiles{#1}}
\newcommand{\lopbibstyle}[1]{\def\@lopbibstyle{#1}}
\newcommand{\lopname}[1]{\def\@lopname{#1}}

\AtBeginDocument{
\newwrite\@lopauxfile
\immediate\openout\@lopauxfile=\@lopname .aux
}

\AtEndDocument{
\immediate\write\@lopauxfile{\string\bibstyle{\@lopbibstyle}}
\immediate\write\@lopauxfile{\string\bibdata{\@lopbibfiles}}
\immediate\closeout\@lopauxfile
}

\newcommand{\loppublication}[1]{
\immediate\write\@lopauxfile{\string\citation{#1}}
}

\newenvironment{lop}{
}{%
\begingroup
\labelsep 0pt
\def\bibitem##1{\par\vspace{1em}}
\renewenvironment{thebibliography}[1]{\parindent 0pt}{}
\input{\@lopname.bbl}
\endgroup
}

\endinput
-------

Usage:

-------
\documentclass{book}
\usepackage{lop}

\lopname{apubs}
\lopbibstyle{IEEEtran}
\lopbibfiles{mybibfile}

\begin{document}
\chapter*{Author Publications}
\begin{lop}
\loppublication{apub1}
\loppublication{apub2}
\end{lop}
\end{document}
-------


Do you have any comments, hints, improvements to this code?

Thanks, best regards, Christian

0 new messages