章节号与文本对齐

章节号与文本对齐

我有一本双面书,这是新章节。这是我制作此标题的代码。

\documentclass[a4paper,10pt,twoside]{book}
\usepackage{titlesec}
\usepackage{xcolor,lipsum}
%-----------------------------------------%
\newcommand*{\justifyheading}{\raggedleft}
\titleformat{\chapter}[block]
  {}
  {\llap{\color{gray}\chapterNumber\thechapter
   \hspace{10pt}\vline}} %Espacio hacia la izquierda del número
  {10pt} %espacio del texto hacia derecha
  {\formatchaptertitle}

\newcommand{\formatchaptertitle}[1]{%
  \parbox[t]{\dimexpr\textwidth-10pt}{\raggedright\huge\scshape#1}}

\newcommand{\chapterNumber}{%
  \fontsize{60}{60}\usefont{U}{eur}{b}{n}}

%----------------------------%
\begin{document}
\chapter{Auditoría}
\end{document}

问题是我想将 6. 与文本对齐,内边距必须是 3 厘米,而 6 违反了此规则。那么我怎样才能将 6 和文本移到更中间的位置呢?

图片更好地展示了我的问题。

谢谢。

在此处输入图片描述

答案1

删除\llap或更好,按照@egreg 在下面的评论中所建议的那样,用替换'\llap'来\mbox{}避免潜在的未来问题。

当我们将章节号向右移动时,我们还必须校正\parbox包含章节名称的 的大小,以避免长章节名称从外边距伸出(见图 2)。首先,我们必须校正垂直线两侧的 10pt,然后我们必须测量章节号的宽度并减小该宽度。正如 @egreg 指出的那样,我们通过输入章节号并从 parbox 的 中\sbox0退出来测量宽度:\wd0

\documentclass[a4paper,10pt,twoside]{book}
\usepackage{titlesec}
\usepackage{xcolor,lipsum}
%-----------------------------------------%
\newcommand*{\justifyheading}{\raggedleft}
\titleformat{\chapter}[block]
  {}
  {\mbox{\color{gray}\chapterNumber\thechapter
   \hspace{10pt}\vline}} %Espacio hacia la izquierda del número
  {10pt} %espacio del texto hacia derecha
  {\formatchaptertitle}

\newcommand{\formatchaptertitle}[1]{\sbox0{\chapterNumber\thechapter}% measure the width
  \parbox[t]{\dimexpr\textwidth-20pt-\wd0}{\raggedright\huge\scshape#1}}% reduce the width of the parbox

\newcommand{\chapterNumber}{%
  \fontsize{60}{60}\usefont{U}{eur}{b}{n}}

%----------------------------%
\begin{document}
\chapter{Auditoría}
\end{document}

图。1

在此处输入图片描述

图 2

在此处输入图片描述

相关内容