我正在使用acro
这个软件包,并且很喜欢它。但是,我遇到了以下问题。
例如,我想使用“DNA”的首字母缩写来定义“dsDNA”。当我这样做时,只要我在文本中首先使用“DNA”(工作示例中的“好”部分),一切都会很好。但是,如果我在文本中首先使用“dsDNA”,则“DNA”和“dsDNA”会分别显示在括号中,如下所示(工作示例中的“坏”部分)。
\documentclass{scrbook}
\usepackage[single=true,macros=true,xspace=true]{acro}
\DeclareAcronym{dna}{
short = DNA ,
long = deoxyribonucleic acid
}
\DeclareAcronym{dsdna}{
short = ds\acs{dna} ,
long = double-stranded \ac*{dna}
}
\begin{document}
\section*{good}
\Ac{dna} is a very important molecule.
The virus xyz contains \dsdna.
Apart from that, \dna exists in almost all cells of the body. In most cases it is \dsdna.
\section*{bad}
\acresetall
The virus xyz contains \dsdna.
\Ac{dna} is a very important molecule. Apart from that, \dna exists in almost all cells of the body. In most cases it is \dsdna.
\end{document}
然后它看起来是这样的:
我想要得到的是这样的:
The virus xyz contains double-stranded deoxyribonucleic acid (dsDNA).
DNA is a very important molecule.
Apart from that, DNA exists in almost all cells of the body. In most cases it is dsDNA.
是否有可能以某种方式实现这一点?使用“双链”的缩写对我来说似乎不可行。在这种情况下,我可能会得到类似
double-stranded (ds) deoxyribonucleic acid (DNA)
这不是我想要的。
答案1
当我决定提供
\acifused{<id>}{<true>}{<false>}
有了它您可以执行以下操作:
\DeclareAcronym{dsdna}{
short = ds\acs*{dna} ,
long = double-stranded \acifused{dna}{\acs*{dna}}{\acl*{dna}}
}
这意味着如果该缩写dna
之前使用过,则将排版缩写形式,如果之前未使用过,则将排版完整形式。您可能注意到,我\acs*
在缩写形式中也使用了星号形式dsdna
。
\documentclass{scrbook}
\usepackage[single=true,macros=true,xspace=true]{acro}
\DeclareAcronym{dna}{
short = DNA ,
long = deoxyribonucleic acid
}
\DeclareAcronym{dsdna}{
short = ds\acs*{dna} ,
long = double-stranded \acifused{dna}{\acs*{dna}}{\acl*{dna}}
}
\begin{document}
\section*{good}
\Ac{dna} is a very important molecule. The virus xyz contains \dsdna. Apart
from that, \dna exists in almost all cells of the body. In most cases it is
\dsdna.
\section*{also good}
\acresetall
The virus xyz contains \dsdna. \Ac{dna} is a very important molecule. Apart
from that, \dna exists in almost all cells of the body. In most cases it is
\dsdna.
\end{document}