我正在为 MDPI 期刊撰写一篇文章,我想使用我的词汇表,而不是手动输入(这是在模板中所做的)。
我已尝试这里提供的解决方案:缩略词列表但似乎什么都不起作用。我认为我把词汇表术语和首字母缩略词混在一起了,这就是它不起作用的原因,但我认为这是合法的做法,因为很多词汇表术语都有首字母缩略词。
我的 MWE 是:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{import}
\usepackage[nopostdot,style=super,nonumberlist,toc]{glossaries}
% Tell glossaries package that glossaries start here
\makeglossaries
% Import the glossaries package
\subimport*{./}{glossary.tex}
\begin{document}
This is an acronym: \gls{dht}.\par
\section{This is how it should look like}
\noindent
\begin{tabular}{@{}ll}
MDPI & Multidisciplinary Digital Publishing Institute\\
DOAJ & Directory of open access journals\\
TLA & Three letter acronym\\
LD & linear dichroism
\end{tabular}
\section{This is how it looks like}
\printglossary[type=\acronymtype]
\end{document}
并且 glossary.tex 包含:
\newglossaryentry{dht}
{
type=\acronymtype,
name={DHT},
first={Distributed Hash Table (DHT)},
long={Distributed Hash Table},
firstplural={Distributed Hash Tables (DHTs)},
plural={DHTs},
description={I want the long here, not the description}
}
我有两个不同的问题,一个是关于样式格式,另一个是关于缩写表中显示的内容。这个 SO 问题指的是后者。我还检查了:合并词汇表和首字母缩略词列表:完整条目和首字母缩略词的反向链接相同,还是后者根本没有?但尽管我认为这与我的问题有关,但由于我没有足够的专业知识,我无法提出适当的解决方案。
答案1
用于\newacronym
定义glossaries
包中的缩写。该glossary.tex
文件应如下所示:
\newacronym{dht}{DHT}{Distributed Hash Table}
\newacronym{mdpi}{MDPI}{Multidisciplinary Digital Publishing Institute}
\newacronym[longplural={Directories of open access journals}]
{doaj}{DOAJ}{Directory of open access journals}
\newacronym{tla}{TLA}{Three letter acronym}
\newacronym{ld}{LD}{linear dichroism}
文档应仅使用\input
或来输入此文件。应避免使用或\loadglsentries
等更花哨的包含命令。\subimport
\include
该文件:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[nopostdot,style=super,nonumberlist,toc]{glossaries}
\makeglossaries
\setacronymstyle{long-short}
\input{glossary}% input definitions
\begin{document}
First use: \gls{dht}. Next use: \gls{dht}.
Reset.\glsreset{dht}
First use plural \glspl{dht}. Next use plural: \glspl{dht}.
\printglossary[type=\acronymtype,title={List of Acronyms}]
\end{document}
文档构建过程(假设文件名为myDoc.tex
):
pdflatex myDoc
makeglossaries myDoc
pdflatex MyDoc
或者(如果你没有 Perl):
pdflatex myDoc
makeglossaries-lite myDoc
pdflatex myDoc
结果:
如果希望包含所有已定义的条目,即使它们尚未在文档中使用,也请\glsaddallunused
在文档末尾添加:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[nopostdot,style=super,nonumberlist,toc]{glossaries}
\makeglossaries
\setacronymstyle{long-short}
\input{glossary}% input definitions
\begin{document}
First use: \gls{dht}. Next use: \gls{dht}.
Reset.\glsreset{dht}
First use plural \glspl{dht}. Next use plural: \glspl{dht}.
\printglossary[type=\acronymtype,title={List of Acronyms}]
\glsaddallunused
\end{document}
得出的结果为:
垂直间隙是由字母组的变化引起的。使用nogroupskip
可省略它们:
\usepackage[nopostdot,style=super,nonumberlist,toc,nogroupskip]{glossaries}
如果希望按定义顺序列出条目,请使用sort=def
:
\usepackage[nopostdot,style=super,nonumberlist,toc,nogroupskip,sort=def]{glossaries}
如果你想使用glossaries-extra
扩展包中,需要替换\setacronymstyle
为\setabbreviationstyle[acronym]
:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[style=super,nonumberlist,nogroupskip,sort=def]{glossaries-extra}
\makeglossaries
\setabbreviationstyle[acronym]{long-short}
\input{glossary}% input definitions
\begin{document}
First use: \gls{dht}. Next use: \gls{dht}.
Reset.\glsreset{dht}
First use plural \glspl{dht}. Next use plural: \glspl{dht}.
\printglossary[type=\acronymtype,title={List of Acronyms}]
\glsaddallunused
\end{document}
在这种情况下(所有定义的条目并按定义和的顺序nonumberlist
),您可以简化构建过程:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[style=super,nogroupskip,sort=none]{glossaries-extra}
\setabbreviationstyle[acronym]{long-short}
\input{glossary}% input definitions
\begin{document}
First use: \gls{dht}. Next use: \gls{dht}.
Reset.\glsreset{dht}
First use plural \glspl{dht}. Next use plural: \glspl{dht}.
\printunsrtglossary[type=\acronymtype,title={List of Acronyms}]
\end{document}
构建过程现在只是:
pdflatex myDoc
结果:
使用glossaries-extra
,您可以更改\newacronym
为\newabbreviation
,在这种情况下您还需要更改\acronymtype
为\glsxtrabbrvtype
然后只需使用\setabbreviationstyle{long-short}
(不带可选参数)。
如果一些缩写带有描述,而一些缩写不带有描述,最好的方法是使用glossaries-extra
,它允许多种缩写样式。
例如,用于\newacronym
没有描述的术语:
\newacronym{dht}{DHT}{Distributed Hash Table}
样式acronym
设置为long-short
:
\setabbreviationstyle[acronym]{long-short}
并使用\newabbreviation
以下描述术语:
\newabbreviation[description={description text here}]{tla}{TLA}{Three letter acronym}
并使用以下long-short-desc
样式:
\setabbreviationstyle{long-short-desc}
您可能需要不同的词汇表样式或将条目分成两个词汇表,具体取决于它们的显示方式。