我必须编写一个带有 2 个参数的文档类(一个参数提供徽标,另一个提供棋盘)。这两个参数的代码运行良好,但我遇到了一些错误,我不知道如何修复它们。每个错误都在第 119 行(\ProcessOptions\relax
),但这没有任何意义。我读到如果某些内容不是最新的,则可以修复 Latex 钩子错误,但我今天更新了所有内容,所以这不是问题。我不知道我的类中是否有拼写错误(看不到)或其他地方有错误,所以我将我的错误以及我的 .cls 和我的 .tex 放在下面。
.cls
%----------------------------------------%
% Important Stuff for Class %
%----------------------------------------%
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{HTWself}[2022/21/27 Example class]
%-------------------%
% Packages %
%-------------------%
\RequirePackage[RGB]{xcolor}
\RequirePackage{xifthen}
\newboolean{cover}
\definecolor{htw}{RGB}{125, 173, 24}
\RequirePackage[utf8]{inputenc}
\RequirePackage[german]{babel}
\RequirePackage[T1]{fontenc}
\RequirePackage{amsmath}
\RequirePackage{amsfonts}
\RequirePackage{amssymb}
\RequirePackage{graphicx}
\RequirePackage{xcolor}
\RequirePackage{colortbl}
\RequirePackage{blindtext}
\RequirePackage{color}
\RequirePackage{wrapfig}
\RequirePackage{caption}
\RequirePackage{subcaption}
\RequirePackage{colortbl}
\RequirePackage{hyperref}
\RequirePackage{pstricks}
\RequirePackage{multido}
\RequirePackage{pst-plot}
\RequirePackage{auto-pst-pdf}
\setlength{\parindent}{0pt}
\renewcommand{\normalsize}{\fontsize{9}{10}\selectfont}
%---------------%
% Parameters %
%---------------%
\DeclareOption{htwLogo}{
\setboolean{cover}{true}
\begin{document}
\begin{pspicture}[showgrid=false](0,0)(14,5)
\multido{\iA=1+2}{2}{
\multido{\iB=1+1}{2}{
\psset{origin={\iA ,\iB}}
\psframe[linecolor=htw,fillstyle=solid,fillcolor=htw](1,1)
}
}
\multido{\iA=8+2}{3}{
\multido{\iB=2+1}{2}{
\psset{origin={\iA ,\iB}}
\psframe[linecolor=htw,fillstyle=solid,fillcolor=htw](1,1)
}
}
\multido{\iA=2+4}{2}{
\multido{\iB=3+0}{1}{
\psset{origin={\iA ,\iB}}
\psframe[linecolor=htw,fillstyle=solid,fillcolor=htw](1,1)
}
}
\multido{\iA=6+7}{2}{
\multido{\iB=1+0}{1}{
\psset{origin={\iA ,\iB}}
\psframe[linecolor=htw,fillstyle=solid,fillcolor=htw](1,1)
}
}
\rput[b](7.4,0){\Large{Hochschule für Technik und Wirtschaft Berlin}}
\psframe[linecolor=htw,fillstyle=solid,fillcolor=htw](1,4)(2,5)
\psframe[linecolor=htw,fillstyle=solid,fillcolor=htw](5,2)(6,5)
\psframe[linecolor=htw,fillstyle=solid,fillcolor=htw](9,1)(12,2)
\psline[linecolor=htw,linearc=0.5](3,4)(4,4)(4,3)
\psline[linecolor=htw,linearc=0.5](5,2)(5,1)(6,1)
\psline[linecolor=htw,linearc=0.5](8,2)(8,1)(9,1)
\end{pspicture}
\end{document}}
\DeclareOption{htwWeiteres}{
\setboolean{cover}{false}
\begin{document}
\begin{pspicture}(8,8)
\psframe(8,8)
\multido{\iA=0+2,\iC=20+20}{4}{
\multido{\iB=0+2}{4}{%
\psset{origin={\iA ,\iB}}
\psframe[fillstyle=solid,fillcolor=blue!\iC](1,1)\psframe[fillstyle=solid,fillcolor=blue!\iC](1,1)(2,2)
}
}
\end{pspicture}
\end{document}}
%------------------------------%
% Important Class %
%------------------------------%
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}
\ProcessOptions\relax
\LoadClass[a4paper,titlepage,10pt]{article}
\newcommand{\Cover}{
\ifthenelse{boolean{cover}{
\begin{titlepage}
\centering
\begin{figure}
\centering
\includegraphics[scale=1]{htw-berlin logo.jpg}
\end{figure}
{\LARGE\bfseries Modul:}
\vspace{2cm}
{\large Name:}\\
{\large Matrikelnummer:}
\vspace{0.1cm}
{Berlin, \today}
\end{titlepage}}{
\begin{titlepage}
\centering
\begin{figure}
\centering
\includegraphics[scale=1]{htw-berlin logo.jpg}
\end{figure}
{\LARGE\bfseries Prüfung im Modul:}
\vspace{2cm}
{\large Name:}\\
{\large Matrikelnummer:}
\vspace{0.1cm}
{Berlin, \today}
\end{titlepage}}
}
\endinput
.tex
\documentclass[htwLogo]{HTWself}
\begin{document}
\Cover
\newpage
\begin{pspicture}[showgrid=false](-5,-5)(5,5)
\psgrid[
gridcolor=black!20,
subgriddiv=1,
gridlabels=0pt
]
\psaxes[
ticks=all,
mathLabel=false,
showorigin=false,
labelFontSize=\tiny
]{->}(0,0)(-5,-5)(5,5)[x,0][y,90]
\psset{algebraic}
\multido{\rP=1.5+-0.35,\iC=100+-20,\rV=0+0.5}{4}{
\psplot[linewidth=\rP pt,linecolor=blue!\iC]{-3.5}{3.5}{0.005*x^(5)+\rV}
}
\end{pspicture}
\end{document}
答案1
错误信息是
! Undefined control sequence.
<argument> \Large
{Hochschule für Technik und Wirtschaft Berlin}
l.119 \ProcessOptions\relax
?
因为\Large
未定义。稍后会定义,当您加载article
类时,您应该将处理延迟到类加载之后。
你的构造
\DeclareOption{htwLogo}{
\setboolean{cover}{true}
\begin{document}
在选项中启动文档确实很奇怪,并且可能会产生许多此类错误。强烈建议不要在类中的任何位置启动它。主 tex 文件应该有\begin{document}
实际上它有 \begin{document}
因此,您有两个,但无法工作。
另外,你的定义\Cover
缺少结尾}