缩写包:处理所有格(撇号 s)

缩写包:处理所有格(撇号 s)

如何使用该acronym包处理首字母缩略词的所有格形式?

缩写定义:

\begin{acronym}
\acro{FBI}{Federal Bureau of Investigation}
\end{acronym}

用法:

The \ac{FBI}'s plan. The \ac{FBI}'s plan.

结果:

The Federal Bureau of Investigation (FBI)'s plan. The FBI's plan.

简短形式是正确的,但是完整形式是错误的。

答案1

这是一个定义命令的方法\acposs,它将扩展为长的的(短的) 首次使用时短的下次使用时:

\documentclass{article}

\usepackage{acronym}

\makeatletter
\newcommand{\acposs}[1]{%
 \expandafter\ifx\csname AC@\AC@prefix#1\endcsname\AC@used
   \acs{#1}'s%
 \else
   \aclu{#1}'s (\acs{#1})%
 \fi
}
\makeatother

\begin{document}
\begin{acronym}
\acro{FBI}{Federal Bureau of Investigation}
\end{acronym}

The \acposs{FBI} plan. The \acposs{FBI} plan.

\end{document}

FBI 联邦调查局 联邦调查局 (FBI) 的计划。 FBI 的计划。

如果你更喜欢长的的(短的's) 则使用以下定义:

\newcommand{\acposs}[1]{%
 \expandafter\ifx\csname AC@#1\endcsname\AC@used
   \acs{#1}'s%
 \else
   \aclu{#1}'s (\acs{#1}'s)%
 \fi
}

相关内容