我目前正在用瑞典语撰写论文,并选择使用瑞典语翻译某些术语。由于这些术语在瑞典语中并不为人熟知,因此我希望在第一次使用时在括号中显示英文术语:
... 持续整合(英语)持续集成)...
后续使用:
... 持续整合 ...
这与这个答案glossaries-extra
与样式一起使用,long-short-user
因为我不想在后续用法中short
输出(首字母缩略词)并且我希望long
输出(瑞典语术语)。user-long
如果存在 样式,则使用 。
答案1
我当前的解决方案(一种解决方法)是格式化如下的条目(使用bib2gls
):
@entry{kontinuerlig-integration,
name = {kontinuerlig integration},
description = {Eng. \emph{continuous integration}, ...},
long = {continuous integration},
category = {translation}
}
搭配风格:
\setabbreviationstyle[translation]{short-long}
\renewcommand*{\glsfirstlongdefaultfont}[1]{eng. \emph{#1}}
这会产生所需的格式,但似乎是错误的。根据手册样式没有设置regular
属性,根据第 5 章,该属性表明它是一个缩写。我不会说它是。
另外,这需要将翻译设置为long
。我想说的是,英文术语可能是别的user
。
所以这个解决方案似乎是错误的。我会很感激任何不那么黑客的解决方案。
答案2
如果您想坚持使用 glossaries/glossaries-extra,请尝试以下代码。我建议使用额外的词汇表(此处定义为“trans”),这样它的条目只会在您使用 \printglossary[type=trans] 时显示。
更新#1:我忽略了‘仅限首次使用’的要求
更新 #2: 叹...我错过了示例文本和图片的替换
\documentclass{book}
\usepackage[colorlinks=true,]{hyperref}
\usepackage{glossaries}
\newcommand{\glsEngInSwedish}[1]{%
\ifglsused{#1}%
{\gls{#1}}
{\gls{#1} (engl. \glsentryEnglish{#1})}%
\glsunset{#1}% ensure flag for use
}
\glsaddkey
{english} % key
{\glsentrytext{todo}} % default value
{\glsentryEnglish} % command analogous to \glsentrytext
{\GlsentryEnglish} % command analogous to \Glsentrytext
{\glsEnglish} % command analogous to \glstext
{\GlsEnglish} % command analogous to \Glstext
{\GLSEnglish} % command analogous to \GLStext
\glssetnoexpandfield{english}
\newglossary*{trans}{Translations}
\newglossaryentry{test}
{
type=trans,
name={swedish word},
english={english translation},
description={testDesc},
}
\begin{document}
First use of \glsEngInSwedish{test} as well as second use of \glsEngInSwedish{test}
\end{document}