如何在标题页上应用标题换行符,但不在页面标题中应用换行符?

如何在标题页上应用标题换行符,但不在页面标题中应用换行符?

我想要一个宏,将书名传递给标题页和页面标题。不幸的是,如果我传递包含换行命令的标题(在标题页上换行),那么页面标题中的行也会换行。

为了解决titlingtitlesec我正在使用的包之间的冲突@frabjous 解决方案。可能我必须将它与删除换行命令的某些方法结合起来,因为这里。我不知道该怎么做。

代码:

\documentclass{article}
\usepackage[paperwidth=12cm,paperheight=11cm,twoside]{geometry}
\usepackage{fancyhdr}
\usepackage{titling}
\usepackage{titlesec}

\fancyhead[LE]{\mythetitle}
\pagestyle{fancy}
\let\oldtitle\title
\renewcommand{\title}[1]{\oldtitle{#1}\newcommand{\mythetitle}{#1}}

\author{Cookiemonster}
\title{Title\\consisting of \\ four \\lines}

\begin{document}
\begin{titlingpage}
    \maketitle
\end{titlingpage}
\section{My section}
AAA
\end{document}

在此处输入图片描述

在此处输入图片描述

顺便说一句:根据titling包的文档(第 5 页的顶部),标题页后的页码应该是 1,而不是 2。我在这段代码中做错了什么?

答案1

您可以使用

\fancyhead[LE]{\renewcommand\\{\unskip\space\ignorespaces}\mythetitle}

这样头部内部\\就充当了空格,同时忽略了前后的空格,所以不会出现双倍的空格。

答案2

以下使用\\从您的标题中删除l3regex(因为之前和之后可能有空格,\\必须将它们规范化为总共一个空格,使用正则表达式执行此操作非常方便)。

另外,我把页码编号固定为从 1 开始,但是为了获得正确的奇数/偶数页格式,在这种情况下必须在标题后引入一个空白页(使用 完成\thispagestyle{empty}\cleardoublepage)。

\documentclass{article}
\usepackage[paperwidth=12cm,paperheight=11cm,twoside]{geometry}
\usepackage{fancyhdr}
\usepackage{titling}
\usepackage{titlesec}

\fancyhead[LE]{\mythetitle}
\pagestyle{fancy}
\let\oldtitle\title
\ExplSyntaxOn
\cs_new_protected:Npn \SXforrest_store_title:Nn #1#2
  {
    \tl_set:Nn \l_tmpa_tl {#2}
    \regex_replace_all:nnN { \s* \c{\\} \s* } { \  } \l_tmpa_tl
    \tl_gset_eq:NN #1 \l_tmpa_tl
  }
\cs_set_eq:NN \storemytitle \SXforrest_store_title:Nn
\ExplSyntaxOff
\renewcommand{\title}[1]{\oldtitle{#1}\storemytitle\mythetitle{#1}}

\author{Cookiemonster}
\title{Title\\consisting of \\ four \\lines}

\begin{document}
\begin{titlingpage}
    \maketitle
\end{titlingpage}

\thispagestyle{empty}
\cleardoublepage
\setcounter{page}{1}

\section{My section}
AAA
\newpage
BBB
\end{document}

在此处输入图片描述

在此处输入图片描述

在此处输入图片描述

相关内容