scrlttr2 中加载 classicthesis 包时出现问题

scrlttr2 中加载 classicthesis 包时出现问题

为什么下面的代码无法编译?我该如何修复?

\documentclass{scrlttr2}

\usepackage[american]{babel}
\usepackage{classicthesis}

\begin{document}
Test
\end{document}

答案1

classicthesis包依赖于通常的分段命令,例如\section被定义。例如,它加载titlesec它使用它来定义分段格式。

然而,该类scrlttr2没有定义分段命令,因为字母不需要它们。

但是,classicthesis是为了格式化论文而不是...

如果您为分段命令和浮点数定义虚拟命令figure(由于字母不需要它们,因此table未在任何一个中定义),则可以避免立即出现的错误:scrlttr2

\documentclass[a4paper,version=last]{scrlttr2}
\usepackage[ngerman]{babel}

\setkomavar{fromname}{Max Musterman}
\setkomavar{fromaddress}{Musterstr.\,1\\54321 Musterstadt}

\makeatletter
\def\section{}
\newcounter{section}
\def\l@section{}
\def\subsection{}
\def\l@subsection{}
\def\subsubsection{}
\def\l@subsubsection{}
\def\paragraph{}
\def\l@paragraph{}
\def\subparagraph{}
\def\l@subparagraph{}
\newcounter{figure}
\def\l@figure{}
\def\figurename{}
\newcounter{table}
\def\l@table{}
\def\tablename{}
\def\@pnumwidth{}
\makeatother
\usepackage[nochapters]{classicthesis}

\begin{document}

\begin{letter}{Otto Normalverbraucher\\Normalstr.\,1\\12345 Normalstadt}
\opening{}


\closing{}
\end{letter}

\end{document}

相关内容