![使用信件文档类时避免 Latex 错误](https://linux22.com/image/469667/%E4%BD%BF%E7%94%A8%E4%BF%A1%E4%BB%B6%E6%96%87%E6%A1%A3%E7%B1%BB%E6%97%B6%E9%81%BF%E5%85%8D%20Latex%20%E9%94%99%E8%AF%AF.png)
使用以下样式文件我得到了,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] }