\listofencl 和 Titlesec 的未定义控制序列错误

\listofencl 和 Titlesec 的未定义控制序列错误

使用titlesecloaded 时,如果我\subsection用替换\phantomsection,则会得到所述错误。删除该 pkg 后,替换可以正常编译。任何见解都将不胜感激。

\documentclass[12pt,draft]{article}
\usepackage{lipsum, pdfpages, mwe}
\usepackage[titles]{tocloft}
\newlistof{encl}{encl}{Enclosed}%\listenclname
\newcommand{\encl}[1]
{%
  \refstepcounter{encl}
  \addcontentsline{encl}{encl}{\theencl.~#1}
}
\makeatletter
% \@cfthaschapterfalse %Don't need
\def\listofencl{\@cfttocstart\@nameuse{cftmarkencl}\@starttoc{encl}\@cfttocfinish}
\makeatother

% ---
\usepackage[pagestyles]{titlesec}
\newpagestyle{rest}%
[\small \normalfont] %]\sffamily]
{%
  \sethead{L}{C}{R}
  \setfoot{foo}{bar}{qux}
}
\pagestyle{rest}

\begin{document}

\subsection*{Unwanted Title}
% \phantomsection
\noindent \listofencl % TODO
%\vspace{-1em}

\newpage
\addcontentsline{encl}{encl}{\textbf{Textual}}
\encl{Foo}
\label{encl:transcr}

\lipsum[1]

\newpage
\addcontentsline{encl}{encl}{\textbf{Enclosed}}
\encl{Bar}
\includepdf[pages={1},fitpaper=true]{example-image-a.pdf}

\end{document}

壳:

$ tectonic --version
Tectonic 0.14.1
[erwann@elitebook tex]$ tectonic debug-5.tex
Running TeX ...
error: debug-5.tex:29: Undefined control sequence
error: halted on potentially-recoverable error as specified

在此处输入图片描述 在此处输入图片描述

答案1

问题在于\phantomsection一方面与\usepackage[pagestyles]{titlesec}另一方面之间的不兼容性\pagestyle{<style>}。我添加了以下\makeatletter \makeatother语句建议在这里,现在文件可以正常编译了。

\documentclass[12pt,draft]{article}
\usepackage{lipsum, pdfpages, mwe}
\usepackage[titles]{tocloft}
\newlistof{encl}{encl}{Enclosed}%\listenclname
\newcommand{\encl}[1]
{%
  \refstepcounter{encl}
  \addcontentsline{encl}{encl}{\theencl.~#1}
}
\makeatletter
% \@cfthaschapterfalse %Don't need
\def\listofencl{\@cfttocstart\@nameuse{cftmarkencl}\@starttoc{encl}\@cfttocfinish}
\makeatother

% ---
\usepackage[pagestyles]{titlesec}
\newpagestyle{rest}%
[\small \normalfont] %]\sffamily]
{%
  \sethead{L}{C}{R}
  \setfoot{foo}{bar}{qux}
}
\pagestyle{rest}

% https://tex.stackexchange.com/questions/696627/undefined-control-sequence-error-with-listofencl-and-titlesec?noredirect=1#comment1730206_696627
\makeatletter\let\ttl@savemark\@empty\makeatother

\begin{document}

%\subsection*{Unwanted Title}
\phantomsection
\noindent \listofencl % TODO
%\vspace{-1em}

\newpage
\addcontentsline{encl}{encl}{\textbf{Textual}}
\encl{Foo}
\label{encl:transcr}

\lipsum[1]

\newpage
\addcontentsline{encl}{encl}{\textbf{Enclosed}}
\encl{Bar}
\includepdf[pages={1},fitpaper=true]{example-image-a.pdf}

\end{document}

在此处输入图片描述

相关内容