在我的论文中,我使用了很多括号来表示分数,每次我都必须使用
\left( \frac{a}{b} \right)
。如果我有一个很长的等式和很多分数,那就会变得非常混乱。
有没有办法重新定义(
,以便每次我输入时(
它都会自动被解释为\left(
?
我尝试将其重新定义为宏,但它似乎不能与括号一起使用。
谢谢你的建议。
答案1
重新定义括号(
和的含义)
可能相当危险,因为它们可能出现在很多情况下,甚至在数学材料中。在某些情况下,你可能会不是希望括号自动扩大。
您可能不想重新定义括号的含义,而是要考虑定义一个新的宏,比如说 \pfrac (我想是“括号分数”的缩写),该宏会自动将分数表达式括在自动调整大小的括号中:
\newcommand{\pfrac}[2]{\left( \frac{#1}{#2} \right)}
这样您就可以编写诸如 之类的表达式\pfrac{1}{2}
。请注意,这比编写 稍微简单一些(并且重要的是,不容易因省略左括号和/或右括号而导致“事故”)(\frac{1}{2})
。
如果您采用这种方式,即,将大量小数表达式括在自动调整大小的括号中,我建议您也加载该mleftright
包并在前言中发出命令\mleftright
。这样做可以消除在各种情况下由\left
和插入的额外空格\right
。
\documentclass{article}
\usepackage{amsmath}
\newcommand{\pfrac}[2]{\left(\frac{#1}{#2}\right)}
\usepackage{mleftright}
\mleftright
\begin{document}
\[
\pfrac{1}{2} \pfrac{3}{4} \pfrac{5}{6}
\textstyle \pfrac{1}{2} \pfrac{3}{4} \pfrac{5}{6}
\]
\end{document}
附录,由 egreg 的评论提示:还可以利用包\genfrac
的宏amsmath
来定义一个分数宏,该宏会自动用一对括号将其内容括起来。例如,可以定义
\newcommand{\qfrac}[2]{\genfrac {(} {)} {} {} {#1} {#2}}
用这个宏代替\pfrac
上面的 MWE 可得出:
需要注意的是,括号现在非常接近分数表达式。您可能(或可能不喜欢)这种外观,而不是\pfrac
上面给出的宏产生的外观。
答案2
第一次尝试(不受数学模式等的限制):
\documentclass{article}
\begin{document}
\let\lb=(
\let\rb=)
\catcode`\(=\active
\def({\left\lb}
\catcode`\)=\active
\def){\right\rb}
$$
\lb\frac{a}{b}\rb
\quad
(\frac{a}{b})
$$
\end{document}