是否有一些软件包组合可以让我们marginpar
在一个tcolorbox
环境内工作?
答案1
tcolorbox 中的边注是一个问题,因为\marginpar
其内部是一个浮动,因此您不能将其嵌套在另一个浮动中,也不能将其嵌套在非浮动框中,例如小页面、脚注或\parbox
,在这些情况下会产生“浮动丢失”错误。tcolorbox 中存在同样的问题。但您可以:
在 tcolorbox 之前或之后附加边距注释,然后根据需要调整垂直位置。使用
marginnotes
和sidenotes
包,您可以将偏移量作为可选参数包含进去,这样会更简单一些。如果在 tcolorbox 中启用了浮动行为,它可能会结束在附加的边注之外,但您可以使用tcolorbox 的
before
选项after
,然后注释将与框进行相同的行程。请注意,您需要多次编译才能看到 nots 位于正确的位置。
例子:
\documentclass{article}
\usepackage[most]{tcolorbox}
\usepackage{lipsum,parskip}
\usepackage{marginnote}
\usepackage{sidenotes}
\begin{document}
\lipsum[1][1-2]
\marginnote{Margin note 1}[2\baselineskip]
\begin{tcolorbox}[after={\marginpar{\vspace{-2\baselineskip}Inside note 1}}]
\lipsum[3][1-6]
\end{tcolorbox}
\begin{tcolorbox}[after={\sidenotetext[4][-3\baselineskip]{Side note }}]
\lipsum[3][1]\sidenotemark[4] \lipsum[3][3-6]
\end{tcolorbox}
\lipsum[4][1-3]
\marginnote{Margin note 2}[2\baselineskip]
\begin{tcolorbox}[float,floatplacement=b, before float={\marginnote{Inside note 2}[\baselineskip]}]
\lipsum[3][1-5]
\end{tcolorbox}
\lipsum[6-10]
\end{document}
答案2
在memoir
,
\marginpar{
\begin{tcolorbox[colframe=Red,colback=Gray!25,boxrule=3bp,arc=12bp,title=\textbf{Title}]
Content
\end{tcolorbox}
}
似乎有效。所以,这不是你问的,而是 在环境tcolorbox
中工作的一种方式marginpar
,但这可能不是你真正需要的