平均能量损失

平均能量损失

我正在尝试将文档从一个类转换为另一个类。在原始类中,我能够使用 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对我的一个问题。

相关内容