我正在使用 Texmaker v5.0.2 和 Windows 10 编写我的第一个 LaTeX 文档。
我使用 bibLaTeX 来做参考文献,必须符合 APA 第 6 版。根据我的序言,我能找到的 bibLaTeX 内置的最接近 APA 的样式是 authoryear:
\documentclass[11pt, twoside]{article}
%document foramtting
\usepackage[margin = 2.5cm]{geometry}
%math packages
\usepackage{amsfonts,mathtools,amssymb, amsthm}
\numberwithin{equation}{subsection}
\usepackage{xfrac}
\usepackage[none]{hyphenat}
\usepackage{gensymb}
\usepackage{changepage}
\usepackage{xcolor}
%Figure and table packages
\usepackage{booktabs,caption}
\usepackage[flushleft]{threeparttable}
\usepackage{graphicx}
\usepackage{float}
\usepackage{tabularx}
%Referencing package
\usepackage[
backend=biber,
citestyle = authoryear-comp,
bibstyle = authoryear,
url = true,
doi = true,
natbib = true
]{biblatex}
\addbibresource{citations.bib}
%math foramtting
\newtheorem{theorem}{Theorem}[section]
\newtheorem{lemma}[theorem]{Lemma}
\newtheorem{corollary}{Corollary}[theorem]
\theoremstyle{definition}
\newtheorem{definition}{Definition}
\renewcommand{\baselinestretch}{1.3}
\renewcommand{\arraystretch}{1.5}
这对于图题和参考书目之外的引用来说非常有效。但是,对于图题内的引用,分号不会出现在编译后的 PDF 文档中。
下面是我的一个源代码图形标题的示例:
\begin{figure}[t] \label{fig1}
\begin{center}
\fbox{ \includegraphics{Figures/Figure-1-with-text.png} }
\end{center}
\caption{Bla bla bla. Created using \citep{DrawGraph,PaintThreeD}.}
\end{figure}
PDF 文档中的内容如下:-
“图 1:Bla bla bla。使用 (Kummer,nd Microsoft,2017) 创建。”
有任何想法吗?
问候,
LaTeX 新手
答案1
首先:这个问题的答案需要一点水晶球的观察。请发布一份完整但精简的文档,以便其他人可以复制、粘贴和编译,而无需为将来的类似问题费心。请参阅我刚刚被要求写一个最简单的例子,那是什么?,如何编写 MWEB(带有参考书目的最小工作示例)?和为什么 TeX 需要如此复杂的 MWE:s。
如果你想遵循 APA 风格,你绝对应该考虑使用biblatex-apa
.biblatex-apa
据我所知,是 LaTeX 中 APA 引用和参考书目样式最全面的实现。
请记住,biblatex-apa
要实现 APA 的要求需要付出艰苦的努力。这意味着样式的代码非常复杂,即使对于“应该很容易”的事情,修改其行为也非常困难。因此,仅biblatex-apa
当您遵循 APA 样式或经过轻微修改的 APA 样式版本时才使用。
一般情况下,biblatex
两个引用之间不省略分号。无论是在\caption
还是在其他地方。
\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage{graphicx}
\usepackage{duckuments}
\usepackage[style=authoryear, backend=biber]{biblatex}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@book{appleby,
author = {Humphrey Appleby},
title = {On the Importance of the Civil Service},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\addbibresource{biblatex-examples.bib}
\begin{document}
\cite{appleby,sigfridsson}
\begin{figure}
\centering
\includegraphics{example-image-duck}
\caption{A duck. Created by \cite{appleby,sigfridsson}}
\end{figure}
\printbibliography
\end{document}
我偶然看到了你的这个老问题:通过 apacite 包的 \cite{} 不起作用。您在那里发布的代码可以解释您在此处看到的内容。
不带年份的条目写为
@online{DrawGraph,
author = {Kummer, J.},
year = {n.d.},
title = {Draw Function Graph},
url = {https://rechneronline.de/function-graphs/},
lastchecked = {2018-01-05},
}
事实上,MWE
\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[style=authoryear, backend=biber]{biblatex}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@book{appleby,
author = {Humphrey Appleby},
title = {On the Importance of the Civil Service},
}
@online{DrawGraph,
author = {Kummer, J.},
year = {n.d.},
title = {Draw Function Graph},
url = {https://rechneronline.de/function-graphs/},
lastchecked = {2018-01-05},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\addbibresource{biblatex-examples.bib}
\begin{document}
\cite{appleby,sigfridsson}
\cite{DrawGraph,sigfridsson}
\end{document}
重现该问题
这里发生了什么?biblatex
有一个非常复杂的机制来避免双重标点符号。一些(很多?)语言有规则禁止两个标点符号连在一起,除非在特定情况下。在这些语言中,你永远不会看到,.
或。在某些语言中有两种含义:(1)表示句子的结束(句号或句号,)或(2)标记缩写(点,在下面显示为 以避免与句尾 混淆)。句号通常不能与其他标点符号一起出现:,以及和被排除在外。缩写点可以出现在以下某些组合中:,都可以,但通常会被抑制,只给出。;.
.
.
*
.
.,
.;
,.
;.
*,
*;
*.
.
的双重角色.
不仅是上述解释的问题,也是 的问题biblatex
。biblatex
不知道.
您输入的 a 扮演哪个角色。它是句号还是点?biblatex
通过始终假设 a.
是句末句号来解决这个问题。如果需要,可以使用 把句号变成缩写点\isdot
。
这意味着n.d.
您year
字段中的 以句号结尾。biblatex
然后将不需要的双标点符号抑制.;
为仅.
。
year
这里的解决方案很简单。如果没有日期,则忽略该字段并让其biblatex
处理。biblatex
如果没有日期,则自动添加“nd”(或该字符串的本地化版本)。如果字符串中有一个被识别为句号的点,您可以添加\isdot
以表明biblatex
句号是一个点
n.d.\isdot
或使用biblatex
立即排版一个点
n.d\adddot