latex 中代码的快捷方式

latex 中代码的快捷方式

我厌倦了写\frac{\partial something}{\partial something_else}。我可以通过定义某种快捷方式来自动化它,以便在我写的时候\p(x)(y)它会转换为\frac{\partial x}{\partial y}

答案1

\documentclass{article}

\usepackage{amsmath}

\newcommand\p[2]{\frac{\partial #1}{\partial #2}}

\begin{document}
    $ \p{x}{y} $
\end{document}

答案2

定义复杂宏的能力是 LaTeX 的优势之一。传统的 LaTeX 方式是\p{x}{y}在文本中使用 而不是\p(x)(y)。如果您对 感到满意\p{x}{y},那么您可以直接添加

\newcommand{\p}[2]{\frac{\partial#1}{\partial#2}}

到你的序言。由于这个新宏需要数学模式,你可能还想将宏包装在一个\ensuremath类似

\newcommand{\p}[2]{\ensuremath{\frac{\partial#1}{\partial#2}}}

如果你真的想要,\p(x)(y)那么你可以添加

\def\p(#1)(#2){\ensuremath{\frac{\partial #1}{\partial #2}}}

到你的序言。这不是特别健壮,因为像 LaTeX3 这样的代码会破坏它。有很多方法可以让它更健壮,但是,除非有充分的理由(尤其是作为初学者),否则$\p((a+b)(a-b))(a+b)$我建议不要使用它。\p(x)(y)

最后要注意的是,最好使用稍长且更具描述性的宏名称。虽然\p现在看起来不错,但几个月后它可能对你来说就没有任何意义了。短宏名称也会增加你与其他包发生名称冲突的可能性。

答案3

commath包中已经定义了很多这些方便的宏,比如\pd[2]{f}{x}。我碰巧用了它,但它也有一些棘手的问题,比如对内联和显示数学的错误检测,以及与 TikZ 在冒号字符上的冲突(见为什么 pdfTeX 会挂在这个文件上?)。

相关内容