
Я только что нашел несколько заголовков глав, которые действительно хороши:
Но я не могу понять, как расширить линейку за пределы поля и поместить рисунок на странице перед главой, а подпись — на следующей странице (заголовок главы). (Также было бы неплохо дать совет по нижнему колонтитулу).
Макет остальных страниц выглядит примерно так же:
решение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, использованный в примере, был нарисован Дуэйном Бибби.
решение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}