为什么 \widowpenalties 不能正常工作?

为什么 \widowpenalties 不能正常工作?

我设置了\widowpenalties 2 10000 0,但是它工作不正常: 在此处输入图片描述

我希望页面可以在红色的地方断开,但是没有。

如果我改为\widowpenalties 2 10000 0\widowpenalties 3 10000 -1 0它就可以正常工作。

梅威瑟:

包文件zztj.sty

\NeedsTeXFormat{LaTeX2e}
\RequirePackage{expl3}
\ProvidesExplPackage{zztj}{}{}{}
\RequirePackage{l3keys2e}

\RequirePackage{paracol}
\RequirePackage[showframe]{geometry}
\RequirePackage{titlesec}
\RequirePackage{fancyhdr}
\RequirePackage{indentfirst}

%--------------------------------
% \widowpenalties~3~10000~-1~0 % if use this, page will break at the position i hope
\widowpenalties~2~10000~0

%--------------------------------
\geometry{a5paper,includehead=true,top=1.7cm,left=1.5cm,bottom=1.7cm,right=1.5cm}
\spaceskip=0.5em
\linespread{1.35}
\setcounter{secnumdepth}{-1}
\raggedbottom
\sloppy

\setCJKfamilyfont{fandolsong}{FandolSong}
\setCJKfamilyfont{fandolhei}{FandolHei}
\setCJKfamilyfont{fandolkai}{FandolKai}

\newcommand{\zztjfandolsong}{\CJKfamily+{fandolsong}}
\newcommand{\zztjfandolhei}{\CJKfamily+{fandolhei}}
\newcommand{\zztjfandolkai}{\CJKfamily+{fandolkai}}

\newcommand{\fandolsongti}{\zztjfandolsong}
\newcommand{\fandolheiti}{\zztjfandolhei}
\newcommand{\fandolkaishu}{\zztjfandolkai}

\newcommand\zztjsectionfont[1]{\titleformat{\section}[display]{#1}{}{0pt}{}}
\newcommand\jnyuan[2][]{\zztjsectionfont{\fandolheiti}\noindent\zihao{5}\section[#1]{#2}\par}
\newcommand\jnyi[1]{\zztjsectionfont{\fandolheiti}\noindent\zihao{5}\section*{#1}\par}

\newcommand\zhwyuanfont{\zihao{5}\fandolsongti}
\newcommand\zhwyifont{\zihao{-5}\fandolkaishu}
\newcommand\zhwyuan[1]{\zhwyuanfont #1\par\vspace{0.5ex}}
\newcommand\zhwyi[1]{\zhwyifont #1\par\vspace{0.5ex}}

\titlespacing*{\section}{0pt}{1.5ex}{0.5ex}

\fancyhf{}
\pagestyle{fancy}
\fancypagestyle{plain}{}
\renewcommand{\headrulewidth}{0.5pt}
\setlength{\headsep}{12pt}

\newcommand\sectionfont{\zihao{5}\fandolheiti}
\newcommand{\leftcol}[2][2]{
  % -----------------------------------------
  % to get the correct baselineskip
  % because left and right column font size are different
  % is there any other better solution the get the correct baselineskip???
  \ifx#2\jnyuan\sectionfont\empty
  \else\ifx#2\zhwyuan\zhwyuanfont\empty\fi\fi
  % -----------------------------------------
  \ensurevspace{#1\baselineskip}\switchcolumn[0]*#2}
\newcommand{\rightcol}{\switchcolumn[1]}

\setlength{\columnsep}{1em}

书籍文件book.tex

\documentclass[openany, zihao=5]{ctexbook}
\usepackage{zztj}

\begin{document}

\begin{paracol}{2}
\leftcol
\zhwyuan{徙郡国豪桀于茂陵。}
\rightcol
\zhwyi{汉武帝强迫各郡、国的富豪和有权势的人迁居茂陵。}
\leftcol
\zhwyuan{夏,六月,赦天下。}
\rightcol
\zhwyi{夏季,六月,大赦天下。}
\leftcol
\zhwyuan{是岁,匈奴且侯单于死;有两子,长为左贤王,次为左大将。左贤王未至,贵人以为有病,更立左大将为单于。左贤王闻之,不敢进;左大将使人召左贤王而让位焉。左贤王辞以病,左大将不听,谓曰:“即不幸死,传之于我。”左贤王许之,遂立,为孤鹿姑单于;以左大将为左贤王。数年,病死;其子先贤掸不得代,更以为日逐王。单于自以其子为左贤王。}
\rightcol
\zhwyi{这一年,匈奴且侯单于去世。且侯有两个儿子,长子为左贤王,次子为左大将。且侯死后,左贤王没有及时赶到,匈奴贵族们认为左贤王有病,改立左大将为单于。左贤王听说后,不敢前来王庭。左大将派人将左贤王召来,让位给他。左贤王以自己有病为理由推辞不受,左大将不听,对他说:“如果你不幸死去,再传位给我。”左贤王这才答应,即单于位,称为孤鹿姑单于。封左大将为左贤王。几年后,左贤王病死,其子先贤掸因不能继承左贤王之位,所以改封为日逐王。单于封自己的儿子为左贤王。}
\leftcol
\zhwyuan{二年(丙戍、前95)}
\rightcol
\zhwyi{二年(丙戍,公元前95年)}
\leftcol
\zhwyuan{春,正月,上行幸回中。}
\rightcol
\zhwyi{春季,正月,汉武帝巡游回中。}
\leftcol
\zhwyuan{杜周卒,光禄大夫暴胜之为御史大夫。}
\rightcol
\zhwyi{杜周去世,汉武帝任命光禄大夫暴胜之为御史大夫。}
\leftcol
\zhwyuan{秋,旱。}
\rightcol
\zhwyi{秋季,干旱。}
\leftcol
\zhwyuan{赵中大夫白公奏穿渠引泾水,首起谷口,尾入栎阳,注渭中,袤二百里,溉田四千五百余顷,因名曰白渠;民得其饶。}
\rightcol
\zhwyi{赵国中大夫白公奏请朝廷,从谷口至栎阳挖了一条长二百里的引水渠,将泾河水引到渭中地区,使四千五百余顷农田得到灌溉,因此命名为白渠。当地百姓因白渠而大大受益。}
\leftcol
\jnyuan{三年(丁亥、前94)}
\rightcol
\jnyi{三年(丁亥,公元前94年)}
\leftcol
\zhwyuan{春,正月,上行幸甘泉宫。二月,幸东海,获赤雁。幸琅邪,礼日成山,登之罘,浮大海而还。}
\rightcol
\zhwyi{春季,正月,汉武帝前往甘泉宫。二月,巡游东海郡,捉到一只赤色大雁。又巡游琅邪郡,在成山拜日,并登上之罘山,然后乘船在海上巡游后返回长安。}
\leftcol
\zhwyuan{是岁,皇子弗陵生。弗陵母曰河间赵,居钩弋宫,任身十四月而生。上曰:“闻昔尧十四月而生,今钩弋亦然。”乃命其所生门曰尧母门。}
\rightcol
\zhwyi{这一年,皇子刘弗陵出生。刘弗陵的母亲是河间人,姓赵,受封为,住在钩弋宫,怀孕十四个月后生刘弗陵。汉武帝说:“听说当年尧是十四个月才出生的,如今赵生这个孩子也是如此。”于是下令将钩弋宫宫门改称尧母门。}
\end{paracol}

\end{document}

相关内容