Misplaced alignment tab character &.
TeXtudio在插入参考书目的那行中给出了错误。此行\include{\dir/bibliography}
链接到
\manualmark%
\markboth{\spacedlowsmallcaps{\bibname}}{\spacedlowsmallcaps{\bibname}}
\refstepcounter{dummy}
\addtocontents{toc}{\protect\vspace{\beforebibskip}}
\addcontentsline{toc}{chapter}{\tocEntry{\bibname}}
\label{app:bibliography}
\emergencystretch=1em%
\printbibliography
我认为问题可能是由&
参考文献中的符号引起的,其中有很多符号。我可以用\&
或“和”替换它们,但也许有更简单的解决方案。
我正在使用 MiKTeX 和 Biber。
答案1
该字符&
对于 LaTeX 具有特殊含义:它通常标记新的表格列或新的对齐列(想想align
)。
&
因此,在标准 LaTeX 中,您通常不能将其用作与号字符,而必须将其转义为\&
,请参阅LaTeX 中的转义字符。此规则有一些例外:在\verb|...|
和其他逐字命令以及\url
和一些相关命令中,您通常可以使用&
它们而无需转义,但这些命令有一些微妙之处(例如,请参阅如何使用包含特殊字符的链接作为脚注?)。
参考书目也差不多。你应该&
逃到\&
.bib
参考书目除了在特殊逐字字段中,如doi
、eprint
和url
。
最好的解决方案™是确保在文件中&
转义,除非它在, ,\&
.bib
doi
eprint
url
或其他逐字字段中。例如,而不是
publisher = {Pub & Co.},
你应该写
publisher = {Pub \& Co.},
如果出于某种原因,您绝对无法亲自修复.bib
文件一次,您可以让 Biber 为您即时修复(但这是最多是第二佳解决方案™)。(biblatex
使用 XML 格式与 Biber 进行通信,其中&
也是一个特殊字符,因此我们最好将其转义为\x{26}
。)
\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[style=authoryear, backend=biber]{biblatex}
\DeclareSourcemap{
\maps{
\map{
\step[fieldsource=publisher,
match=\regexp{\x{26}},
replace=\regexp{\\\x{26}}]
}
}
}
\begin{filecontents}{\jobname.bib}
@book{appleby,
author = {Humphrey Appleby},
title = {On the Importance of the Civil Service},
date = {1980},
publisher = {Pub & Co.},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
\cite{appleby}
\printbibliography
\end{document}
答案2
你说得对。'&' 对 (La)TeX 来说有特殊含义,而编制参考书目的结果最终要由 LaTeX 处理。
有些名称包含“&”,例如期刊“Software -- Practice & Experience”或“John Wiley & Sons”。用“and”替换是错误的。请使用“\&”,这是 (La)TeX 键入该字符的方式。