Anzeige:
Ergebnis 1 bis 8 von 8

Thema: amsthm proof ändern / umdefinieren

  1. #1
    Registrierter Benutzer Avatar von ProfessorChaos
    Registriert seit
    29.12.2007
    Ort
    Canberra (Australien)
    Beiträge
    89

    amsthm proof ändern / umdefinieren

    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).

    Code:
    \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}

  2. #2
    Registrierter Benutzer Avatar von mechanicus
    Registriert seit
    10.07.2008
    Ort
    Hamburg
    Beiträge
    3.944
    Hallo,

    erstmal:
    Code:
    \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}

  3. #3
    Registrierter Benutzer Avatar von ProfessorChaos
    Registriert seit
    29.12.2007
    Ort
    Canberra (Australien)
    Beiträge
    89
    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 !!

  4. #4
    Registrierter Benutzer Avatar von mechanicus
    Registriert seit
    10.07.2008
    Ort
    Hamburg
    Beiträge
    3.944
    Hier mal geändert:

    Code:
    \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
    Geändert von mechanicus (29-01-2009 um 21:13 Uhr)

  5. #5
    Registrierter Benutzer Avatar von ProfessorChaos
    Registriert seit
    29.12.2007
    Ort
    Canberra (Australien)
    Beiträge
    89
    Zitat Zitat von mechanicus Beitrag anzeigen
    So jetzt schöner: [...]
    Ja, diesen Code kann ich tatsächlich leichter nachvollziehen.
    Nochmals Danke für die Mühe!

  6. #6
    Registrierter Benutzer Avatar von ProfessorChaos
    Registriert seit
    29.12.2007
    Ort
    Canberra (Australien)
    Beiträge
    89
    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:

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

  7. #7
    Registrierter Benutzer Avatar von voss
    Registriert seit
    10.04.2005
    Beiträge
    5.045
    Zitat Zitat von mechanicus Beitrag anzeigen
    So jetzt schöner:
    Code:
    \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

  8. #8
    Registrierter Benutzer Avatar von mechanicus
    Registriert seit
    10.07.2008
    Ort
    Hamburg
    Beiträge
    3.944
    Zitat Zitat von voss Beitrag anzeigen
    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
    Geändert von mechanicus (29-01-2009 um 21:30 Uhr)

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •