Zusäzliches Einrücken bei figure- und Mathe-Umgebung

Fragen und Probleme, die nicht den obigen Kategorien zugeordnet werden können


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

Zusäzliches Einrücken bei figure- und Mathe-Umgebung

Beitrag von guy.brush™ »

Hallo,

mir ist aufgefallen, dass LaTeX in einem bestimmten Fall zusaetzlich einrueckt (weniger als ein \quad, vielleicht nur die Laenge eines gewoehnlichen Leerzeichens) zu Beginn einer Zeile. Mithilfe eines Minimalbeispiels konnte ich die Wirkung "bekaempfen" und den gewuenschten Status herstellen, allerdings ist mir die Ursache nicht wirklich klar und ich weiss nicht, ob es eine elegantere Loesung gibt ... denn jedes Mal bei einer figure-Umgebung den Zeileneinzug ueberpruefen zu muessen, ist schon etwas nervig.

Hier erst einmal der Code:

Code: Alles auswählen

\documentclass[a4paper,%
	       11pt,%
	       DIV=10]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage{tikz}
\usepackage{blindtext}

\begin{document}

\blindtext
\[
  a
   = b.
\]
\begin{figure}[!ht]
  \centering  
    \begin{tikzpicture}
      \draw (0,0) circle [radius=1.42];
    \end{tikzpicture}
  \caption{"Uberschrift}
  \label{fig:testfig}
\end{figure}
(Siehe dazu Abbildung~\ref{fig:testfig}.)
\blindtext

\clearpage

\blindtext
\[
  a
   = b.
\]
\begin{figure}
\end{figure}
(Siehe dazu Abbildung~\ref{fig:testfig2}.)
\blindtext

\clearpage

\blindtext
\[
  a
   = b.
\]
\begin{figure}
\end{figure}%
(Siehe dazu Abbildung~\ref{fig:testfig3}.)
\blindtext

\end{document}
Da es beim ersten Fall nicht so sehr auffaellt, habe ich es auf der zweiten Seite minimalistischer rekonstruiert. Auf der dritten Seite habe ich mittels eines "%" nach "\end{figure}" den zusaetzlichen Zeileneinzug verhindern koennen.

Ich konnte den Fehler jetzt nur rekonstruieren, indem ich direkt nach einer abgesetzten Mathe-Umgebung eine figure-Umgebung geoeffnet habe. Der Text nach der figure-Umgebung wird dann zusaetzlich ein wenig eingerueckt.

Wieso ist dem so? Wieso kann ich das mithilfe eines "%" loesen? Und wie kann man das ggf. eleganter loesen? Gibt es eine alles erschlagende Loesung, die man vielleicht irgendwo in die Praembel setzen kann?


Viele Gruesse,

\\ 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

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

Beitrag von guy.brush™ »

Ich wuerde das Thema gerne einmal bumpen :).
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 »

Hallo ich weiß es auch nicht, da es bei floats ohne Mathe davor nicht auftritt. Da ich auch keine Ideen in den einschlägigen Hilfsquellen gefunden habe, habe ich die Frage als "wichtig" gepinnt. Vll findet sich ja jemand ders weiß.
[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™ »

bloodworks hat geschrieben:Hallo ich weiß es auch nicht, da es bei floats ohne Mathe davor nicht auftritt. Da ich auch keine Ideen in den einschlägigen Hilfsquellen gefunden habe, habe ich die Frage als "wichtig" gepinnt. Vll findet sich ja jemand ders weiß.
Vielen Dank :).
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
cgnieder
Forum-Meister
Forum-Meister
Beiträge: 705
Registriert: Fr 22. Okt 2010, 18:37
Wohnort: Herrenberg
Kontaktdaten:

Beitrag von cgnieder »

Es ist wohl ein Zeilenende, das beim Einlesen in ein Leerzeichen geändert wird. Durch Einfügen des % wird das Zeilenende versteckt und auch nicht mehr in ein Leerzeichen umgewandelt.
So etwas passiert gerne mal bei selbst definierten Umgebungen, bei denen man vergisst, am Ende ein \ignorespaces einzufügen.

Wo diese Zeile in diesem Fall genau versteckt ist, weiß ich auch nicht, aber ich habe wenigstens eine Lösung für das Problem:
Einfach folgende zwei Zeilen in die Präambel einfügen:

Code: Alles auswählen

\usepackage{etoolbox}
\AfterEndEnvironment{figure}{\ignorespaces}
Gruß
Clemens

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

Beitrag von bloodworks »

Mhhm die Frage ist ja eigentlich aber, warum passiert das gerade in dieser Konstellation. Also einfach nur die figure macht das ja nicht. Zerbricht a vll irgendwas?
[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.


Benutzeravatar
cgnieder
Forum-Meister
Forum-Meister
Beiträge: 705
Registriert: Fr 22. Okt 2010, 18:37
Wohnort: Herrenberg
Kontaktdaten:

Beitrag von cgnieder »

Ich weiß es leider auch nicht, versuche dem aber auf den Grund zu gehen.
Clemens

rais
Forum-Guru
Forum-Guru
Beiträge: 392
Registriert: Di 21. Sep 2010, 00:37

Beitrag von rais »

cgnieder hat geschrieben:Es ist wohl ein Zeilenende, das beim Einlesen in ein Leerzeichen geändert wird. Durch Einfügen des % wird das Zeilenende versteckt und auch nicht mehr in ein Leerzeichen umgewandelt.
seh ich auch so. Hier eine etwas einfachere Konstellation:

Code: Alles auswählen

\documentclass{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}

\begin{document}
a%
\begin{figure}[!ht]
  \caption{foo}
\end{figure}
b

vs.

c%
\begin{figure}[!ht]
  \caption{bar}
\end{figure}%
d
\end{document}
MfG
Rainer
One of the joys of travel is visiting new towns and meeting new people---G.Khan (Robert Asprin, Another Fine Myth)

Benutzeravatar
cgnieder
Forum-Meister
Forum-Meister
Beiträge: 705
Registriert: Fr 22. Okt 2010, 18:37
Wohnort: Herrenberg
Kontaktdaten:

Beitrag von cgnieder »

Also hat die display-Umgebung offenbar nichts damit zu tun...
Clemens

Benutzeravatar
cgnieder
Forum-Meister
Forum-Meister
Beiträge: 705
Registriert: Fr 22. Okt 2010, 18:37
Wohnort: Herrenberg
Kontaktdaten:

Beitrag von cgnieder »

Angeblich ist das so, damit man die figure Umgebung innerhalb eines Absatzes schreiben kann:

Code: Alles auswählen

\documentclass{article}

\begin{document}

Das ist ein Absatz, der nach der \verb+figure+-Umgebung weitergehen wird.%
\begin{figure}
 figure 1
 \caption{caption 1}
\end{figure}
Hier geht der Absatz nahtlos weiter.

Das ist ein Absatz, der nach der \verb+figure+-Umgebung weitergehen sollte.%
\begin{figure}
 figure 2
 \caption{caption 2}
\end{figure}%
Hier geht der Absatz \emph{nicht} nahtlos weiter.

\end{document}
Ich weiß allerdings nicht, ob tatsächlich irgendjemand die figure-Umgebung wirklich nicht nur in einen Absatz sondern auch noch das Ende der vorigen Zeile auskommentiert. So ganz klar finde ich das noch nicht...
Clemens

Antworten