[编辑]
我不知道如何发布整个代码。这是一份 272 页的文档,每章都有不同的子文件。我试图发布最相关的部分。请让我知道具体要发布什么。
\begin{CJK*}{UTF8}{min} \end{CJK*} 是必需的,因为在添加它之前,文档中包含无法读取的日文字符。
\DeclareLanguageMapping{american}{american-apa} 和 sortcites=true,sorting=nyt 是从包的说明中复制而来的。我承认我不知道自己在做什么,但它们确实看起来没有必要。我删除了它们,但什么也没改变。
我得到的错误是:
...ex/titlesec/titlesec.sty,1642. \subparagraph 的参数有一个额外的 }。或失控参数?
当我点击这个错误时,我无法看到它到底指的是代码的哪一部分。谷歌搜索显示它与 titlesec 包有关。
我删除了 titlesec 包,错误变为:
eric/mathabx/mathabx.sty,67. Latex 错误:声明的符号字体太多。
我删除了 amsmath、mathabx 包,并且它进行了编译。
但是,所有章节编号和大量格式都丢失了(可能是因为它与 titlesec 包有关)。文本中的引用有效,但参考书目未打印。我还收到一条错误消息,提示 apacite 与 Biblatex 不兼容。(包 biblatex 错误:不兼容的包“apacite”。)我不确定 apacite 在我的序言中的位置。我删除了 natbib 只是为了尝试,但它只编译了文档的一半。
总之,我想要做的就是将 apa6 添加到我当前的文件中。我之前有一个工作文件。有人告诉我我使用的引用样式不正确。我尝试将其更改为 apa6,但我不知道该怎么做。
抱歉,我并不是想刁难你,请告诉我我还需要发布哪些其他信息。
谢谢,[编辑]
我正在尝试添加 APA 第 6 版引用样式。我找到了软件包说明并尝试将其添加到我的项目中,但无法使其正常工作。
我尝试了几个实例。我尝试了包的说明和 Overleaf 的 apa6 示例中的代码。它们都略有不同(见下文)。我尝试了它们,但都导致了相同的错误。它根本无法编译。
这是我使用的代码:
前言:
\documentclass[11pt,report,natbib]{apa6}
\usepackage[utf8]{inputenc}
\usepackage{helvet}
\usepackage{xspace}
\usepackage{subcaption}
\usepackage{placeins}
\usepackage{wrapfig}
\usepackage{multirow}
\usepackage[table,xcdraw]{xcolor}
\usepackage{adjustbox}
\usepackage{booktabs,caption}
\usepackage[flushleft]{threeparttable}
\usepackage{ragged2e}
\usepackage{floatrow}
\usepackage{graphicx,wrapfig,lipsum}
\graphicspath{{../figs/}}
\usepackage{pdfcomment}
\usepackage{geometry}
\newgeometry{left=2.5cm,right=2.5cm,bottom=2.5cm}
\usepackage[english]{babel}
\usepackage{CJKutf8}
\pagestyle{headings}
\usepackage{blindtext}
\usepackage{csquotes}
\setcounter{secnumdepth}{4}
\usepackage{titlesec}
\usepackage[T1]{fontenc}
\usepackage{imakeidx}
\makeindex[columns=3, title=Alphabetical Index]
\usepackage{array}
\usepackage{tikzpagenodes}
\usepackage[format=plain, labelfont={bf,it}, textfont=it]{caption}
\usepackage{fancyhdr}
\usepackage[toc,nopostdot, nonumberlist,style=long,automake,acronym]{glossaries}
\usepackage{subfiles}
\usepackage{nicematrix}
\usepackage{amsmath,mathabx}
\usepackage{hyperref}
\usepackage{lscape}
包装说明还要求添加:
\usepackage[style=apa6,sortcites=true,sorting=nyt,backend=biber]{biblatex}
\DeclareLanguageMapping{american}{american-apa}
\addbibresource{bib.bib}
我尝试过,也尝试过不用,改变了我引用的方式\parentcite
,而不是\citep
按照说明要求的方式,但没有成功。
名为示例的参考书目文件bib.bib
:
@article{henriquez_alternative_2017,
title = {An alternative objective microscopic method for the identification of linear enamel hypoplasia ({LEH}) in the absence of visible perikymata},
volume = {14},
doi = {10.1016/j.jasrep.2017.05.040},
journal = {Journal of Archaeological Science: Reports},
author = {Henriquez, Alejandra Cares and Oxenham, Marc F.},
year = {2017},
pages = {76--84},
file = {Full Text:C\:\\Users\\xello\\Zotero\\storage\\MV7QMSWQ\\Henriquez and Oxenham - 2017 - An alternative objective microscopic method for th.pdf:application/pdf},
}
引用某事的文本示例
\begin{document}
\begin{CJK*}{UTF8}{min}
\citep{henriquez_alternative_2017}, \citet{henriquez_alternative_2017}.
\end{CJK*}
\end{document}
我不知道该如何纠正这个问题。它使用了几个选项,但所有选项都以致命错误告终,导致无法编译。我认为它与其他软件包存在兼容性问题,但我不知道是什么问题。我只得到了一般性错误,当我单击它们时,我在代码上看不到它们。
答案1
如果要使用,biblatex
则不应将natbib
选项传递给apa6
。使用该选项,apa6
将加载与 完全不兼容的natbib
(和) 。apacite
biblatex
您还应该加载biblatex
为
\usepackage[style=apa6, backend=biber]{biblatex}
没有必要sortcites=true,sorting=nyt,
(前者是多余的,后者则有害,因为它从 APA 兼容的作者-年份-标题排序转换为通用nyt
排序方案)。\DeclareLanguageMapping{american}{american-apa}
也应该被删除。
那么您应该使用\parencite
(not \parentcite
) and\textcite
而不是\citep
and \citet
。
此外,您确实应该考虑减少在序言中加载的软件包数量。我几乎不相信您需要所有这些软件包。
有些软件包会主动反对这样apa6
做并导致错误 ( \usepackage{titlesec}
)。其他软件包会因为您使用了太多字体而带来麻烦 ( \usepackage{amsmath,mathabx}
)。
尝试删除尽可能多的软件包。只有当您知道为什么需要它们时才加载软件包。
我也看不出示例中需要\begin{CJK*}{UTF8}{min}...\end{CJK*}
,但当然,实际文档中可能会有所不同。我保留它是为了表明环境CJK*
对于 来说没有问题biblatex
。
请注意,在示例中我仍然收到有关
! LaTeX Error: Unknown option `keeplastbox' for package `flushend'.
但这似乎是不可避免的,因为apa6
假设 是旧版本flushend
。此错误不会在 Overleaf 上使用其 TeX Live 2021 图像时发生,因为 的版本flushend
仍然有该选项。
以下示例文档在 Overleaf 上编译良好
\documentclass[11pt,report]{apa6}
\usepackage[utf8]{inputenc}
\usepackage{helvet}
\usepackage[english]{babel}
\usepackage{CJKutf8}
\usepackage[style=apa6, backend=biber]{biblatex}
\usepackage{hyperref}
\begin{filecontents}{\jobname.bib}
@article{henriquez_alternative_2017,
title = {An Alternative Objective Microscopic Method
for the Identification of Linear Enamel Hypoplasia ({LEH})
in the Absence of Visible Perikymata},
volume = {14},
doi = {10.1016/j.jasrep.2017.05.040},
journal = {Journal of Archaeological Science: Reports},
author = {Henriquez, Alejandra Cares and Oxenham, Marc F.},
year = {2017},
pages = {76--84},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
\begin{CJK*}{UTF8}{min}
\parencite{henriquez_alternative_2017} \textcite{henriquez_alternative_2017}.
\printbibliography
\end{CJK*}
\end{document}
只读 Overleaf:链接https://www.overleaf.com/read/cpzkcdqfdnms。