
Ich versuche, eine komprimierte Bibliographie mit einem Absatz zu erstellen biblatex
, wie indiese Antwort. Ich möchte die Schrift auch deutlich kleiner machen als die Hauptschriftgröße des Dokuments. Dies mache ich, indem ich \bibfont
; das erzeugt jedoch etwas, das wie doppelter Zeilenabstand aussieht, aber ich möchte nur einfachen Zeilenabstand. Ich dachte, das
\renewcommand*{\bibfont}{\fontsize{5pt}{7pt}\selectfont}
würde sich darum kümmern, da \fontsize
der Wert auch festgelegt werden soll \baselineskip
. Weiß jemand, warum ich in der Bibliographie einen so großen Zeilenabstand habe und wie ich diesen Abstand auf etwas reduzieren kann, das wie normaler Einzelabstand aussieht?
\begin{filecontents*}{\jobname.bib}
@article{a1,
author = {Smith, Jane},
journal = {Nature},
volume = {7},
pages = {201--204},
year = {1999},
}
@article{a2,
author = {Smith, Jane},
journal = {Nature},
volume = {7},
pages = {201--204},
year = {2000},
}
@article{a3,
author = {Smith, Jane},
journal = {Nature},
volume = {7},
pages = {201--204},
year = {2001},
}
@article{a4,
author = {Smith, Jane},
journal = {Nature},
volume = {7},
pages = {201--204},
year = {2002},
}
@article{a5,
author = {Smith, Jane},
journal = {Nature},
volume = {7},
pages = {201--204},
year = {2003},
}
\end{filecontents*}
\documentclass{article}
\usepackage[american]{babel}
\usepackage{csquotes}
\usepackage[backend=biber,
style=authoryear-comp,
maxcitenames=2,
maxnames=1,
minnames=1,
firstinits=true]{biblatex}
\addbibresource{\jobname.bib}
\renewcommand*{\bibfont}{\fontsize{5pt}{7pt}\selectfont}
\defbibenvironment{bibliography}
{}
{}
{\addspace}
\begin{document}
\nocite{*}
\printbibliography
\end{document}
Antwort1
Das Problem besteht darin, dass, wenn der horizontale Modus in der Bibliographieumgebung nicht beendet wird, der Wert von \baselineskip
auf den Wert an anderer Stelle im Dokument zurückgesetzt wird. Dies wird indiese AntwortZuReduzieren Sie den Zeilenabstand, wenn Sie in einer Umgebung eine kleinere Schriftgröße verwenden.
Sie können den Absatz beenden (d. h. den horizontalen Modus beenden und das Material in Zeilen umbrechen), indem Sie \endgraf
in den <end code>
folgenden Teil des \defbibenvironment
Befehls einfügen:
\defbibenvironment{bibliography}
{}
{\endgraf}
{\addspace}
Sie müssen \endgraf
hier anstelle von verwenden \par
, sonst erhalten Sie eine Fehlermeldung (sieheWann ist es besser, \par als \endgraf zu verwenden?für einige Erläuterungen zu den Unterschieden zwischen \par
und \endgraf
).
Hier ist das vollständige MWE:
\begin{filecontents*}{\jobname.bib}
@article{a1,
author = {Smith, Jane},
journal = {Nature},
volume = {7},
pages = {201-204},
year = {1999},
}
@article{a2,
author = {Smith, Jane},
journal = {Nature},
volume = {7},
pages = {201-204},
year = {2000},
}
@article{a3,
author = {Smith, Jane},
journal = {Nature},
volume = {7},
pages = {201-204},
year = {2001},
}
@article{a4,
author = {Smith, Jane},
journal = {Nature},
volume = {7},
pages = {201-204},
year = {2002},
}
@article{a5,
author = {Smith, Jane},
journal = {Nature},
volume = {7},
pages = {201-204},
year = {2003},
}
\end{filecontents*}
\documentclass{article}
\usepackage[american]{babel}
\usepackage{csquotes}
\usepackage[backend=biber,
style=authoryear-comp,
maxcitenames=2,
maxnames=1,
minnames=1,
firstinits=true]{biblatex}
\addbibresource{\jobname.bib}
\renewcommand*{\bibfont}{\fontsize{5pt}{7pt}\selectfont}
\defbibenvironment{bibliography}
{}
{\endgraf}
{\addspace}
\begin{document}
\nocite{*}
\printbibliography
\end{document}
Und hier ist die resultierende Ausgabe mit etwas, das wie ein einfacher Zeilenabstand aussieht: