我想使用 tcolorbox 来设置动态部分标题的样式。我的问题是,我希望框能够横跨其下方段落的整个宽度,并且如果可能的话,让文本居中。我已尽力提供问题的 MWE,但我对此还很陌生,因此如果需要,请随时对我的示例提出修改建议。
代码:
%!TeX encoding = utf8
\documentclass[a4paper,12pt,twoside,openright,openbib,final]{memoir}
\usepackage{luatextra}
\usepackage[usenames,dvipsnames,svgnames]{xcolor}
\usepackage[skins,most,listings,skins]{tcolorbox}
\usepackage{lipsum} %for dummy text only
\checkandfixthelayout
\newtcbox{\mybox}{
nobeforeafter
}
\makepagestyle{MyBox}
\makeheadstyles{MyBox}{
\setsecheadstyle{\mybox}
}
\headstyles{MyBox}
\begin{document}
\section*{Introduction}
\lipsum[2]
\section*{Methods}
\lipsum[1]
\end{document}
这使:
答案1
对于这种情况来说,这\tcbox
是一个错误的工具,因为它将宽度固定为内容的宽度,而不使用文本的宽度。
为环境使用包装宏tcolorbox
,并说valign=center,halign=center,nobeforeafter
\documentclass[a4paper,12pt,twoside,openright,openbib,final]{memoir}
\usepackage{luatextra}
\usepackage[usenames,dvipsnames,svgnames]{xcolor}
\usepackage[skins,most,listings,skins]{tcolorbox}
\usepackage{lipsum} %for dummy text only
\checkandfixthelayout
\newtcolorbox{myboxstuff}[1][]{code={\parindent=0em},left skip=0pt,valign=center,nobeforeafter,halign=center,#1}
\newcommand{\mybox}[1]{%
\begin{myboxstuff}
#1
\end{myboxstuff}%
}
\makepagestyle{MyBox}
\makeheadstyles{MyBox}{
\setsecheadstyle{\mybox}
}
\headstyles{MyBox}
\begin{document}
\section*{Introduction}
\lipsum[2]
\section*{Methods}
\lipsum[1]
\end{document}