如果我\hbox to \dimen
在之后使用\bibitem
,natbib 似乎会调用 par 中断。有没有办法避免这种情况,或者以任何其他方式将破折号后的文本与其他 bibitem 对齐?
梅威瑟:
\documentclass[ngerman]{article}
\usepackage{natbib}
\bibhang=2em\relax
\begin{document}
\begin{thebibliography}{99}
\bibitem[Herzer(1992)]{bib-01}Herzer, Manfred (1992), Magnus Hirschfeld. Leben und Werk eines jüdischen, schwulen und sozialistischen Sexologen, Frankfurt am Main.
\bibitem[Herzer(1997)]{bib-02}\hbox to \bibhang{---} (1997), Das Wissenschaftlich-humanitäre Komitee, in: Goodbye to Berlin --- 100 Jahre Schwulenbewegung, hg. v. Schwulen Museum/Akademie der Künste, Berlin, S.~83–87.Hewitt, Andrew (1996), Political Inversions. Homosexuality, Fascism, and the Modernist Imaginary, Stanford, CA.
\end{thebibliography}
\end{document}
结果:
答案1
当您使用 时\hbox
,TeX 会将其附加到正在构建的当前列表中。如果您处于水平模式(在段落中),TeX 会将 附加\hbox
到水平列表中,使其成为当前段落的一部分(这就是您想要的)。但是如果您处于垂直模式,那么 TeX 会将其附加\hbox
到当前垂直列表中,或多或少类似于它对段落中的一行所做的操作(这就是您正在做的事情),因此看起来 仍然位于\hbox
它自己的段落中。
在普通 TeX 中,解决方案是使用 强制启动水平模式\leavevmode
,然后确保 TeX 将 放在\hbox
水平列表中。在 LaTeX(您可以使用\leavevmode
but)中,您应该改用\makebox
:
\documentclass[ngerman]{article}
\usepackage{natbib}
\bibhang=2em\relax
\begin{document}
\begin{thebibliography}{99}
\bibitem[Herzer(1992)]{bib-01}Herzer, Manfred (1992), Magnus Hirschfeld. Leben und Werk eines jüdischen, schwulen und sozialistischen Sexologen, Frankfurt am Main.
\bibitem[Herzer(1997)]{bib-02}\makebox[\bibhang][c]{---}(1997), Das Wissenschaftlich-humanitäre Komitee, in: Goodbye to Berlin --- 100 Jahre Schwulenbewegung, hg. v. Schwulen Museum/Akademie der Künste, Berlin, S.~83–87.Hewitt, Andrew (1996), Political Inversions. Homosexuality, Fascism, and the Modernist Imaginary, Stanford, CA.
\end{thebibliography}
\end{document}