
При использовании align
среды, а затем figure
среды в коде Latex в полученном PDF-файле внезапно появляется пустое место там, где в коде находится среда рисунка.
Почему это происходит? Как это исправить?
МВЭ:
\documentclass{article}
\usepackage{todonotes}
\usepackage{amsmath}
\begin{document}
\section{My Chapter}
Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test.
\begin{align}
a = b
\end{align}
\begin{figure}
\centering
\missingfigure[figwidth=6cm]{Testing a long text string}
\caption{Test1.}
\end{figure}
Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test.
\end{document}
решение1
Обычно конец строки после \end{figure}
не производит видимого пробела. На самом деле, код будет продолжать возможный пробел, приходящий отдосреда, добавляя обычный пробел, если figure
начинается в режиме абзаца и до этого не было пробела \begin{figure}
.
Так
Before\begin{figure}
<code>
\end{figure}
Test
будет производить регулярный
Перед тестом
а также
Before
\begin{figure}
<code>
\end{figure}
Test
Однако мы находимся в конце математического отображения, и это приводит к тому, что мы оказываемся в случае, похожем на Before\begin{figure}
, который добавляет пробел.
Окружающая align
среда не имеет отношения к проблеме: документ
\documentclass{article}
\usepackage{todonotes}
\begin{document}
\begin{equation}
text
\end{equation}
\begin{figure}
\centering
\missingfigure[figwidth=6cm]{Testing a long text string}
\caption{Test1.}
\end{figure}
Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test.
\end{document}
демонстрирует такое же поведение.
В целом я советую всегда вводить figure
и table
обводить окружение пустыми строками, чтобы проблема не возникла изначально.
В вашем случае, боюсь, единственный выход — это набрать
\end{figure}%