
\documentclass{book}
\usepackage[demo]{graphicx}
\usepackage[paperwidth=170mm, paperheight=240mm, left=42pt, top=40pt, textwidth=280pt, marginparsep=20pt, marginparwidth=100pt, textheight=560pt, footskip=40pt]{geometry}
\usepackage{lipsum}
\usepackage{sidenotes}
\usepackage[many]{tcolorbox}
\begin{document}
A test
\begin{tcolorbox}
\lipsum[1]
\begin{marginfigure}%[!h]
\includegraphics[width=\linewidth]{fig1}
\caption{A test caption}
\label{fig1}
\end{marginfigure}
\end{tcolorbox}
\end{document}
當我運行上面的程式碼時,我收到一些錯誤:
! LaTeX Error: Not in outer par mode.
See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...
l.15 \end{marginfigure}
? r
OK, entering \nonstopmode...
! Undefined control sequence.
<argument> \@marbox
l.15 \end{marginfigure}
我該如何解決這個問題?
答案1
換個方式,在 marginfigure 中加入方格:
\documentclass{book}
\usepackage[demo]{graphicx}
\usepackage[paperwidth=170mm, paperheight=240mm, left=42pt, top=40pt, textwidth=280pt, marginparsep=20pt, marginparwidth=100pt, textheight=560pt, footskip=40pt]{geometry}
\usepackage{lipsum}
\usepackage{sidenotes}
\usepackage[many]{tcolorbox}
\begin{document}
A test
\lipsum[1]
\begin{marginfigure}%[!h]
\begin{tcolorbox}
\includegraphics[width=\linewidth]{fig1}
\caption{A test caption}
\label{fig1}
\end{tcolorbox}
\end{marginfigure}
\end{document}