制作一个智能章节命令,根据标题宽度调整水平宽度

制作一个智能章节命令,根据标题宽度调整水平宽度

我目前正在使用该类测试文档中的两列布局book。我想更改\chapter命令的行为。目前,较短的章节标题会产生大量水平空白(如本例所示):我的 MWE 的当前输出。

是否可以让\chapter命令检查章节标题的长度,如果短于\columnwidth,则使章节的宽度仅为一列而不是两列?为了更加清楚,在我的 MWE 中,我希望右列的起始高度与章节标题的高度相同。

以下是生成该图像的代码:

\documentclass[twoside,10pt,openany,twocolumn]{book}

\usepackage[paperwidth=297mm,paperheight=210mm,%
    left=25mm,right=25mm,top=30mm,bottom=30mm]{geometry}
\usepackage{titlesec}
\usepackage{lipsum}
\usepackage[usenames,dvipsnames,svgnames,table]{xcolor}
\usepackage[T1]{fontenc}

\usepackage[plainfootsepline,plainheadsepline]{scrpage2}
\pagestyle{scrheadings}
\clearscrheadfoot
\ofoot[\pagemark]{\pagemark}
\setheadsepline{0.1ex}
\setfootsepline{0.1ex}

\titleformat{\chapter}[hang]{\Huge\bfseries}{\textcolor{NavyBlue}%
    {\thechapter}\hspace{0.8ex}\textcolor{lightgray}{\fontsize{35}{0}%
    \selectfont |}\hspace{0.8ex}}{0ex}{\Huge\bfseries}

\makeatletter
\titlespacing*\chapter{\z@}{\z@}{2em}
\makeatother

\begin{document}

\chapter{Results}

\lipsum

\end{document}

相关内容