![방정식 주위의 간격을 전체적으로 변경하는 방법은 무엇입니까?](https://rvso.com/image/254728/%EB%B0%A9%EC%A0%95%EC%8B%9D%20%EC%A3%BC%EC%9C%84%EC%9D%98%20%EA%B0%84%EA%B2%A9%EC%9D%84%20%EC%A0%84%EC%B2%B4%EC%A0%81%EC%9C%BC%EB%A1%9C%20%EB%B3%80%EA%B2%BD%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
환경 주변의 '위' 및 '아래' 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}