文本中的自定义引用

文本中的自定义引用

我想自定义 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.

相关内容