使用最小模板\documentclass{article}\begin{document}\end{document}
,假设我希望在文本中包含以下内容:
正如(Gettier,1963),122所指出的。
此外,假设我希望在参考书目中包含以下内容:
Gettier, E. (1963) 合理的真实信念是知识吗?分析《细胞与分子生物学杂志》, 23(6): 121-123。
通过
As \cite{Gettier1963}, p. 122, points out,
\begin{thebibliography}{11}
\bibitem[Gettier, 1963]{Gettier1963}
\noindent Is Justified True Belief Knowledge?
\emph{Analysis}, 23 (6):121-123.
\end{thebibliography}
我得到:
正如[Gettier, 1963],122,指出的那样。在文中,以及[Gettier, 1963]合理的真实信念知识吗?分析, 23(6): 121-123。参见参考书目。
平均能量损失
\documentclass{article}
\makeatletter \def\@biblabel#1{#1} \makeatother
\begin{document}
\nocite{Gettier1963}(Gettier, 1963) is a famous article in modern epistemology.
\begin{thebibliography}{11}
\bibitem[Gettier, E. (1963)]{Gettier1963} ``Is Justified True Belief Knowledge?''
In \emph{Analysis}, 23 (6):121-123.
\end{thebibliography}
\end{document}
答案1
\@biblabel
如果不使用任何参考书目包或使用 BibTeX,和的默认定义\@cite
是:
\def\@biblabel#1{[#1]}
\def\@cite#1#2{[{#1\if@tempswa , #2\fi}]}
因此,如果您仅仅想更改、删除括号或更改引用以使用括号,则可以将以下内容添加到序言中。
\makeatletter
\def\@biblabel#1{#1}
\def\@cite#1#2{({#1\if@tempswa , #2\fi})}
\makeatother
为什么你不应该这样做
您要求做的事情会比使用 BiBTeX 和适当的参考书目包natbib
或给您带来更多麻烦biblatex
。要了解这一点,请考虑以下事实:参考书目中标签内的元素应包含作者的姓名和首字母,后跟日期,但文本中的引文标注通常只显示作者的姓氏,而不显示首字母。因此,您试图手动模仿相当复杂的格式,结果很可能会失败。例如,您在示例中的文章的文内引文应该是:
(Gettier,1963)或 Gettier(1963)
但参考书目应该是:
Gettier, E., 1963 合理的真实信念知识吗?分析《细胞与分子生物学杂志》, 23(6): 121-123。
有很多作者/年份书目样式应该适合您。您声称它们有问题,但似乎您应该询问如何解决这些问题,而不是尝试(糟糕地)手动重新发明轮子。
答案2
原则上thebibliography
只不过是一个enumerate
带有一些额外语法糖的列表。其工作原理与\bibitem
非常相似,另外它的强制参数定义了一个隐式标签(类似于),稍后可以引用。\item
enumerate
\label
\cite
那么就与 的隐含意义非常\ref
相似。\label
\bibitem
标准thebibliography
/\bibitem
组合将生成数字引用标签。
就像和一样enumerate
,\item
您可以使用可选参数来\bibitem
强制使用不遵循通常编号方案的特定标签。
\documentclass{article}
\begin{document}
\cite{Gettier1963}
\begin{thebibliography}{MyOwnLabel}
\bibitem[MyOwnLabel]{Gettier1963}
Gettier, E. (1963). ``Is Justified True Belief Knowledge?''
In \emph{Analysis}, 23 (6):121-123.
\end{thebibliography}
\end{document}
通过这个简单的设置,您实际上只会有一种(自动)方式来引用每部作品。
但还有方法可以提供更多的引用选项。
例如,APA 格式大致有两种引用方式
- 形式的叙述性引文
<author> (<year>)
,例如“Gettier (1963)” - 括号内引用形式
(<author>, <year>)
,例如“(Gettier,1963)”
至关重要的是,引用总是包含相同的数据(作者和年份),只是以不同的方式呈现。
现在的想法是使用可选参数,\bibitem
不强制特定的输出,而是将作者和年份数据传递给 LaTeX,以便几个不同的 cite 命令可以使用这两条信息来打印不同的引用样式。
这就是它natbib
的作用。事实上,虽然natbib
它最常与 BibTeX(及其\bibliography
和\bibliographystyle
)命令一起使用,但它不需要并且可以与手动策划的thebibliography
环境一起使用。
natbib.sty
\bibitem
解释预期的格式
% If author-year citations are selected, \bibitem must have one of the
% following forms:
% \bibitem[Jones et al.(1990)]{key}...
% \bibitem[Jones et al.(1990)Jones, Baker, and Williams]{key}...
% \bibitem[Jones et al., 1990]{key}...
% \bibitem[\protect\citeauthoryear{Jones, Baker, and Williams}{Jones
% et al.}{1990}]{key}...
% \bibitem[\protect\citeauthoryear{Jones et al.}{1990}]{key}...
% \bibitem[\protect\astroncite{Jones et al.}{1990}]{key}...
% \bibitem[\protect\citename{Jones et al., }1990]{key}...
% \harvarditem[Jones et al.]{Jones, Baker, and Williams}{1990}{key}...
%
% This is either to be made up manually, or to be generated by an
% appropriate .bst file with BibTeX.
natbib
然后定义(在其他命令中)两个命令\citet
并\citep
类似于 APA 的叙述和括号引用。
因此
\documentclass{article}
\usepackage{natbib}
\begin{document}
\citep{Gettier1963}
\citet{Gettier1963}
\begin{thebibliography}{}
\bibitem[Gettier(1963)]{Gettier1963}
Gettier, E. (1963). ``Is Justified True Belief Knowledge?''
In \emph{Analysis}, 23 (6):121-123.
\end{thebibliography}
\end{document}
给出
对于 APA 格式,还有一个额外的复杂之处,即作者之间的分隔符会根据您是使用\citet
还是使用 而变化\citep
。还有一些可以伪造的技巧
\documentclass{article}
\usepackage{natbib}
\usepackage{etoolbox}
\makeatletter
\newrobustcmd{\myand}{%
\ifNAT@swa
\&%
\else
and%
\fi
}
\makeatother
\begin{document}
\citep{Gettier1963}
\citet{Gettier1963}
\begin{thebibliography}{}
\bibitem[Gettier \myand\ Bettier(1963)]{Gettier1963}
Gettier, E. \& Bettier, B. (1963). ``Is Justified True Belief Knowledge?''
In \emph{Analysis}, 23 (6):121-123.
\end{thebibliography}
\end{document}
因此,即使您使用手册,也thebibliography
可以使用不同的文内引用样式。
BibTeX 的优势在于它会自动对参考文献进行排序,并允许您只输入条目的原始数据。繁琐的格式由 BibTeX 样式处理。
答案3
为了让问题更清楚,我写了一个答案。我在这里写的大部分内容也可以在一些评论中找到。
使用最小模板
\documentclass{article}\begin{document}\end{document},
并手动进行参考书目。
\bibitem[Gettier, E. (1963)]{Gettier1963}
在参考书目中。
接下来,把
\makeatletter \def\@biblabel#1{#1} \makeatother
在序言中,删除方括号
[Gettier, E (1963)]
在参考书目中。
接下来,在文中引用时,写
\nocite{Gettier1963}(Gettier, 1963).
我们可能会继续对其他项目进行这样的操作,以获得符合 APA 指南的参考书目和参考文献风格。