%EB%A1%9C%20%EC%9E%AC%EC%A0%95%EC%9D%98%ED%95%A9%EB%8B%88%EB%8B%A4..png)
조판 작업 속도를 높이기 위해 일부 명령을 "로컬"로 재정의할 수 있는 가능성을 모색하고 있습니다.
\big
이 특별한 경우에는 , 등의 명령을 및 명령 \Big
으로 재정의하고 싶습니다 . 재정의는 next-char(또는 next-regexp)에 의해 조건이 지정되어야 합니다.\left
\right
예를 들어 "의사 코드"와 같은 것입니다.
\newcommand{\myRedefinedBigs}{%
COND 1 next char (or next regexp) is (or "(" "[" "\{")
\renewcommand{\big}{\left}
\renewcommand{\Big}{\left}
\renewcommand{\bigg}{\left}
\renewcommand{\Bigg}{\left}
COND 2 next char (or next regexp) is (or ")" "]" "\}")
\renewcommand{\big}{\right}
\renewcommand{\Big}{\right}
\renewcommand{\bigg}{\right}
\renewcommand{\Bigg}{\right}}
아이디어는 이 명령으로 방정식을 래핑하는 것입니다. 예:
{\myRedefinedBigs
\begin{equation}
\big(\frac{1}{2}\big)
\end{equation}}\relax
LaTeX로 만들 수 있나요? 그렇다면 무엇을 찾아야 합니까?
편집하다. 베르머 솔루션작동하는 것처럼 보였지만 동일한 종류의 중첩된 쌍의 경우에는 실패합니다. 예:
{\myRedefinedBigs
\begin{equation}
\big(\frac{1}{2}\big(3\)\big)
\end{equation}}\relax
메모.
나는 처음부터 직접 문서를 작성하지 않습니다. 물리학 저널에 게재될 과학자들의 연구 결과를 준비합니다. 따라서 제공된 지침에 따라 레이아웃 "오류"를 "수정"해야 합니다.
답변1
다음에서는 및 \big
와 유사하게 쌍을 이루는 형태로 및 친구를 사용하고 있다고 가정합니다 . 또한 여는 구분 기호는 와 연관되어 있고 닫는 구분 기호는 와 연관되어 있다고 가정합니다 . 일치하지 않는 모든 반복자는 로 되돌아갑니다 .\left
\right
\left
\right
<delim>
\big<delim>
\documentclass{article}
\makeatletter
\newcommand{\myRedefinedBigs}{%
\let\oldbig\big% Copy \big into \oldbig
\def\big{% Redeine \big
\@ifnextchar({\biglparen}{% \big is followed by (
\@ifnextchar){\bigrparen}{% \big is followed by )
\@ifnextchar[{\biglbracket}{% \big is followed by [
\@ifnextchar]{\bigrbracket}{% \big is followed by ]
\@ifnextchar\{{\biglbrace}{% \big is followed by \{
\@ifnextchar\}{\bigrbrace}{% \big is followed by \}
\oldbig}}}}}}}% \big is followed by something else, so resort to \oldbig
\def\biglparen({\left(}% \big( is replaced by \left(
\def\bigrparen){\right)}% \big) is replaced by \right)
\def\biglbracket[{\left[}% \big[ is replaced by \left[
\def\bigrbracket]{\right]}% \big] is replaced by \left]
\def\biglbrace\{{\left\{}% \big\{ is replaced by \left\{
\def\bigrbrace\}{\right\}}% \big\} is replaced by \left\}
\let\Big\big% Handle \Big just like \big
\let\bigg\big% Handle \bigg just like \big
\let\Bigg\big% Handle \Bigg just like \big
}
\makeatother
\begin{document}
\[
\big(\frac{1}{2}\big)
\]
{\myRedefinedBigs
\[
\big(\frac{1}{2}\big)
\]}
\[
\big(\frac{1}{2}^{\Big\{\frac{1}{2}\Big]}\big)
\]
{\myRedefinedBigs
\[
\big(\frac{1}{2}^{\Big\{\frac{1}{2}\Big]}\big)
\]}
\[
\big(\frac{1}{2}\big(3\big)\big)
\]
{\myRedefinedBigs
\[
\big(\frac{1}{2}\big(3\big)\big)\big|
\]}
\end{document}
답변2
문제에 대해
사용자가 사용해야하는열리는그리고폐쇄수식의 구분 기호입니다. 또한 유용한 매크로를 다시 정의하지 말고 적절하게 다른 매크로를 사용하십시오.
다음 예에서는 다양한 구분 기호(크기 및 모양)를 볼 수 있습니다. 여는 구분 기호와 닫는 구분 기호도 볼 수 있습니다.
연습 17.14 (TeXbook)
\pi(n)=\sum_{m=2}^n\left\lfloor\biggl(\sum_{k=1}^{m-1}
\bigl\lfloor(m/k)\big/\lceil m/k\rceil\bigr\rfloor\biggr)^{-1}
\right\rfloor
샘플 코드에서 여는 구분 기호와 닫는 구분 기호를 쉽게 바꿀 수 있습니다.
중요한: \left
또는 \right
구분 기호가 항상 예상된 구분 기호를 생성하는 것은 아닙니다(인쇄상의 미학).
예를 들어 동일한 수식의 두 가지 형식을 볼 수 있습니다. 공식오른쪽으로TeXbook에서 권장되는 형식에 해당하는 반면 왼쪽의 수식은 위 코드 조각에서 해당 수정자( \bigl
, \biggr
...) 를 \left
바꾼 후 나타날 수 있습니다.\right
또한 "수정자" \left
및 는 \right
공식의 동일한 부분에 나타나야 합니다.
솔루션 정보
구분 기호 앞의 각 "수정자"를 적절한 수정자로 교체해야 합니다.
이러한 수정자는 일치하는 수정자로 자동으로 대체될 수 있습니다. 사용되는 알고리즘은 그다지 복잡해 보이지 않습니다. 구현은 아마도 다음 사항에 따라 달라져야 합니다.텍스트 에디터, 분명히 (La)TeX에는 없습니다.