从“部分”计数器中排除文档的部分内容

从“部分”计数器中排除文档的部分内容

我对“part”计数器有疑问。我有一个 MWE(我不知道它是否令人满意):

\documentclass{memoir}

\usepackage[a4paper, total={6.5in, 9in}]{geometry}
\usepackage[danish]{babel}
\usepackage{colortbl}
\usepackage{appendix}
\usepackage{titlesec}

    \addto\captionsdanish{
        \renewcommand*\appendixname{Bilag}
        \renewcommand\contentsname{Indholdsfortegnelse}
        \renewcommand\partname{Fase}
        \renewcommand\appendixpagename{Bilag}
        \renewcommand\appendixtocname{Bilag}
        \renewcommand\cftchaptername{Kapitel~}
        \renewcommand\cftappendixname{\appendixname~}
    }


    \renewcommand{\thepart}{Fase \arabic{part}}
    \titleformat{\part}
        [display]

    {\centering\fontfamily{pbk}\fontseries{m}\fontshape{n}\selectfont\Huge}
        {\MakeUppercase{\thepart}}
        {1pc}
        {\titlerule[2pt]\vspace{1pc}\huge\MakeUppercase}

    \makeatletter
    \@addtoreset{chapter}{part}
    \makeatother

    \definecolor{numbercolor}{gray}{0.7}
    \newif\ifchapternonum

    \makechapterstyle{jenor}{
        \renewcommand\beforechapskip{0pt}
        \renewcommand\printchaptername{}
        \renewcommand\printchapternum{}
        \renewcommand\printchapternonum{\chapternonumtrue}
        \renewcommand\chaptitlefont{
            \fontfamily{pbk}
            \fontseries{db}
            \fontshape{n}
            \fontsize{25}{35}
            \selectfont
            \raggedright
        }

        \renewcommand\chapnumfont{
            \fontfamily{pbk}
            \fontseries{m}
            \fontshape{n}
            \fontsize{1in}{0in}
            \selectfont\color{numbercolor}
        }
        \renewcommand\printchaptertitle[1]{%
            \noindent
        \ifchapternonum
            \begin{tabularx}{\textwidth}{X}
                {\let\\\newline\chaptitlefont ##1\par}
            \end{tabularx}
            \par\vskip-2.5mm\hrule
        \else
            \begin{tabularx}{\textwidth}{Xl}
                {\parbox[b]{\linewidth}{\chaptitlefont ##1}} & 
        \raisebox{-15pt}{\chapnumfont \arabic{part}.\thechapter}
        \end{tabularx}
        \par\vskip2mm\hrule
        \fi
    \vspace{-20pt}
    }

}

\chapterstyle{jenor}    

\begin{document}

\part{first part}
\chapter{first chapter in first part}
\chapter{second chapter in first part}


\part{second part}
\chapter{first chapter in second part}
\chapter{second chapter in second part}

\appendix
\chapter{first appendix}
\chapter{second appendix}
\chapter{third appendix}

\end{document}

现在看起来是这样的:

第 1 部分 第一部分

第1.1章 第一部分 第一章

1.2 第一部分第二章

第 2 部分 第二部分

2.1 第二部分第一章

2.2 第二部分第二章

附录 2.A 第一个附录

附录2.B 第二附录

附录2.C 第三个附录

现在,我想要它做的是在附录开始时不对“部分”进行编号,因此它看起来像这样:

第 1 部分 第一部分

第1.1章 第一部分 第一章

1.2 第一部分第二章

第 2 部分 第二部分

2.1 第二部分第一章

2.2 第二部分第二章

附录 A 第一个附录

附录B 第二附录

附录C 第三个附录

我尝试重置计数器,但结果只是将 2 替换为 0

我知道显而易见的解决方案是在章节定义中的 if/else 参数中不要包含\arabic{part},但所有其他章节都必须包含部分计数器。

答案1

这里有一种方法:

\documentclass{memoir}

\usepackage[a4paper, total={6.5in, 9in}]{geometry}
\usepackage[danish]{babel}
\usepackage{colortbl}
\usepackage{appendix}
\usepackage{titlesec}


    \addto\captionsdanish{
        \renewcommand*\appendixname{Bilag}
        \renewcommand\contentsname{Indholdsfortegnelse}
        \renewcommand\partname{Fase}
        \renewcommand\appendixpagename{Bilag}
        \renewcommand\appendixtocname{Bilag}
        \renewcommand\cftchaptername{Kapitel~}
        \renewcommand\cftappendixname{\appendixname~}
    }


    \renewcommand{\thepart}{Fase \arabic{part}}
    \titleformat{\part}
        [display]
    {\centering\fontfamily{pbk}\fontseries{m}\fontshape{n}\selectfont\Huge}
        {\MakeUppercase{\thepart}}
        {1pc}
        {\titlerule[2pt]\vspace{1pc}\huge\MakeUppercase}

    \makeatletter
    \@addtoreset{chapter}{part}
    \makeatother

    \definecolor{numbercolor}{gray}{0.7}
    \newif\ifchapternonum

    \makechapterstyle{jenor}{
        \renewcommand\beforechapskip{0pt}
        \renewcommand\printchaptername{}
        \renewcommand\printchapternum{}
        \renewcommand\printchapternonum{\chapternonumtrue}
        \renewcommand\chaptitlefont{
            \fontfamily{pbk}
            \fontseries{db}
            \fontshape{n}
            \fontsize{25}{35}
            \selectfont
            \raggedright
        }

        \renewcommand\chapnumfont{
            \fontfamily{pbk}
            \fontseries{m}
            \fontshape{n}
            \fontsize{1in}{0in}
            \selectfont\color{numbercolor}
        }
        \renewcommand\printchaptertitle[1]{%
            \noindent
        \ifchapternonum
            \begin{tabularx}{\textwidth}{X}
                {\let\\\newline\chaptitlefont ##1\par}
            \end{tabularx}
            \par\vskip-2.5mm\hrule
        \else
            \begin{tabularx}{\textwidth}{Xl}
                {\parbox[b]{\linewidth}{\chaptitlefont ##1}} & 
        \raisebox{-15pt}{\chapnumfont \mychapter}
        \end{tabularx}
        \par\vskip2mm\hrule
        \fi
    \vspace{-20pt}
    }

}

\newcommand{\mychapter}{\arabic{part}.\thechapter}

\let\oldappendix\appendix

\def\appendix{\renewcommand{\mychapter}{\thechapter}\oldappendix}

\chapterstyle{jenor}    

\begin{document}

\tableofcontents

\part{first part}
\chapter{first chapter in first part}
\chapter{second chapter in first part}


\part{second part}
\chapter{first chapter in second part}
\chapter{second chapter in second part}

\appendix
\chapter{first appendix}
\chapter{second appendix}
\chapter{third appendix}

\end{document}

实际上非常接近@UlrikeFischer 的建议,但以某种方式自动化。

解释:

  1. 该行:\newcommand{\mychapter}{\arabic{part}.\thechapter}只是一个新命令,无论如何它将用于以所需的格式显示章节...最初它与您在 MWE 中的定义完全相同。

  2. 行:

    \let\oldappendix\appendix

    \def\appendix{\renewcommand{\mychapter}{\thechapter}\oldappendix}

    只需将命令 \mychapter 的重新定义添加到命令的定义中\appendix即可\thechapter(摆脱\arabic{part}其先前的定义)...因此,\chapter附录之后的每个新命令都只会显示\thechapter(但从命令的旧定义\appendix- 已经在我们的新定义中使用 -\thechapter已经被重新定义为\Aplh{chapter},这对于您的要求已经足够了)。

相关内容