当内联使用时,如何将单个首字母缩略词呈现为小写,但在首字母缩略词列表中则混合使用大小写?

当内联使用时,如何将单个首字母缩略词呈现为小写,但在首字母缩略词列表中则混合使用大小写?

我希望在将首字母缩略词打印到首字母缩略词列表时,将单词的首字母大写。但是,在某些情况下,当我使用\ac{}\acf{}命令将它们添加到段落时,我希望以小写形式(英语)打印书写形式。第三种情况是在文档中的某处使用混合字母变体。

例子:

% 1) In the list of acronyms.
Spatial Reference System (SRS)

...

% 2) In a paragraph.
... the spatial reference system (SRS) is important because ... 

...

% 3) Somewhere else in the document.
... it may happen that you still want to use the 
mixed variant when writing about the Spatial Reference System (SRS) ....

问题:

  • 您将如何配置首字母缩略词来区分这三种情况?

答案1

你必须说出acronym两种拼写:

\documentclass{article}
\usepackage{acronym}
\usepackage{etoolbox}
\makeatletter
\newif\if@in@acrolist
\AtBeginEnvironment{acronym}{\@in@acrolisttrue}
\newrobustcmd{\LU}[2]{\if@in@acrolist#1\else#2\fi}

\newcommand{\ACF}[1]{{\@in@acrolisttrue\acf{#1}}}
\makeatother

\begin{document}
\begin{acronym}
\acro{SRS}{\LU{S}{s}patial \LU{R}{r}eference \LU{S}{s}ystem}
\acro{DC}{\LU{D}{d}irect \LU{C}{c}urrent}
\end{acronym}

Batteries run on \ac{DC} and \ac{SRS} are different things.
\end{document}

\LU只是将替代形式作为其参数;指令\AtBeginEnvironment告诉此宏要使用第一个参数,因为条件\if@in@acrolist返回 true。在普通文本中,条件返回 false(请注意,在环境结束时,acronym条件的设置将自动恢复,因为环境形成组)。

在此处输入图片描述

我添加了一个\ACF作用类似于\acf使用大写版本的宏(打印完整版本和首字母缩略词)。

相关内容