如何调整acro包中的括号大小?

如何调整acro包中的括号大小?

我正在使用该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}将使用AZ而不是()来括起简短形式。

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}}。不过,使用任何大括号都是例外。

相关内容