页面边缘的一些内容旁边的线

页面边缘的一些内容旁边的线

我想通过在页边空白处添加一条宽线来标记文档的某些部分,理想的方式如下:

preceeding text

\begin{sideLine}
  Text
  \begin{float}
  \end{float}
  more text
\end{sideLine}

我尝试过tcolorbox,但它不能很好地与浮动配合使用。如果我尝试将其打包在浮动内,线条中就会出现间隙。我不太喜欢在图形旁边有一条线的想法,但我不喜欢因中断和继续环境而导致的间隙,以避免丢失浮动。我如何摆脱间隙,有没有办法让环境接受浮动?(我想我可以用 from 限制它们\floatBarrier放置placeins在文档内的环境框架内)。

注意文本旁边行中的间隙

梅威瑟:

\documentclass{article}
\usepackage[demo]{graphics}
\usepackage[most]{tcolorbox}

\usepackage{caption}
\usepackage{floatrow}

\newtcolorbox{highlightTheoretical}[1][]{blanker, breakable, 
    left=0pt,
    right=0pt, top=1mm, bottom=1mm,
    if odd page or oneside*={borderline west={3pt}{-25pt}{black}}{borderline east={3pt}{-25pt}{black}},
    before upper=\indent, parbox=false, #1}

\begin{document}
\begin{highlightTheoretical}
lipsum
\end{highlightTheoretical}
\begin{figure}
    \begin{highlightTheoretical}
        \ffigbox{
    \includegraphics[width=.5\linewidth]{imagefile}
    \caption{test}}{}
    \end{highlightTheoretical}
\end{figure}

\begin{highlightTheoretical}
    lipsum
\end{highlightTheoretical}
\end{document}

附言:我确实使用了 floatrow 并且打算保留它,虽然现在没有什么区别,但当\ffigbox省略它时,它不会在标题旁边生成一行,并且可能会有进一步的复杂情况。

答案1

正如Fran评论所说,floats这是特殊环境,你必须小心处理它们。但你仍然可以在capt-ofccaption包中包含带标题的非浮动图形。这些图形将位于tcolorbox你放置它们的位置内,并且边线将沿着整个集合连续。以下是带有capt-of包的示例:

\documentclass{article}
\usepackage[demo]{graphics}
\usepackage[most]{tcolorbox}
\usepackage{capt-of}

\newtcolorbox{highlightTheoretical}[1][]{blanker, breakable, 
    left=0pt,
    right=0pt, top=1mm, bottom=1mm,
    if odd page or oneside*={borderline west={3pt}{-25pt}{black}}{borderline east={3pt}{-25pt}{black}},
    before upper=\indent, parbox=false, #1}

\begin{document}
\begin{highlightTheoretical}
lipsum
 {\par\centering
    \includegraphics[width=.5\linewidth]{imagefile}
    \captionof{figure}{test}
    \par
    }
    lipsum
\end{highlightTheoretical}
\end{document}

在此处输入图片描述

相关内容