Ist es möglich, eckige Klammern im Hauptteil eines Theorems aufrecht erscheinen zu lassen – wenn man die Deklaration bodyfont=\mdseries\itshape
bei der Definition eines Theorems im Stil mit verwendet thmtools
?
Die Methode zur Verwendung des Pakets embrac
(Option „Theoremfont“ aus „newtxtext“ kopieren) funktioniert nicht, da es, wie in der Dokumentation angegeben, nur , , und embrac
betrifft, nicht aber oder .\emph
\textit
textsl
\itshape
\slshape
Insbesondere:Gibt es eine Möglichkeit, die Verwendung von \itshape
(oder \slshape
) zu vermeiden und dennoch Kursivschrift (bzw. Schrägschrift) im Hauptteil eines Theorems zu erhalten?wenn der Theoremstil mit ? definiert ist thmtools
(natürlich mit Ausnahme der gewünschten aufrechten Klammern).
Beispiel:
\documentclass{article}
\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{embrac}
\usepackage{thmtools}
\makeatletter
\declaretheoremstyle[
headfont= \sffamily\bfseries,
headpunct={\sffamily\bfseries.},
postheadspace=0.5em,
notefont=\sffamily\bfseries,
headformat=\NAME\NUMBER\let\thmt@space\@empty\NOTE,
bodyfont=\mdseries\itshape,
spaceabove=12pt,spacebelow=12pt,
]{thmstyle}
\makeatother
\theoremstyle{thmstyle}% default
\declaretheorem[name=Theorem,numberwithin=section]{theorem}
\begin{document}
\section{A section}
\begin{theorem}
Let $A$ and $B$ be subsets [see section 2] of a set $X$.Then
\[
X \setminus (A \cup B) = (X \setminus A) \cap (X \setminus B).
\]
\end{theorem}
\end{document}
Ich kenne die Antwort aufWie erhält man aufrechte Klammern im gesamten Dokument?, was, wie es heißt, Dinge kaputt machen wird.
Antwort1
Seit der Version 0.8 (01.10.2019) embrac
gibt es \embparen
für \embbracket
Fälle wie diesen:
\documentclass{article}
\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{embrac}
\usepackage{thmtools}
\makeatletter
\declaretheoremstyle[
headfont= \sffamily\bfseries,
headpunct={\sffamily\bfseries.},
postheadspace=0.5em,
notefont=\sffamily\bfseries,
headformat=\NAME\NUMBER\let\thmt@space\@empty\NOTE,
bodyfont=\mdseries\itshape,
spaceabove=12pt,spacebelow=12pt,
]{thmstyle}
\makeatother
\theoremstyle{thmstyle}% default
\declaretheorem[name=Theorem,numberwithin=section]{theorem}
\begin{document}
\section{A section}
\begin{theorem}
Let $A$ and $B$ be subsets \embbracket{see section 2} of a set $X$.Then
\[ X \setminus (A \cup B) = (X \setminus A) \cap (X \setminus B). \]
\end{theorem}
\end{document}
Antwort2
Wenn Sie bereit sind, auf wörtliches Material in Ihren Theoremen zu verzichten, können Sie den Hauptteil des Theorems mit embrac
dem \embrac_replace_brackets:N
Befehl verarbeiten.
\documentclass{article}
\usepackage{embrac}
\usepackage{amsthm,thmtools}
\ExplSyntaxOn
\cs_new_protected:Npn \murray_embrac_text:n #1
{
\tl_set:Nn \l__embrac_tmpa_tl {#1}
\embrac_replace_brackets:N \l__embrac_tmpa_tl
\l__embrac_tmpa_tl
}
\NewDocumentCommand { \embracifytheorem } { m }
{
\NewEnvironmentCopy { origenv_#1 } { #1 }
\RenewDocumentEnvironment { #1 } { o +b }
{
\IfNoValueTF{##1}
{\begin{origenv_#1}}
{\begin{origenv_#1}[##1]}
\murray_embrac_text:n { ##2 }
\end{origenv_#1}
}
{}
}
\ExplSyntaxOff
% you can adjust or remove these to your liking
\AddOpEmph{?}[0pt,1pt]
\AddOpEmph{!}[0pt,1pt]
\AddOpEmph{:}[0pt,1pt]
\makeatletter
\declaretheoremstyle[
headfont= \sffamily\bfseries,
headpunct={\sffamily\bfseries.},
postheadspace=0.5em,
notefont=\sffamily\bfseries,
headformat=\NAME\NUMBER\let\thmt@space\@empty\NOTE,
bodyfont=\mdseries\itshape,
spaceabove=12pt,spacebelow=12pt,
]{thmstyle}
\makeatother
\theoremstyle{thmstyle}% default
\declaretheorem[name=Theorem,numberwithin=section]{theorem}
\embracifytheorem{theorem}
\begin{document}
\section{A section}
\begin{theorem}
Let $A$ and $B$ be subsets [see section 2] of a set $X$.Then
\[
X \setminus (A \cup B) = (X \setminus A) \cap (X \setminus B).
\]
\end{theorem}
\end{document}