我正在使用该acro
软件包处理我的首字母缩略词。其中一些首字母缩略词是数学和化学公式。该acro
软件包首先使用全称将首字母缩略词放入文本中,然后在括号之间使用简称。当是公式时,如何自动修改括号大小以适应简称?
\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{chemformula}
\usepackage{acro}
%
\DeclareAcronym{DNA}{
short=DNA,
long=deoxyribonucleic acid
}
\DeclareAcronym{OH}{
short=\ensuremath{\left[\chlewis{90:180:270:}{O}\ch{-H}\right]^{-}},
long=hydroxy group
}
\begin{document}
\printacronyms\par
%
How it looks: \acf{DNA} and \acf{OH}\par
%
How I want:
deoxyribonucleic acid (DNA) and
hydroxy group $\left(\left[\chlewis{90:180:270:}{O}\ch{-H}\right]^{-}\right)$
\end{document}
答案1
通过定义自定义的第一个样式,您可以自定义使用的括号。 \DeclareFirstStyle{AZbraces}{inline}{brackets-type=AZ}
将使用A
和Z
而不是(
和)
来括起简短形式。
该brackets-type
密钥只需要两个标记,因此我们需要定义启动数学模式并放置更大括号的宏,例如
\newcommand\mBigop{\(\Big(}
\newcommand\mBigcl{\Big)\)}
\DeclareAcroFirstStyle{Bigbrace}{inline}{
brackets-type=\mBigop\mBigcl
}
这既可以用来获得带有和 co 的固定大小括号,也可以用来获得带有/\Big(
的可变大小括号,然后可以使用键入将适当的括号样式应用于特定的首字母缩略词。\left(
\right)
first-style
\DeclareAcronym
完整的例子
\documentclass[12pt,a4paper]{article}
\usepackage{amsmath}
\usepackage{chemformula}
\usepackage{acro}
\newcommand\mBigop{\(\Big(}
\newcommand\mBigcl{\Big)\)}
\newcommand\mleftop{\(\left(}
\newcommand\mrightcl{\right)\)}
\DeclareAcroFirstStyle{Bigbrack}{inline}{
brackets-type=\mBigop\Bigcl
}
\DeclareAcroFirstStyle{lrbrack}{inline}{
brackets-type=\mleftop\mrightcl
}
\DeclareAcronym{DNA}{
short=DNA,
long=deoxyribonucleic acid
}
\DeclareAcronym{OH}{
short=\ensuremath{\left[\chlewis{90:180:270:}{O}\ch{-H}\right]^{-}},
long=hydroxy group,
first-style=Bigbrack,
}
\DeclareAcronym{OH2}{
short=\ensuremath{\left[\chlewis{90:180:270:}{O}\ch{-H}\right]^{-}},
long=hydroxy group,
first-style=lrbrack,
}
\begin{document}
\printacronyms
How it looks: \acf{DNA} and \acf{OH}
How it looks: \acf{DNA} and \acf{OH2}
\makebox[0pt][l]{How I want:}\phantom{How it looks:}
deoxyribonucleic acid (DNA) and
hydroxy group $\left(\left[\chlewis{90:180:270:}{O}\ch{-H}\right]^{-}\right)$
\end{document}
产生
在您的示例中,我更倾向于使用\Big(
/,因为它会产生比必要更大的括号,考虑到它们与文本内联出现,这是不可取的,因为它会在行之间产生过多的间隙。\Big)
\left(\right)
一个明显的警告是,如果不打算在数学模式下排版短格式,则需要将其输入为short=\ensuremath{\text{Foo}}
。不过,使用任何大括号都是例外。