为什么下面的代码无法编译?我该如何修复?
\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}