! 不良空间系数 (0)

! 不良空间系数 (0)

当尝试.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

相关内容