
Я пишу двухколоночный документ и хочу добавить несколько плавающих текстовых полей. Я могу сделать это с помощью minipage
окружений, вложенных в figure*
окружение. Однако это нарушает отступы:
\documentclass{article}
\usepackage{mwe}
\usepackage{multicol}
\usepackage{framed}
\begin{document}
\begin{figure*}
\begin{framed}
\begin{center}
\Large \textbf{Callout Title}
\end{center}
\begin{multicols}{2}
One paragraph of text in the callout.
\indent A second paragraph of text in the callout. This should be indented!
\includegraphics[width=\linewidth]{example-image-a}
\end{multicols}
\end{framed}
\end{figure*}
\begin{multicols}{2}
\noindent \blindtext
\end{multicols}
\end{document}
Независимо от того, включаю ли я \indent
команду или нет, второй абзац в моем текстовом поле остается на одном уровне, без отступа:
Как сделать нормальный отступ абзаца на плавающих мини-страницах?
решение1
latex работает \@arrayparboxrestore
в float (и министраницах, и parbox, и столбцах массива p), это сбрасывает несколько вещей, включая отступы:
\def\@arrayparboxrestore{%
\let\if@nobreak\iffalse
\let\if@noskipsec\iffalse
\let\par\@@par
\let\-\@dischyph
\let\'\@acci\let\`\@accii\let\=\@acciii
\parindent\z@ \parskip\z@skip
\everypar{}%
\linewidth\hsize
\@totalleftmargin\z@
\leftskip\z@skip \rightskip\z@skip \@rightskip\z@skip
\parfillskip\@flushglue \lineskip\normallineskip
\baselineskip\normalbaselineskip
\sloppy}
Так что вам может понадобиться
\setlength\parindent{15pt}\fussy
в начале текстового поля, чтобы сбросить отступы и обычный (замысловатый) контроль пробелов.