![使用缩写的词汇表会导致问题:其书写粗体](https://linux22.com/image/267864/%E4%BD%BF%E7%94%A8%E7%BC%A9%E5%86%99%E7%9A%84%E8%AF%8D%E6%B1%87%E8%A1%A8%E4%BC%9A%E5%AF%BC%E8%87%B4%E9%97%AE%E9%A2%98%EF%BC%9A%E5%85%B6%E4%B9%A6%E5%86%99%E7%B2%97%E4%BD%93.png)
我目前正在写一篇论文,在词汇表方面遇到了与缩写相关的问题。
我这样定义缩写:
\acro{conMan}[CMS]{\gls{CMS}}
在我的词汇表文件中我写道:
\newglossaryentry{CMS}{
name={Content Management System},
description={My description comes here.}
}
通过使用:
\emph{\ac{conMan}}
它总是以粗体+斜体字体打印“内容管理系统”。只有这个才这样。我之前有过几个类似的,它们只是用斜体书写,正如我所定义的。
我怎样才能使它仅变为斜体?
编辑:
进一步解释:我想要以下样式,使用词汇表包来存储词汇表条目和首字母缩略词:
1)背景中没有词汇表条目的首字母缩略词应在文本中以斜体显示
例如:TH => 技术高中 => 技术高中未在词汇表中解释
2)在背景中有词汇表条目的缩略词在正文中也应以斜体表示,但在索引中应以粗体表示,并引用词汇表
示例:CMS => 内容管理系统 <-- 在正文中以斜体表示,但在首字母缩略词索引中以粗体表示 => 内容管理系统在词汇表中有解释
3)文本中的词汇表条目以粗体显示
例如:我在文中使用了单词“Web-App”,所以我希望将其以粗体显示,因为它在我的词汇表中。
答案1
您尚未提供最小工作示例但看起来您同时使用了acronym
和glossaries
,但由于glossaries
也使用首字母缩略词,因此您只需要加载一个包:
\documentclass{article}
\usepackage[acronym,shortcuts]{glossaries}
\makeglossaries
\newglossaryentry{CMS}{
name={Content Management System},
description={My description comes here.}
}
\newacronym{conMan}{CMS}{\gls{CMS}}
\begin{document}
First use: \emph{\ac{conMan}}. Next use: \emph{\ac{conMan}}.
\printglossaries
\end{document}
生成:
编辑:要使词汇表条目变为粗体,而缩写词不变为粗体:
\documentclass{article}
\usepackage[acronym,shortcuts]{glossaries}
\renewcommand*{\CustomAcronymFields}{%
name={\the\glslongtok},%
symbol={\the\glsshorttok},%
text={\textmd{\the\glsshorttok}},%
first={\the\glslongtok\space\textmd{(\the\glsshorttok)}},%
firstplural={\the\glslongtok\noexpand\acrpluralsuffix\space\textmd{(\the\glsshorttok)}},%
plural={\textmd{\the\glsshorttok}\noexpand\acrpluralsuffix}%
}
\SetCustomStyle
\renewcommand*{\glstextformat}[1]{\textbf{#1}}
\makeglossaries
\newglossaryentry{CMS}{
name={Content Management System},
description={My description comes here.}
}
\newacronym{conMan}{CMS}{\gls{CMS}}
\begin{document}
First use: \emph{\ac{conMan}}. Next use: \emph{\ac{conMan}}.
Reset\glsreset{conMan}. Now without the emphasis:
First use: \ac{conMan}. Next use: \ac{conMan}.
\printglossaries
\end{document}
如果不希望首字母缩略词受到周围字体的影响(如上\emph
例所示),请在定义中替换\textmd
为。\textnormal
\CustomAcronymFields
结果:
编辑:
在下面的这个例子中,我为词汇表中也有条目的首字母缩略词定义了一个名为的新命令\newglosacr
。首字母缩略词被强调,词汇表中的术语以粗体显示:
% arara: pdflatex
% arara: makeglossaries
% arara: pdflatex
% arara: makeglossaries
% arara: pdflatex
\documentclass{article}
\usepackage[pdfborder={0 0 0}]{hyperref}
\usepackage[acronym,shortcuts]{glossaries}
\renewcommand*{\acronymfont}[1]{\emph{\mdseries #1}}
\renewcommand*{\glstextformat}[1]{\textbf{#1}}
\renewcommand*{\CustomAcronymFields}{%
name={\noexpand\acronymfont{\the\glsshorttok}},%
sort={\the\glsshorttok},%
symbol={\the\glsshorttok},%
text={\noexpand\acronymfont{\the\glsshorttok}},%
first={\textmd{\the\glslongtok}\space
\noexpand\acronymfont{(\the\glsshorttok)}},%
firstplural={\textmd{\the\glslongtok\noexpand\acrpluralsuffix}\space
\noexpand\acronymfont{(\the\glsshorttok)}},%
plural={\noexpand\acronymfont{\the\glsshorttok}\noexpand\acrpluralsuffix},%
description={\the\glslongtok}
}
\SetCustomStyle
\makeglossaries
% Glossary entries
\newglossaryentry{CMS}{
name={Content Management System},
description={My description comes here}
}
\newglossaryentry{webapp}{name={Web-App},
description={Description here}
}
% Acronyms without links to glossary
\newacronym{th}{TH}{Technical Highschool}
% Acronyms with links to glossary
% syntax: \newglosacr[options]{new acr label}{acronym}{referenced gls label}
\newcommand{\newglosacr}[4][]{%
\newacronym[description={\gls{#4} (see
glossary)},#1]{#2}{#3}{\glsentryname{#4}}%
}
\newglosacr{conMan}{CMS}{CMS}
\begin{document}
First use: \ac{conMan}. Next use: \ac{conMan}.
First use: \ac{th}. Next use: \ac{th}.
Term without acronym: \gls{webapp}.
\printglossaries
\end{document}
我已将hyperref
包添加到示例中,以便您可以超链接到词汇表。我不知道您是否想要这样做。由于词汇表条目CMS
仅用于首字母缩略词列表,而不用于正文,因此您需要重复LaTeX
+makeglossaries
步骤。我添加了一些arara
示例代码顶部的指令作为提醒,但如果您不想使用它,可以忽略它们。
结果: