如何在 classicthesis scrrprt 文档的标题上将“章节编号”放在章节名称之前?

如何在 classicthesis scrrprt 文档的标题上将“章节编号”放在章节名称之前?

我正在使用 scrreprt 类的 classicthesis 配置来格式化我的论文;此配置的默认标题是 outerhead 中的章节名称或节名称,具体取决于它是奇数页还是偶数页,但目录页或章节页等根本不显示标题的页面除外。没有页眉的章节页

我添加了此代码并且它似乎可以工作(它还将页码放在底部)。

\clearscrheadfoot
\automark[section]{chapter}
\renewcommand*\chaptermarkformat{\chaptername{} \thechapter:\quad}
\rohead[\rightmark]{\rightmark}
\lehead[\leftmark]{\leftmark}
\rofoot[\pagemark]{\pagemark}
\lefoot[\pagemark]{\pagemark}

但现在它在目录、参考书目等页面中显示标题。每个页面的页眉

我想要做的是在章节名称前加上“章节号”,而不在每一页都加上页眉。我的意思是我不想在目录、参考书目和章节页等页面中加上页眉

这是 MWE:

\RequirePackage{fix-cm} % fix some latex issues see: http://texdoc.net/texmf-dist/doc/latex/base/fixltx2e.pdf
\documentclass[ twoside,openright,titlepage,numbers=noenddot,headinclude,%1headlines,% letterpaper a4paper
                footinclude=true,cleardoublepage=empty,abstractoff, % <--- obsolete, remove (todo)
                BCOR=5mm,paper=a4,fontsize=11pt,%11pt,a4paper,%
                dottedtoc,spanish%
                ]{scrreprt}
\input{classicthesis-config}

\clearscrheadfoot
\automark[section]{chapter}
\renewcommand*\chaptermarkformat{\chaptername{} \thechapter:\quad}
\rohead[\rightmark]{\rightmark}
\lehead[\leftmark]{\leftmark}
\rofoot[\pagemark]{\pagemark}
\lefoot[\pagemark]{\pagemark}

\begin{document}
\frenchspacing
\raggedbottom
\selectlanguage{spanish} 

\tableofcontents
\pagenumbering{Roman}
\setcounter{page}{1}
\listoffigures
\listoftables
\cleardoubleemptypage
\newpage
\pagenumbering{arabic}
\setcounter{page}{1}

\chapter{Ensayo de Tensión}
\newpage
\section{Metodología utilizada}
\newpage
\section{análisis de resultados}    
\end{document}

我认为修改 classicthesis.sty 文件更合适,它有一个“标题”部分,其中包含以下代码:

% ********************************************************************                
% headlines
% ********************************************************************  
%\PassOptionsToPackage{automark}{scrpage2}
\PassOptionsToPackage{automark}{scrlayer-scrpage}
    %\RequirePackage{scrpage2} % provides headers and footers (KOMA Script)
    \RequirePackage{scrlayer-scrpage} % provides headers and footers (KOMA Script)
    \clearscrheadings
    %\setheadsepline{0pt}
    \ifthenelse{\boolean{@nochapters}}%
        {\relax}%
        {\renewcommand{\chaptermark}[1]{\markboth{\spacedlowsmallcaps{#1}}{\spacedlowsmallcaps{#1}}}}
    \renewcommand{\sectionmark}[1]{\markright{\thesection\enspace\spacedlowsmallcaps{#1}}} 
    \lehead{\mbox{\llap{\small\thepage\kern2em}\headmark\hfil}}
    \rohead{\mbox{\hfil{\headmark}\rlap{\small\kern2em\thepage}}}
    \renewcommand{\headfont}{\small}  
%    \DeclareRobustCommand{\fixBothHeadlines}[2]{} % <--- ToDo
    % hack to get the content headlines right (thanks, Lorenzo!)
        \def\toc@heading{%
            \ifthenelse{\boolean{@nochapters}}%
            {\section*{\contentsname}}%nochapters
            {\chapter*{\contentsname}}%chapters
            \@mkboth{\spacedlowsmallcaps{\contentsname}}{\spacedlowsmallcaps{\contentsname}}}

但我不知道在这里该做什么


经典论文文件可以在这里找到经典论文文件,到目前为止,除了 .tex 之外,我还没有修改过任何一个。


我可能找到了解决方案,我\chaptername{} \thechapter:\quad{\markboth{这里添加了\spacedlowsmallcaps{#1}}一行{\renewcommand{\chaptermark}[1]{\markboth{\spacedlowsmallcaps{#1}}{\spacedlowsmallcaps{#1}}},我认为它有效

答案1

我将在这里发布我如何解决这个问题:

打开下载经典论文模板时附带的classicthesis.sty文件,然后搜索“标题部分”。

删除该部分并插入以下内容:

% ********************************************************************                
% headlines
% ********************************************************************  
%\PassOptionsToPackage{automark}{scrpage2}
\PassOptionsToPackage{automark}{scrlayer-scrpage}
    %\RequirePackage{scrpage2} % provides headers and footers (KOMA Script)
    \RequirePackage{scrlayer-scrpage} % provides headers and footers (KOMA Script)
    \clearscrheadings
    %\setheadsepline{0pt}
    \ifthenelse{\boolean{@nochapters}}%
        {\relax}%
        {\renewcommand{\chaptermark}[1]{\markboth{\chaptername{} \thechapter:\enspace\spacedlowsmallcaps{#1}}{\spacedlowsmallcaps{#1}}}}
    \renewcommand{\sectionmark}[1]{\markright{\thesection\enspace\spacedlowsmallcaps{#1}}} 
    \lehead{\mbox{\llap{\small\thepage\kern2em}\headmark\hfil}}
    \rohead{\mbox{\hfil{\headmark}\rlap{\small\kern2em\thepage}}}
    \renewcommand{\headfont}{\small}  
%    \DeclareRobustCommand{\fixBothHeadlines}[2]{} % <--- ToDo
    % hack to get the content headlines right (thanks, Lorenzo!)
        \def\toc@heading{%
            \ifthenelse{\boolean{@nochapters}}%
            {\section*{\contentsname}}%nochapters
            {\chapter*{\contentsname}}%chapters
            \@mkboth{\spacedlowsmallcaps{\contentsname}}{\spacedlowsmallcaps{\contentsname}}}

我实际上只修改了一行,但我认为复制这一行会降低犯错的可能性(我还编辑了我的问题,解释了我所做的更改)。

注意:如果您使用的是 classicthesis 模板中默认的目录,则此方法无效。为什么?因为出于某种原因,有人重新定义了该部分的标题,这会影响整个文档。但是,如果您删除该部分中的所有内容并插入以下代码,我们将获得所需的输出。

%*******************************************************
% Table of Contents
%*******************************************************
%\phantomsection
\refstepcounter{dummy}
\pdfbookmark[1]{\contentsname}{tableofcontents}
\setcounter{tocdepth}{2} % <-- 2 includes up to subsections in the ToC
\setcounter{secnumdepth}{3} % <-- 3 numbers up to subsubsections
\manualmark
\markboth{\spacedlowsmallcaps{\contentsname}}{\spacedlowsmallcaps{\contentsname}}
\tableofcontents 
\automark[section]{chapter}
\renewcommand{\chaptermark}[1]{\markboth{\chaptername{} \thechapter:\enspace\spacedlowsmallcaps{#1}}{\spacedlowsmallcaps{#1}}}
\renewcommand{\sectionmark}[1]{\markright{\thesection\enspace\spacedlowsmallcaps{#1}}}
%*******************************************************
% List of Figures and of the Tables
%*******************************************************
\clearpage

\begingroup 
    \let\clearpage\relax
    \let\cleardoublepage\relax
    \let\cleardoublepage\relax
    %*******************************************************
    % List of Figures
    %*******************************************************    
    %\phantomsection 
    \refstepcounter{dummy}
    %\addcontentsline{toc}{chapter}{\listfigurename}
    \pdfbookmark[1]{\listfigurename}{lof}
    \listoffigures

    \vspace{8ex}

    %*******************************************************
    % List of Tables
    %*******************************************************
    %\phantomsection 
    \refstepcounter{dummy}
    %\addcontentsline{toc}{chapter}{\listtablename}
    \pdfbookmark[1]{\listtablename}{lot}
    \listoftables

    \vspace{8ex}
%   \newpage

    %*******************************************************
    % List of Listings
    %*******************************************************      
      %\phantomsection 
    \refstepcounter{dummy}
    %\addcontentsline{toc}{chapter}{\lstlistlistingname}
    \pdfbookmark[1]{\lstlistlistingname}{lol}
    \lstlistoflistings 

    \vspace{8ex}

    %*******************************************************
    % Acronyms
    %*******************************************************
    %\phantomsection 
    \refstepcounter{dummy}
    \pdfbookmark[1]{Acronyms}{acronyms}
    \markboth{\spacedlowsmallcaps{Acronyms}}{\spacedlowsmallcaps{Acronyms}}
    \chapter*{Acronyms}
    \begin{acronym}[UMLX]
        \acro{DRY}{Don't Repeat Yourself}
        \acro{API}{Application Programming Interface}
        \acro{UML}{Unified Modeling Language}
    \end{acronym}                     
\endgroup

相关内容