フローティングミニページのインデント

フローティングミニページのインデント

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

テキスト ボックスの先頭で、インデントと通常の (細かい) 空白スペースの制御をリセットします。

関連情報