수천 개의 모든 종류의 괄호가 포함된 문서를 작성하고 있으므로 모든 괄호의 크기를 수동으로 조정하거나 수동으로 추가할 \mleft
때 마다 \mright
결국 많은 시간이 필요하게 됩니다. 게다가 이 문서는 개인적인 용도로 사용되기 때문에 따라야 할 엄격한 인쇄 규칙이 없습니다.
(
따라서 이 경우 and를 각각 재정의하는 것은 나쁜 생각이 아니며 )
대괄호 \mleft(
와 \mright)
중괄호에도 동일합니다(분명히 수학 모드에서만).
나는 자동 크기 조정 괄호 사용에 대한 모든 단점을 알고 있습니다(예:\left 및 \right 주위의 간격또는LaTeX는 왜 (를 \left( 및 )를 \right)로 해석하지 않습니까?또는\left와 \right를 사용하는 것이 나쁜 적이 있나요?) 적어도 사용하면 \mleft
간격 \right
문제가 해결됩니다.
페이지에서\{ 및 \}을 자동으로 \left 및 \right로 만드는 방법egreg는 중괄호의 경우 목표를 달성하는 쉬운 방법이 있다고 설명합니다. 매크로는 파일 에 있는 및 정의에 \left
및를 추가하는 것으로 구성됩니다 .\right
\{
\}
latex.ltx
\documentclass{article}
\usepackage{amsmath}
\usepackage{mleftright}
\let\{\relax \let\}\relax % to avoid warnings about the redefinition
\DeclareRobustCommand{\{}{\ifmmode\mleft\lbrace\else\textbraceleft\fi}
\DeclareRobustCommand{\}}{\ifmmode\mright\rbrace\else\textbraceright\fi}
\begin{document}
$a\{\dfrac13\}a$
\end{document}
latex.ltx
곡선과 대괄호의 명령을 재정의하기 위해 비슷한 방법을 찾고 있는데 매우 큰 파일이기 때문에 파일에서 해당 정의를 찾는 방법을 모르겠습니다 .
답변1
수학 코드를 8000으로 설정하여 이러한 기호 수학을 활성화한 다음 소문자 트릭으로 정의할 수 있습니다.
\documentclass{article}
\usepackage{amsmath}
\usepackage{mleftright}
\makeatletter
\def\@mathactive#1#2{\begingroup
\lccode`~=`#1
\lowercase{\endgroup
\def~{#2}}%
\mathcode`#1="8000\relax}
\@mathactive({\mleft(}
\@mathactive){\mright)}
% Do the same for brackets. (Do not try it with braces.)
\makeatother
\begin{document}
$ (\dfrac12) $
\end{document}
편집: PDFTeX와 함께 작동하는 코드는 다음과 같습니다. PDFTeX에서 AMSMath는 활성 수학 문자에 문제가 있는 것 같습니다.
\documentclass{article}
\usepackage{amsmath}
\usepackage{mleftright}
\begingroup
\catcode`\(=\active
\catcode`\)=\active
\gdef({\mleft\lparen}
\gdef){\mright\rparen}
\endgroup
\def\lparen{\delimiter"028300\relax}
\def\rparen{\delimiter"029301\relax}
\everymath{\mathcode`\(="8000
\mathcode`\)="8000}
\everydisplay{\mathcode`\(="8000
\mathcode`\)="8000}
\begin{document}
$ (\dfrac12) $
\[ (\frac18) \]
\end{document}