我刚刚发现一些非常好的章节标题:
但我无法确切地弄清楚如何将规则延伸出页边距,并将图形放在章节之前的页面上,将标题放在下一页(章节标题)上。(页脚上的一些提示也很好)。
其他页面的布局看起来几乎相同:
答案1
这是一个解决方案:使用xparse
包,我定义了一个新命令\ChapIma
,它有一个可选参数和两个强制参数;可选参数将是用于目录的文本;第一个强制参数是文档的文本,第三个强制参数是包含相应图像的文件的名称。
该titlesec
包用于定制章节标题格式。
我还定义了另一个命令\Caption
,它的作用与标准标题相同,但将文本写入为边注保留的空间。必须在章节文本的第一行某处调用此命令。
该caption
包用于定制边注中的标题(抑制标签)。
该lettrine
包用于制作首字下沉。
我使用了fancyhdr
包(我无法使titlesec
的pagestyles
选项表现良好,所以我不得不使用fancyhdr
)来重新定义plain
页面;我还为其他页面定义了页面样式。
\documentclass[twoside]{book}
\usepackage{xparse,ifthen}
\usepackage[calcwidth]{titlesec}
\usepackage{changepage}
\usepackage{graphicx}
\usepackage{caption}
\usepackage{fancyhdr}
\usepackage{marginnote}
\usepackage{lettrine}
\usepackage{lipsum}
\newlength\mylen
\DeclareDocumentCommand\ChapIma{omm}
{\let\cleardoublepage\relax
\ifthenelse{\isodd{\value{page}}}
{\mbox{}\clearpage}{\mbox{}\clearpage\mbox{}\clearpage}%
\resizebox{.9\textwidth}{.9\textheight}{\includegraphics{#3}}
\mbox{}\thispagestyle{empty}\clearpage
\IfNoValueTF{#1}{\chapter{#2}}{\chapter[#1]{#2}}
}
\DeclareDocumentCommand\Caption{om}
{\marginnote{\parbox{\marginparwidth}{%
\captionsetup[figure]{labelformat=empty}
\IfNoValueTF{#1}{\captionof{figure}{#2}}{\captionof{figure}[#1]{#2}}
}%
}%
}
\titleformat{\chapter}[display]
{\Huge\normalfont\sffamily}{}{2pc}
{\setlength\mylen{0pt}%
\addtolength\mylen{\marginparwidth}%
\addtolength\mylen{\marginparsep}\raggedleft
}
[\vspace{-20pt}%
{%
\begin{adjustwidth}{}{-\mylen}
\makebox[\linewidth][r]{%
\rule{\dimexpr\titlewidth+\mylen\relax}{0.4pt}%
}%
\end{adjustwidth}%
}%
]
\titlespacing*{\chapter}{0pt}{1cm}{7cm}
\renewcommand\chaptermark[1]{\markboth{#1}{}}
\fancypagestyle{plain}{%
\fancyhf{}
\fancyfoot[OR]{\sffamily\small\MakeUppercase{\leftmark}~~\oldstylenums{\thepage}}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}
\fancyfootoffset[OR]{\dimexpr\marginparsep+\marginparwidth\relax}
}
\fancyhf{}
\fancyfootoffset[OR]{\dimexpr\marginparsep+\marginparwidth\relax}
\fancyfootoffset[EL]{\dimexpr\marginparsep+\marginparwidth\relax}
\fancyfoot[OR]{\small\sffamily\MakeUppercase{\leftmark}~~\oldstylenums{\thepage}}
\fancyfoot[EL]{\small\sffamily\oldstylenums{\thepage}~~\MakeUppercase{\rightmark}}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}
\pagestyle{fancy}
\renewcommand\chaptermark[1]{\markboth{#1}{}}
\renewcommand\sectionmark[1]{\markright{#1}}
\begin{document}
\tableofcontents
\ChapIma{Preface}{ctanlion}
\lettrine{T}{his} is some initial text\Caption{This is the caption for the figure; this is just some test text}
\lipsum[1-5]
\ChapIma{Introduction}{ctanlion}
\lipsum[1]
\section{Qu'ran manuscripts}
\lipsum[1-14]
\end{document}
以下是最终文档的四页图像:
示例中使用的 CTAN 狮子由 Duane Bibby 绘制。
答案2
您可以使用该titlesec
包创建自定义标题样式:
\documentclass{scrreprt}
\usepackage{titlesec}
\usepackage{lipsum}
\titleformat{\chapter}[display]{\Huge\sffamily}{}{3pc}{\raggedleft}[\footrule\vspace{8cm}]
\begin{document}
\chapter{Preface}
\lipsum
\end{document}
要添加自定义页脚,请使用以下fancyhdr
包:
\usepackage{fancyhdr}
\pagestyle{fancy}
\lhead{}
\chead{}
\rhead{}
\lfoot{}
\cfoot{}
\rfoot{\chaptername\ \thepage}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}
要调整边距宽度,请使用以下geometry
包:
\usepackage[twoside,right=5cm]{geometry}