我使用词汇表包来查找不同语言的缩写。我现在面临的问题是,当我的主要文本是德语时,如果在文本中第一次使用英语缩写,那么长格式的连字符有时会错误。
langid
有没有办法像biblatex 中的字段那样根据首字母缩略词来陈述语言?
编辑:
MWE 1(主要语言为德语,英语缩写)。在此 MWE 中,您会看到单词Application
被连字符化为,Applicati-on
这是错误的。正确的连字符应该是Ap•pli•ca•tion
。一种解决方法是写成\newacronym{am}{AM}{\foreignlanguage{english}{Application Management}}
。但是,这有点麻烦。
\documentclass[a4paper]{article}
\usepackage[english,ngerman]{babel}
\usepackage{glossaries}
\makeglossaries
\setacronymstyle{long-short}
\newacronym{am}{AM}{Application Management}
\begin{document}
\rule{0.82\textwidth}{1pt} \gls{am}.
\printglossaries
\end{document}
MWE 2(主要语言英语和英语缩写)。这里没有出现连字符,这有点奇怪,因为结果是水平盒子溢出。我原本以为这个单词会连字符为Applica-tion
。然而,这比错误的连字符要好,因为它是显而易见的。
\documentclass[a4paper]{article}
\usepackage[english]{babel}
\usepackage{glossaries}
\makeglossaries
\setacronymstyle{long-short}
\newacronym{am}{AM}{Application Management}
\begin{document}
\rule{0.82\textwidth}{1pt} \gls{am}.
\printglossaries
\end{document}
答案1
如果您不想像\foreignlanguage
我上面建议的那样每次都输入,您必须定义一个新命令或重新定义现有的命令(我不推荐这样做)。
% arara: pdflatex
% arara: pdflatex
\documentclass[a4paper]{article}
\usepackage[english,ngerman]{babel}
\usepackage{glossaries}
\newcommand\newforeignacronym[5][]{\newacronym[#1]{#2}{#3}{\foreignlanguage{#5}{#4}}}
\newforeignacronym{am}{AM}{Application Management}{english}
\begin{document}
\rule{0.82\textwidth}{1pt} \gls{am}.
\end{document}