1

I want typeset a book that have classic Chinese and morden Chinese, so I use paracol package. I already use command \switchcolumn* not \switchcolumn, but I found in some page, in page bottom, the left column and right column not alignment.

This is the problem in my project: enter image description here

I hope the right paragraph can go down to next page, so they can alignment.

I find manually add \clearpage can solve this problem, but I don't want to solve like that, because there are many pages have this problem, i don't want to solve them all manually.

I try to make a MWE:

\documentclass{book}

\usepackage{paracol}
\usepackage{geometry}
\usepackage[all]{nowidow}

\geometry{
  a4paper,
  includehead=true,
  top=2.6cm,
  left=2.3cm,
  bottom=2.6cm,
  right=2.3cm}

\def\txt{The quick brown fox.}
\newcount\n
\def\txts#1{\n=0
  \loop\ifnum\n<#1 \advance\n by1\txt\repeat}

\newcommand{\leftcol}{\switchcolumn[0]*}
\newcommand{\rightcol}{\switchcolumn[1]}

\begin{document}

\begin{paracol}{2}

\leftcol\Large\txt
\rightcol\normalsize\txts{12}\vspace{18pt}

\leftcol\Large\txt
\rightcol\normalsize\txts{114}\vspace{18pt}

\leftcol\Large\txt
\rightcol\normalsize\txts{3}\vspace{18pt}

\end{paracol}

\end{document}

enter image description here

Because I typeset a huge book, so I need nowidow package to avoid widow line, and need the vspace between right column paragraph.

So how to solve this alignment problem?

2
  • I don't know if this is acceptable to you in your actual document: \newcommand{\rightcol}{\switchcolumn[1]\sloppy} Commented Feb 1, 2023 at 13:54
  • If you use \def\txt{The quick brown fox.\allowbreak} then the first line will appear on the first page. (a space would be more realistic, but that chnges the page size.) I would simply add \needspace{...} (needspace package) for whatever minimum space looks good. Commented Feb 1, 2023 at 16:55

1 Answer 1

0

This shows both of my suggestions.

\documentclass{book}

\usepackage{paracol}
\usepackage{geometry}
\usepackage{needspace}

\geometry{
  a4paper,
  includehead=true,
  top=2.6cm,
  left=2.3cm,
  bottom=2.6cm,
  right=2.3cm}

\def\txt{The quick brown fox. }
\newcount\n
\def\txts#1{\n=0
  \loop\ifnum\n<#1 \advance\n by1\txt\repeat}

\newcommand{\leftcol}{\switchcolumn[0]*\needspace{20pt}}
\newcommand{\rightcol}{\switchcolumn[1]\needspace{20pt}}

\begin{document}

\begin{paracol}{2}

\rightcol\rule{1pt}{54\baselineskip}

\leftcol\Large\txt
\rightcol\normalsize\txts{3}\vspace{18pt}

\end{paracol}

\end{document}

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .