自定义定理风格环境

自定义定理风格环境

我使用 LaTeX 为法学院排版笔记和案例摘要。到目前为止,我已经为每个案例使用定理样式的布局thmtools。这是一个最小的工作示例:

\documentclass[a4paper]{report} 
\usepackage{amsthm,thmtools}
\theoremstyle{plain}
\newtheorem{theorem}{Theorem}[section]
\theoremstyle{definition}
\newtheorem{case}[theorem]{Case}
\renewcommand{\listtheoremname}{List of cases}

\begin{document}
\listoftheorems[ignoreall,show={case}]
\chapter{1}
\begin{case}[name=Case name]

\textbf{Facts}: foo.

\textbf{Issue}: bar.

\textbf{Rule}: foobar.

\textbf{Analysis}: fob.

\textbf{Conclusion}: bor.
\end{case}
%repeat ad nauseum
\end{document}

具体问题

  1. 由 LaTeX 宏构造和定义的案例:对于每种情况来说,打字\textbf{Facts}和其余的工作都是乏味的。有没有办法定义一个专门的定理类环境来简化问题?例如,我对该moderncv包有点熟悉,我知道命令中的六个括号\cventry{}{}{}{}{}{}可以用不同的格式填充不同的信息。是否可以定义一些类似的定理类环境,例如,我可以在其中执行\case{Case name}{foo.}{bar.}{foobar.}{fob.}{bor.}并获得与我的 MWE 中相同的输出?如果可以,我该如何定义这个环境?

  2. 病例表:如果可以的话,那么是否可以打印一个案例名称列表,并将括号中的内容附加到每个案例中?现在我有\listoftheorems[ignoreall,show={case}]一份案例列表。但我更希望有一个案例列表,foo.其中每个案例都附加了括号中的内容。这可能吗?

答案1

你可以从以下几点开始:

在此处输入图片描述

\documentclass{report}
\usepackage[margin=1in]{geometry}% Just for this example
\makeatletter
\newcommand{\printcases}{\@starttoc{cse}}
\newcommand{\l@case}{\@dottedtocline{1}{0em}{1.5em}}
\makeatother
\newcommand{\case}[6]{%
\addcontentsline{cse}{case}{#1: #2}
\begin{description}
  \item[Case]: #1
  \item[Facts]: #2
  \item[Issue]: #3
  \item[Rule]: #4
  \item[Analysis]: #5
  \item[Conclusion]: #6
\end{description}
}
\begin{document}
\chapter{A chapter}
% \case{<name>}{<facts>}{<issue>}{<rule>}{<analysis>}{<conclusion>}
\case{Case name}{foo.}{bar.}{foobar.}{fob.}{bor.}
\case{Case name}{bar.}{bar.}{foobar.}{fob.}{bor.}
\case{Case name}{baz.}{bar.}{foobar.}{fob.}{bor.}

\printcases
\end{document}

每个案例都case使用(列表式)环境进行设置description,允许在页面边界处将其拆分(如果需要)。此外,每个案例名称和页码都写入 ToC 类文件(扩展名.cse)并使用 进行打印\printcases

相关内容