我正在编写一个两列文档,我想添加一些浮动文本框。我可以使用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
在浮点数(以及小页面、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
在文本框的开始处,重置缩进和正常(挑剔的)空白控制。