![使用 scrartcl 类自定义标题/计数器](https://linux22.com/image/354822/%E4%BD%BF%E7%94%A8%20scrartcl%20%E7%B1%BB%E8%87%AA%E5%AE%9A%E4%B9%89%E6%A0%87%E9%A2%98%2F%E8%AE%A1%E6%95%B0%E5%99%A8.png)
我想使用该类重新创建以下行为scrartcl
:
\documentclass{article}
\usepackage{titlesec}
\titleformat{\section}{}{Aufgabe \thesection}{1em}{}
\titleformat{\subsection}[runin]{}{\alph{subsection})}{1em}{}
\begin{document}
\section{}
\subsection{}
\end{document}
然后看起来像这样:
我无论如何也没有找到使用 KOMA 级(scrartcl
准确地说)实现相同目标的方法,因此我采取了以下做法:
\documentclass{scrartcl}
\begin{document}
\section*{Aufgabe 1}
\subsection*{a)}
\end{document}
这是可行的,因为我们只讨论 3-5 页长的作业,而且我不需要目录,但它当然非常不像 LaTeX,当我这样做时,我的一部分感觉快要死了。
答案1
\documentclass{scrartcl}
\renewcommand{\thesubsection}{\alph{subsection}}
\renewcommand*\sectionformat{Aufgabe \thesection}
\renewcommand*\subsectionformat{\thesubsection)\hspace*{1em}}
\RedeclareSectionCommand[afterskip=0pt]{subsection}
\setkomafont{section}{\rmfamily\mdseries}
\setkomafont{subsection}{\rmfamily\mdseries}
\begin{document}
\section{}
\subsection{}
Blub
\end{document}
更新:另一种方法是枚举:
\documentclass{scrartcl}
\usepackage{enumitem}
\usepackage{needspace}
\newcounter{aufgabecnt}
\newenvironment{aufgabe}{
\needspace{3\baselineskip}\bfseries Aufgabe \stepcounter{aufgabecnt}\theaufgabecnt:\mdseries\nopagebreak
\begin{enumerate}[label={\alph*)}]
}{\end{enumerate}}
\begin{document}
\begin{aufgabe}
\item Test
\item Test
\end{aufgabe}
\end{document}
这种方法使用包needspace
来防止分页(有点\nopagebreak
棘手)。