조건부로 \big, \bigg 등을 \left 또는 \right(로컬에서)로 재정의합니다.

조건부로 \big, \bigg 등을 \left 또는 \right(로컬에서)로 재정의합니다.

조판 작업 속도를 높이기 위해 일부 명령을 "로컬"로 재정의할 수 있는 가능성을 모색하고 있습니다.

\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에는 없습니다.

관련 정보