我正在从头开始编写自己的文档类(作为学习练习),并且我坚持定义自己的部分。
我不喜欢\chapter
、\section
等\subsection
惯例,更倾向于降价方法(例如,#
对于 1 级标题、##
对于 2 级等...)。
因此我想将我的 0 级标题定义为\h
,将我的 1 级标题定义为,依此\hh
类推。
如果我使用我的定义,\h
我得到undefined control sequence [\end{document}]
:
[Compiling C:\Users\mastarija\Desktop\LaTexIng\CurriculumVitae\CurriculumVitae.tex]
Basic Builder: running xelatex...done.
Errors:
C:\Users\mastarija\Desktop\LaTexIng\CurriculumVitae\CurriculumVitae.tex:9: Undefined control sequence. [\end{document}]
No warnings.
C:\Users\mastarija\Desktop\LaTexIng\CurriculumVitae\CurriculumVitae.log:1: Double-click here to open the full log.
[Done!]
这是我的测试文档:
\documentclass{CurriculumVitae}
\begin{document}
\h{Some title}
This is super duper
\end{document}
以下是我目前的课程文件:
% METADATA
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{CurriculumVitae}
% CORE SETUP
\renewcommand{\normalsize}{\fontsize{15}{20}\selectfont}
% PACKAGES
\usepackage[paper=a4paper]{geometry}
\usepackage{fontspec}
% DEFAULT SETTINGS
% Layout
\geometry{top=4cm,left=4cm,right=4cm,bottom=4cm}
% Typography
\setmainfont{Arial}
\setlength{\parindent}{0cm}
% Headings
\newcounter{h}
\newcommand{\h}{\@startsection{h}{0}{0cm}{0cm}{0cm}{\scshape}}
答案1
您只显示了错误消息的乱码形式。您的日志文件将显示
! Undefined control sequence.
<write> ...ct \numberline {1}Some title}{\thepage
}\protected@file@percent }
l.9 \end{document}
添加
\newcommand\thepage{\arabic{page}}
到你的类文件使其工作而不会出现错误,或者更好地复制类使用的形式article
:
\pagenumbering{arabic}
您还需要定义\hmark
提供代码来添加到页面头部或丢弃标题,例如
\newcommand\hmark[1]{}
足以防止文本出现两次。