center
我相信我有一个与环境和易碎包的兼容性问题tcolorbox
。
我正在做的是:
\usepackage[breakable]{tcolorbox}
\tcbset{before=\begin{center}, after=\end{center}, width=0.8\linewidth, colback=blue!20!white, colframe=blue!70!white, boxrule=0.3mm, toptitle=1.5mm, bottomtitle=1.5mm}
文档已编译但存在一些错误:
\begin{center} on input line 53 ended by \end{tcolorbox}. \end{tcolorbox} \begin{tcolorbox} on input line 43 ended by \end{center}. \end{tcolorbox} Missing } inserted. \end{tcolorbox} Too many }'s. \end{tcolorbox}
在此,我感谢您的帮助!
答案1
没有必要etoolbox
。tcolorbox
有这方面的设施。
当你说width=0.8\linewidth,
要使盒子居中时,你必须将其向右推0.1\linewidth
。这可以通过
,enlarge left by=0.1\linewidth,
%% enlarge right by=0.1\linewidth %% if needed from right
因此,此代码(从 Christian Hupfer 窃取的模板)按预期运行。
\documentclass{article}
\usepackage{showframe}
\usepackage[breakable]{tcolorbox}
\newtcolorbox{brokenbox}[1][]{width=0.8\linewidth, colback=blue!20!white, colframe=blue!70!white, boxrule=0.3mm, toptitle=1.5mm, bottomtitle=1.5mm,breakable,enlarge left by=0.1\linewidth,#1}
\usepackage{blindtext}
\begin{document}
\begin{brokenbox}[colback=yellow]
\blindtext[5]
\end{brokenbox}
\end{document}
答案2
破坏机制使用单独的tcolorbox
环境,我认为为最后一个框提供错误代码verbatim
的方式——丢失了。tcolorbox
\end{tcolorbox}
\end{center}
使用\BeforeBeginEnvironment
和\AfterEndEnvironment
来自etoolbox
包可以解决这个问题:
\documentclass{article}
\usepackage{etoolbox}
\usepackage[breakable]{tcolorbox}
\newtcolorbox{brokenbox}[1][]{width=0.8\linewidth, colback=blue!20!white, colframe=blue!70!white, boxrule=0.3mm, toptitle=1.5mm, bottomtitle=1.5mm,breakable,#1}
\usepackage{blindtext}
\BeforeBeginEnvironment{brokenbox}{%
\begin{center}
}
\AfterEndEnvironment{brokenbox}{%
\end{center}
}
\begin{document}
\begin{brokenbox}[colback=yellow]
\blindtext[5]
\end{brokenbox}
\end{document}
答案3
作为对已经解决问题的另外两个答案的补充,这里是第三种可能性。与其将框的宽度限制为0.8\linewidth
然后使用某种居中方法,不如将left skip
和right skip
值设置为0.1\linewidth
。从技术上讲,这会改变边界框并产生与 Harish Kumar 的答案相同的效果。
\documentclass{article}
\usepackage{showframe}
\usepackage[breakable]{tcolorbox}
\newtcolorbox{brokenbox}[1][]{
% width=0.8\linewidth, <---- removed
leftright skip=0.1\linewidth,% <---- added
colback=blue!20!white,
colframe=blue!70!white,
boxrule=0.3mm,
toptitle=1.5mm,
bottomtitle=1.5mm,
breakable,
#1}
\usepackage{blindtext}
\begin{document}
\begin{brokenbox}[colback=yellow]
\blindtext[5]
\end{brokenbox}
\end{document}