![当内联使用时,如何将单个首字母缩略词呈现为小写,但在首字母缩略词列表中则混合使用大小写?](https://linux22.com/image/255160/%E5%BD%93%E5%86%85%E8%81%94%E4%BD%BF%E7%94%A8%E6%97%B6%EF%BC%8C%E5%A6%82%E4%BD%95%E5%B0%86%E5%8D%95%E4%B8%AA%E9%A6%96%E5%AD%97%E6%AF%8D%E7%BC%A9%E7%95%A5%E8%AF%8D%E5%91%88%E7%8E%B0%E4%B8%BA%E5%B0%8F%E5%86%99%EF%BC%8C%E4%BD%86%E5%9C%A8%E9%A6%96%E5%AD%97%E6%AF%8D%E7%BC%A9%E7%95%A5%E8%AF%8D%E5%88%97%E8%A1%A8%E4%B8%AD%E5%88%99%E6%B7%B7%E5%90%88%E4%BD%BF%E7%94%A8%E5%A4%A7%E5%B0%8F%E5%86%99%EF%BC%9F.png)
我希望在将首字母缩略词打印到首字母缩略词列表时,将单词的首字母大写。但是,在某些情况下,当我使用\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
使用大写版本的宏(打印完整版本和首字母缩略词)。