在对 TeXLive 2020 进行最新更新之后,使用文档类的书长文档memoir
现在无法使用 pdflatex 或 xelatex 进行编译,尽管我没有对源代码进行任何更改。
哪些软件包损坏了东西?如何修复?
我很难知道从哪里开始诊断问题!以下是日志的摘录:
(/usr/local/texlive/2020/texmf-dist/tex/latex/hyperref/nameref.sty
Package: nameref 2019/09/16 v2.46 Cross-referencing by name of section
(/usr/local/texlive/2020/texmf-dist/tex/latex/refcount/refcount.sty
Package: refcount 2019/12/15 v3.6 Data extraction from label references (HO)
)
(/usr/local/texlive/2020/texmf-dist/tex/generic/gettitlestring/gettitlestring.s
ty
Package: gettitlestring 2019/12/15 v1.6 Cleanup title references (HO)
)
\c@section@level=\count655
)
Redoing nameref's sectioning
./topology.tex:99: Parameters must be numbered consecutively.
<to be read again>
##
l.99 \begin{document}
I've inserted the digit you should have used after the #.
Type `1' to delete what you did use.
日志文件显示同一错误重复出现多次nameref
。
在处理输入到序言中的许多文件时发生了错误。序言确实不是明确地加载该包,因此我推测这是由另一个交叉引用相关的包nameref
加载的。hyperref
这些序言文件包括以下用于交叉引用的文件,该文件很可能是有问题的文件:
% LINKS.STY - Indexing, cross-referencing, & hyperlinks
\NeedsTeXFormat{LaTeX2e}[2020/02/02]
\ProvidesPackage{preamble/links}[2020-09-29
Indexing, cross-referencing, & hyperlinks]
% LOADS packages
% biblatex.sty, nomencl.sty,
% xurl.sty,
% doclicense.sty, hyperxmp.sty,
% hyperref.sty,
% xassoccnt.sty, zref.sty
% aliascnt.sty,
% cleveref.sty,
% crossreftools.sty
%
% SWITCHES USED: colorsecs, washthms
%% BIBLIOGRAPHY
\RequirePackage[
backend=bibtex,
%backend=biber,
bibstyle=mybooknumeric,
citestyle=numeric,
dashed=true,
defernumbers=true,
urldate=iso,date=iso,seconds=true]%
{biblatex}
%
\addbibresource{topologyref.bib}
\addbibresource{topologyread.bib}
%
\setcounter{biburllcpenalty}{7000}% was 9999
\setcounter{biburlucpenalty}{8000}
%% NOTATION INDEX
\RequirePackage[refpage,norefeq,intoc,english,cfg]{nomencl}
%% INDEXING COMMANDS
\newcommand{\indexemph}{\textbf} % definition or main location
\newcommand{\nn}[1]{{#1}n}
\newcommand{\figidx}[1]{{#1}fig}
\providecommand\gobbleone[1]{}
\newcommand{\seeonly}[2]{\, (\emph{\seename} #1)}
\newcommand{\also}[2]{\unskip\emph{\alsoname} #1}
\newcommand{\Also}[2]{\unskip\emph{See also} #1}
% Fix error re entries in index page header
% https://tex.stackexchange.com/a/332098/13492
\def\indexsee#1{\indexseeI#1@\end}
\def\indexseeI#1@#2\end{%
\def\temp{#2}%
\ifx\temp\empty
\def\next{\indexseeIII{#1}{#1}}%
\else
\def\next{\indexseeII#1@#2\end}%
\fi
\next
}
\def\indexseeII#1@#2@\end{\indexseeIII{#1}{#2}}
\def\indexseeIII#1#2#3{\index{#1@#2\protect\gobbleone|seeonly{#3}}}
\newcommand{\indexalso}[2]{\index{#1!zzzz@\protect\gobbleone|also{#2}}}
\newcommand{\indexAlso}[2]{\index{#1!zzzz@\protect\gobbleone|Also{#2}}}
%% try this
\newcommand{\indexnamesee}[2]{\index[names]{#1\protect\gobbleone|seeonly{#2}}}
% ...fix for memoir to put hyperlink on mainref, too:
\newcommand{\mainref}[1]{\textbf{\emph{\hyperpage{#1}}}}
%% END INDEXING
%% CROSS-REFERENCING
\RequirePackage{xurl} % new: break URL anywhere
\RequirePackage[type={CC},modifier={by-nc-nd},version={4.0},lang={english}]{doclicense}%
\RequirePackage{hyperxmp} % to add metadata info into pdf
\usepackage[pdfa]{hyperref}%
\hypersetup{
pdfapart=2, pdfaconformance=u,
bookmarksnumbered,bookmarksopen=true,bookmarksopenlevel=3,
breaklinks=true,
colorlinks, citecolor=red, filecolor=defaultcolor, linkcolor=blue, urlcolor=blue,
linktocpage=true,linktoc=all,
pdftitle={Topology, Second Edition},
pdfauthor={Murray Eisenberg},pdfcreator={Murray Eisenberg},
pdfauthortitle={Professor Emeritus, University of Massachusetts Amherst},
pdfcontactemail={[email protected]},
pdfcontacturl={https://www.math.umass.edu/directory/emeritus-faculty/murray-eisenberg},
pdfpublisher={Murray Eissenberg},
pdfdate={\today},
pdflang={en},pdfmetalang={en},
pdfpubtype={Book},
pdfsubject={topology},
pdfkeywords={topology, general topology,topological space,metric space,compact space,connected space,continuity,convergence},
pdfcopyright={Copyright (C) 2020, Murray Eisenberg},
pdflicenseurl={http://creativecommons.org/licenses/by-nc-nd/4.0/},
}%
\ifTUTeX
% no further glyph info needed
\else
\input{glyphtounicode}
\pdfgentounicode=1
\pdfglyphtounicode{EM}{0058 0058 0058 0058 0058 0058 0058 0058}%
\pdfglyphtounicode{NUL}{0060 0060 0060 0060 0060 0060 0060 0060}%
\pdfglyphtounicode{uni222B.dsp}{222B}%
\pdfglyphtounicode{summationdisplay.1}{0060 0060 0060 0060 0060 0060 0060 0060}%
\pdfglyphtounicode{summationdisplay}{0060 0060 0060 0060 0060 0060 0060 0060}%
\pdfglyphtounicode{radicalBigg}{0060 0060 0060 0060 0060 0060 0060 0060}%
\pdfglyphtounicode{radicalbig}{0060 0060 0060 0060 0060 0060 0060 0060}%
\pdfglyphtounicode{radicalbigg}{0060 0060 0060 0060 0060 0060 0060 0060}%
\immediate\pdfobj stream attr{/N 3} file{sRGB.icc}
\pdfcatalog{%
/OutputIntents [ <<
/Type /OutputIntent
/S /GTS_PDFA1
/DestOutputProfile \the\pdflastobj\space 0 R
/OutputConditionIdentifier (sRGB v4)
/Info (sRGB)
>> ]
}
\fi
% Allow link to page with label -- patch by Martin Scharrer
% cf. https://tex.stackexchange.com/a/19416/9237
\let\orig@Hy@EveryPageAnchor\Hy@EveryPageAnchor
\def\Hy@EveryPageAnchor{%
\begingroup
\hypersetup{pdfview=Fit}%
\orig@Hy@EveryPageAnchor
\endgroup
}
% My commands to use that
% Usage: \pagereftext{text-to-appar-in-link}{lbl} with usual \label{lbl} for target.
\newcommand{\pagereftext}[2]{\hyperlink{page.\getpagerefnumber{#2}}{#1} on \cpageref{#2}}
\WithSuffix\newcommand\pagereftext*[2]{\hyperlink{page.\getpagerefnumber{#2}}{#1}}
% HYPERREF FIXES - not needed: using \CC for complexes!
\@ifpackageloaded{hyperref}{% then...
%%% Redo, from mismath: % Not needed!
\let\mafx@old@dot=\.
\def\mafx@dot@skip{\thinmuskip}
\def\mafx@dot{\mskip\mafx@dot@skip}
\def\mafx@per@dot{\begingroup\ifmmode\def\mafx@tmp{\mafx@dot}\else%
\def\mafx@tmp{\mafx@old@dot}\fi\expandafter\endgroup\mafx@tmp}
%
\let\.=\mafx@per@dot}
{}
\AtBeginDocument{\addtocontents{toc}{\protect\hypersetup{hidelinks}}}
%MUST NOT explicitly load showidx except within the Oberdiek hack, below.
%\RequirePackage{showidx} % already loaded in root .tex file
%Begin the ``quick and dirty hack'' due to Heiko Oberdiek which loads showidx
\ifHy@hyperindex
\def\HyInd@ParenLeft{(}%
% Hook in \HyInd@@wrindex
\let\HyInd@showidx\@empty
% Hook in \HyInd@@wrindex for package showidx
\def\HyInd@showidx#1{%
\@showidx{#1}%
\if@nobreak
\ifvmode
\nobrak
\fi
\fi
}%
% Load package showidx
\let\siOrg@makeindex\makeindex
\let\siOrg@@index\@index
\let\siOrg@@wrindex\@wrindex
\let\siOrg@index\index
\RequirePackage{showidx}
\let\makeindex\siOrg@makeindex
\let\@index\siOrg@@index
\let\@wrindex\siOrg@@wrindex
\let\index\siOrg@index
% rest of hyperref part
\@ifpackageloaded{multind}{%
\let\HyInd@org@wrindex\@wrindex
\def\@wrindex#1#2{\HyInd@@wrindex{#1}#2||\\}%
\def\HyInd@@wrindex#1#2|#3|#4\\{%
\ifx\\#3\\%
\HyInd@org@wrindex{#1}{#2|hyperpage}%
\else
\def\Hy@temp@A{#3}%
\ifx\Hy@temp@A\HyInd@ParenLeft
HyInd@org@wrindex{#1}{#2|#3hyperpage}%
\else
\HyInd@org@wrindex{#1}{#2|#3}%
\fi
\fi
}%
}{%
\def\@wrindex#1{\@@wrindex#1||\\}
\def\@@wrindex#1|#2|#3\\{%
\ifx\\#2\\%
\protected@write\@indexfile{}{%
\string\indexentry{#1|hyperpage}{\thepage}%
}%
\else
\def\Hy@temp@A{#2}%
\ifx\Hy@temp@A\HyInd@ParenLeft
\protected@write\@indexfile{}{%
\string\indexentry{#1|#2hyperpage}{\thepage}%
}%
\else
\protected@write\@indexfile{}{%
\string\indexentry{#1|#2}{\thepage}%
}%
\fi
\fi
\endgroup
\HyInd@showidx{#1}%
\@esphack
}%
}%
\fi
%End the ``quick and dirty hack'' due to Heiko Oberdiek which loads showidx
%% Allow ref to section n, not section m.n
% From "trickier version" by Christian Hupfer
% https://tex.stackexchange.com/a/383608/13492
\let\@xp\expandafter
%
% Stripping the dot from the 1.2 -like reference
\def\@@stripdot#1.#2\@nil{#2}
%
% Stripping the memoir stuff from the reference, i.e. \M@TitleReference {1.2}{FOO} and handing #1 (1.2) over to the \@@stripdot macro
\def\@stripdot\M@TitleReference #1#2\@nil{\@@stripdot#1\@nil}
%
%Macro, second level of expansion
\newcommand{\stripdot}[1]{%
\@xp\@stripdot#1\@nil
}
\newcommand{\crefsec}[1]{%
% Expand the argument first
\IfRefUndefinedExpandable{#1}{%
% Do nothing if #1 is not defined
}{%
\hyperlink{\getrefbykeydefault{#1}{anchor}{}}{\@xp\stripdot\@xp{\getrefnumber{#1}}}%
}%
}
% Another way to link to page - Ulrike Fischer
% https://tex.stackexchange.com/a/549807/13492
% Usage: \zlabel{lbl} on target, \hyperpageref{lbl} for link
\usepackage[user,hyperref]{zref}%{zref-base,zref-user}
\zref@newprop*{pagedest}[Doc-Start]{page.\@the@H@page}
\zref@addprop{main}{pagedest}
\newcommand\hyperpageref[1]{\hyperlink{\zref@extract{#1}{pagedest}}{\pageref*{#1}}}
% Fix capitalization of named theorems, etc., in list of theorems
\def\ll@theorem{%
\protect\numberline{\csname the\thmt@envname\endcsname}%
\ifx\@empty\thmt@shortoptarg
\thmt@thmname
\else
\protect\makefirstuc{\thmt@shortoptarg}%
\fi}
\def\l@thmt@theorem{}
%
\let\ll@proposition=\ll@theorem
\let\ll@corollary=\ll@theorem
\let\ll@lemma=\ll@theorem
\RequirePackage{aliascnt}
\RequirePackage[nameinlink,noabbrev,capitalize]{cleveref}
% Fix missing Oxford comma:
\newcommand{\creflastconjunction}{, and\nobreakspace}
\RequirePackage{crossreftools}
% Fix to crossreftools
% https://tex.stackexchange.com/a/512175/13492
\renewcommand{\@@crtextr@ct@ref}[2]{%
\expandafter\@@@crtextr@ct@ref\expandafter{\detokenize{#2}}{#1}%
}
\newcommand{\@@@crtextr@ct@ref}[2]{%
\expandafter\ifx\csname r@#1\endcsname\relax
\crt@refundefined%
\else
\expandafter\expandafter\csname crt@ref@splitter@#2\endcsname\csname r@#1\endcsname%
\fi
}
\crtlistoflabelsstructurelevel{chapter}
% cref names and formats:
\newcommand{\crefrangeconjunction}{--}
\crefname{page}{page}{pages}
\Crefname{Page}{Page}{Pages}
\crefname{theorem}{Theorem}{Theorems}
\Crefname{theorem}{Theorem}{Theorems}
\crefname{namedtheorem}{Theorem}{Theorems}
\Crefname{namedtheorem}{Theorem}{Theorems}
\crefname{namedproposition}{Proposition}{Propositions}
\Crefname{namedproposition}{Proposition}{Propositions}
\crefname{namedlemma}{Lemma}{Lemmas}
\Crefname{namedlemma}{Lemma}{Lemmas}
\crefname{proposition}{Proposition}{Propositions}
\Crefname{proposition}{Proposition}{Propositions}
\crefname{corollary}{Corollary}{Corollaries}
\Crefname{corollary}{Corollary}{Corollaries}
\crefname{namedcorollary}{Corollary}{Corollaries}
\Crefname{namedcorollary}{Corollary}{Corollaries}
\crefname{axiom}{Axiom}{Axioms}
\Crefname{axiom}{Axiom}{Axioms}
% need namedaxiom??
\crefname{convention}{Convention}{Conventions}
\Crefname{convention}{Convention}{Conventins}
\crefname{figure}{Figure}{Figures}
\Crefname{figure}{Figure}{Figures}
\crefname{table}{Table}{Tables}
\Crefname{table}{Table}{Tables}
\crefname{example}{Example}{Examples}
\Crefname{example}{Example}{Examples}
\crefname{continuedexample}{Example}{Examples}
\Crefname{continuedexample}{Example}{Examples}
\crefname{examples}{Examples}{Examples}
\Crefname{examples}{Examples}{Examples}
\crefname{examples}{Examples}{Examples}
\Crefname{examples}{Examples}{Examples}
\crefname{exampleaux}{Example}{Examples} % since example is envir not thm type
\Crefname{exampleaux}{Example}{Examples}
\crefname{application}{Application}{Applications}
\Crefname{application}{Application}{Applications}
\crefname{standingassumption}{Standing Assumption}{Standing Assumptions}
\Crefname{standingassumption}{Standing Assumption}{Standing Assumptions}
\crefformat{pfstepsi}{#2Step~#1#3}
\crefname{equation}{equation}{equations}
\Crefname{equation}{Equation}{Equations}
\crefname{problemsenumi}{Exercise}{Exercises}
\crefformat{problemsenumi}{#2Exercise~#1#3}
\Crefformat{problemsenumi}{#2Exercise~#1#3}
\crefformat{problempartsenumi}{#2#1#3}
\Crefformat{problempartsenumi}{#2#1#3}
\crefformat{problemscontent}{#2\textnormal{#3}}
\Crefformat{problemscontent}{#2\textnormal{#3}}
\crefname{topic}{}{}
\Crefname{topic}{}{}
\crefname{subtopic}{}{}
\Crefname{subtopic}{}{}
\crefformat{subtopic}{#2``#1''#3} % for my unnumbered subtopics
\Crefformat{subtopic}{#2``#1''#3} % ditto, capitalized
\crefname{enumi}{}{} % do not use ``Item''
\crefname{enumii}{}{}
\crefname{penumi}{}{} % do not use ``Item''
\crefname{penumii}{}{}
\crefformat{penumi}{(#2#1#3)}
\Crefformat{penumi}{(#2#1#3)}
\crefformat{penumi}{\textup{(#2#1#3)}}
\crefrangeformat{penumi}{\textup{(#3#1#4)}--\textup{(#5#2#6)}}
\crefformat{penumprimei}{(#2#1#3)}
\Crefformat{penumprimei}{(#2#1#3)}
\crefname{romenumi}{}{}
\Crefname{romenumi}{}{}
\crefname{pexenumi}{Example}{Examples}
\crefformat{pexenumi}{\textup{(#2#1#3)}}
\crefrangeformat{pexenumi}{\textup{(#3#1#4)}--\textup{(#5#2#6)}}
\crefname{proplis}{}{}
\Crefname{proplis}{}{}
\crefformat{proplisi}{#2#1#3}
\crefrangeformat{proplisi}{\textup{#3#1#4}--\textup{#5#2#6}}
\crefname{numcasesi}{Case}{Cases}
\Crefname{numcasesi}{Case}{Cases}
\crefname{romcasesi}{Case}{Cases}
\Crefname{romcasesi}{Case}{Cases}
\crefname{alphcasesi}{Case}{Cases}
\Crefname{alphcasesi}{Case}{Cases}
\crefname{chapter}{Chapter}{Chapters}
\crefname{section}{Section}{Sections}
\crefname{pdefenumi}{Definition}{Definitions}
\crefformat{pdefenumi}{\textup{(#2#1#3)}}
\crefname{subsec}{subsection}{subsections}
\Crefname{subsec}{Subsection}{Subsections}
\crefformat{subsec}{#2subsection~``#1''#3} % for my unnumbered subsections
\Crefformat{subsec}{#2Subsection~``#1''#3} % ditto, capitalized
\crefmultiformat{subsec}{subsections~``#2#1#3''}{ and~``#2#1#3''}{,~``#2#1#3''}{ and~``#2#1#3''}
% Special handling of cref's...
\newcommand\crefthmpart[2]{\cref{#1}~\cref{#2}}
\newcommand\crefdef[2]{\namecref{#2}~\labelcref{#1}~\cref{#2}}
\newcommand\crefex[2]{\namecref{#2}~\labelcref{#1}~\cref{#2}}
\newcommand\Crefex[2]{\nameCref{#2}~\labelcref{#1}~\cref{#2}}
\newcommand\crefexone[1]{Example~\cref{#1}}
\newcommand\refex[2]{\namecref{#2}~\labelcref{#1}~\cref{#2}}
\newcommand\crefrangeex[3]{\cref{#1}~\crefrange{#2}{#3}}
\newcommand\Crefrangeex[3]{\Cref{#1}~\crefrange{#2}{#3}}
% special handling of problems environment
\newcommand\crefprob[2]{\cref{#1}~\ref{#2}}
\newcommand\crefrangeprob[2]{Exercises~\textup{\ref{#1}}--\textup{\ref{#2}}}
\WithSuffix\newcommand\crefrangeprob*[2]{\textup{\ref{#1}}--\textup{\ref{#2}}}
\newcommand\crefrangeprobpart[2]{\textup{\ref{#1}}--\textup{\ref{#2}}}
\newcommand\crefprobandrangeprobpart[3]{\cref{#1}~\textup{\ref{#2}}--\textup{\ref{#3}}}
% Allow names in cross-reference to named theorem
\newcommand{\crefthm}[1]{%
\IfStrEqCase*{\crtcrefcounter{#1}}{%
{namedtheorem}{\crefthmname{#1}~(\ref{#1})}%
{namedtproposition}{\crefthmname{#1}~(\ref{#1})}%
{namedlemma}{\crefthmname{#1}~(\ref{#1})}%
{namedaxiom}{\crefthmname{#1}~(\ref{#1})}%
}%
[\crefthmname{#1}~(\cref{#1})]%
}
\WithSuffix\newcommand\crefthm*[1]{%
\IfStrEqCase*{\crtcrefcounter{#1}}{%
{namedtheorem}{\crefthmname*{#1}~(\ref{#1})}%
{namedproposition}{\crefthmname*{#1}~(\ref{#1})}%
{namedlemma}{\crefthmname*{#1}~(\ref{#1})}%
{namedaxiom}{\crefthmname*{#1}~(\ref{#1})}%
}%
[\crefthmname*{#1}~(\cref{#1})]%
}
%
% For upper-casing, i.e., leave names as is:
\newcommand{\crefthmname}[1]{\hyperlink{\crtrefanchor{#1}}{\crtrefname{#1}}}
\WithSuffix\newcommand\crefthmname*[1]{\crtrefname{#1}}
\newcommand{\Crefthmname}[1]{\hyperlink{\crtrefanchor{#1}}{\crtrefname{#1}}}
\WithSuffix\newcommand\Crefthmname*[1]{\crtrefname{#1}}
\newcommand\crefthmnamed[2]{\crefthm{#1}~\cref{#2}}
\WithSuffix\newcommand\crefthmnamed*[2]{\crefthm*{#1}~\cref{#2}}
% Allow names in cross-reference to chapters, sections, subsections
\newcommand*{\crefunit}[1]{\cref{#1} (\nameref*{#1})}
\WithSuffix\newcommand\crefunit*[1]{\cref*{#1} (\nameref*{#1})}
\newcommand*{\crefunitname}[1]{\hyperref[{#1}]{\nameref{#1}}}
\WithSuffix\newcommand\crefunitname*[1]{\nameref*{#1}}
% Need special ref command for subsecs since they're not numbered
\newcommand*{\crefsubsec}[1]{\cref{#1} (\cpageref{#1})}
\newcommand*{\Crefsubsec}[1]{\Cref{#1} (\cpageref{#1})}
\WithSuffix\newcommand\crefsubsec*[1]{\cref*{#1} (\cpageref{#1})}
\WithSuffix\newcommand\Crefsubsec*[1]{\Cref*{#1} (\cpageref{#1})}
% From https://tex.stackexchange.com/questions/1230/reference-name-of-description-list-item-in-latex
\def\namedlabel#1#2{\begingroup
#2%
\def\@currentlabel{#2}%
\phantomsection\label{#1}\endgroup
}
%% END CROSS-REFERENCING
%% SHORT & LONG TOCs
% daleif - https://tex.stackexchange.com/a/512752/13492
\newif\ifSHORT
\newif\ifLONG
%
% credit for Ulrike Fischer for this idea, we need to have the
% conditionals defined **inside** the toc
\DeclareRobustCommand\activateif{%
\let\showShort\ifSHORT
\let\showLong\ifLONG
\let\stopShort\fi
\let\stopLong\fi
}
% next use patching to add a wrapper around the \addcontentsline
% that \tableofcontents generates. Since this is inside a group we
% don't having one patch messing up the other
\newcommand\shortTOC[1][2]{
\begingroup
\setcounter{tocdepth}{#1}
\def\contentsname{\shorttocname}%
\ifthenelse{\boolean{colorsecs}}%
{\renewcommand{\cftchapterfont}{\color{mychapcolor}\bfseries\sffamily}}%
{\renewcommand{\cftchapterfont}{\bfseries\sffamily}}%
\xpatchcmd{\mem@tableofcontents}%
{\addcontentsline{toc}{chapter}{\contentsname}}{%
\addtocontents{toc}{\protect\showShort}%
\addcontentsline{toc}{chapter}{\contentsname}
\addtocontents{toc}{\protect\stopShort}%
}{\typeout{ok}}{\typeout{failed}}
\LONGtrue
\tableofcontents
\endgroup
}
\newcommand\longTOC[1][3]{
\begingroup
\setcounter{tocdepth}{#1}
\def\contentsname{\longtocname}%
\ifthenelse{\boolean{colorsecs}}%
{\renewcommand{\cftchapterfont}{\color{mychapcolor}\bfseries\sffamily}%
\renewcommand{\cftsectionfont}{\color{myseccolor}\bfseries\sffamily}%
}%
{\renewcommand{\cftchapterfont}{\bfseries\sffamily}%
\renewcommand{\cftsectionfont}{\bfseries\sffamily}%
}
\xpatchcmd{\mem@tableofcontents}%
{%
\addcontentsline{toc}{chapter}{\contentsname}}{%
\addtocontents{toc}{\protect\showLong}%
\addcontentsline{toc}{chapter}{\contentsname}
\addtocontents{toc}{\protect\stopLong}%
}%
{\typeout{ok}}{\typeout{failed}}
\SHORTtrue
\tableofcontents
\endgroup
}
% automatically add the activation to the toc
\AtBeginDocument{
\addtocontents{toc}{\activateif}
}
%% ADD TO USE CHRISTIAN HUPFER'S THIRD METHOD FOR \secref
\providecommand{\LastRefSteppedCounter}{}
\endinput
不幸的是,似乎没有办法绕过这个问题:如果我遇到错误时进入批处理模式,那么日志会显示此错误的几个实例......
I'm going to ignore the # sign you just used.
./topology.tex:99: You already have nine parameters.
<argument> ...M@sect ####1####2####3####4####5####
6[####7][####8]####9{\setc...
l.99 \begin{document}
I'm going to ignore the # sign you just used.
然后继续处理一些前言(标题页、序言),在这里我得到了以前没有错误的源的新错误!):
(./front/preface.tex [10.10
]
Runaway argument?
\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \ETC.
./front/preface.tex:8: Paragraph ended before \cref@old@label was complete.
<to be read again>
\par
l.8
然后进入主要内容,我现在从之前没有错误编译的源文件中得到许多级联错误。
我很乐意根据要求提供完整的序言文件以及文档正文源的缩写版本