部分标题格式出现问题

部分标题格式出现问题

因此,我正在尝试格式化书籍的某个部分的标题。此标题将包含引文和作者。由于这可能是我想要重复使用的代码(并且也适用于正文),因此我决定为其创建一个新命令。

理想情况下,我希望引文本身居中且为斜体,并且作者前面带有破折号、正常字体且右对齐。

此外,我希望整个引文都用水平线表示。

这是我目前想到的:

\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必须发出。

相关内容