gpt4 book ai didi

latex - 在 latex 中定义宏\etc\ie的正确方法

转载 作者:行者123 更新时间:2023-12-02 09:47:55 26 4
gpt4 key购买 nike

this article作者讨论了使用\@ 在不在句子末尾的句号后放置正确的空格,例如即先生等

建议的宏

\newcommand\etc{etc\@ifnextchar.{}{.\@}}

并不十分完美,因为在 (\etc more text) 的情况下它会生成 (etc.more text)

我见过很多作者制作了自己版本的 \etc 宏,大部分是 etc.\ 的变体。

\etc\ie\etal\eg 的哪些宏会产生最好的结果最多的情况?

这是不是太个人化了,无法普遍解决?

最佳答案

早些时候,我使用宏来表示“et al.”等,但现在我不鼓励人们定义此类宏。

一个问题是您已经观察到的:要获得正确的定义以便它们正确处理所有特殊情况(包括与其他包的交互 - 例如,那些重新定义“\cite”命令和调整的包)是非常棘手的引用前的间距)。

但更重要的是,即使有一堆适合您需要的宏并且您知道如何使用它们,您的共同作者也可能会感到困惑以及如何在各种特殊情况下正确使用宏。

因此,我建议您避免使用宏来处理诸如“et al”之类的琐碎事情。并使用标准 Latex 标记简单地拼出所有内容。毕竟,大多数情况不需要任何特殊处理(“e.g.”后面经常跟逗号;“et al.”后面经常跟“~\cite”等),而每当需要特殊处理时,所有Latex 用户应该知道如何使用“\”和“\@”等命令。

关于latex - 在 latex 中定义宏\etc\ie的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3282319/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com