![Titlerule 和 Wrapfig 交互](https://linux22.com/image/298036/Titlerule%20%E5%92%8C%20Wrapfig%20%E4%BA%A4%E4%BA%92.png)
大家好,我需要一些帮助!我想让我的节标题下面有一个 titlerule,但是 titlerule 与 wrapfig 配合得不太好。
我使用wrapfig
和tcolorbox
制作侧边栏,并titlesec
在节标题下方添加规则。文本本身可以很好地环绕侧边栏,但 却\titlerule
直接穿过侧边栏!
这是我的 MWE:
Preamble
\documentclass[9pt]{extbook}
\usepackage[paperwidth=6in, paperheight=9in, inner=0.75in, outer=0.75in, tmargin=0.5in, marginparwidth=0.6in]{geometry}
\usepackage{wrapfig} %Part of sidebars
\usepackage{tcolorbox} %Other part of sidebars
\usepackage{titlesec} %Change chap/sec/ssec layout
\usepackage{blindtext} %MWE text
\titleformat{\section}{\normalfont\Large\bfseries\uppercase}{}{0em}{}[\titlerule]
\newenvironment{Sidebar}
{\wrapfigure{r}{0.43\textwidth}\vspace{-3em}\tcolorbox[colframe=black!50!white]\footnotesize}
{\endtcolorbox\vspace{2em}\endwrapfigure}
\begin{document}
\chapter{Look, a Chapter!}
\blindtext
\begin{Sidebar}
{\centering\bfseries Title \\[0.5em]}
\blindtext[1]
\end{Sidebar}
\section{Now a section!}
\blindtext[2]
\end{document}
如您所见,标题规则并没有在文本停止的地方停止。如果您能提供任何见解,我们将不胜感激!
答案1
这里有一个简单的解决方案:在前面添加一个空框\titlerule
,并添加一个负垂直跳过来弥补由此增加的垂直空间:
\documentclass[9pt]{extbook}
\usepackage[paperwidth=6in, paperheight=9in, inner=0.75in, outer=0.75in, tmargin=0.5in, marginparwidth=0.6in]{geometry}
\usepackage{wrapfig} %Part of sidebars
\usepackage{tcolorbox} %Other part of sidebars
\usepackage{titlesec} %Change chap/sec/ssec layout
\usepackage{blindtext} %MWE text
\titleformat{\section}{\normalfont\Large\bfseries\uppercase}{}{0em}{}[\vskip-1.5ex\mbox{}{}\titlerule]
\newenvironment{Sidebar}
{\wrapfigure{r}{0.43\textwidth}\vspace{-3em}\tcolorbox[colframe=black!50!white]\footnotesize}
{\endtcolorbox\vspace{2em}\endwrapfigure}
\begin{document}
\chapter{Look, a Chapter!}
\blindtext
\begin{Sidebar}
{\centering\bfseries Title \\[0.5em]}
\blindtext[1]
\end{Sidebar}
\setlength\linewidth{0.57\textwidth}
\section{Now a section!}
\setlength\rightskip{0pt}
\blindtext[2]
\end{document}