缩写包的困难

缩写包的困难

我学校提供的包缩写和类文件有问题。不确定如何提供 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}
}

它实际上尝试使用首字母缩略词包,那么当您编译时您会收到多个错误。

对我来说这似乎真的是一团糟......我很感谢大家能读到这里。

相关内容