
Wie kann man eine Zitierung wie im Titel erhalten, wenn mehrere Referenzen aufeinander folgen, zum Beispiel: der Code
\cite{ref1,ref3-ref7}
funktioniert nicht. Ich sehe dies jedoch in vielen Arbeiten.
Gibt es eine einfache Möglichkeit, dies zu tun?
Angenommen, ich verwende den folgenden einfachen Code
\documentclass{article}
\begin{document}
\cite{a, d,e,f,g,h}
\begin{thebibliography}{99}
\bibitem{a} Ref1
\bibitem{b} Ref2
\bibitem{d} Ref3
\bibitem{e} Ref4
\bibitem{f} Ref5
\bibitem{g} Ref6
\bibitem{h} Ref7
\end{thebibliography}
\end{document}
Dann \cite{a, d,e,f,g,h}
ergibt [1,3,4,5,6,7].
Antwort1
Die Reihenfolge der Einträge in der Bib-Datei hat konzeptgemäß keine Bedeutung. Daher
\cite{ref1,ref3-ref7}
hatüberhaupt keine Chancezu arbeiten. Tatsächlich gibt BibTeX eine Warnung aus, dass es keinen Eintrag mit dem Schlüssel ref3-ref7
in der Bib-Datei finden konnte.
Das cite
Paket erlaubt mehrere Argumente in einer einzigen \cite
Anweisung und führt Sortierung und Komprimierung durch (sofern man es nicht anweist, dies nicht zu tun). Wenn das cite
Paket geladen ist, dann
\cite{ref1,ref3,ref4,ref5,ref6,ref7}
wird in der Tat erzeugen
[1, 3--7]
solange der ref2
Eintrag auch irgendwo im Dokument zitiert wird. (Damit dieses einfache Beispiel funktioniert, muss ich natürlich davon ausgehen, dass in der gesetzten Bibliographie in dieser Reihenfolge ref1
sortiert ref7
wird.)
\documentclass{article}
\begin{filecontents*}[overwrite]{mybib.bib}
@misc{a,author="A",title="Thoughts",year=3001}
@misc{b,author="B",title="Thoughts",year=3002}
@misc{c,author="C",title="Thoughts",year=3003}
@misc{d,author="D",title="Thoughts",year=3004}
@misc{e,author="E",title="Thoughts",year=3005}
@misc{f,author="F",title="Thoughts",year=3006}
@misc{g,author="G",title="Thoughts",year=3007}
\end{filecontents*}
\usepackage{cite}
\bibliographystyle{plain}
\begin{document}
\cite{b}
\cite{a,c,d,e,f,g}
\bibliography{mybib}
\end{document}