使用信件文档类时避免 Latex 错误

使用信件文档类时避免 Latex 错误

使用以下样式文件我得到了,No counter 'section' defined. 因为letter文档类不支持sections

%% piston.sty
\RequirePackage{etoolbox}

\ExplSyntaxOn
\RequirePackage[dvipsnames*,svgnames,x11names]{xcolor}
\newtheorem{piston_dfin}{Definition}[section]
\ExplSyntaxOff

这是文件

\documentclass[a4paper,12pt]{letter}

\usepackage{piston}

\begin{document}
  Some Text Here
\end{document}

我想以这样的方式修改样式文件,以便在使用该类时使用样式文件letter不会发送 Latex 错误。

我能做些什么 ?

答案1

  \@ifundefined{\c@section}
     {}
     {\newtheorem{piston_dfin}{Definition}[section]}

或者当然你可以使用 expl3 或 etoolbox 中的类似测试(为什么要加载 etoolbox,expl3 涵盖了它的大部分功能)

\int_if_exist:NT\c@section
 { \newtheorem{piston_dfin}{Definition}[section] }

相关内容