
Mein Problem ist wie im Titel: Ich möchte die Schriftart \ttfamily verwendensystematisch nur in Beispielen, innerhalb von \documentclass{amsbook}. Ich mache das, weil ich auf diese Weise Beispiele vom umgebenden Text unterscheiden möchte.
Der ideale Weg sollte so etwas sein \newtheorem{example}[thm]{Example}[\ttfamily]
(was leider nicht funktioniert).
Antwort1
Eine schnelle und einfache Möglichkeit besteht darin, den „offiziellen“ Befehl zum Definieren eines neuen Theoremstils (der lautet \newtheoremstyle
) zu umgehen und einen Stil mit dem internen Befehl \th@somestyle
nur mit der Schriftarteinstellung zu definieren. Dies ähnelt beispielsweise der Definition des integrierten definition
Stils in der Quelle von amsthm
.
Teletype hat normalerweise feste Zeichenbreiten, daher sind die Zeilen normalerweise ungleichmäßig. Wenn Sie Blocksatztext wünschen, können Sie einige der Schriftgrößen ändern, siehehttp://texblog.net/latex-archive/plaintex/full-justification-with-typewriter-font/.
MWE:
\documentclass{amsbook}
\usepackage{amsthm}
\makeatletter
\def\th@example{%
\ttfamily % body font
\fontdimen2\font=0.4em% interword space
\fontdimen3\font=0.2em% interword stretch
\fontdimen4\font=0.1em% interword shrink
\fontdimen7\font=0.1em% extra space
}
\makeatother
\newtheorem{thm}{Theorem}
\theoremstyle{example}
\newtheorem{example}[thm]{Example}
\begin{document}
This is an example:
\begin{example}
An example can be short, or long, such as an entire line this is repeated a few times.
An example can be short, or long, such as an entire line this is repeated a few times.
An example can be short, or long, such as an entire line this is repeated a few times.
\end{example}
This is a theorem:
\begin{thm}
P is either short or long.
A theorem can be long, such as an entire line this is repeated a few times.
A theorem can be long, such as an entire line this is repeated a few times.
A theorem can be long, such as an entire line this is repeated a few times.
\end{thm}
\end{document}
Ergebnis: