问题:
我尝试tcolorbox
在图形中使用,但我的自定义命令似乎maketitle
让框自行损坏。我该如何防止这种情况发生?
请注意,我确实需要这个,\tcbset{breakable}
因为在我的完整文档中,很多框都需要这个选项,而且我不想通过创建没有该breakable
选项的另一种框类型来手动管理这个问题。
平均能量损失
\documentclass{article}
\usepackage[a5paper, margin=1.75cm, bottom=1.25cm]{geometry}
\usepackage[T1]{fontenc}
\usepackage[breakable]{tcolorbox}
\tcbset{breakable}
\usepackage{lipsum}
% Variables
\newcommand{\letitre}{Cours Général}
\newcommand{\lesoustitre}{L'Enfance}
\newcommand{\matiere}{Philosophie}
\renewcommand{\maketitle}{
\vspace*{1cm}
\begin{flushright}
{\bfseries \huge\letitre\\[3pt]}
{\Large\itshape \lesoustitre}\\[3pt]
{\large NVV -- MP1 -- $\displaystyle\int_2^3 x\,\mathrm{d}x$}
\vspace{1cm}
\end{flushright}
}
\begin{document}
\maketitle
\begin{figure}
\begin{tcolorbox}
\lipsum[1]\lipsum[2]\lipsum[3]
\end{tcolorbox}
\end{figure}
\end{document}
第二页预览:
答案1
breakable
您可以通过设置其选项来强制单个框不位于本地breakable=false
。您还可以在figure
环境中自动设置此选项(因为breakable
无论如何在那里没有任何意义)。
下面用来\AddToHook
做后者。
\documentclass{article}
\usepackage[a5paper, margin=1.75cm, bottom=1.25cm]{geometry}
\usepackage[T1]{fontenc}
\usepackage[breakable]{tcolorbox}
\tcbset{breakable}
\usepackage{lipsum}
% Variables
\newcommand{\letitre}{Cours Général}
\newcommand{\lesoustitre}{L'Enfance}
\newcommand{\matiere}{Philosophie}
\renewcommand{\maketitle}{
\vspace*{1cm}
\begin{flushright}
{\bfseries \huge\letitre\\[3pt]}
{\Large\itshape \lesoustitre}\\[3pt]
{\large NVV -- MP1 -- $\displaystyle\int_2^3 x\,\mathrm{d}x$}
\vspace{1cm}
\end{flushright}
}
\AddToHook{env/figure/begin}{\tcbset{breakable=false}}
\begin{document}
\maketitle
\begin{figure}
\begin{tcolorbox}
\lipsum[1]\lipsum[2]\lipsum[3]
\end{tcolorbox}
\end{figure}
\end{document}