我有一本双面书,这是新章节。这是我制作此标题的代码。
\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