방정식 주위의 간격을 전체적으로 변경하는 방법은 무엇입니까?

방정식 주위의 간격을 전체적으로 변경하는 방법은 무엇입니까?

환경 주변의 '위' 및 '아래' vspace를 설정하려면 어떻게 해야 합니까 equation?

subequations또는 환경 에 대해 동일한 작업을 수행할 수 있다면 gather이는 보너스가 될 것입니다.

답변1

\abovedisplayskip, \belowdisplayskip, \abovedisplayshortskip, 값을 조정할 수 있습니다 \belowdisplayshortskip. 해당 shortskip버전은 표시된 방정식 앞에 짧은 텍스트 줄이 오는 상황에서 사용됩니다. 표시된 방정식이 시작되기 전에 텍스트가 끝나면 수직 공간을 더 적게 추가하는 것이 좋습니다.

문서 클래스는 종종 이러한 건너뛰기를 정의하므로 \normalsize이 매크로를 다시 정의하거나 패치하거나 간단히 추가할 수 있습니다. 왜냐하면 프리앰블에서 값을 설정하는 것만으로는 작동하지 않기 때문입니다.

\documentclass{article}
\usepackage{amsmath}
\makeatletter
\g@addto@macro\normalsize{%
  \setlength\abovedisplayskip{40pt}
  \setlength\belowdisplayskip{40pt}
  \setlength\abovedisplayshortskip{40pt}
  \setlength\belowdisplayshortskip{40pt}
}
\makeatother
\begin{document}
text
\begin{gather}
  1 + 1 = 2
\end{gather}
text
\begin{equation}
  1 + 1 = 2
\end{equation}
\end{document}

없이도 동일한 작업을 수행할 수 있으므로 다음을 사용하여 \g@addto@macro아무 것도 필요하지 않고 and도 @필요하지 않습니다 .\makeatletter\makeatother\expandafter

\expandafter\def\expandafter\normalsize\expandafter{%
    \normalsize
    \setlength\abovedisplayskip{40pt}
    \setlength\belowdisplayskip{40pt}
    \setlength\abovedisplayshortskip{40pt}
    \setlength\belowdisplayshortskip{40pt}
}

나는 재정의와 패치 모두 문서 클래스에서 사용되는 \normalsize의 정확한 정의를 알아야 하기 때문에 에 추가하는 방법을 선호합니다 . \normalsize앞서 설명한 봇 방식LaTeX 커뮤니티 포럼, 에 대한 답변에서프리앰블에 세로 공백을 설정할 수 없습니다..

자세한 내용은 우수에서 확인할 수 있습니다.수학 모드선적 서류 비치.

답변2

Stefan의 답변이 업데이트되었습니다.

귀하의 질문은 중복되어 종료되어야 합니다. 여기에서 많은 질문/답변을 찾을 수 있습니다. 예:

방정식 주위의 간격이 다르고 정렬됩니다.

여기에 다른 접근 방식을 보여주기 전에 매우 중요한 사실은 다음과 같습니다.

접착제를 놓치지 마세요! 길이 \abovedisplayskip등은 접착제로 정의할 수 있으므로 LaTeX가 공간을 보다 유연하게 설정할 수 있습니다. 다음 질문/답변을 읽어보세요: 글루 스트레칭이란 무엇입니까?

그러나 길이를 설정하는 다른 가능성을 보여주고 싶습니다. 우선, 명령을 사용할 수 있습니다 \AtBeginDocument. 글꼴은 문서 시작 부분에 설정되므로 후크는 나중에 해당 작업을 실행합니다.

\AtBeginDocument{%
 \abovedisplayskip=12pt plus 3pt minus 9pt
 \abovedisplayshortskip=0pt plus 3pt
 \belowdisplayskip=12pt plus 3pt minus 9pt
 \belowdisplayshortskip=7pt plus 3pt minus 4pt
}

명령은 \g@addto@macro내부 매크로입니다. 같은 패키지 etoolbox또는 최신 패키지 xpatch는 보다 강력한 명령 버전을 제공합니다 \g@addto@macro. 내부 명령을 사용하는 대신 특별한 처리 없이 다음을 @사용할 수 있습니다.

\usepackage{etoolbox}
\apptocmd\normalsize{%
 \abovedisplayskip=12pt plus 3pt minus 9pt
 \abovedisplayshortskip=0pt plus 3pt
 \belowdisplayskip=12pt plus 3pt minus 9pt
 \belowdisplayshortskip=7pt plus 3pt minus 4pt
}{}{}

또는

\usepackage{xpatch}
\xapptocmd\normalsize{%
 \abovedisplayskip=12pt plus 3pt minus 9pt
 \abovedisplayshortskip=0pt plus 3pt
 \belowdisplayskip=12pt plus 3pt minus 9pt
 \belowdisplayshortskip=7pt plus 3pt minus 4pt
}{}{}

여기에 간단한 예를 모아서 작업했습니다. 당신은 길이를 가지고 놀아야합니다.:

\documentclass{article}
\usepackage{kantlipsum}
\usepackage{xpatch}
\xapptocmd\normalsize{%
 \abovedisplayskip=12pt plus 3pt minus 9pt
 \abovedisplayshortskip=0pt plus 3pt
 \belowdisplayskip=12pt plus 3pt minus 9pt
 \belowdisplayshortskip=7pt plus 3pt minus 4pt
}{}{}
\usepackage{amsmath}
\begin{document}
\kant[1]
\begin{gather}
  1 + 1 = 2
\end{gather}
\kant[1]
\begin{gather}
  1 + 1 = 2
\end{gather}
\kant[1]
\begin{subequations}
\begin{equation}
  1 + 1 = 2
\end{equation}
\end{subequations}
\kant[1]
\kant[1]
\end{document}

관련 정보