
Я использую amsthm
пакет для определения definition
среды следующим образом:
\theoremstyle{definition}
\newtheorem{definition}{Definition}
К моему удивлению, здесь практически нет типографских указаний на то, где заканчивается определение и начинается последующий текст (есть новый абзац, но этого явно недостаточно, особенно когда определение заканчивается уравнением).
Что я могу сделать, чтобы сделать это более понятным? Я не хочу, чтобы текст определения был набран другим шрифтом, чем обычный текст. Может быть, определение, как и доказательство, должно заканчиваться на \qedsymbol
- как мне это добавить?
решение1
Theamsthm
не является лучшим сам по себе; однако,thmtools
предоставляет действительно удобный «интерфейс» для amsthm
и других пакетов теорем.
В частности, thmtools
включает в себя prefoothook
и postfoothook
который может быть использован для ваших нужд. Ниже приведен небольшой пример использования thmtools
в сочетании с amsthm
который завершает примеры с простой горизонтальной линией. Вы можете легко адаптировать это к вашим нуждам. Например, вы можете объединить это сtcolorbox
для действительно необычных коробок, или вы можете стереть текст справа «Конец примера».
\documentclass{article}
\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{thmtools}
\usepackage{lipsum}
\declaretheoremstyle[
headfont=\normalfont\scshape,
numbered=unless unique,
bodyfont=\normalfont,
spaceabove=1em plus 0.75em minus 0.25em,
prefoothook=\newline\rule{\linewidth}{1pt},
spacebelow=1em plus 0.75em minus 0.25em,
]{exmpstyle}
\declaretheorem[
style=exmpstyle,
title=Example,
refname={example,examples},
Refname={Example,Examples}
]{exmp}
\begin{document}
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut pustibulum ut,
placerat ac, adipiscing vitae, felis. Curabitur dictum uris. Nam arcu libero,
nonummy eget, consectetuer id, vulputate a, nec vehicula augue eu
neque. Pellentesque habitant morbi tristique t netus et malesuada fames ac
turpis egestas. Mauris ut leo.
\begin{exmp}
\lipsum*[1]
\end{exmp}
\lipsum[2-3]
\begin{exmp}
\lipsum*[4]
\end{exmp}
\end{document}
и вывод:
Приложение
Как отметил Caramdir и попросила Барбара Битон в комментариях, вот пример, который работает с уравнениями и использует эту qed
опцию:
\documentclass{article}
\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{thmtools}
\usepackage{lipsum}
\declaretheoremstyle[
headfont=\normalfont\bfseries\itshape,
numbered=unless unique,
bodyfont=\normalfont,
spaceabove=1em plus 0.75em minus 0.25em,
spacebelow=1em plus 0.75em minus 0.25em,
qed={\itshape That's All Folks!},
]{exmpstyle2}
\declaretheorem[
style=exmpstyle2,
title=Example,
refname={example,examples},
Refname={Example,Examples}
]{exmp2}
\begin{document}
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut pustibulum ut,
placerat ac, adipiscing vitae, felis. Curabitur dictum uris. Nam arcu libero,
nonummy eget, consectetuer id, vulputate a, nec vehicula augue eu
neque. Pellentesque habitant morbi tristique t netus et malesuada fames ac
turpis egestas. Mauris ut leo.
\begin{exmp2}
\lipsum*[1]
\end{exmp2}
\lipsum[2-3]
\begin{exmp2}
\lipsum*[4]
\begin{equation*}
\mathcal{L} = \overline \psi (i \gamma \cdot \partial - m) \psi
\qedhere
\end{equation*}
\end{exmp2}
\end{document}
который производит:
решение2
Я действительно не вижу в этом необходимости. Но раз уж вы спрашиваете,
\documentclass{article}
\usepackage{amsthm}
\usepackage{lipsum}
\theoremstyle{definition}
\newtheorem{defi/}{Definition}
\newenvironment{defi}
{\renewcommand{\qedsymbol}{$\heartsuit$}%
\pushQED{\qed}\begin{defi/}}
{\popQED\end{defi/}}
\begin{document}
\lipsum[2]
\begin{defi}
This is the definition of \emph{definition}.
\end{defi}
\lipsum[3]
\begin{defi}
This is the definition of recursion,
\[
x\gets x+1 \qedhere
\]
\end{defi}
\lipsum[2]
\end{document}
Я просто предполагаю, что у вас нет доказательств в определениях.
решение3
Thethmbox
упаковкаобеспечивает удобный способ отображения theorem
подобных сред.
Например, используя три предопределенных стиля, вы можете получить:
\documentclass{article}
\usepackage{mathtools}
\usepackage{thmbox} % Overrides \newtheorem command! See [nothm] to disable this feature.
\usepackage{lipsum} % Useless, just for the demo.
\newtheorem[S, bodystyle=\normalfont\noindent]{defiS}{Definition}[section]
\newtheorem[M]{defiM}{Definition}[section]
\newtheorem[L]{defiL}{Definition}[section]
\begin{document}
\section{My nice demo}
\begin{defiS}[Inverse of a relation]
Let \(R\) be a relation, \emph{the inverse of \(R\)} is
\[R^{-1} = \{(x,y) \mid (y, x) \in R\}\]
\end{defiS}
\lipsum[2] % Just for the demo
\begin{defiM}[Union]
Let \(R\) and \(S\) be relations, the \emph{union of \(R\) and \(S\)} is defined as
\[
R \cup S = \{(x, y) \mid (x,y) \in R \text{ or } (x,y) \in S\}
\]
\end{defiM}
\lipsum[1] % Just for the demo
\begin{defiL}[Graph of a function]
Let \(f\) be a fuction, the \emph{graph of \(f\)} is
\[
\langle f \rangle = \{(x, y) \mid f x = y\}
\]
\end{defiL}
\end{document}
Пожалуйста, отметьте, что:
- Я установил шрифт
normalfont
(т.е. не наклонный) только для первого примера (окружающая средаdefiS
), - Нумерация во всех трех случаях — 1.1, поскольку я использовал три разные среды (т. е.
defiS
,defiM
иdefiL
), но если вы будете придерживаться одной среды, то номера будут правильными (т. е. 1.1, 1.2, 1.3 и т. д.). - Я использовал только предопределенный стиль, но вы можете внести множество изменений.
решение4
Одним из решений является отступ (на заданную величину) всего доказательства и небольшая игра с размером шрифта. Вы можете рассмотреть следующее переопределение среды proof
:
\makeatletter
\renewenvironment{proof}[1][\proofname]{\par
\pushQED{\qed}%
\normalfont\small\topsep6\p@\@plus6\p@\relax
%\trivlist %%%% old
\list{}{\leftmargin=\parindent
\rightmargin=0pt
\settowidth{\itemindent}{\itshape#1}%
\labelwidth=\itemindent}
\item[\hskip\labelsep\itshape#1\@addpunct{.}]\ignorespaces
}{%
\popQED
%\endtrivlist %%OLD
\endlist %%NEW
\@endpefalse
}
\makeatother