作为以英语为母语的人,我对很多带重音的单词并不习惯,因此我发现很难在脑海中记住各种重音,更不用说记住所有重音的 TeX 命令了。
此外,我很懒惰。
因此,我最近开始使用宏来处理我写作中经常出现的带重音的单词,这样我就不用再记住单词的重音以及如何输入它们了。这也确保了我的一致性:我不需要担心我是否在单词的某个地方打错了重音,因为这种情况很难发现。
这里有些例子:
\newcommand{\Poincare}{Poincar\'e}
\newcommand{\adele}{adel\`e}
\newcommand{\Cech}{\v{C}ech}
\newcommand{\Erdos}{Erd\H{o}s}
我已经描述了这样做的好处。我的问题是,这是“最佳实践”吗?
或者至少是“可以接受的做法”?缺点是什么?
我最近意识到,这当然会导致我想要的单词定义与重音相同的单词定义发生冲突。例如,在数学中,我们使用法语单词étale
和étalé
(参见这里和这里),它们都希望成为宏的定义\etale
。现在,前者比后者使用得更多,所以我将授予它宏,但这留下了一个问题,即如何为后者适当地创建命令。也许是带星号的版本?宏\etalee
?或者,我应该放弃并真正记住如何强调事物?
答案1
努力正确拼写口音是非常值得称赞的。如果字母相同,一个人的名字应该始终以原始方式拼写。对于使用不同文字的原始姓名,可以使用任何国际公认的音译系统。
有时很难意识到 Chebychev、Chebysheff、Chebyshov、Tchebychev、Tchebycheff、Tschebyschev 或 Tschebyscheff 是同一个人,即 Pafnuty Chebyshev(在广泛使用的音译系统中)或 Pafnutij Čebyšev(在另一个系统中)。(在俄语中,使用西里尔字母,名字是 Пафнутий Чебышев。)
写成“Poincare”、“Cech”或“Erdos”很常见,但不正确。使用正确的拼写并不难:“Poincaré”、“Čech”和“Erdős”。(正确发音是另一回事。)
对于您记不住重音的问题,使用宏可能是一个解决方案。请注意我如何使用 * 变体解决“étale–étalé”问题。
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{xspace}
\newcommand{\Poincare}{Poincar\'e\xspace}
\newcommand{\adele}{ad\`ele\xspace}
\newcommand{\Cech}{\v{C}ech\xspace}
\newcommand{\Erdos}{Erd\H{o}s\xspace}
\makeatletter
\newcommand{\etale}{\'etal\@ifstar{\'e}{e\xspace}}
\makeatother
\begin{document}
\Poincare and \Erdos went to an \etale* party at \Cech's
with an \adele and an \etale as gifts. \Cech was happy.
Poincaré and Erdős went to an étalé party at Čech's
with an adèle and an étale as gifts. Čech was happy.
\end{document}
答案2
这可能是一个相反的观点,但我会放弃并学习如何强调事物。Erd\H{o}s
与 相比,它只需要多输入少量的按键\Erdos
。它也更便携,因为任何使用 TeX 的人都可以复制并粘贴该代码。如果您熟悉 unicode 世界(以及您要向其发送源代码的任何人),请使用 unicode 方法并键入Erdős
。
宏方法与您的 étale/étalé 不符。 两者都\etalee
不够\etale*
直观,因此我不会不断地仔细检查每一个。
使用文本扩展软件(例如,TextExpander 或 AutoHotKey)保存击键,并在涉及参数时保存宏。
答案3
一点也不!实际上,使用这样的宏不仅在重音符号的情况下有用,而且对于普通、简单的单词也有好处,因为你可以\index
在那里放置引用。在我的硕士论文(以及后来出版的书)中,我在几个类似的宏(用于人名等)中有一个以下宏:
\newcommand*{\linux}{Linux\index{Linux}\xspace}
因此,即使打字与书写\linux
相比没有节省什么Linux
,但它确实极大地节省了我的时间,使我不必避免\index{Linux}
在每一页上至少写一次提到 Linux 的内容,更不用说我不必担心忘记一些内容。
以下是一些相关提示:
使用 xspace 避免Blahblah ... \linux.
变成
Blahblah ... Linux .
。
根据http://www.tug.org/pipermail/texhax/2005-March/003736.html:
通常没有区别...因此使用 \newcommand*,除非参数包含多个段落。