![使 \section*{} 与考试类别兼容](https://linux22.com/image/263048/%E4%BD%BF%20%5Csection*%7B%7D%20%E4%B8%8E%E8%80%83%E8%AF%95%E7%B1%BB%E5%88%AB%E5%85%BC%E5%AE%B9.png)
我想重新定义\section*{}
命令,使部分标题左对齐。我实际上可以使用来实现它,\fullwidth{\section*{my section title}}
但您希望执行以下操作:
\renewcommand\section*{\fullwidth{\section*{#1}}}
这当然是行不通的。
答案1
由于exam
该类建立在article
,因此标准方法是
\makeatletter
\let\article@section\section
\renewcommand\section{\@ifstar\fullwidth@section\article@section}
\newcommand{\fullwidth@section}[1]{\fullwidth{\article@section*{#1}}}
\makeatother
在你的序言中。
答案2
我对@egreg 解决方案有疑问:像这样重新定义部分,引用部分的可能性就丢失了。
引用部分是指label
在任何部分之后使用,以及在代码中的任何位置使用ref
。这样做,??
无论你对代码进行多少次编译,你都只会得到。
我想到的解决方案是使用titlesec
包:
\usepackage{titlesec}
\titleformat*{\section}{\normalfont\Large\bfseries\fullwidth}
这种方法的缺点是您必须将\fullwidth
作为的最后一个元素titleformat
。
字幕也可以达到同样的效果(当然要进行适当的更改)。