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