PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : amsthm proof ändern / umdefinieren



ProfessorChaos
29-01-2009, 19:54
Hi,

ich benutze amsthm für meine Sätze und Beweise. Ich würde gerne die Standard-Umgebung proof dahingehend anpassen, dass "Beweis" nicht mehr bloß kursiv dargestellt wird, sondern kursiv und fett. Weiß jemand, wie das geht? Hier ein entsprechendes Minimalbeispiel ("Beweis" ist hier nur kursiv).


\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage{amsthm}
\newtheorem{sen}{Satz}
\begin{document}

\begin{sen}\ \\
$42>0$
\end{sen}

\begin{proof}\ \\
trivial
\end{proof}

\end{document}

mechanicus
29-01-2009, 20:11
Hallo,

erstmal:

\documentclass{article}
\usepackage[ngerman]{babel}

\usepackage{amsthm}
\makeatletter
\renewenvironment{proof}[1][\bfseries\proofname]{\par
\pushQED{\qed}%
\normalfont \topsep6\p@\@plus6\p@\relax
\trivlist
\item[\hskip\labelsep
\itshape
#1\@addpunct{.}]\ignorespaces
}{%
\popQED\endtrivlist\@endpefalse
}
\makeatother
\newtheorem{sen}{Satz}
\begin{document}

\begin{sen}\ \\
$42>0$
\end{sen}

\begin{proof}\ \\
trivial
\end{proof}

\end{document}

ProfessorChaos
29-01-2009, 20:15
Hi,

wow, das hätte ich wohl niemals hinbekommen. :)
Ich kann den Code noch nicht einmal lesen.^^ Ich werde ihn irgend wann einmal auf seine Bedeutung auseinander nehmen. Im Augenblick soll mir seine Funktionalität genügen. :)

Danke !!

mechanicus
29-01-2009, 20:20
Hier mal geändert:


\documentclass{article}
\usepackage[ngerman]{babel}

\usepackage{amsthm}
\let\Proof=\proof
\let\endProof\endproof
\renewenvironment{proof}{\begin{Proof}[\bfseries\proofname]}{\end{Proof}}
%ERSTE ÄNDERUNG
%\makeatletter
%renewenvironment{proof}{\begin{Proof}[\bfseries\proofname]}{\popQED\endtrivlist\@endpefalse\end{Proof}}
%\makeatother
\newtheorem{sen}{Satz}
\begin{document}

\begin{sen}\ \\
$42>0$
\end{sen}
Text
\begin{proof}\ \\
trivial
\end{proof}
TExt geht weiter
\end{document}

Warum es vorher nicht funktionierte, muss ich noch ergründen.

Gruß
Marco

ProfessorChaos
29-01-2009, 20:23
So jetzt schöner: [...]
Ja, diesen Code kann ich tatsächlich leichter nachvollziehen. :)
Nochmals Danke für die Mühe!

ProfessorChaos
29-01-2009, 20:37
Mit der schönen Erweiterung fehlt das q.e.d.-Zeichen sowie der Zeilenumbruch am Ende der Beweisumgebung. Die kritische Zeile muss daher wiefolgt geändert werden:


\renewenvironment{proof}{\begin{PROOF}[\bfseries\proofname]}{\end{PROOF}\qed\ \\}

voss
29-01-2009, 20:44
So jetzt schöner:

\documentclass{article}
\usepackage[ngerman]{babel}

\usepackage{amsthm}
\let\PROOF=\proof
\renewcommand\proof{\PROOF[\bfseries\proofname]}
\newtheorem{sen}{Satz}
\begin{document}

\begin{sen}\ \\
$42>0$
\end{sen}

\begin{proof}\ \\
trivial
\end{proof}

\end{document}


weil man den ersten Teil der Umgebung ändert, kann man auch nur \proof
neu definieren. Aber deine Variante ist die LaTeX-gemäße ... wenn du auch
\let\endProof\endproof amchst.

Herbert

mechanicus
29-01-2009, 21:10
weil man den ersten Teil der Umgebung ändert, kann man auch nur \proof
neu definieren. Aber deine Variante ist die LaTeX-gemäße ... wenn du auch
\let\endProof\endproof amchst.

Herbert

Damit ergibt sich die logische Begründung meiner Änderung. DANKE Habe auch deinen Vorschlag verwendet.

Gruß
Marco