Я использую scrreprt
класс документа, чтобы записывать свои лекции в сжатой форме для удобства просмотра в дальнейшем. Я организовал их main.tex
в модульный файл и скачал, установил и загрузил minitoc
пакет, потому что хотел иметь мини-TOC в начале каждой главы. Однако при компиляции с помощью 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
package. Я также заметил, что есть *.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, который используется по умолчанию) мини-таблицы будут иметь меньше (плотно) или больше (свободно) пространства между строками содержимого.
Обратите внимание, что те же проблемы возникают, если вы используете один из […] классов KOMA-Script с некоторыми опциями (
liststotoc
,liststotocnumbered
,bibtotoc
,bibtotocnumbered
, иidxtotoc
). Решения те же самые.