如何在标题栏中显示(titlesec)部分的简称?

如何在标题栏中显示(titlesec)部分的简称?

我正在编写一本游戏规则书,其中各部分的标题分两行显示。第一行与简称相同(例如\part[introduction]{introduction\\PARTIE PREMIÈRE}\label{\thepart}),我想只将上行/简称添加到标题中。我已设法使用此代码使其工作:\fancyhead[CE]{\textsc{\nameref{\thepart}}}但是当我使用 titlesec 包自定义时\part,它会从标题中消失。没有“??”或错误,只有一个空标题。(奇数页的标题显示章节的简称,即使我已自定义其样式,它也能正常工作。)

以下是整个代码:

\documentclass[a4paper,twocolumn,openright,14pt]{memoir}


\usepackage[french]{babel}
\usepackage{blindtext}
\usepackage{fancyhdr}
\usepackage[utf8]{inputenc}
\usepackage{tikz}
\usepackage{titling}
\usepackage{nameref}
\usepackage{pdfpages}
\usepackage{pifont}
\usepackage[explicit]{titlesec}


\titleformat{\part}[display]
    {\fontsize{21pt}{15pt}\scshape\centering}
    {#1}
    {1em}
    {}

\titleformat{\chapter}[display]
    {\fontsize{18pt}{15pt}\scshape\centering}
    {#1\\\ligne}
    {1em}
    {}


\titlespacing{\chapter}{0pt}{0pt}{-40pt}


\newcommand{\chry}
    {\ding{97}}

\newcommand{\ligne}
    {\vspace{0.5cm}\fancybreak{
        \begin{tikzpicture}\draw[line width=0.45mm](0,0)--(3.75,0);\end{tikzpicture}
    }\vspace{0.5cm}}

\newcommand{\petiteligne}
    {\vspace{0.5cm}\fancybreak{
        \begin{tikzpicture}\draw[line width=0.45mm](0,0)--(1.875,0);\end{tikzpicture}
    }\vspace{0.5cm}}


\renewcommand{\headrulewidth}
    {0.45mm}


\fancyhf{}

\fancypagestyle{plain}
    {\renewcommand{\headrulewidth}
        {0pt}\fancyhf{}}

\begin{document}
    %Titre
        \begin{titlingpage}
            \includepdf{titre}
        \end{titlingpage}
    %/Titre

    \cleardoublepage

    %Préface
        \blindtext[5]
        \thispagestyle{empty}
        \pagestyle{fancy}
        \fancyhead[CE,CO]{\textsc{préface}}
        \fancyhead[LE,RO]{\thepage}
        \pagenumbering{Roman}
    %/Préface

    \cleardoublepage

    %Contenu
        \fancyhead[CE]{\textsc{\nameref{\thepart}}}
        \fancyhead[CO]{\textsc{\nameref{\thepart.\thechapter}}}
        \pagenumbering{arabic}
        \part[introduction]{introduction\\PARTIE PREMIÈRE}\label{\thepart}
            \chapter[univers]{univers\\CHAPITRE PREMIER}\label{\thepart.\thechapter}
                \blindtext[2]
                \petiteligne
                \blindtext[2]
    %/Contenu
\end{document}

答案1

我发现如何感谢@马丁·沙勒! 以下是不带标签的代码:

\newcommand*\parttitle{}
\let\origpart\part
\renewcommand*{\part}[2][]{%
   \ifx\\#1\\% optional argument not present?
      \origpart{#2}%
      \renewcommand*\parttitle{#2}%
   \else
      \origpart[#1]{#2}%
      \renewcommand*\parttitle{#1}%
   \fi
}

相关内容