我想使用 LaTeX 创建任务列表。因此我创建了一个名为任务的定理。对于某些任务,我想使用字母编号创建额外的子定理。目前我的文档是:
\documentclass[11pt, british, a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[UKenglish]{babel}
\usepackage{amsthm}
\newtheorem{task}{Task}
\newtheorem{subtask}{Task}[task]
\begin{document}
\section{Tasks} % (fold)
\label{sec:number_1}
\begin{task}
Task 1
\end{task}
\begin{subtask}
Subtask 1
\end{subtask}
\begin{subtask}
Subtask 2
\end{subtask}
% section number_1 (end)
\end{document}
得出的结果为:
- 任务1。
- 任务 1.1。
- 任务 1.2。
我的目标是像这样的输出:
- 任务1。
- 任务 1.a)
- 任务 1.b)
和 subsubtasks (我不知道这个词是否存在):
- 任务 1.aa)
- 任务 1.ab)
amsthm
我该如何实现这一点?因为我从这个包开始,所以有可能实现这一点吗?
答案1
您必须重新定义子任务或子子任务的计数器输出方式。我使用了您的规范,\thetask.\alph{subtask})
其中\alph
输出与计数器值对应的字母,例如1->a
同样,\thesubsubtask
是定义的。 的命令\the...
总是被定义的,当注册一个新的计数器时,通常,它默认为\arabic{counter}
,即计数器值的阿拉伯数字输出。
编辑2014 年 6 月 5 日:添加了 task-theoremstyle 来删除定理编号的尾随点,即第 7 个点。\newtheoremstyle
必须将参数设置为{}
才能删除该点。
\documentclass[11pt, british, a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[UKenglish]{babel}
\usepackage{amsthm}
\newtheoremstyle{tasks}{3pt}{3pt}{}{}{\bfseries}{}{.5em}{}
\theoremstyle{tasks}
\newtheorem{task}{Task}
\newtheorem{subtask}{Task}[task]
\newtheorem{subsubtask}{Subtask}[subtask]
% Store for later usage, if needed.
\let\OriginalTheSubTask\thesubtask%
\let\OriginalTheSubSubTask\thesubsubtask%
\renewcommand{\thesubtask}{\thetask.\alph{subtask})}
\renewcommand{\thesubsubtask}{\thetask.\alph{subtask}.\alph{subsubtask})}
\begin{document}
\section{Tasks} % (fold)
\label{sec:number_1}
\begin{task}
Task 1
\end{task}
\begin{subtask}
Subtask 1
\end{subtask}
\begin{subsubtask}
Subsubtask 1
\end{subsubtask}
\begin{subtask}
Subtask 2
\end{subtask}
\begin{subsubtask}
Subsubtask 1
\end{subsubtask}
% section number_1 (end)
\end{document}