当尝试.tex
使用该命令编译我的文件时latexmk -latex=xelatex
,我收到以下错误:
! Bad space factor (0).
<recently read> \@savsf
l.39 \end{seriate}
?
然后,如果我按下回车键,编译过程将恢复,没有明显的负面结果。输出是正确的。我不明白为什么会这样,但是这个错误让我无法简化编译过程。
梅威瑟:
\documentclass[english,man]{apa6}
\usepackage[american]{babel}
\usepackage{csquotes}
\usepackage[style=apa,sortcites=true,sorting=nyt,natbib=true,backend=biber]{biblatex}
\DeclareLanguageMapping{american}{american-apa}
\usepackage{graphics}
\usepackage{fontspec}
\setmainfont[Ligatures=TeX]{Times New Roman}
\setsansfont[Ligatures=TeX]{Times New Roman}
\setmonofont{Times New Roman}
\begin{document}
\begin{seriate}
\item a scientific experiment,
\item the presence of an
\end{seriate}
\end{document}
答案1
环境seriate
应该用在段落中间。\leavevmode
如果你想用它作为段落开头,可以在它前面添加:
\leavevmode\begin{seriate}
\item a scientific experiment,
\item the presence of an
\end{seriate}
另一方面,诸如
We present
\begin{seriate}
\item a rabbit,
\item a fox,
\end{seriate}
and look at what happens
不应该产生问题。
答案2
看起来你复制并粘贴了一些包含“内部” LaTeX 结构的代码。这是可能且允许,但作为用户自身保护的另一层,此类代码在命令名称等中包含符号“@”。要使此代码工作,您需要在它前面加上,\makeatletter
并且最好在它结尾加上\makeatother
\makeatletter
CODE
\makeatother