我想定义一个定理样式,其中有一个换行符和不同的符号作为定理标题(没有括号 () )。如下例所示:
\documentclass[10pt,a4paper]{article}
\newtheorem{mytheo}{Theorem Title}
\begin{document}
\begin{mytheo}[Theorem]
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod.
\end{mytheo}
\end{document}
此代码产生:
我如何扩展定理定义以便在定理标题后有一个换行符并且标题周围有“<” ">”符号而不是“(” “)”?
编辑
- 已添加工作示例。
- 我希望编译后的文档中的标题
[Theorem]
为 而不是 (Theorem) 并且在标题后有一个换行符
答案1
标准内核\newtheorem
有点太基础了。我建议你使用 或amsthm
(ntheorem
目前为止,处理定理类结构的最流行的软件包)。
以下是使用新定理样式实现所需格式的一种方法,该定理样式使用amsthm
包(在评论中要求将正文用斜体表示):
代码:
\documentclass[10pt,a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage{amsthm}
\usepackage{textcomp}
\newtheoremstyle{angularbreak}
{\topsep}
{\topsep}
{\normalfont\itshape}
{0pt}
{\bfseries}
{}
{\newline}
{\thmname{#1}~\thmnumber{#2}\thmnote{ \textlangle#3\textrangle}}
\theoremstyle{angularbreak}
\newtheorem{mytheo}{Theorem}
\begin{document}
\begin{mytheo}[Fundamental Theorem of Algebra]
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod.
\end{mytheo}
\end{document}
如果你决定选择ntheorem
:
\documentclass[10pt,a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage{ntheorem}
\usepackage{textcomp}
\makeatletter
\newtheoremstyle{angularbreak}
{\item[\rlap{\vbox{\hbox{\hskip\labelsep \theorem@headerfont
##1\ ##2\theorem@separator}\hbox{\strut}}}]}%
{\item[\rlap{\vbox{\hbox{\hskip\labelsep \theorem@headerfont
##1\ ##2\ \textlangle##3\textrangle\theorem@separator}\hbox{\strut}}}]}
\makeatother
\theoremstyle{angularbreak}
\theorembodyfont{\itshape}
\newtheorem{mytheo}{Theorem}
\begin{document}
\begin{mytheo}[Fundamental Theorem of Algebra]
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod.
\end{mytheo}
\end{document}
这也是同样的想法thmtools
作为前端amsthm
(现在用户界面更加友好):
\documentclass[10pt,a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage{amsthm}
\usepackage{thmtools}
\usepackage{textcomp}
\declaretheoremstyle[
spaceabove=\topsep,
spacebelow=\topsep,
headfont=\normalfont\bfseries,
notefont=\bfseries,
notebraces={\textlangle}{\textrangle},
bodyfont=\normalfont\itshape,
postheadspace=\newline,
headpunct={},
]{angularbreak}
\declaretheorem[style=angularbreak,name=Theorem]{mytheo}
\begin{document}
\begin{mytheo}[Fundamental Theorem of Algebra]
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod.
\end{mytheo}
\end{document}
结果: