我正在尝试为回忆录想出一些简单的基于 tikz 的章节风格。
我对结果几乎感到满意,但章节标题前有一个空格我还无法删除。
这是我的代码(要编译xelatex
)
\documentclass{memoir}
\usepackage{tikz}
\usepackage{lipsum}
\newcommand*\tikzchapnum[1]{%
\begin{tikzpicture}[overlay, inner sep=10pt, outer sep=0]
\node[draw=white!80!black, fill=white!80!black, white,
left, anchor=base east, scale=2, inner sep=4pt] (cn) at (\textwidth,0) {\chapnumfont \rmfamily \thechapter};
\draw[white!80!black] (cn.south east) -- ++(-\textwidth, 0);
\draw[red] (0,2) -- ++(0,-\textheight);
\draw[red] (\textwidth,2) -- ++(0,-\textheight);
\end{tikzpicture}
}
\makechapterstyle{grayhandle}{%
\renewcommand*{\chapnamefont}{\large\scshape}
\renewcommand*{\chaptitlefont}{\normalfont\HUGE\scshape\sffamily}
\setlength{\beforechapskip}{2\baselineskip}
\setlength{\midchapskip}{0pt}
\setlength{\afterchapskip}{3\baselineskip}
\renewcommand*{\chapterheadstart}{}
\renewcommand*{\printchaptername}{}
\renewcommand*{\chapternamenum}{}
\renewcommand*{\afterchapternum}{}
\renewcommand*{\chapnumfont}{\chaptitlefont}
\renewcommand*{\printchaptertitle}[1]{\raggedright\chaptitlefont\MakeLowercase{##1}}
\renewcommand*{\printchapternum}[1]{%
\tikzchapnum{##1}
}
}
\chapterstyle{grayhandle}
\begin{document}
\chapter{First chapter}
\lipsum
\end{document}
它给了我这个结果(红线,在 mwe 中注释掉,表明章节标题与文本块不齐平)
我怎样才能删除标题前的额外空格?
答案1
问题是此行之后出现零星空格
\tikzchapnum{##1}
\printchapternum
在 之前执行,\printchaptertitle
因此它剩下的所有内容都会被解释。使用
\tikzchapnum{##1}%
反而