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