对目录进行编号

对目录进行编号

我对乳胶还很陌生。

我已使用包成功格式化了章节标题、节标题和小节标题titlesec

\usepackage{titlesec}

    \titleformat {\chapter}
        [display] 
        {\normalfont\bfseries}
        {\large\thechapter}
        {0ex}
        {\LARGE \titlerule[1pt] }

    \titleformat{\section}
        {\normalfont\large\bfseries}
        {\thechapter.\thesection}
        {1ex}
        {}

    \titleformat{\subsection}
        {\normalfont\bfseries}
        {\thechapter.\thesubsection}
        {1ex}
        {}

但是在生成的目录中,章节和小节没有章节号,而我想要有它。

有什么提示吗?

编辑:我想避免放上所有的主要文件,因为它是一篇论文的模板,里面全是与问题无关的部分,但我不确定哪些是相关的,哪些是不相关的,所以我会把它全部复制下来。很抱歉。

%\documentclass[12pt,a4paper,oneside, titlepage,fleqn,italian]{book} %stampa
\documentclass[12pt,a4paper,twoside,openright,titlepage,fleqn,italian]{book}

\usepackage[italian]{babel}
\usepackage{graphicx}
\usepackage{natbib}
\usepackage[applemac]{inputenc}
\usepackage{amsmath,amssymb,amsthm,graphicx,bm, color, tikz}
\usepackage{epsfig}
\usepackage{epstopdf}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage[colorlinks=false]{hyperref}
\usepackage{longtable}

\renewcommand{\thesection}{\arabic{section}}
\addtolength{\voffset}{-0,5cm}
\addtolength{\textheight}{1cm}
\setlength{\parindent}{0pt}
\frenchspacing
\linespread{1.25}

\usepackage{fancyhdr}
\usepackage{algorithm} 
\usepackage{algorithmic} 
\pagestyle{fancy}
\renewcommand{\chaptermark}[1]{\markboth{#1}{}}%
\renewcommand{\sectionmark}[1]{\markright{\thechapter .\thesection\ #1}}%
\renewcommand{\subsectionmark}[1]{\markright{\thechapter .\thesubsection\ #1}}%
\fancyhf{}
\lhead{\rightmark}%
\chead{}%
\rhead{\bfseries\thepage}%
\renewcommand{\headrulewidth}{0.4pt}%
\renewcommand{\footrulewidth}{0pt}%
\newcommand{\tab}{\hspace*{2em}}
\DeclareMathOperator*{\argmax}{arg\,max}
\setlength{\headheight}{15pt}%
\fancypagestyle{plain}{\fancyhead{}\renewcommand{\headrulewidth}{0pt}}%


\fancyhead[RO]{\textbf{\thepage}}
\fancyhead[LO]{\nouppercase{\rightmark}}

\usepackage{frontesp} % see frontesp.sty 

\usepackage{atbeginend}

\AfterBegin{itemize}{\addtolength{\parskip}{- 9pt}}
\AfterBegin{description}{\addtolength{\itemsep}{- 9pt}}
\AfterBegin{enumerate}{\addtolength{\itemsep}{- 9pt}}

\usepackage[htt]{hyphenat}

\usepackage{titlesec}

    \titleformat {\chapter}
        [display] 
        {\normalfont\bfseries}
        {\large\thechapter}
        {0ex}
        {\LARGE \titlerule[1pt] }

    \titleformat{\section}
        {\normalfont\large\bfseries}
        {\thechapter.\thesection}
        {1ex}
        {}

    \titleformat{\subsection}
        {\normalfont\bfseries}
        {\thechapter.\thesubsection}
        {1ex}
        {}

\usepackage[font=footnotesize,labelfont=bf]{caption}

\begin{document}

\frontmatter

\title{  title  }
\author{  author  }
\date{}
\degreeyear{ 2025/26 }  

\principaladviser{ teacher }
\firstreader{ reader }

\maketitle

\textcolor{white}{.}

\addtolength{\oddsidemargin}{+1,3cm}

\addtocounter{tocdepth}{+1} % \subsubsection in the table of content


\tableofcontents

    \input{preface}

\mainmatter

    \input{cap1}
    \input{cap2}
    \input{cap3}
    \input{cap4}

\addtolength{\parskip}{5pt}


\bibliography{bibliografia}
\bibliographystyle{apalike}
% argument is your BibTeX string definitions and bibliography database(s)

\end{document}

PS:如果您有任何建议,欢迎提出!

答案1

您的 MWE 远非最小......

无论如何,我敢打赌你想消除部分编号,就像0.1这样

\renewcommand{\thesection}{\arabic{section}}

但这会改变整个文档的行为。

所以,正确的做法应该是:

\makeatletter
\renewcommand{\thesection}{\if@mainmatter\thechapter.\arabic{section}\else\arabic{section}\fi}
\makeatother

这样就消除了不需要的零。

此时,你必须\thechapter从这些行中删除不需要的内容

\titleformat {\chapter}
    [display] 
    {\normalfont\bfseries}
    {\large\thechapter}
    {0ex}
    {\LARGE \titlerule[1pt] }

\titleformat{\section}
    {\normalfont\large\bfseries}
    {\thechapter.\thesection}
    {1ex}
    {}

\titleformat{\subsection}
    {\normalfont\bfseries}
    {\thechapter.\thesubsection}
    {1ex}
    {}

也就是说,它们必须是:

\titleformat {\chapter}
    [display] 
    {\normalfont\bfseries}
    {\large\thechapter}
    {0ex}
    {\LARGE \titlerule[1pt] }

\titleformat{\section}
    {\normalfont\large\bfseries}
    {\thesection}
    {1ex}
    {}

\titleformat{\subsection}
    {\normalfont\bfseries}
    {\thesubsection}
    {1ex}
    {}

现在以下 MWE

\documentclass[12pt,a4paper,twoside,openright,titlepage,fleqn,italian]{book}

\usepackage[italian]{babel}

\makeatletter
\renewcommand{\thesection}{\if@mainmatter\thechapter.\arabic{section}\else\arabic{section}\fi}
\makeatother

\usepackage{titlesec}

    \titleformat {\chapter}
        [display]
        {\normalfont\bfseries}
        {\large\thechapter}
        {0ex}
        {\LARGE \titlerule[1pt] }

    \titleformat{\section}
        {\normalfont\large\bfseries}
        {\thesection}
        {1ex}
        {}

    \titleformat{\subsection}
        {\normalfont\bfseries}
        {\thesubsection}
        {1ex}
        {}


\begin{document}

\frontmatter

\tableofcontents

\chapter{Intro}
\section{A section}

\mainmatter

\chapter{1st}

\chapter{2nd}
\section{A section}
\subsection{A subsection}

\end{document} 

在目录中给出所需结果

在此处输入图片描述

以及文档的其余部分

在此处输入图片描述

\thechapter还要记得从行中删除

\renewcommand{\sectionmark}[1]{\markright{\thechapter .\thesection\ #1}}%
\renewcommand{\subsectionmark}[1]{\markright{\thechapter .\thesubsection\ #1}}%

也就是说,把它们写成

\renewcommand{\sectionmark}[1]{\markright{\thesection\ #1}}%
\renewcommand{\subsectionmark}[1]{\markright{\thesubsection\ #1}}%

答案2

不幸的是,您的代码不完整 - 没有 \begin{document} 和 \end{document},也没有前言。通常,将这些代码包含在您在此处发布的任何代码中是一个好主意,以便响应者可以立即对其进行编译。这是我的代码示例,它执行了我认为您要尝试执行的操作。

您应该能够将其复制并粘贴到新文档中,然后点击编译/处理。但是,您需要多次处理此代码才能正确显示目录。

我还添加了 \pagenumbering{roman} 代码,它使用罗马数字表示目录页,以及 \pagenumbering{arabic} 代码,它使用阿拉伯数字(例如 1、2、3...)表示章节和节。如果您删除这些代码行,报告文档样式将自动从第一页(在本例中为目录页)开始使用阿拉伯数字对所有页面进行编号。

我希望这能有所帮助。

\documentclass[12pt,a4paper]{report}

\begin{document}

\pagenumbering{roman}
\tableofcontents
\newpage

\pagenumbering{arabic}
\chapter{Your Chapter 1 Title Here}
\section{Your Section Here}
\subsection{Your Sub-section Here}

\chapter{Your Chapter 2 Title Here}
\section{Your Sub-section Here}
\subsection{Your Sub-section Here}

\end{document}

相关内容