删除章节而不引发警告

删除章节而不引发警告

我有以下格式:

\part{X}
\section{foo}
\section{bar}
\subsection{foobar}

我不想要任何章节。不幸的是,hyperref系统发出了警告。我该如何hyperref忽略缺失的章节或以某种方式包含它们,使它们不会显示在 PDF 中?

梅威瑟:

\documentclass[12pt,twoside]{report}
\usepackage[utf8]{inputenc}
\usepackage{hyperref}

\title{MWE}
\author{Andrew Yang}
\date{\today}

\begin{document}

\maketitle

\part{Test}
\section{Introduction}

\end{document}

答案1

完整的警告是:

包 hyperref 警告:书签级别之间的差异 (2) 大于
(hyperref) 一,级别固定在输入行 14。

创建书签时hyperref,它会按层次结构对它们进行排序,以树形结构显示它们。在默认方案中,会在级别 -1、级别 0、级别 1 等处\part创建书签。警告会告诉您,如果没有任何书签,则书签级别之间存在间隙。\chapter\section\chapter

我借用了这个答案重新定义级别,这样\section在级别 0(级别\chapter)处创建书签,依此类推。这样,警告就消失了。

梅威瑟:

\documentclass[12pt,twoside]{report}
\usepackage[utf8]{inputenc}
\usepackage{hyperref}

\title{MWE}
\author{Andrew Yang}
\date{\today}

\makeatletter
\renewcommand{\toclevel@section}{0}
\renewcommand{\toclevel@subsection}{1}
\makeatother

\begin{document}

\maketitle

\part{Test}
\section{Introduction}

\end{document}

答案2

我不明白为什么你要使用report以章节为组成部分的课程。有什么理由不使用课程吗article

作为一种不同的方法,你可以使用memoir带有article选项的类

\documentclass[article, ...]{memoir}
\begin{document}
\part{A part}
\chapter{Typeset as a section}
\section{Typeset as a subsection}
...
\end{document}

这使得章节显示为节,节显示为子节,等等。如果稍后您决定要将其\chapter排版为章节,只需删除该article选项即可。

笔记:report课程中,章节编号位于章节编号之前;如果您在课程中不使用章节,那么您可能需要更改章节编号。这只是另一个复杂因素。

相关内容