将每个符号定义为LaTeX中的命令

将每个符号定义为LaTeX中的命令,latex,code-formatting,Latex,Code Formatting,我正在做一个大型项目,涉及多个用LaTeX排版的文档。我希望在使用符号时保持一致,因此为整个项目中具有特定含义的每个符号定义一个命令可能是个好主意。有没有人有这方面的经验?有什么我应该注意的问题吗 更具体一点。比如说,在整个文档中,我会用脚本P表示一个叫做permability的东西,定义它是一个想法吗 \providecommand{\permeability}{\mathscr{P}} 或者这更像是“为$n$定义命令”的情况吗?我一直在为任何具有特定含义且长度超过单个符号的对象执行此操作,

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

更具体一点。比如说,在整个文档中,我会用脚本P表示一个叫做permability的东西,定义它是一个想法吗

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

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

我一直在为任何具有特定含义且长度超过单个符号的对象执行此操作,主要是为了节省键入时间:

\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$}
即使为单个符号定义了命令,也很容易键入一个符号而忘记它

编辑:使用您的示例IMHO定义
\personality
是一个好主意,因为它不仅仅是一个p,您必须在不使用命令的情况下键入。但这是一个千钧一发的时刻。

一些提示:

  • 使用
    \providedCommand
    将仅在以前未定义该命令时定义该命令。因此,如果您没有得到预期的结果,您可能正在尝试定义一个在其他地方定义的命令
  • 如果使用
    \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}}}
    
    将以粗体x打印
    \vect{x}
    。如果以后决定更喜欢向量上方的箭头,可以将命令更改为:

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

谢谢。我想我会使用命令,特别是因为我有时会改变我的符号。