![Como alterar globalmente o espaçamento em torno das equações?](https://rvso.com/image/254728/Como%20alterar%20globalmente%20o%20espa%C3%A7amento%20em%20torno%20das%20equa%C3%A7%C3%B5es%3F.png)
Como eu poderia definir os vspaces 'acima' e 'abaixo' em todo o equation
ambiente?
Se o mesmo pudesse ser feito para os ambientes subequations
ou gather
, isso seria um bônus.
Responder1
Você pode ajustar os valores de \abovedisplayskip
, \belowdisplayskip
, \abovedisplayshortskip
, \belowdisplayshortskip
. As shortskip
versões são utilizadas na situação em que uma linha curta de texto vem antes da equação exibida: se o texto termina antes do início da equação exibida, é bom adicionar menos espaço vertical.
Como as classes de documentos geralmente definem esses saltos, \normalsize
você pode redefinir essa macro, corrigi-la ou simplesmente adicioná-la, porque apenas definir os valores no preâmbulo não funcionaria.
\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}
O mesmo pode ser feito sem \g@addto@macro
, portanto, sem nenhum @
e sem exigir \makeatletter
e \makeatother
, usando \expandafter
:
\expandafter\def\expandafter\normalsize\expandafter{%
\normalsize
\setlength\abovedisplayskip{40pt}
\setlength\belowdisplayskip{40pt}
\setlength\abovedisplayshortskip{40pt}
\setlength\belowdisplayshortskip{40pt}
}
Eu prefiro a forma de adicionar \normalsize
, porque tanto a redefinição quanto a correção exigem o conhecimento da definição exata \normalsize
usada pela classe do documento. Maneiras de bot que descrevi anteriormente noFórum da comunidade LaTeX, em resposta aNão é possível definir espaços em branco verticais no preâmbulo.
Mais informações estão disponíveis no excelentemodo matemáticodocumentação.
Responder2
Como uma atualização da resposta de Stefan.
Suas perguntas devem ser encerradas como duplicadas. Você encontrará muitas perguntas/respostas aqui. Por exemplo:
Espaçamento diferente em torno da equação e alinhamento
Antes de mostrar algumas outras abordagens aqui, um fato muito importante:
Não perca a cola! O comprimento \abovedisplayskip
etc. pode ser definido com uma cola e assim você permite que o LaTeX configure o espaço de forma mais flexível. Por favor, leia esta pergunta/resposta:
O que é alongamento de cola?
Porém quero mostrar uma outra possibilidade de configurar o comprimento. Primeiro de tudo você pode usar o comando \AtBeginDocument
. A fonte será configurada no início do documento e assim o gancho executará o material posteriormente:
\AtBeginDocument{%
\abovedisplayskip=12pt plus 3pt minus 9pt
\abovedisplayshortskip=0pt plus 3pt
\belowdisplayskip=12pt plus 3pt minus 9pt
\belowdisplayshortskip=7pt plus 3pt minus 4pt
}
O comando \g@addto@macro
é uma macro interna. Pacotes semelhantes etoolbox
ou mais recentes xpatch
fornecem versões mais robustas do comando \g@addto@macro
. Mostrar em vez de usar o comando interno e sem tratamento especial do que @
você pode usar:
\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
}{}{}
ou
\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
}{}{}
Esse é o trabalho de reunir aqui um exemplo simples. Você deve brincar com os comprimentos.:
\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}