
2 列の文書を書いているのですが、フローティング テキスト ボックスをいくつか追加したいと思っています。これは、環境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
、テキスト ボックス内の 2 番目の段落はインデントされずに、フラッシュされたままになります。
フロートされたミニページで通常の段落インデントを取得するにはどうすればよいですか?
答え1
LaTeX は\@arrayparboxrestore
フロート (およびミニページ、パーボックス、配列 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
テキスト ボックスの先頭で、インデントと通常の (細かい) 空白スペースの制御をリセットします。