我正在使用scrreprt
文档类以精简形式编写我的讲义,以便以后轻松查看。我将文档组织main.tex
在一个模块化文件中,然后下载、安装并加载了该minitoc
包,因为我想在每章开头都有一个迷你目录。但是,当我使用 pdfLaTeX 进行编译时,我收到 8 条警告:有些不是那么重要(Italian not defined, using English instead
),其他则令人困惑:
Package minitoc(hints) Warning: W0030
(minitoc(hints)) --- The \part command is altered
(minitoc(hints)) after minitoc.
Package minitoc(hints) Warning: W0023
(minitoc(hints)) --- It may be the consequence
(minitoc(hints)) of loading the ``hyperref'' package.
Package minitoc(hints) Warning: W0028
(minitoc(hints)) --- The \chapter command is altered
(minitoc(hints)) after minitoc.
这些是严重的警告吗?需要修复它们?这不会妨碍我获得最终的 *.pdf 文件,但我想知道这是否表明我忽略了一个更严重的潜在问题。毕竟,这是我第一次使用minitoc
包。我还注意到编译后会创建 *.mtc0、*.mtc1、*.mtc2、*.mtc3 等。如果我删除它们,下次就会有 *.mtc4 等等。
- 我在 Debian 7.3(KDE 桌面)机器上,
- TeX Live 2013 “手动”安装(即使用虚拟 *.deb 包,而不是通过存储库)和
- Kile 编辑器 2.1.0。
这是一个最小的工作示例:
1)main.tex
\documentclass[a4paper,10pt]{scrreprt}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[italian]{babel}
\usepackage{amssymb, amsmath, amsfonts}
\usepackage[math,bible]{blindtext}
%\usepackage{titlesec}
\usepackage{hyperref}
\hypersetup{pdfstartview=FitH}
\usepackage[italian]{cleveref}
\usepackage[italian]{minitoc}
%opening
\title{M.T.N.}
\author{Myself}
\date{}
\begin{document}
\maketitle
\thispagestyle{empty}
\clearpage
\mbox{}
\cleardoublepage
\dominitoc
\tableofcontents
\clearpage
\input{Err_w1}
\end{document}
2)Err_w1
\chapter{Topic One}
\minitoc
\clearpage
\section{First Topic}
\blindmathpaper
\section{Second Topic}
\blindtext
\subsection{Second Topic, first subsection}
\blindtext
答案1
该警告消息Italian not defined, using English instead
由 发出blindtext
,因此您可以放心地忽略它(并且它不会出现在实际文档中)。
对于发出的烦人的消息minitoc
,您可以使用该silence
包:
\usepackage{silence}
\WarningFilter{minitoc(hints)}{W0023}
\WarningFilter{minitoc(hints)}{W0028}
\WarningFilter{minitoc(hints)}{W0030}
\WarningFilter{blindtext}{} % this takes care of the `blindtext` messages
该包的工作原理是根据信息字符串和消息的开头告诉它要忽略哪些消息。有了这些行,只有消息
Package minitoc(hints) Warning: W0024
(minitoc(hints)) Some hints have been written
(minitoc(hints)) in the wobby.log file.
出现。您也可以用同样的方式禁用它。
\documentclass[a4paper,10pt]{scrreprt}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[italian]{babel}
\usepackage{amssymb, amsmath, amsfonts}
\usepackage{silence}
\WarningFilter{minitoc(hints)}{W0023}
\WarningFilter{minitoc(hints)}{W0028}
\WarningFilter{minitoc(hints)}{W0030}
\WarningFilter{blindtext}{} % this takes care of the `blindtext` messages
\usepackage[math,bible]{blindtext}
%\usepackage{titlesec}
\usepackage{hyperref}
\hypersetup{pdfstartview=FitH}
\usepackage[italian]{cleveref}
\usepackage[italian]{minitoc}
%opening
\title{M.T.N.}
\author{Myself}
\date{}
\begin{document}
\maketitle
\thispagestyle{empty}
\clearpage
\mbox{}
\cleardoublepage
\dominitoc
\tableofcontents
\clearpage
\chapter{Topic One}
\minitoc
\clearpage
\section{First Topic}
\blindmathpaper
\section{Second Topic}
\blindtext
\subsection{Second Topic, first subsection}
\blindtext
\end{document}
您可以禁用全部警告minitoc
,但我不推荐这样做。只需禁用那些你确信无害的警告即可。
答案2
在里面minitoc
文档,第 I 部分“用户手册”,有一章“消息”(撰写本文时为第 5 章),您可以在其中阅读有关这些警告的更多信息。(可惜的是,MiKTeX 中缺少此文档,请在 TeXdoc.net 上在线阅读:minitoc
。
警告
W0030
:有些软件包会改变分段命令,例如
\part
。其中大多数应该加载前包minitoc
。hyperref
即使已加载包,前该minitoc
包(按照建议)会改变中的分段命令,因此当您将该包与一起\AtBeginDocument
使用时总会打印此消息,但这是无害的。hyperref
minitoc
警告
W0028
是相同的\chapter
。警告
W0023
本质上也是相同的,但是对于改变的分段命令发出一般警告:一些分段命令已被改变后软件包的加载
minitoc
。hyperref
软件包会执行此操作,但无害。对于其他软件包或用户所做的更改,建议仅更改部分命令前正在加载minitoc
包。
egreg 已经写过如何禁用这些无害的警告。
顺便说一句,我用你的代码收到了另一条无害的警告消息:
软件包 minitoc(提示)警告:W0024 (minitoc(hints))已经写了一些提示 (minitoc(hints))在 ⟨document⟩.log 文件中。
除了 egreg 之外,我还想推荐你:最终的您可以添加包选项来增强文档写作的状态nohints
,该选项可以禁用所有这些在大多数情况下无害的、更具信息性的警告。
另一个提示:在minitoc
文档中搜索“KOMA-Script”,因为对于某些选项的相应配置,您必须小心谨慎。
[…] 使用 KOMA-Script 类 […],有时可能需要使用以下选项或命令,[…] 以下选项的效率取决于为这些 KOMA-Script 类提供的选项(parindent 选项、parskip 选项和变体)。
[…]
对于 KOMA-Script 类,使用命令\ktightmtctrue
(或k-tight
package 选项)和\ktightmtcfalse
(或k-loose
package 选项,这是默认选项),迷你表的内容行之间的间距将较小(紧密)或更多(松散)。
liststotoc
请注意,如果您使用带有某些选项( 、liststotocnumbered
、bibtotoc
、bibtotocnumbered
和)的 […] KOMA-Script 类之一,也会出现相同的问题idxtotoc
。解决方案是相同的。