LaTeX에서 크기를 수치로 조정할 수 있는 괄호

13153 단어 TeXLaTeX
수식은 역시 괄호의 크기를 조정하는 것으로 압도적으로 보기 쉬워집니다만, \bigl/\Bigl/\biggl/\Biggl \left/\right 에 의한 자동 조정도 있습니다만, 의외로 잘 작동하지 않거나 하기 때문에, 수치로 조정하기로 했습니다.



brackets.tex
\documentclass{article}

\usepackage{expl3}
\usepackage{amsmath}
\usepackage{newtxtext}
\usepackage{newtxmath}

\ExplSyntaxOn
\cs_new_eq:NN \If \bool_if:nTF
\cs_new_eq:NN \Compare \int_compare_p:nNn
\ExplSyntaxOff

\newcommand{\leftright}[4][0]{%
    \If{\Compare{#1}={0}}{%
        #2#4#3%
    }{\If{\Compare{#1}={1}}{%
        \bigl#2#4\bigr#3%
    }{\If{\Compare{#1}={2}}{%
        \Bigl#2#4\Bigr#3%
    }{\If{\Compare{#1}={3}}{%
        \biggl#2#4\biggr#3%
    }{\If{\Compare{#1}={4}}{%
        \Biggl#2#4\Biggr#3%
    }{%
        \errmessage{leftright: illegal optional argument}%
    }}}}}%
}

\newcommand{\p}[2][0]{\leftright[#1](){#2}}
\renewcommand{\b}[2][0]{\leftright[#1][]{#2}} % \b used to be a diacritic
\newcommand{\pb}[2][0]{\leftright[#1](]{#2}}
\newcommand{\bp}[2][0]{\leftright[#1][){#2}}
\renewcommand{\c}[2][0]{\leftright[#1]\{\}{#2}} % \c used to be a diacritic
\newcommand{\g}[2][0]{\leftright[#1]\langle\rangle{#2}}
\renewcommand{\t}[2][0]{\leftright[#1]||{#2}} % \t used to be a diacritic
\newcommand{\n}[2][0]{\leftright[#1]\lVert\rVert{#2}}
\newcommand{\f}[2][0]{\leftright[#1]\lfloor\rfloor{#2}}
\renewcommand{\l}[2][0]{\leftright[#1]\lceil\rceil{#2}} % \l used to be a special character

\begin{document}

\[\p[4]{1 + \p[3]{2 + \p[2]{3 + \p[1]{4 + \p{5 + 6} + 7} + 8} + 9} + 10} \times 2 = 10 \times \p{10 + 1} \]
\[\p[4]{\p[3]{\p[2]{\p[1]{\p{}}}}}
\ \b[4]{\b[3]{\b[2]{\b[1]{\b{}}}}}
\ \c[4]{\c[3]{\c[2]{\c[1]{\c{}}}}}
\ \g[4]{\g[3]{\g[2]{\g[1]{\g{}}}}}
\ \t[4]{\t[3]{\t[2]{\t[1]{\t{}}}}}
\ \n[4]{\n[3]{\n[2]{\n[1]{\n{}}}}}
\ \f[4]{\f[3]{\f[2]{\f[1]{\f{}}}}}
\ \l[4]{\l[3]{\l[2]{\l[1]{\l{}}}}}\]

\end{document}

약간의 궁리입니다만, 이렇게 괄호를 매크로화해 두면, 크기의 조정이 압도적으로 편해질 뿐만 아니라, 개방 괄호와 닫는 괄호의 대응도 자동적으로 취할 수 있으므로, 매우 편리합니다.

좋은 웹페이지 즐겨찾기