我想创建一个如下所示的标题(但不需要着色)。到目前为止,我只管理了“第 1 章 | ”部分,而不是标题。如何让 LaTeX 打印章节标题?我在报告类中使用双面文档。(提供代码示例)
如果这个问题已经得到解答,我很抱歉,但是我搜索了很长时间却没有找到答案。谢谢你的帮助。
\documentclass[11pt,a4paper,openright,twoside]{report}
\begin{document}
\def\layout{2}
\ifnum\layout=2
\fancyhf{}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\chaptermark}[1]{\markboth{#1}{}}
\fancyhead[LE]{\nouppercase{\chaptername~ \thechapter~ |}}
\fancyhead[RO]{\nouppercase{ \rightmark}}
\fancyfoot[LE,RO]{\thepage}
\fancypagestyle{plain}{
\fancyhf{}
\fancyfoot[LE,RO]{\thepage}}
\else
\renewcommand{\headrulewidth}{0pt}
\fancyhf{}
\fancyhead[C]{\nouppercase{ \leftmark}}
\fancyfoot[C]{\thepage}
\fi
\end{document}
答案1
相似的东西
\documentclass[11pt,a4paper,openright,twoside]{report}
\usepackage{lipsum}
\usepackage{xcolor}
\usepackage{titlesec}
\titleformat{\chapter}
{\centering\normalfont\Huge}
{\color{green!20!black!70}
\chaptertitlename\ \thechapter\ \color{black}\rule [-0.3em]{1pt}{\baselineskip} }
{0pt}
{\vspace{1pc}\Huge}
%%%%%%%%%%%%%%%%%%
\begin{document}
\chapter{Introduction}
\lipsum
\end{document}
答案2
我建议使用这种变体,在垂直规则周围有轻微的间距不对称:
\documentclass[11pt, a4paper, openright, twoside]{report}
\usepackage{lipsum}
\usepackage[svgnames]{xcolor}
\usepackage{titlesec}
\titleformat{\chapter}[block]
{\filcenter\normalfont\Huge}
{\color{ForestGreen}
\chaptertitlename\space\thechapter\ \rule [-0.3em]{2pt}{\baselineskip} }
{0.33em}
{\color{black}}
%%%%%%%%%%%%%%%%%%
\begin{document}
\chapter{Introduction}
\lipsum
\end{document}
答案3
您可以使用patchcmd
frometoolbox
包来实现这一点,如下所示。在前言中输入以下命令:
\makeatletter
\AfterEndPreamble{
\patchcmd{\@makechapterhead}{\raggedright }{\centering }{\typeout{centering OK}}{\typeout{centering failed}} % centered title
\patchcmd{\@makechapterhead}{\par\nobreak\vskip 20\p@}{\relax}{\typeout{sameline OK}}{\typeout{sameline failed}} %same line
\patchcmd{\@makechapterhead}{\@chapapp\space}{{\Huge\@chapapp}\space}{\typeout{Huge chap OK}}{\typeout{Huge chap OK}} % enlargee chattername
\patchcmd{\@makechapterhead}{\thechapter}{\Huge\bfseries\thechapter\space |\space }{\typeout{format OK}}{\typeout{format failed}}
}
\makeatother
适用hyperref
于babel
注意:\typeout
s 在控制台和日志中打印一条消息,如果一切正常,则可以抑制该消息。
然而,如果你想破解分段命令,标准包是titlesec
(尽管它有时会与 冲突)minitoc
。
答案4
您可以使用该titlesec
包来做到这一点。
\titleformat{command}[shape]{format}{label}{sep}{before-code}[after-code]
看这里了解更多信息。