我学校提供的包缩写和类文件有问题。不确定如何提供 MWE,因为我认为问题与大学提供的自定义类文件有关。我知道的是,他们提供的论文外壳包含这一行
\usepackage[printonlyused]{acronym} % facilitates the use of acronyms
当我编译我的文档时出现错误:
pdflatex> !LaTeX 错误:\bflabel 未定义。
如果我注释掉关于使用首字母缩略词包的那一行,它可以很好地编译……但我没有得到首字母缩略词列表。
深入研究类文件后,我发现
\AtBeginDocument{%
\if@AFITdraft\singlespace\else\afit@doublespace\fi
% adjust the acronym package's list format to conform to the AFIT style guide
\@ifpackageloaded{acronym}{%
\newcommand\afit@acronymwidth{Acronym}
\renewcommand{\bflabel}[1]{{#1\hfill}}%
\newlength\afit@acronymlabelsep
\settowidth\afit@acronymlabelsep{\qquad}%
\renewenvironment{AC@deflist}[1]{%
\ifAC@nolist\else
\newwrite\aftfile
\immediate\openout\aftfile=\jobname.aft%
\immediate\write\aftfile{\string\renewcommand\string\afit@acronymwidth{#1}}%
\immediate\closeout\aftfile
\raggedright\begin{list}{}{%
\singlespace
\setlength{\topsep}{\afit@fracskip}%
\setlength{\itemsep}{\afit@fracskip}%
\setlength{\parsep}{0pt}%
\setlength{\partopsep}{0pt}%
\setlength{\parskip}{0pt}%
\settowidth{\labelwidth}{#1}%
\setlength{\labelsep}{\afit@acronymlabelsep}%
\setlength{\leftmargin}{\labelwidth}%
\addtolength{\leftmargin}{\labelsep}%
\renewcommand{\makelabel}{\bflabel}%
}%
\fi%
该块中有两个对 \bflabel 的引用,并且整个类文件中仅有这两个引用。
我认为可能发生的情况是,首字母缩略词包已更新,没有保持向后兼容性,并且 bflabel 键不再存在?也许?
问题是学校并不正式支持 LaTeX 课程...他们只是发布了样式指南。多年来,该课程文件一直由学生开发,目前无人维护。
那么,对于如何进行有什么建议吗?
好的,对于原始问题有重要的补充:
以下是一个不太简单的工作示例。我采用了学校提供的 shell,只是注释掉了很多东西,以防万一有任何重要的交互可能会很明显……
这里是学校提供的班级档案。
和这里是类文件需要的样式文件。
最后,这里是班级文件所指的带有学校徽标的 .pdf。
照原样,这将编译并生成一个文档外壳。如果您取消注释以下行
\usepackage[printonlyused]{acronym} % facilitates the use of acronyms
\usepackage{acronym} % facilitates the use of acronyms
然后你得到
\bflabel 未定义
错误。
如果你进入类文件并更改
\renewcommand{\bflabel}[1]{{#1\hfill}}%
读书
\newcommand{\bflabel}[1]{{#1\hfill}}%
就像建议的那样,那么它将再次编译。但是如果你回到(不完全是)MWE 并取消注释此块
\listofacronyms{
\begin{acronym}[JCAAMP]
\acro{AFMC}{Air Force Materiel Command}
\acro{BAA}{Broad Area Announcement}
\acro{CDF}{Cumulative Distribution Function}
\acro{DP}{Development Planning}
\acro{FTE}{Full Time Equivalent}
\acro{FY}{Fiscal Year}
\acro{HQ}{Headquarters}
\acro{IED}{Improvised Explosive Device}
\acro{JCAAMP}{Joint IED Defeat Capability Approval and Acquisition Management Process}
\acro{JIEDDO}{Joint IED Defeat Organization}
\acro{LP}{Linear Program}
\acro{NPV}{Net Present Value}
\acro{PMJ}{Professional Military Judgment}
\acro{RD}{Research and Development}
\end{acronym}
}
它实际上尝试使用首字母缩略词包,那么当您编译时您会收到多个错误。
对我来说这似乎真的是一团糟......我很感谢大家能读到这里。