我正在使用 Riton Press 规定的样式文件来撰写文章。他们有一个参考书目格式(其样式文件中描述为):
\renewenvironment{thebibliography}[1]
{\frenchspacing
\small\rm\baselineskip=11pt
\begin{list}{\arabic{enumi}.}
{\usecounter{enumi}\setlength{\parsep}{0pt}
% \setlength{\leftmargin 12.7pt}{\rightmargin 0pt}%FOR 1--9 ITEMS
\setlength{\leftmargin 17pt}{\rightmargin 0pt} %FOR 10--99 ITEMS
% \setlength{\leftmargin 22pt}{\rightmargin 0pt} %FOR 100+ABOVE ITEMS
\setlength{\itemsep}{0pt} \settowidth
{\labelwidth}{#1.}\sloppy}}{\end{list}}
但是,编译 tex 文件时始终出现以下错误:
! Package calc Error: `0' invalid at this point.
See the calc package documentation for explanation.
Type H <return> for immediate help.
...
l.1 \begin{thebibliography}{10}
?
! Missing number, treated as zero.
<to be read again>
\protect
l.1 \begin{thebibliography}{10}
?
! Illegal unit of measure (pt inserted).
<to be read again>
\protect
l.1 \begin{thebibliography}{10}
?
! LaTeX Error: \begin{list} on input line 1 ended by \end{thebibliography}.
See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...
l.136 \end{thebibliography}
?
) [32
]
但如果我忽略这些错误,则所有参考文献都会显示出来。参考文献页面会显示文本“pt!”。
请帮助我了解如何避免参考书目部分的错误。
答案1
\setlength{\leftmargin 17pt}{\rightmargin 0pt}
(尝试)设置一个长度寄存器,\leftmargin17pt
该寄存器的值\rightmargin0pt
由于偶然的原因,\setlength
这个原始定义不会产生错误,并设置\leftmargin
为 17pt 和\rightmargin
幸运地设置为 0pt。
如果你加载,calc
你的运气就会改变。
答案2
两年后,我遇到了同样的问题,使用了同样的样式文件(Rinton 出版社的 QIC),我在这里给出了从 David Carlisle 的回答中推导出的技巧:只需在 tex 文件中调用它之前,先(正确地!)完善参考书目环境。您的 tex 文件的结尾应如下所示:
\nonumsection{Acknowledgements}
\noindent
I thank P. Iyer and D. Carlisle for saving a lot of time debugging this
\TeX file !
\renewenvironment{thebibliography}[1]
{\frenchspacing
\small\rm\baselineskip=11pt
\begin{list}{\arabic{enumi}.}
{\usecounter{enumi}\setlength{\parsep}{0pt}
% \setlength{\leftmargin}{12.7pt}%FOR 1--9 ITEMS
\setlength{\leftmargin}{17pt} %FOR 10--99 ITEMS
% \setlength{\leftmargin}{22pt} %FOR 100+ABOVE ITEMS
\setlength{\rightmargin}{0pt}
\setlength{\itemsep}{0pt} \settowidth
{\labelwidth}{#1.}\sloppy}}{\end{list}}
\nonumsection{References}
\noindent
\bibliographystyle{unsrt}
\bibliography{bibfile}
\end{document}