amsthm und umdefinierte proof-Umgebung mit zu viel Platz Thema ist als GELÖST markiert

Redefinition von Makros, Definition eigener Befehle sowie neuer Umgebungen


guy.brush

amsthm und umdefinierte proof-Umgebung mit zu viel Platz

Beitrag von guy.brush »

Hallo,

ich hatte es seit Monaten eigentlich für normal gehalten, aber jetzt habe ich es einmal überprüft und es scheint tatsächlich nicht normal zu sein. Ich rede vom Platz, den meine umdefinierte proof-Umgebung einfügt.

Ich nutze amsthm und nicht ntheorem (unter anderem, weil ich nicht wusste, wie exakt dieselbe q.e.d.-Box aus amsthm erzeugt wird und ich sie so nicht bei ntheorem verwenden konnte :) ...ein einfaches \square schien es nicht zu sein).

Ich hatte irgendwo im Netz die Definition gefunden der proof-Umgebung, ich verstehe sie allerdings fast nichts. Angeblich wäre dies die Definition, wie sie intern bei amsthm verwendet wird. Nun, dass kann so nicht der Fall sein, weil der Abstand ja zu groß ist zwischen vorherigem Text und dem "Beweis. [...]".

Hier ein Minimalbeispiel:
\documentclass[a4paper,11pt]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[babel,german=guillemets]{csquotes}
\usepackage[intlimits]{amsmath}
\usepackage{amssymb}
\usepackage{amsfonts}
\usepackage{amsopn}
\usepackage{amsthm}
\usepackage{mathtools}
\usepackage{dsfont}

\newtheorem{satz}{Satz}

% Anpassen der proof-Umgebung
% \makeatletter
% \renewenvironment{proof}[1][\bfseries\proofname]{\par
%   \pushQED{\qed}%
%   \rmfamily\ \topsep6\p@\@plus6\p@\relax
%   \trivlist
%   \item[\hskip\labelsep
%     \bfseries#1\@addpunct{:}]\ignorespaces
% }{%
%   \popQED\endtrivlist\@endpefalse
% }
% \makeatother

\begin{document}

% \maketitle

\section{Text}

\begin{satz}
  Dies ist ein Satz.
\end{satz}

\begin{proof}
  Dies ist ein Beweis.
\end{proof}



\end{document}
Wenn ihr den auskommentierten Teil einkommentiert, verlängert sich der Platz zwischen dem Satz und dem Beweis in der Ausgabe.

Ich frage mich jetzt folgendes:
  1. Wie lautet die eigentliche Definition der proof-Umgebung von amsthm? Und wie verändere ich sie nur dahingehend, dass eben "Beweis:" anstelle von "Beweis." erscheint?
  2. Ist es typographisch gesehen besser, den Mehrplatz zu haben oder doch lieber so, wie es das Paket amsthm eigentlich von Haus aus macht? Mein Bauchgefühl sagt mir, dass der Platz von Haus aus in Ordnung ist und der mit mehr Platz falsch.

Ich hoffe, ihr könnt mir helfen und etwas Licht ins Dunkel bringen :).


Viele Grüße,

\\ guy.brush

guy.brush™
Forum-Century
Forum-Century
Beiträge: 185
Registriert: So 8. Aug 2010, 19:43
Wohnort: Earth

Beitrag von guy.brush™ »

Also, jetzt weiß ich auch nicht mehr weiter. Ich kam auf die (glorreiche*) Idee, nach der amsth.sty Datei auf meinem Rechner zu suchen. Die proof-Umgebung ist tatsächlich so definiert. Also habe ich den Code daraus genommen, angepasst und siehe da, es geht.
\makeatletter
\renewenvironment{proof}[1][\proofname]{\par
  \pushQED{\qed}%
  \normalfont \topsep6\p@\@plus6\p@\relax
  \trivlist
  \item[\hskip\labelsep
%         \itshape
        \bfseries
    #1\@addpunct{:}]\ignorespaces
}{%
  \popQED\endtrivlist\@endpefalse
}
\makeatother
Aber ich sehe absolut keinen wirklichen Unterschied zu meiner Version, die ich oben gepostet habe. Ich konnte auch mit dem aus dem Forum hier erneut herauskopierten Code oben den Fehler reproduzieren. Bin ich nur blind? Woran könnte das liegen :??


Viele Grüße,

\\ guy.brush


* = glorreich deshalb, weil es schon fast peinlich ist, dass ich nicht sofort daran gedacht habe :D.
Arch Linux - KDE - TeXLive - Kile - \me = Advanced Newbie

Interessensschwerpunkte: Mathematik- und Formelsatz sowie mathematische (Mikro-)Typographie
Offenes Problem: negierte \xarrow-Pfeile beliebiger Länge

guy.brush™
Forum-Century
Forum-Century
Beiträge: 185
Registriert: So 8. Aug 2010, 19:43
Wohnort: Earth

Beitrag von guy.brush™ »

Hm, hat keiner eine Idee?

Oder hat jemand zumindest eine Idee, wo ich noch nachfragen könnte?
Arch Linux - KDE - TeXLive - Kile - \me = Advanced Newbie

Interessensschwerpunkte: Mathematik- und Formelsatz sowie mathematische (Mikro-)Typographie
Offenes Problem: negierte \xarrow-Pfeile beliebiger Länge

Benutzeravatar
bloodworks
Moderator
Moderator
Beiträge: 1425
Registriert: Mo 19. Jan 2009, 10:52
Wohnort: /dev/null

Beitrag von bloodworks »

Äh dir gehts um den Abstand? Also ich würde das deutlich mehr Absetzten (also min 1/2 baselineskip) und auf die Fette verzichten (Das mit dem Kursiv ist deutlich besser). Aber im Prinzip kann man das so machen.
\documentclass[a4paper,11pt]{scrartcl} 
\usepackage[T1]{fontenc} 
\usepackage[ngerman]{babel} 
\usepackage[intlimits]{amsmath} 
\usepackage{amssymb} 
\usepackage{amsfonts} 
\usepackage{amsopn} 
\usepackage{amsthm} 
\usepackage{mathtools} 

\newtheorem{satz}{Satz} 

\makeatletter 
\renewenvironment{proof}[1][\proofname]{%
%
\setlength{\topsep}{0pt}
   \pushQED{\qed}% 
   \normalfont %\topsep6\p@\@plus6\p@\relax 
   \trivlist 
   \item[\hskip\labelsep 
         \bfseries 
     #1\@addpunct{:}]\ignorespaces 
}{% 
   \popQED\endtrivlist\@endpefalse 
} 
\makeatother

\begin{document} 



\section{Text} 
TEst
\begin{satz} 
   Dies ist ein Satz. 
\end{satz} 
\noindent Test%
\begin{proof} 
   Dies ist ein Beweis.   \\ Dies ist ein Beweis.    Dies ist ein Beweis.    Dies ist ein Beweis.    Dies ist ein Beweis.    Dies ist ein Beweis.    Dies ist ein Beweis.    Dies ist ein Beweis. 
\end{proof}Danach 
\begin{satz} 
   Dies ist ein Satz. 
\end{satz} 


\end{document}
[1] Nützliche Webdokumente für Anfänger und Fortgeschrittene
[2]Minimalbeispiel | [3]FAQ
[4]Regelwerk | [5] Knigge
Wenn nicht anderst angegeben ist mein System: texlive 2012, pdflatex, x86-64, Snow Leopard utd.
Angehöriger der Liga zur Verwendung von texdoc
texdoc mathmode koma l2picfaq l2tabu lshort-en
Achtung: Aufforderungen ein Minimalbeispiel oder mehr Erklärungen zu einer Frage zu liefern sind keine persönlichen Angriffe. Sie dienen viel mehr dazu die Kommunikation zwischen Fragendem und potentiellen Helfern zu erleichtern und zu präzisieren.


guy.brush™
Forum-Century
Forum-Century
Beiträge: 185
Registriert: So 8. Aug 2010, 19:43
Wohnort: Earth

Beitrag von guy.brush™ »

Hallo :),

also primär geht es mir erst einmal darum, dass für mich beide Definitionen so gleich aussehen, als ob sie den identischen Output erzeugen sollten ... es aber lustigerweise nicht tun, da die eine Version mehr Platz erzeugt als die andere.

Diejenige, die weniger Platz erzeugt, ist dabei die Originalversion von amsthm, so wie die es sich gedacht haben.

Aufgefallen ist es mir, dass bei mir immer mehr Platz eingefügt worden ist, da die normalen amsthm-Umgebungen (z.B. \begin{satz} ... \end{satz}) viel weniger Platz einfügen und lediglich die proof-Umgebung aus dem Rahmen fällt.

Was ich nicht wollte, war kein Platz vor und nach dem Beweis. Da hast du mich falsch verstanden, denn das ist der Output ja von dem, was du gebastelt hast.

Hier einmal ein Beispiel der Abstände:
\documentclass[a4paper,11pt]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[babel,german=guillemets]{csquotes}
\usepackage[intlimits]{amsmath}
\usepackage{amssymb}
\usepackage{amsfonts}
\usepackage{amsopn}
\usepackage{amsthm}
\usepackage{mathtools}
\usepackage{dsfont}

\newtheorem{satz}{Satz}

% Anpassen der proof-Umgebung
\makeatletter
\newenvironment{proofabstand}[1][\bfseries\proofname]{\par
  \pushQED{\qed}%
  \rmfamily\ \topsep6\p@\@plus6\p@\relax
  \trivlist
  \item[\hskip\labelsep
    \bfseries#1\@addpunct{:}]\ignorespaces
}{%
  \popQED\endtrivlist\@endpefalse
}
\makeatother

\makeatletter
\newenvironment{proofkeinabstand}[1][\proofname]{\par
  \pushQED{\qed}%
  \normalfont \topsep6\p@\@plus6\p@\relax
  \trivlist
  \item[\hskip\labelsep
%         \itshape
        \bfseries
    #1\@addpunct{:}]\ignorespaces
}{%
  \popQED\endtrivlist\@endpefalse
}
\makeatother 

\begin{document}

% \maketitle

\section{Text}

% die proof-Umgebung, deren Definition ich aus dem Internet habe und komischerweise mehr Abstand einfügt
\begin{satz}
  Dies ist ein Satz.
\end{satz}

\begin{proofabstand}
  Dies ist ein Beweis. [Mit mehr Abstand.]
\end{proofabstand}

% die proof-Umgebung, deren Definition ich aus amsthm.sty kopiert und verändert habe
\begin{satz}
  Dies ist ein Satz.
\end{satz}

\begin{proofkeinabstand}
  Dies ist ein Beweis. [Mit gleich viel Abstand wie beim \frqq Original\flqq].
\end{proofkeinabstand}

% die originale proof-Umgebung (unverändert)
\begin{satz}
  Dies ist ein Satz.
\end{satz}

\begin{proof}
  Dies ist ein Beweis. [Das Original eben ;).]
\end{proof}

\end{document}
Und lustigerweise, gerade vor 13.42 Sekunden habe ich den Unterschied gefunden, warum die "proofabstand"-Variante mehr Abstand erzeugt. Es ist ein "\ " (mit Leerzeichen!) zu viel, direkt hinter dem "\rmfamily" in der 3. Zeile.


Zu kursiv vs. fett: Ja, in letzter Zeit überlege ich auch, ob ich "Beweis:" nicht doch kursiv schreiben soll, weil sonst etwas viel fett kommt. Den Doppelpunkt bevorzuge ich aber dennoch einem einfachen Punkt gegenüber.


Zum generellen Abstand: Wieso würdest du mehr Abstand zwischen Satz und Beweis wählen? Bei meinem hier geposteten Beispiel sieht man auch, dass die normalen amsthm-Umgebungen, wie "satz" nicht so viel Abstand haben.


Viele Grüße,

\\ guy.brush
Arch Linux - KDE - TeXLive - Kile - \me = Advanced Newbie

Interessensschwerpunkte: Mathematik- und Formelsatz sowie mathematische (Mikro-)Typographie
Offenes Problem: negierte \xarrow-Pfeile beliebiger Länge

Benutzeravatar
bloodworks
Moderator
Moderator
Beiträge: 1425
Registriert: Mo 19. Jan 2009, 10:52
Wohnort: /dev/null

Beitrag von bloodworks »

guy.brush™ hat geschrieben: Und lustigerweise, gerade vor 13.42 Sekunden habe ich den Unterschied gefunden, warum die "proofabstand"-Variante mehr Abstand erzeugt. Es ist ein "\ " (mit Leerzeichen!) zu viel, direkt hinter dem "\rmfamily" in der 3. Zeile.
Ist damit die Frage beantwortet?
Also der Abstand den amsthm macht halte ich für relativ gut.
Zur Fetten: Ich lese grade den Tschichold, der sich in den meisten Fällen gegen Fette ausspricht. Ich halte es hier auch für wenig Zielführend, eine Fette zu nehmen, da es den Lesefluss zu sehr unterbricht und das Auge auch schon "vorzeitig" dorthin zieht.
Zum Doppelpunkt: halte ich auch für besser, da es zumindest meinen Lesegewohnheiten mehr entspricht. Ich kenne dafür keine allgemeine Regel, aber für mich bedeutet der : hier gehts weiter.
[1] Nützliche Webdokumente für Anfänger und Fortgeschrittene
[2]Minimalbeispiel | [3]FAQ
[4]Regelwerk | [5] Knigge
Wenn nicht anderst angegeben ist mein System: texlive 2012, pdflatex, x86-64, Snow Leopard utd.
Angehöriger der Liga zur Verwendung von texdoc
texdoc mathmode koma l2picfaq l2tabu lshort-en
Achtung: Aufforderungen ein Minimalbeispiel oder mehr Erklärungen zu einer Frage zu liefern sind keine persönlichen Angriffe. Sie dienen viel mehr dazu die Kommunikation zwischen Fragendem und potentiellen Helfern zu erleichtern und zu präzisieren.


guy.brush™
Forum-Century
Forum-Century
Beiträge: 185
Registriert: So 8. Aug 2010, 19:43
Wohnort: Earth

Beitrag von guy.brush™ »

Die ursprüngliche Frage ist damit beantwortet. Sobald das hier geklärt ist, setze ich den Status "auf beantwortet".

Was sagt Tschichold denn zu fett in den Überschriften? Gerade in der Mathematik folgen oft, besonders bei Skripten (also nicht kompletten Büchern) häufig Dinge wie "Satz", "Beweis", "Bemerkung", "Korollar", "Proposition", "Beweis", "Beispiel", etc. aufeinander.

Ich werde mal testweise auf kursiv umstellen, mal schauen, wie es mir gefällt :).

Ich denke, dass der Punkt nach "Beweis" daherkommt, dass oft auch "13 Lemma." oder "Lemma 13." geschrieben wird, gefolgt von einen \quad und dann kommt der Text. Dann wäre es einheitlich.

Eine ergänzende Frage noch: Weißt du vielleicht, warum amsthm (und ggf. auch ntheorem) Sätze und Co. automatisch komplett in kursiv setzt? Ich persönlich empfinde das als sehr unleserlich, also schlecht lesbar, und der Unterschied zu Variablen ist auch nicht mehr so groß.
Arch Linux - KDE - TeXLive - Kile - \me = Advanced Newbie

Interessensschwerpunkte: Mathematik- und Formelsatz sowie mathematische (Mikro-)Typographie
Offenes Problem: negierte \xarrow-Pfeile beliebiger Länge

Benutzeravatar
bloodworks
Moderator
Moderator
Beiträge: 1425
Registriert: Mo 19. Jan 2009, 10:52
Wohnort: /dev/null

Beitrag von bloodworks »

guy.brush™ hat geschrieben: Eine ergänzende Frage noch: Weißt du vielleicht, warum amsthm (und ggf. auch ntheorem) Sätze und Co. automatisch komplett in kursiv setzt? Ich persönlich empfinde das als sehr unleserlich, also schlecht lesbar, und der Unterschied zu Variablen ist auch nicht mehr so groß.
Also ich weiß es nicht. Ich würde eine Abweichen von der Grundschrift in Übereinstimmung mit Tschichold nur in einer Zeile akzeptieren. Wenn der Satz über mehrere Zeilen gehen soll, würde ich auf die Grundschrift zurück gehen. Ich würde das nur akzeptieren, wenn man eine optische Blockung erreichen möchte, in Verbindung mit Formeln.
Schau dir dazu das hier an:
\begin{satz} 
   Dies ist ein Satz, der nichts sagt. Gar nichts.  \begin{equation*}
   \int a=bcr
   \end{equation*}
   Super dieser Satz, oder nicht? 
\end{satz} 

\begin{proof} 
   Beweis, dass von nichts nichts kommt. \begin{equation*}
   \int a=bcr
   \end{equation*}
   Super dieser Proof, oder nicht? 
\end{proof} 
Ich würde sagen, dass die Zusammengehörigkeit innherhalb des Blockes bei der kursiven Variante deutlicher wird.
[1] Nützliche Webdokumente für Anfänger und Fortgeschrittene
[2]Minimalbeispiel | [3]FAQ
[4]Regelwerk | [5] Knigge
Wenn nicht anderst angegeben ist mein System: texlive 2012, pdflatex, x86-64, Snow Leopard utd.
Angehöriger der Liga zur Verwendung von texdoc
texdoc mathmode koma l2picfaq l2tabu lshort-en
Achtung: Aufforderungen ein Minimalbeispiel oder mehr Erklärungen zu einer Frage zu liefern sind keine persönlichen Angriffe. Sie dienen viel mehr dazu die Kommunikation zwischen Fragendem und potentiellen Helfern zu erleichtern und zu präzisieren.


guy.brush™
Forum-Century
Forum-Century
Beiträge: 185
Registriert: So 8. Aug 2010, 19:43
Wohnort: Earth

Beitrag von guy.brush™ »

Ich wollte hier ja auch noch kurz antworten und das Thema somit sozusagen abschließen ;).

Ich denke, dass eben gerade ein Satz oder Ähnliches mit dem Standard-amsthm-Stil hervorgehoben werden soll. Ich finde diesen Vorteil aber viel zu geringfügig im Vergleich zu dem Nachteil, dass man es wesentlich schlechter lesen kann.

Ich habe jetzt auch einmal "Beweis:" in kursiv statt fett ausprobiert ... ich glaube, dass das wirklich schöner ist und ich demnach so belassen werde. Ich habe mittlerweile auch die Kästen um Definitionen, Lemmata und Co. reduziert, ich verwende sie jetzt nur noch bei Sätzen und Theoremen (= besonders wichtige Sätze). Ich schreibe lediglich "Definition" in einem dunkelgrün und "Satz", "Lemma" und "Korollar" in einem dunklen rot noch, damit es beim Suchen etwas besser auffällt. Ich empfinde es bisher aber nicht als zu bunt. Das passiert eher dann, wenn das Skript nicht so super toll aufgebaut ist, man viele Grundlagen erst einmal schaffen muss oder eine Zusammenfassung von etwas Bekanntem gemacht wird.


Viele Grüße,

\\ guy.brush
Arch Linux - KDE - TeXLive - Kile - \me = Advanced Newbie

Interessensschwerpunkte: Mathematik- und Formelsatz sowie mathematische (Mikro-)Typographie
Offenes Problem: negierte \xarrow-Pfeile beliebiger Länge

Antworten