你能帮我修复损坏的 Latex 类文件吗?

你能帮我修复损坏的 Latex 类文件吗?

所以我的博士学位即将结束,需要开始写我的论文。我的大学(康涅狄格大学)对文档格式有一定的指导方针,但没有官方的 LaTex 类文件。所以一个(现在是前)研究生写了一个非官方的。不幸的是,他们似乎破坏了 \chapter 以下所有内容的星号版本。我是 LaTex 的新手,但我注意到他们使用了

\newcommand\section{...}

代替

\def{\section}
...
\secdef\@section\@ssection

所以我认为问题出在这部分代码上。

\newcommand\section{\@startsection {section}{1}{\z@}%
    {-3.5ex \@plus -1ex \@minus -.2ex}%
    {2.3ex \@plus.2ex}%
    %{\if@center\centering\else\raggedright\fi
    {\raggedright
    \reset@font\s@font}
    }
\newcommand\subsection{\@startsection{subsection}{2}{\z@}%
    {-3.25ex\@plus -1ex \@minus -.2ex}%
    {1.5ex \@plus .2ex}%
    %{\if@center\centering\else\raggedright\fi
    {\raggedright
    \reset@font\ss@font}
    }
\newcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}%
    {-3.25ex\@plus -1ex \@minus -.2ex}%
    {1.5ex \@plus .2ex}%
    %{\if@center\centering\else\raggedright\fi
    {\raggedright
    \reset@font\sss@font}
    }
\newcommand\paragraph{\@startsection{paragraph}{4}{\z@}%
    {3.25ex \@plus1ex \@minus.2ex}%
    {-1em}%
    {\reset@font\pg@font}
    }
\newcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}%
    {3.25ex \@plus1ex \@minus .2ex}%
    {-1em}%
    {\reset@font\spg@font}
    }

总结:

\section*{title}  

无法正常工作并显示

1.1 *
标题

代替
标题
正如它应该。

根据上述代码我该如何修复这个问题?

答案1

哦,历史又重演了。不到两个月前,我们大学的一个人做了精确的同样的错误。

第六个参数之后有一个虚假的空格,TeX 在扫描命令时会将其标记化。当您尝试使用 时,这将导致错误 \section*。由于该空格已被标记化,因此您实际使用的是\section *,这会失败\@ifstar测试并且该部分将被编号。然后出现另一个测试:\@ifnextchar[,它也失败,因为下一个标记是*,因此命令继续抓取下一个标记作为部分标题,也就是说,您有一个*作为标题的 。最后,本应是该部分标题的内容只是被排版为文本。

定义应该包含行尾保护:

\newcommand\section{\@startsection {section}{1}{\z@}%
    {-3.5ex \@plus -1ex \@minus -.2ex}%
    {2.3ex \@plus.2ex}%
    %{\if@center\centering\else\raggedright\fi
    {\raggedright
    \reset@font\s@font}% <-- Here
    }
\newcommand\subsection{\@startsection{subsection}{2}{\z@}%
    {-3.25ex\@plus -1ex \@minus -.2ex}%
    {1.5ex \@plus .2ex}%
    %{\if@center\centering\else\raggedright\fi
    {\raggedright
    \reset@font\ss@font}% <-- Here
    }
\newcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}%
    {-3.25ex\@plus -1ex \@minus -.2ex}%
    {1.5ex \@plus .2ex}%
    %{\if@center\centering\else\raggedright\fi
    {\raggedright
    \reset@font\sss@font}% <-- Here
    }
\newcommand\paragraph{\@startsection{paragraph}{4}{\z@}%
    {3.25ex \@plus1ex \@minus.2ex}%
    {-1em}%
    {\reset@font\pg@font}% <-- Here
    }
\newcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}%
    {3.25ex \@plus1ex \@minus .2ex}%
    {-1em}%
    {\reset@font\spg@font}% <-- Here
    }

相关内容