想问一下如何在居右的情况下,转行后“这”与“需”对齐

发布于 2025-11-28 10:19:22

QQ20251128-101716.png

\documentclass{ctexbook}
\usepackage{titlesec,color,calc}

\newcommand{\HZSBH}{\sffamily\bfseries\Large}
\newcommand{\HYXSQS}{}

\newlength{\chapterhang}

\titleformat{\chapter}[hang]
  {\raggedleft\HZSBH\HYXSQS\color[cmyk]{1,1,0,0}}
  {第\thechapter 章}
  {1em}
  {\setlength{\chapterhang}{\widthof{第\thechapter 章}+1em}% 改动:+3em
   \makebox[0pt][r]{%
     \parbox[t]{\dimexpr\linewidth-\chapterhang-1em\relax}{%
       \setlength{\parindent}{0pt}%
       \parshape=2
         0pt \hsize
         \chapterhang \dimexpr\hsize-\chapterhang\relax
     }}}

\titlespacing{\chapter}{0mm}{-6mm}{30mm}

\begin{document}
\chapter{这是一个很长的章节标题\\ 需要自动换行}
\chapter{TCP服装参数优化}
\end{document}

查看更多

关注者
0
被浏览
123
2 个回答
Sagittarius Rover
这家伙很懒,什么也没写!

描述问题要详细,最好给预期效果:

  • 什么是「居右」?
  • 什么是「自动换行」?
  • \newcommand{\HYXSQS}{}存在的意义是?

另外,我建议你不要在这里用titlesec...ctex原生提供了一套方法...

我到现在也不太明白何为「如何在居右的情况下,转行后“这”与“需”对齐」

\documentclass[fontset=fandol,openany]{ctexbook}
\usepackage[paperheight=15cm,showframe]{geometry}%
\usepackage{xcolor}
\usepackage{varwidth}
\newcommand{\HZSBH}{\sffamily\bfseries\color[cmyk]{1,1,0,0}\selectfont}
\newcommand\chaptertitleformat[1]{%
\begin{varwidth}[t]{.7\linewidth}#1\end{varwidth}}
\ctexset{
    chapter/number = \arabic{chapter},
    chapter/titleformat = \chaptertitleformat,
    chapter/format+ = {\raggedleft\HZSBH},
}
\begin{document}
\chapter{这是一个很长的章节标题需要自动换行}
\chapter{这是一个很长的章节标题\\需要手动换行}
\end{document}

image.png

Absinthe
Absinthe 1天前
这家伙很懒,什么也没写!

ctex 文档貌似有你想要的效果?
image.png

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览