tcolorbox 中的 Marginnote 未显示在页面底部附近

tcolorbox 中的 Marginnote 未显示在页面底部附近

我使用的代码来自此解决方案在文档文本旁边的彩色框中添加边注。当它们被称为“太靠近”页面底部时,它们根本不显示。问题似乎特定于书籍类(如果我将类更改为文章,我的示例不会失败)。我猜它们是在页面边缘之外打印的,但我没有收到有关框过满或未满的任何警告。我尝试传递“floatplacement=ht”,但它没有任何作用。有什么想法可以解决这个问题吗?

\documentclass[dvipsnames,11pt]{book}
\usepackage[margin=3.5cm,marginparwidth=3cm, marginparsep=4mm]{geometry}
\usepackage{lipsum}
\usepackage{marginnote} % Margin notes
\usepackage[many]{tcolorbox}

% Highlighted notes

\newcounter{mynote}
\newtcolorbox[use counter=mynote]
  {mynote}[1][]
  {floatplacement=ht
   title=Highlight~\thetcbcounter,
   width=2.6cm,
   left=0pt,
   right=0pt,
   fonttitle=\bfseries\color{Black},
   colframe=Goldenrod,
   colback=Goldenrod!10,
   #1
}    

\newcommand\Highlight[3][]{%
  \marginnote[#1]{%
    \makebox[0pt][l]{\begin{mynote}[label=#3]
    #2
    \end{mynote}}}%
}


\begin{document}
\lipsum*[3]

\lipsum*[3]

\lipsum*[3]

\lipsum*[3]

\lipsum*[3]\Highlight{Text.}{label} 

\lipsum*[3]

\lipsum*[3]
\end{document}

答案1

我怀疑这是 tikzpicture 中另一个 tikzpicture 的问题。

\documentclass[dvipsnames,11pt,a4paper]{book}
\usepackage[margin=3.5cm,marginparwidth=3cm, marginparsep=4mm]{geometry}
\usepackage{lipsum}
\usepackage{marginnote} % Margin notes
\usepackage[many]{tcolorbox}

\newsavebox{\mybox}

% Highlighted notes

\newcounter{mynote}
\newtcolorbox[use counter=mynote]
  {mynote}[1][]
  {floatplacement=ht
   title=Highlight~\thetcbcounter,
   width=2.6cm,
   left=0pt,
   right=0pt,
   fonttitle=\bfseries\color{Black},
   colframe=Goldenrod,
   colback=Goldenrod!10,
   #1
}

\newcommand\Highlight[3][]{%
  \global\setbox\mybox=\hbox{\begin{mynote}[label=#3]
    #2
    \end{mynote}}%
  \marginnote[#1]{\makebox[0pt][l]{\usebox\mybox}}%
}


\begin{document}
\lipsum*[3]

\lipsum*[3]

\lipsum*[3]

\lipsum*[3]

\lipsum*[3]\Highlight{Text.}{label} 

\lipsum*[3]

\lipsum*[3]
\end{document}

相关内容