tcolorbox 定理中的旁注和边注

tcolorbox 定理中的旁注和边注

我正在使用该类tufte-book来编写我的笔记,并且我希望有tcolorbox可以包含边注和旁注(由sidenotes包提供)的定理。接下来我将发布一个 MWE 以及我在两种情况下遇到的错误:

\documentclass[nobib,notoc, a4paper]{tufte-book}

% For the example image
\usepackage{graphicx}

\usepackage[T1]{fontenc}
\usepackage[italian]{babel} % Italian support
\usepackage[utf8]{inputenc} % Accented letters

\usepackage[theorems]{tcolorbox}

\newtcbtheorem{Thm}{Teorema}%
{colback=green!5,colframe=green!35!black,fonttitle=\bfseries}{thm}

\begin{document}

\mainmatter

\begin{Thm}{Titolo}{esempio}
  Esempio di teorema.
  %\sidenote{Una nota a margine}
  \begin{marginfigure}
    \includegraphics{example-image-a}
    \caption{Figura di esempio}
    \label{fig:ex_a}
  \end{marginfigure}
\end{Thm}

\end{document}

在使用marginfigure环境时我遇到

LaTeX Error: Not in outer par mode.

在使用侧注时

l.29 LaTeX Error: Float(s) lost.
l.21 Missing number, treated as zero.

我不仅遇到了这个问题,tcolorbox而且还遇到了这个问题ntheorem(我目前正在使用但正在转移,因为我想要不同的定理、定义、示例等风格)。我基本上被迫在这些环境之外使用 marginfigures,这使得定位非常棘手,代码也相当混乱。

我在看这个答案这个也是但它们都没有真正解决我的问题,因为我无法将定理放入 marginfigures 中。据我所知,问题在于 marginfigures 和 sidenotes 都是浮点数,tcolorbox' 定理也是如此,我无法从另一个创建其中一个。我对 LaTeX 内部机制了解不够深入,无法开发解决方案或更好地理解。

任何对此的见解都将不胜感激!

答案1

这里有两种可能的边距解决方案。我认为 OP 想要第二种,但是...

侧注是这里未解决的另一个问题。

第一个解决方案使用一个sidebyside框,其中上部是定理内容,下部是一个带有\captionof命令标题的非浮动图形。

第二个解决方案使用tcbraster两列。这些列有自己的大小,左边是 tcolorboxed 定理,右边是带标题的非浮动图形。

需要对利润进行一些工作,但这只是一个概念证明。

顺便说一句,并排的 tcolorbox 和 tcbraster 的行都不能跨页拆分。因此,可能会出现一些分页问题。

\documentclass[nobib,notoc, a4paper]{tufte-book}

% For the example image
% \usepackage{graphicx} %<- loaded by tcolorbox

\usepackage[T1]{fontenc}
\usepackage[italian]{babel} % Italian support
\usepackage[utf8]{inputenc} % Accented letters

\usepackage[most]{tcolorbox}

\usepackage{caption}
\usepackage{lipsum}

\tcbset{
    fullwidth/.style={
        enhanced,
        grow to right by=\marginparsep+\marginparwidth,
        sidebyside,
        righthand width=\marginparwidth,
        sidebyside gap=\marginparsep,
        segmentation hidden},
}

\newtcbtheorem{Thm}{Teorema}%
{colback=green!5,colframe=green!35!black,fonttitle=\bfseries}{thm}

\begin{document}

\mainmatter

\lipsum[2]

\begin{Thm}[fullwidth]{Titolo}{esempio}
\lipsum[2]
\tcblower
\centering
\includegraphics[width=\linewidth]{example-image-a}
\captionof{figure}{My first figure}
\end{Thm}

\begin{tcbraster}[
    raster width=\linewidth+\marginparsep+\marginparwidth,
    raster force size=false, 
    raster column skip=\marginparsep,]
\begin{Thm}[width=\textwidth]{Titolo}{esempio}
  Esempio di teorema.
\end{Thm}
\begin{tcolorbox}[blankest, width=\marginparwidth]
\includegraphics[width=\marginparwidth]{example-image-a}
    \captionof{figure}{Figura di esempio}
    \label{fig:ex_a}
  \end{tcolorbox}
\end{tcbraster}

\end{document}

在此处输入图片描述

相关内容