简化词汇表描述中“&”符号的使用

简化词汇表描述中“&”符号的使用

当我需要说“和”时,我会在正文中使用“与”符号……您可以想象,这种情况很常见!打开文档后,我使用:

makeampletter \def\makeampletter{\catcode`\&11\relax}

如果我需要放一张桌子,我会转:

makeampcolsep\def\makeampcolsep{\catcode`\&4\relax}

这是我的方法,因为我不知道如何将法语中的“and”或“et”转换为“&”(从历史上看,“&” 是 “et” 的连字)。此外,如果我将所有“and”或“et”转换为“&”,我会将所有“Brandies”转换为“Br&ies”,将所有“Cabernet”转换为“Cabern&”,这令人困惑。&,我不想用“&”开始我的句子。可能有一个解决方案:仅当连词在空格或标点符号“et”或“and”或“-et-”之间,并且世界是小写时才转换为连字……如果您可以构建此解决方案,我会接受它。所以,我在文本中使用“&”。有时,我知道,这是一个坏主意,在表格、标题、标签等中。我会绕过。但是,我需要在词汇表描述中使用“&”。我在 MWE 中展示了一个小程序,它解释了为什么\&、、\&\{\&}对我来说不是好的解决方案(空间管理、与其他功能的对应性)。

&我的问题是这样:要自由使用 & 符号,如何在词汇表条目的所有描述中自动使用符号?使用我友好的程序makeampletter& makeampcolsep,但在哪里?

% !TEX encoding = UTF-8 Unicode 
% !TEX TS-program = arara
\documentclass{scrbook} 
\def\makeampletter{\catcode`\&11\relax}
\newcommand\ampersandtrip[2]{\newglossaryentry{#1}{name=#1,type=main,description={#2}}#2\footnote{\gls{#1}}}

\usepackage{glossaries}
\makeglossaries
\newglossaryentry{and}{name=and,description={I want to use my &!}}% \&
\newglossaryentry{et}{name=et,description={Je veux utiliser mon & !}}% \&

\begin{document}
\makeampletter
\gls{and} & \gls{et}

\section*{Trip 1}\glsentrydesc{trip1}\\\ampersandtrip{trip1}{You \& me}
\section*{Trip 2}\glsentrydesc{trip2}\\\ampersandtrip{trip2}{Toi \&  moi}
\section*{Trip 3}\glsentrydesc{trip3}\\\ampersandtrip{trip3}{You \&\ me}
\section*{Trip 4}\glsentrydesc{trip4}\\\ampersandtrip{trip4}{Toi {\&} moi}

\printglossary
\end{document}
% arara: xelatex
% arara: makeglossaries
% arara: xelatex

听起来有点傻,但我需要它。谢谢!

答案1

在定义词汇表条目之前使用\catcode`&=12、 not11和 use 。\makeampletter

\documentclass{scrbook} 

\newcommand\makeampletter{\catcode`\&=12\relax}
\newcommand\ampersandtrip[2]{%
  \newglossaryentry{#1}{
    name=#1,
    type=main,
    description={#2},
  }%
  #2\footnote{\gls{#1}}%
}

\usepackage{glossaries}
\makeglossaries

\makeampletter
\newglossaryentry{and}{name=and,description={I want to use my &!}}% \&
\newglossaryentry{et}{name=et,description={Je veux utiliser mon & !}}% \&

\begin{document}
\gls{and} & \gls{et}

\section*{Trip 1}

\glsentrydesc{trip1}
\ampersandtrip{trip1}{You & me}

\section*{Trip 2}

\glsentrydesc{trip2}
\ampersandtrip{trip2}{Toi &  moi}

\section*{Trip 3}

\glsentrydesc{trip3}
\ampersandtrip{trip3}{You \& me}

\section*{Trip 4}

\glsentrydesc{trip4}
\ampersandtrip{trip4}{Toi \& moi}

\printglossary
\end{document}

% arara: xelatex
% arara: makeglossaries
% arara: xelatex

在此处输入图片描述

相关内容