因此,我正在尝试格式化书籍的某个部分的标题。此标题将包含引文和作者。由于这可能是我想要重复使用的代码(并且也适用于正文),因此我决定为其创建一个新命令。
理想情况下,我希望引文本身居中且为斜体,并且作者前面带有破折号、正常字体且右对齐。
此外,我希望整个引文都用水平线表示。
这是我目前想到的:
\documentclass[10pt]{book}
\newcommand{\jquote}[2]{\normalsize{\textnormal{\centering{\textit{#1}}\linebreak\raggedleft{---#2}}}}
\begin{document}
\tableofcontents
\part*{PART TITLE\linebreak\hrule\jquote{This is a quote\linebreak this is some more text}{A. N. Author}\linebreak\hrule}
\addcontentsline{toc}{part}{PART TITLE}
\end{document}
奇怪的是,标题没有出现在我的目录中,但它出现在我的完整作品中。不知道我在那里做了什么。
在这个例子中,引文是斜体,但引文和作者都位于中央,而且我无论如何也无法让作者移动到任何地方;左、右,它只是停留在原处。
编辑:
我添加了一些用户建议的代码,但我认为其中的一些东西会影响其他事情。这是我的完整序言:
\documentclass[10pt]{book}
% Packages
\usepackage[paperwidth=5.5in, paperheight=8.5in, inner=0.25in, outer=0.5in, top=1in, bottom=1in, bindingoffset=0.25in]{geometry} % Sets the size and margins
\usepackage{endnotes}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{fontspec}
\usepackage[onehalfspacing]{setspace}
\usepackage{fancyhdr}
\usepackage{hyperref}
\usepackage{tocloft}
\usepackage{bookmark}
\usepackage{nopageno}
\usepackage{parskip}
% TOC Variables
\cftpagenumbersoff{part}
\cftsetindents{part}{0em}{6em}
\cftsetindents{chapter}{1em}{6em}
% Headers
\fancyhf{}
\pagestyle{fancy}
\fancyhead[CE]{\nouppercase{Allison's Defeat}}
\fancyhead[CO]{\nouppercase\leftmark}
\fancyfoot[RO,LE]{\thepage}
% Misc
\let\footnote=\endnote
\frenchspacing
\setromanfont{DejaVu Serif}
% Gets rid of page numbers on blank pages
\let\origdoublepage\cleardoublepage
\newcommand{\clearemptydoublepage}{\clearpage{\pagestyle{empty}\origdoublepage}}
\let\cleardoublepage\clearemptydoublepage
% Renew Commands
\renewcommand{\cftchappagefont}{\normalfont}
\renewcommand{\cftpartpagefont}{\bfseries\large}
\renewcommand{\cftbeforepartskip}{\setlength{20pt}}
\renewcommand{\cftbeforechapskip}{\setlength{0pt}}
\renewcommand{\cftpartfont}{\bfseries\large}
\renewcommand{\cftchapfont}{\normalfont}
\renewcommand{\cftchapdotsep}{\cftdotsep}
\renewcommand{\cftpartpresnum}{Part }
\renewcommand{\cftchappresnum}{Chapter }
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\chaptermark}[1]{\markboth{#1}{#1}}
\newcommand{\jquote}[2]{%
\par
\vspace{2\baselineskip}% adjust to suit
\hrule
\vspace{3pt}
\centering
\normalsize\normalfont\itshape
#1\par
\raggedleft---#2\par
\vspace{3pt}
\hrule
}
\newcommand{\PART}[3]{%
\cleardoublepage
\addcontentsline{toc}{part}{#1}%
\part*{#1\jquote{#2}{#3}}%
}
% Resets chapter numbering
\makeatletter
\@addtoreset{chapter}{part}
\makeatother
答案1
你可能指的是如下内容:
\documentclass[10pt]{book}
\newcommand{\jquote}[2]{%
\par
\vspace{2\baselineskip}% adjust to suit
\hrule
\vspace{3pt}
\centering
\normalsize\normalfont\itshape
#1\par
\raggedleft---#2\par
\vspace{3pt}
\hrule
}
\newcommand{\PART}[3]{%
\cleardoublepage
\addcontentsline{toc}{part}{#1}%
\part*{#1\jquote{#2}{#3}}%
}
\begin{document}
\tableofcontents
\PART{PART TITLE}{This is a quote \\ this is some more text}{A. N. Author}
\end{document}
使用\\
而不是\linebreak
。请注意\addcontentsline
应该在 之前\part*
,这样页码才是正确的,但\cleardoublepage
必须发出。