使用巨集來避免輸入重音符號有什麼缺點嗎?

使用巨集來避免輸入重音符號有什麼缺點嗎?

作為一個以英語為母語的人,我不習慣很多帶重音的單詞,所以我發現很難在腦海中記住各種重音,更重要的是要記住所有這些重音的 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* 除非參數包含多個段落。

相關內容