我大学的论文课在使用 时会中断natbib/biblatex
。它会中断所有\chapter*{name}
命令,因此它们会在正文中创建一个名为 * 的章节,其中包含文本名称。使用 \bibliography{myRefs}
withnatbib
会给我一个混乱的章节名称 (*)。使用\printbibliography
withbiblatex
也会出现同样的情况。
有没有一种简单的方法可以在不使用这些包的情况下从引文中获取作者姓名或年份?
如果可能的话,我很乐意自己动手\citeauthoryear
做\citep
命令。我对 TeX 了解不够多,无法更改类文件来避免这种行为。
答案1
您可以复制该类用于引用的代码,并将其应用于新的 bibheading 样式biblatex
:
\documentclass[Chicago]{uuthesis2e}
\usepackage{biblatex}
\addbibresource{biblatex-examples.bib}
\defbibheading{uuthesis2e}{%
\newpage
\thispagestyle{empty}%
\addcontentsline{toc}{chapter}{REFERENCES}%
% Switch singlespace to after the heading gets printed.
\mainheading{REFERENCES}%
\par\removelastskip\singlespace\par\removelastskip% GBG Oct 1993
\fixmainheadingSKIP
}
\begin{document}
\chapter{usual chapter}
In \citeyear{companion} some nice guys wrote
\citetitle{companion}~\cite{companion}.
Something else \cite{aristotle:physics}.
\printbibliography[heading=uuthesis2e]
\end{document}
同样地natbib
:
\usepackage{natbib}
\providecommand\newblock{}
\renewcommand{\bibsection}{%
\newpage
\thispagestyle{empty}%
\addcontentsline{toc}{chapter}{REFERENCES}%
% Switch singlespace to after the heading gets printed.
\mainheading{REFERENCES}%
\par\removelastskip\singlespace\par\removelastskip% GBG Oct 1993
\fixmainheadingSKIP
}
答案2
该课程相当老旧,不提供无编号章节,默认情况下加星标的章节。 你可以不知何故通过排版编号的参考书目来解决此情况。
\documentclass[Chicago]{uuthesis2e}
\usepackage{biblatex}
\addbibresource{biblatex-examples.bib}
\begin{document}
\chapter{usual chapter}
In \citeyear{companion} some nice guys wrote
\citetitle{companion}~\cite{companion}.
\chapter*{starred chapter}
\cite{aristotle:physics}
\printbibliography[heading=bibnumbered]
\end{document}
您可以使用 natbib 包执行相同操作,但它的功能不如 强大biblatex
。有趣的是,您需要提供命令,\newblock
因为旧类本身不提供此命令。
\documentclass[Chicago]{uuthesis2e}
\providecommand\newblock{}
\usepackage{natbib}
\renewcommand{\bibsection}{\chapter{\bibname}}
\begin{document}
\chapter{usual chapter}
%In \citeyear{companion} some nice guys wrote
%\citetitle{companion}~
\cite{companion}.
\chapter*{starred chapter}
\cite{aristotle:physics}
\bibliographystyle{unsrtnat}
\bibliography{biblatex-examples}
\end{document}
仔细查看刚刚显示的类文件,该类提供了\mainheading
某种无编号章节的命令。原始的 bibheading 就是这样设置的。使用 ,标准输出可以在下图中再次看到natbib
。默认情况下没有 clearpage。
\documentclass[Chicago]{uuthesis2e}
\providecommand\newblock{}
\usepackage{natbib}
\renewcommand{\bibsection}{\mainheading{\bibname}}
\begin{document}
\chapter{usual chapter}
%In \citeyear{companion} some nice guys wrote
%\citetitle{companion}~
\cite{companion}.
\chapter*{starred chapter}
\cite{aristotle:physics}
\bibliographystyle{unsrtnat}
\bibliography{biblatex-examples}
\end{document}