我正在尝试将文档从一个类转换为另一个类。在原始类中,我能够使用 TikZ 和 PGFPlots 来制作图形。然而,在新类中,我收到以下错误:
! Missing number, treated as zero.
<to be read again>
}
l.51 \section{Introduction}
如果我删除所有\section{}
命令,文档可以正常编译。此外,\section*{}
命令不会导致错误。
.cls
我可以在以下位置找到出现错误的类文件:https://bitbucket.org/lgriffiths/lyx-classes/src/df41b5298566/_miktex_tex_latex/ifasd/ifasd.cls
平均能量损失
\documentclass{ifasd}
\usepackage{lipsum}
\usepackage{tikz}
\begin{document}
\section*{Testing One}
\lipsum[1]
\section*{Testing Two}
\lipsum[2]
\section{Testing Three}
\lipsum[1]
\end{document}
答案1
章节标题的规范有误:\MakeUppercase
说明应放在最后的的强制参数\titleformat
。现在它没有任何意义。
\titleformat{\section}[hang]
{\normalsize\normalfont\bfseries}
{\thesection}
{6pt}
{\MakeUppercase}
答案2
尝试
\documentclass{ifasd}
\usepackage{lipsum}
\usepackage{tikz}
\titleformat{\section}[hang]%
{\normalsize\normalfont\bfseries\uppercase}%
{\thesection}{6pt}{}
\begin{document}
[ ... ]
答案3
削减后ifasd
,以下 MWE 在tikz
(或pstricks
) 和 如何\MakeUppercase
使用 之间存在明显冲突:
\documentclass{article}
\usepackage{titlesec}
\titleformat{\section}[hang]%
{\normalsize\normalfont\bfseries\MakeUppercase}%
{\thesection}{6pt}{}
\pagestyle{empty}
\usepackage{lipsum}
\usepackage{tikz}
\begin{document}
\tableofcontents
\section{Testing One}
\lipsum[1]
\end{document}
在有人想出更好的解决方案之前,请先尝试以下方法。
\documentclass{article}
\usepackage{titlesec}
\titleformat{\section}[hang]%
{\normalsize\normalfont\bfseries}%
{\thesection}{6pt}{}
%..%'
\usepackage{xparse}
\let\oldsection\section
\RenewDocumentCommand\section{ som }{%
\IfBooleanTF{#1}
{\oldsection*{#3}}
{\IfNoValueTF{#2}
{\oldsection{\MakeUppercase{#3}}}
{\oldsection[#2]{#3}}}}
%..%'
\pagestyle{empty}
\usepackage{lipsum}
\usepackage{tikz}
\begin{document}
\tableofcontents
%\MakeUppercase This one
\section{Testing One}
\lipsum[1]
\end{document}
因此,就你的课程而言,你可以写一些类似的东西
\documentclass{ifasd}
%..%'
\usepackage{xparse}
\let\oldsection\section
\RenewDocumentCommand\section{ som }{%
\IfBooleanTF{#1}
{\oldsection*{#3}}
{\IfNoValueTF{#2}
{\oldsection{\MakeUppercase{#3}}}
{\oldsection[#2]{#3}}}}
%..%'
\usepackage{tikz}
\usepackage{lipsum}
\begin{document}
\section*{Testing One}
\lipsum[1]
\section*{Testing Two}
\lipsum[2]
\section{Testing Three}{}
\lipsum[1]
\end{document}
只要您已经进入并删除了命令中ifasd
明显令人困惑的部分。\MakeUppercase
\titleformat
这样写的想法\section
来自于@egreg对我的一个问题。