【问题标题】:Define every symbol as a command in LaTeX将每个符号定义为 LaTeX 中的命令
【发布时间】:2009-06-24 06:39:20
【问题描述】:

我正在从事一个大型项目,该项目涉及在 LaTeX 中排版的多个文档。我希望在使用符号时保持一致,因此为整个项目中具有特定含义的每个符号定义一个命令可能是一个好主意。有人对这个有经验么?有没有需要注意的问题?

更具体一点。也就是说,在整个文档中,我会用脚本 P 来表示称为 permability 的东西,这样定义是不是一个想法

\providecommand{\permeability}{\mathscr{P}}

或者这更像是“为 $n$ 定义命令”的情况?

【问题讨论】:

    标签: latex code-formatting


    【解决方案1】:

    一些提示:

    • 使用\providecommand 将仅在之前未定义的情况下定义该命令。因此,如果您没有得到预期的结果,您可能正在尝试定义在其他地方定义的命令。
    • 如果您使用 \ensuremath 在命令中封装数学,则无论您在发出命令时是否处于数学模式,它都会做正确的事情:

      \providecommand{\permeability}{\ensuremath{\mathscr{P}}}
      Now I can easily use \permeability in text or $\permeability$ in math mode.
      
    • 使用您自己的命令可以让您稍后轻松更改某些内容的印刷表示。例如:

      \newcommand{\vect}[1]{\ensuremath{\mathbf{#1}}}
      

      \vect{x} 打印为粗体x。如果您稍后决定更喜欢矢量上方的箭头,则可以将命令更改为:

      \newcommand{\vect}[1]{\ensuremath{\vec{#1}}}
      

    【讨论】:

      【解决方案2】:

      我一直在为任何具有特定含义且比单个符号长的东西这样做,主要是为了节省打字:

      \newcommand{\objId}{\mbox{$\mathit{objId}$}\xspace} 
      \newcommand{\insOp}[1]{#1\mbox{$^+$}\xspace} 
      \newcommand{\delOp}[1]{#1\mbox{$^-$}\xspace}
      

      但是后来我注意到我不再犯不一致的错误(objId vs ObjId vs ObjID),所以我同意这是一个好主意。

      但是我不确定如果输出中的符号是单个拉丁符号是否是个好主意,例如:

      \newcommand{\numOfObjs}{$n$}
      

      即使为它定义了一个命令,输入单个符号也很容易忘记它。

      编辑:使用您的示例恕我直言,定义\permeability 是一个好主意,因为它不仅仅是一个您必须在没有命令的情况下输入的 P。但这是一个千钧一发的时刻。

      【讨论】:

      • 谢谢。我想我会使用命令,特别是因为我有时会改变我的符号。
      猜你喜欢
      • 1970-01-01
      • 2018-10-09
      • 2013-01-24
      • 1970-01-01
      • 2022-01-07
      • 1970-01-01
      • 1970-01-01
      • 2019-08-31
      • 1970-01-01
      相关资源
      最近更新 更多