书目环境可以提供 APA 样式吗?

书目环境可以提供 APA 样式吗?

使用最小模板\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非常相似,另外它的强制参数定义了一个隐式标签(类似于),稍后可以引用。\itemenumerate\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}

给出

(盖蒂尔,1963 年) 盖蒂尔(1963 年)

对于 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}

(Gettier 和 Bettier,1963 年) Gettier 和 Bettier(1963 年)

因此,即使您使用手册,也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 指南的参考书目和参考文献风格。

相关内容