我想自定义 LaTeX 文档文本中的引用。目前引用时,只有[1,第 123 页]在引用时说明。是否可以引入一个新命令,以便引用插入(辛普森 1998:第 123 页)作为参考来源?
当搜索书目的定制时,只考虑书目的样式(书籍、会议记录等来源的列表),而不是文本中的简写......
最小工作示例:
\documentclass[12pt]{article}
\title{\LaTeX}
\date{}
\begin{document}
This thesis bases on the theoretical work of Simpson \cite[p.123]{Simpson}.
\begin{thebibliography}{50}
\bibitem{Simpson} Homer J. Simpson. \textsl{Mmmmm...donuts}. Evergreen Terrace Printing Co., Springfield, SomewhereUSA, 1998
\end{thebibliography}
\end{document}
生成:
答案1
使用biblatex
这样您就可以将 citestyle 更改为authoryear
。
\documentclass{scrartcl}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@BOOK{Simpson,
title = {Mmmmm...donuts},
publisher = {Evergreen Terrace Printing Co.},
year = {1998},
author = {Homer J. Simpson},
address = {Springfield, SomewhereUSA}
}
\end{filecontents}
\usepackage[backend=bibtex,citestyle=authoryear]{biblatex}
\addbibresource{\jobname.bib}
\renewcommand*{\postnotedelim}{\addcolon\space} % add colon after year
\begin{document}
This thesis bases on the theoretical work of Simpson \parencite[123]{Simpson}.
\printbibliography
\end{document}
答案2
如果您还没有thebibliography
手动编写整个环境,最好切换到使用 BibTeX 或更好的方法,biblatex
正如其他答案所说。
如果您的参考书目已经有了,简单的更改将使其适用于作者年份样式:
\documentclass[12pt]{article}
\usepackage[authoryear]{natbib}
\setcitestyle{notesep={: }}
\title{\LaTeX}
\date{}
\begin{document}
This thesis bases on the theoretical work of Simpson \cite[p.~123]{Simpson}.
\begin{thebibliography}{}
\bibitem[Simpson(1998)]{Simpson} Homer J. Simpson. \textsl{Mmmmm...donuts}.
Evergreen Terrace Printing Co., Springfield, SomewhereUSA, 1998
\end{thebibliography}
\end{document}
您必须按所示加载并在表单中natbib
添加可选参数\bibitem
<author list>(<year)
作者列表和括号之间没有任何空格。例如,两个作者可以是
\bibitem[Gilbert and Sullivan(1878)]{pinafore}
W. S. Gilbert and A. Sullivan, \emph{H.M.S. Pinafore}, London, Opera Comique, 1878.