Paracol:选定列之间的垂直线

Paracol:选定列之间的垂直线

我该怎么做才能在第二列和第三列之间有垂直线?谢谢。

\documentclass{book}

\usepackage{blindtext}

\usepackage{paracol}
\setlength{\columnseprule}{1pt} 
\setcolumnwidth{0.30\textwidth, 0.30\textwidth,, 0.30\textwidth}
\setlength\columnsep{20pt}  

\begin{document}

    \begin{paracol}{3}
    \sloppy
        \switchcolumn[0]
        \blindtext[1]
        \switchcolumn[1]
        \blindtext[1]
         \switchcolumn[2]
        \blindtext[1]
    \end{paracol}

\end{document}

答案1

该解决方案使用 everypage 包,假设您想要每一页上都有该行。

\documentclass{book}

\usepackage{blindtext}

\usepackage{paracol}
\setcolumnwidth{0.30\textwidth, 0.30\textwidth,, 0.30\textwidth}
\setlength\columnsep{20pt}  

\newlength{\myoffset}
\setlength{\myoffset}{\dimexpr 0.6\textwidth + 1.5\columnsep}

\newcommand{\myhook}% cursor is at (1in,1in) and must not be moved.
{\rlap{\ifodd\value{page}\relax
    \hskip\oddsidemargin \else \hskip\evensidepargin \fi
  \hskip\myoffset\raisebox{\dimexpr-\topmargin-\headheight-\headsep-\textheight}[0pt][0pt]%
{\rule{0.5pt}{\textheight}}}}

\usepackage{everypage}
\AddEverypageHook{\myhook}% Note: you can also use \AddThispageHook, or use tikzpagenodes

\begin{document}

    \begin{paracol}{3}
    \sloppy
        \switchcolumn[0]
        \blindtext[1]
        \switchcolumn[1]
        \blindtext[1]
         \switchcolumn[2]
        \blindtext[1]
    \end{paracol}

\end{document}

此版本使用 来\tikzmark定位 paracol 的顶部。也可以使用(current page text area.north west)if 从页面顶部开始。

有趣的是,将其放置\tikzmark在伞伞上方不起作用。

尽管 和\tikzmark都是tikzpicture不可见的,但它们相当于 ,\hbox{}并且如果后面跟着 则会导致出现空行\switchcolumn

\documentclass{book}

\usepackage{blindtext}

\usepackage{paracol}
\setcolumnwidth{0.30\textwidth, 0.30\textwidth,, 0.30\textwidth}
\setlength\columnsep{20pt}  

\usepackage{tikzpagenodes}
\usetikzlibrary{tikzmark,calc}

\begin{document}

    \begin{paracol}{3}
    \sloppy
        \switchcolumn[0]
        \noindent\tikzmark{top}\indent
        \blindtext[1]
        \switchcolumn[1]
        \blindtext[1]
        \switchcolumn[2]
        \blindtext[1]
    \end{paracol}
\noindent\begin{tikzpicture}[overlay,remember picture]
  \draw ($(pic cs:top)+(0.6\textwidth+1.5\columnsep, \ht\strutbox)$) --
    (0.6\textwidth+1.5\columnsep, \ht\strutbox);
\end{tikzpicture}

\end{document}

相关内容