何か明らかなことを見逃しているのでしょうか、それとも\captionof
では動作しないのでしょうか? 、などを\makebox
試しました。\protect
\MakeRobustCommand
\documentclass{article}
\usepackage{capt-of}
\begin{document}
\makebox{\captionof{figure}{X}}
\end{document}
次のエラーが表示されます:
! Missing \endgroup inserted.
<inserted text>
\endgroup
l.4 \makebox{\captionof{figure}{X}}
答え1
\makebox
はコンテンツ用の水平ボックスを提供するため、垂直コンテンツへの対応が困難です。特に、\captionof
最終的には実際のキャプションを設定するために呼び出します。これは、および\@makecaption
を介して挿入された垂直スキップで始まり、終わります。内の が問題を引き起こします。\vskip \abovecaptionskip
\vskip \belowcaptionskip
\vskip
\makebox
\hrulefill
\mbox{\vspace{10pt}}% Acceptable...
\hrulefill
\mbox{\vskip 10pt}% Problematic...
\hrulefill
\vspace
上記のコード スニペットは、非垂直モードのスキップに対応するために によって実行されるバックグラウンドの作業を強調表示しています。
一方、\parbox
(そしてminipage
、例えば)水平方向を組み込むオプションを提供するそして垂直方向のコンテンツ。したがって、ボックスに配置する場合は\captionof
、 のようにコンテンツを管理できるボックスに配置します\parbox
。