qedhere und die Beweisumgebung

Formelsatz für Mathematik, Naturwissenschaften und Technik


theo
Forum-Newbie
Forum-Newbie
Beiträge: 3
Registriert: Mi 25. Mai 2016, 22:31

qedhere und die Beweisumgebung

Beitrag von theo »

Hallo allerseits,
ich habe eine kleine Frage.
Wenn ich schreibe
\begin{proof}
\[1=1\]
\end{proof}
, dann habe ich das Problem, dass das qed-Symbol erst eine Zeile weiter unten als die Formel steht. Alternativ könnte ich auch schreiben
\begin{proof}
\[1=1\qedhere\]
\end{proof}
, was mein Problem löst.
Nun wäre ich froh, wenn ich mir eine Beweisumgebung basteln könnte, bei der ich nicht jedesmal \qedhere schreiben müsste, wenn ich in der letzten Beweiszeile eine Gleichung habe, sondern welche mir das automatisch macht.

Hat da jemand eine Idee?

Bartman
Forum-Meister
Forum-Meister
Beiträge: 2456
Registriert: Do 16. Jul 2009, 21:41
Wohnort: Hessische Provinz

Beitrag von Bartman »

Da Du kein Minimalbeispiel zeigst, kann das folgende Beispiel Dir weiterhelfen oder auch nicht.
\documentclass{scrartcl}

\usepackage[amsthm,thmmarks]{ntheorem}

\begin{document}
\begin{proof}
\[1=1\]
\end{proof}
\end{document}

theo
Forum-Newbie
Forum-Newbie
Beiträge: 3
Registriert: Mi 25. Mai 2016, 22:31

Beitrag von theo »

Danke für die Antwort!

Sorry, dass bei meinem ersten Beitrag ein Minimalbeispiel fehlte. Hier ist es:
\documentclass{article}

\usepackage {amsthm}

\begin{document}
\begin{proof}
\[1=1\]
\end{proof}
\end{document}
Das Beispiel von Dir funktioniert genau so, wie ich es mir vorgestellt hatte (d.h. das qed-Symbol auf derselben Zeile wie die Gleichung). Der Unterschied liegt offensichtlich daran, ob man amsthm verwendet oder ntheorem.
Ist es möglich, das Problem auch mit amsthm zu lösen?

Stamm-

Zwei Ansätze

Beitrag von Stamm- »

Mit »xparse« lässt sich eine Umgebung für eine Gleichung konstruieren, die nur verwendet werden muss, falls die Gleichung den Abschluss eines Beweises darstellt.
\documentclass[parskip=half,ngerman]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage{selinput}
\SelectInputMappings{
  adieresis={ä},
  germandbls={ß}
}
\usepackage{babel}
\usepackage{mathtools}
\usepackage{amsthm}

\usepackage{xparse}
\DeclareDocumentEnvironment{proofeqn}{}{\[}{\qedhere\]}

\begin{document}
  \begin{proof}[Beweis der Machbarkeit]
    \begin{proofeqn}
      \sum_{k=1}^{n} k = \frac{n(n+1)}{2}
    \end{proofeqn}
  \end{proof}
\end{document}
Ähnlich lässt sich das auch über einen Patch für \[ … \] mit »etoolbox« machen. Dann wäre jedoch jede unnummerierte Gleichung betroffen, die damit gesetzt wird. Als Alternative gäbe es dann aber noch die Umgebung equation*.
\documentclass[parskip=half,ngerman]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage{selinput}
\SelectInputMappings{
  adieresis={ä},
  germandbls={ß}
}
\usepackage{babel}
\usepackage{mathtools}
\usepackage{amsthm}

\usepackage{etoolbox}
\pretocmd{\]}{\qedhere}{}{}

\begin{document}
  \begin{proof}[Beweis der Machbarkeit]
    \[
      \sum_{k=1}^{n} k = \frac{n(n+1)}{2}
    \]
  \end{proof}
\end{document}
Bei Umgebungen für Theoreme und Ähnliches bietet »ntheorem« jedoch mehr Möglichkeiten.

theo
Forum-Newbie
Forum-Newbie
Beiträge: 3
Registriert: Mi 25. Mai 2016, 22:31

Beitrag von theo »

Ah super, vielen lieben Dank für Deine Antwort!

Antworten