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