![将无编号章节的样式更改为章节](https://linux22.com/image/462081/%E5%B0%86%E6%97%A0%E7%BC%96%E5%8F%B7%E7%AB%A0%E8%8A%82%E7%9A%84%E6%A0%B7%E5%BC%8F%E6%9B%B4%E6%94%B9%E4%B8%BA%E7%AB%A0%E8%8A%82.png)
我有一个用于讲座的特殊章节命令,但是我也想有一个类似风格的无编号章节命令。我的章节命令设置如下:
\makeatletter
\let\Date\@date
\def\chaptername{Lecture}
\def\@makechapterhead#1{%
\noindent\begin{tikzpicture}
\node[draw, inner ysep=.3cm, color = RoyalPurple] (title) {\parbox{\dimexpr \textwidth-.667em}{\centering \textcolor{black}{\textbf {\Large\chaptername~\thechapter}\\
\textit{#1}}}};
\node[fill=white, right=2pt] at (title.north west) {\footnotesize\@date};
\end{tikzpicture}\par\bigskip
}
\makeatother
这是我目前为未编号章节所做的设置:
%use for unnumbered chapters
\newcommand{\chapt}[1]{\chapter*{#1}\addcontentsline{toc}{chapter}{\numberline #1}}
我希望我的未编号章节看起来像这样,只是没有框、日期、描述,并且没有讲座和编号,只有我将在 \chapter* 中输入的普通文本:
我似乎无法弄清楚如何实现这一点并与目录中的讲座风格相匹配,任何帮助都将不胜感激。
答案1
您需要为 star-chapter 命令创建一个\@makeschapterhead
(版本\@makechapterhead
,请注意“s“在“make”和“chapter”之间)。
我已经调整了 parbox 的宽度,以避免出现 hbox 过满警告,方法是移除彩色框的线宽(默认为 0.4pt)。您不需要移除 2 倍的宽度,而只需移除 1 倍,因为线宽跨越了其路径。
我已经添加了彩色包来访问 RoyalPurple 颜色。
我还纠正了命令的用法\numberline
,它需要一个参数,在这里{}
。
笔记:我在章节后面添加了\chaptermark{Short title for the header}
一个长标题,以便它适合页眉宽度。
\documentclass{book}
\usepackage[dvipsnames]{xcolor} % Needed for the RoyalPurple color
\usepackage{tikz}
\makeatletter
\let\Date\@date
\def\chaptername{Lecture}
\def\@makechapterhead#1{%
\noindent\begin{tikzpicture}
\node[draw, inner ysep=.3cm, color = RoyalPurple] (title) {\parbox{\dimexpr \textwidth-.667em-0.4pt}{\centering \textcolor{black}{\textbf {\Large\chaptername~\thechapter}\\
\textit{#1}}}};
\node[fill=white, right=2pt] at (title.north west) {\footnotesize\@date};
\end{tikzpicture}\par\bigskip
}
\def\@makeschapterhead#1{%
\noindent\begin{tikzpicture}
\node[draw, inner ysep=.3cm, color = RoyalPurple] (title) {\parbox{\dimexpr \textwidth-.667em-0.4pt}{\centering \textcolor{black}{
\textit{#1}}}};
\node[fill=white, right=2pt] at (title.north west) {\footnotesize\@date};
\end{tikzpicture}\par\bigskip
}
\makeatother
\newcommand{\chapt}[1]{\chapter*{#1}\addcontentsline{toc}{chapter}{\numberline{}#1}}
\begin{document}
\tableofcontents
\chapter{Normal Subgroups, The First Isomorphism Theorem, and Quotient Groups}
\chaptermark{Short title for the header}
Bla bla.
\chapt{Notes on Subgroups, Cosets, Lagrange's Theorem, and more}
Bla bla bla.
\end{document}