定义一个以字符作为参数的 LaTeX 命令,而不是将其放在 { } 中

定义一个以字符作为参数的 LaTeX 命令,而不是将其放在 { } 中

我想定义一个命令,以两个参数作为第一个参数之后的字符;就像和一样\left(right)取它们之后的第一个字符,即使它们是括号left\{right\}

我想创建一个\lr如下定义的命令:

\newcommand{\lr}[3]{\left#1 #2 \right#3}

并像 一样使用它\lr{<}{stuff}{>}

但想像那样使用它lr<>{stuff}

答案1

当省略参数周围的括号时,它会将参数视为单个标记。由于分隔符是单个标记,因此如果您只是反转OP 的尝试猜测中的#2and的含义,every 就可以正常工作。#3

\documentclass{article}
\newcommand{\lr}[3]{\left#1 #3 \right#2}
\begin{document}
\[  \lr<>{stuff}        \]
\[  \lr[|{\frac{a}{b}}  \]
\[  \lr\{.{XYZ}         \]
\end{document}

在此处输入图片描述

相关内容