我有如下一段代码:
\documentclass{article}
\usepackage{amsmath}
\RequirePackage{relsize}
\newcommand\leftright[4][\displaystyle]{
\setbox0=\hbox{$#1#3$}
\setbox2=\hbox{$\vcenter{\copy0}$}
\raisebox{\dimexpr\ht0 -\ht2}{$#1\left#2\copy2\right#4\!$}}
\begin{document}
$\leftright{(}{\dfrac{2\pi}{\dfrac{1}{3}}}{)}$
\end{document}
这段代码定义了命令
\leftright{左定界符}{内容}{右定界符}
用于处理垂直方向不对称的定界符高度。
我的问题是,如何完善修改更简洁的代码,比如定义下面的命令达到相同的效果:
\myleft左定界符 内容 \myright右定界符
\def\myleft #1#2\myright #3{\leftright{#1}{#2}{#3}}
就是使用 \myright
作为第二个参数的定界符,使用方式:
$ \myleft( \dfrac{2\pi}{ \dfrac{1}{3} } \myright) $
或者使用
\usepackage{xparse} % 必须
\NewDocumentCommand\myleft{ O{\displaystyle} m u{\myright} m}
{\leftright[#1]{#2}{#3}{#4}}
以支持可选参数
\myleft[\textstyle] ( \dfrac{2\pi}{\dfrac{1}{3}} \myright)
当然对于方括号 [
的情况就必须使用
\myleft{[} \dfrac{2\pi}{\dfrac{1}{3}} \myright]
否则,LaTeX 将会把 [
视为可选参数的开始标志。
使用时,参数之间的空格是无关紧要的。
感谢大佬!