TexStudio 中的缩写列表

TexStudio 中的缩写列表

我在文本中写了一些首字母缩略词,但我不想交叉引用它们。但只想将它们的列表打印在 pdf ( pdfLatex) 输出中。

我尝试使用\acro[acronym]{glossaries}包,但没有得到缩写列表。我只得到了文本“纽约和洛杉矶都在美国。”

请给点建议好吗?

这是一个可编译的示例:

\documentclass[
fontsize=11pt,   % Schriftgröße
paper=a4    
%......
]{scrbook}
\usepackage[acronym]{glossaries}

\begin{document}

\newacronym{ny}{NY}{New York}
\newacronym{la}{LA}{Los Angeles}
\newacronym{us}{US}{United States}

 \section{A}
 NY and LA are in US. 

\printglossary[type=\acronymtype,title=Abbreviations]

 \end{document}

答案1

glossaries包(及其扩展glossaries-extra)提供了索引和引用术语或缩写的命令。这是通过首先定义条目然后使用标记命令(如\gls在文档中)来完成的。

这是修改后的 MWE(感谢您提供!)

\documentclass[fontsize=11pt,paper=a4]{scrbook}

\usepackage[acronym,automake]{glossaries}

\makeglossaries

\newacronym{ny}{NY}{New York}
\newacronym{la}{LA}{Los Angeles}
\newacronym{us}{US}{United States}

\begin{document}

 \section{A}
 \gls{ny} and \gls{la} are in \gls{us}. 

\printglossary[type=\acronymtype,title=Abbreviations]

 \end{document}

为了显示词汇表(缩写列表),您需要以下构建顺序:

  1. pdflatex
  2. makeglossariesmakeindex(自动运行或xindy根据文档设置的Perl 脚本)
  3. pdflatex

第二步有时会引起混淆,所以有一个automake包选项,它将使用 TeX 的 shell 转义来自动运行makeindexxindy为您运行。

如果这些步骤成功,则会产生上述结果:

纽约(NY)和洛杉矶(LA)位于美国(US)。

在第一页

缩写列表图片

在最后一页。

注意我已经\newacronym定义移至序言。如果您希望它们在文档中,请使用以下命令:

\documentclass[fontsize=11pt,paper=a4]{scrbook}

\usepackage[acronym,automake,docdef=restricted]{glossaries-extra}

\makeglossaries

% set the "short" style:
\setabbreviationstyle[acronym]{short}

\begin{document}
\newacronym{ny}{NY}{New York}
\newacronym{la}{LA}{Los Angeles}
\newacronym{us}{US}{United States}


 \section{A}
 \gls{ny} and \gls{la} are in \gls{us}. 

\printglossary[type=\acronymtype,title=Abbreviations]

 \end{document}

或者:

\documentclass[fontsize=11pt,paper=a4]{scrbook}

\usepackage[abbreviations,automake,docdef=restricted]{glossaries-extra}

\makeglossaries

% set the "short" style:
\setabbreviationstyle{short}

\begin{document}
\newabbreviation{ny}{NY}{New York}
\newabbreviation{la}{LA}{Los Angeles}
\newabbreviation{us}{US}{United States}


 \section{A}
 \gls{ny} and \gls{la} are in \gls{us}. 

\printabbreviations
\end{document}

请注意,只有明确标记了命令的条目\gls才会添加到列表中。

如果您收到错误消息:

LaTeX Error: Unknown option `automake' for package `glossaries'.

那么你的 版本glossaries太旧了。如果你没有收到此消息,并且你正在使用automake但缩写列表仍然缺失,请检查日志文件中是否有以 开头的行runsystem。如果行末有 ,disabled则 shell 转义已被禁用,在这种情况下,你需要找到一种运行makeindex或 的方法makeglossaries。相关资源:

如果你对 提供的索引和引用命令不感兴趣glossaries(例如\gls),那么你实际上并不需要glossaries。例如:

\documentclass[fontsize=11pt,paper=a4]{scrbook}

\newenvironment{abbrevlist}
{%
  \chapter*{List of Abbreviations}
  \newcommand\entry[2]{\item[##1] ##2}%
  \begin{description}%
}
{\end{description}}

\begin{document}


 \section{A}
 NY and LA are in US.

\begin{abbrevlist}
\entry{LA}{Los Angeles}
\entry{NY}{New York}
\entry{US}{United States}
\end{abbrevlist}

\end{document}

这仅需要运行一次pdflatex,无需额外的应用程序。这将产生:

缩写列表图片

相关内容