goLaTeX - Mein LaTeX-Forum

Mein LaTeX-Forum


Login  | Registrieren
Direktlinks:
Zuletzt aktive Beiträge
Unbeantwortete Beiträge
[Erweitert]

Forenstatistik:
Beiträge: 99938
Top-Poster: Johannes_B (5060)

Wir begrüßen unseren neuesten Benutzer b.niewidok@yahoo.de.

Links:


Mit Unterstützung von DANTE e.V.: Deutschsprachige Anwendervereinigung TeX. Danke den Mitgliedern!





Forum
      Option
[Erweitert]
  • Diese Seite weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Absatzeinzug am Seitenbeginn unterdrücken

 

Verena
Forum-Anfänger
Forum-Anfänger

Beiträge: 37
Anmeldedatum: 18.11.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.07.2019, 14:19     Titel: Absatzeinzug am Seitenbeginn unterdrücken
  Antworten mit Zitat      
Liebe alle,

ich weiß, dass es furchtbar aussieht, aber ich muss für einen Verlag Folgendes formatieren: Die erste Zeile eines neuen Absatzes wird normalerweise um 0.5cm eingerückt.
Dies soll lt. Verlag nicht der Fall sein, wenn der Absatzbeginn mit einem neuen Seitenbeginn zusammenfällt.

Ich habe zwei Lösungen gefunden:

(1) \appendtoks \noindentation \to \everybeforepagebody
==> Fehlermeldung: Undefined control sequence

(2) Sowie eine Lösung mit \everypar

Beide zu finden hier: https://tex.stackexchange.com/quest.....t-line-on-a-page-in-latex


Da die Antworten schon von 2011 sind, frage ich mich, ob es inzwischen eine bessere Lösung gibt?
\noindent wäre die Not-Lösung, aber dafür müsste ich das Dokument dann händisch durchgehen............

Danke für eure Hilfe!


Und hier noch das Minimalbsp.:

Code

\documentclass[10pt, numbers=noenddot]{scrbook}

%Hier das, was meine Absätze betrifft.
\fontsize{10}{12}\selectfont % Schriftgrad 10pt, Zeilenabstand 12pt
\setparsizes{1cm}{0pt}{0pt plus 1fil} %regelt Abstand in Absätzen -> Einzug, Abstand oben, Abstand unten

\begin{document}
 
Hier steht viel Text.

Hier steht ein neuer Absatz, der zufällig mit einem Seitenbeginn zusammenfällt (das heißt nicht über einen Befehl).
 

\end{document}
 
Private Nachricht senden Benutzer-Profile anzeigen

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.07.2019, 18:04     Titel:
  Antworten mit Zitat      
Die erste Lösung erfordert ConTeXt (wie übrigens auch in der entsprechenden Antwort angegeben).

Die Verwendung von \everypar funktioniert in LaTeX nur sehr begrenzt. Man kann das lokal für kurzzeitige Änderungen verwenden. Da aber LaTeX selbst ebenfalls bei verschiedenen Gelegenheiten Gebrauch davon macht, überdauert es nicht alle LaTeX-Umgebungen. Eine richtig gute, vollautomatische Lösung könnte daher durchaus einige Probleme aufwerfen. Immerhin könnte man bei der Lösung mit \everypar noch testen, ob die beiden Makros für die Seitenummern bereits definiert sind und nur dann den Test vornehmen, um die Fehlermeldungen bei \ifnum beim Hinzufügen weiterer Absätze zu vermeiden.

Die folgende Lösung versucht, das Problem mit \everpar dadurch zu lösen, dass es immer wieder \everypar aufruft, kann aber auch nicht alle Probleme lösen:
Code
\documentclass{article}
\usepackage{afterpage}
\usepackage{blindtext}
\usepackage{refcount}

\newcounter{parnumber}
\makeatletter
\AtBeginDocument{%
  \@setpar{%
    \edef\thisbegin@pageref{\pageref{par:begin:\theparnumber}}%
    \stepcounter{parnumber}%
    \edef\nextstart@pageref{\pageref{par:begin:\theparnumber}}%
    \@@par
    \global\everypar{\label{par:begin:\theparnumber}\marginpar{\theparnumber}}%
    \ifx\thisbegin@pageref\nextstart@pageref
      \typeout{Nothing to do before \theparnumber}%
    \else
      \ifdim\pagetotal=\pagegoal
        \typeout{Do not indent \theparnumber}%
        \global\everypar{\hskip-\parindent\label{par:begin:\theparnumber}\marginpar{\theparnumber}}%
      \else
        \typeout{Nothing to do before \theparnumber}%
      \fi
    \fi
  }
  \everypar{\label{par:begin:\theparnumber}\marginpar{\theparnumber}}%
}
\AtEndDocument{\label{par:begin:\theparnumber}}% ugly heack
\makeatother

\begin{document}
Holla die Waldfee, was soll ich sagen, wozu dieser Unsinnstext dient?
Holla die Waldfee, was soll ich sagen, wozu dieser Unsinnstext dient?
Holla die Waldfee, was soll ich sagen, wozu dieser Unsinnstext dient?
\Blindtext[12]
Holla die Waldfee, was soll ich sagen, wozu dieser Unsinnstext dient?
Holla die Waldfee, was soll ich sagen, wozu dieser Unsinnstext dient?
Holla die Waldfee, was soll ich sagen, wozu dieser Unsinnstext dient?
Holla die Waldfee, was soll ich sagen, wozu dieser Unsinnstext dient?
Holla die Waldfee, was soll ich sagen, wozu dieser Unsinnstext dient?

\Blindtext[5]
\end{document}

Die \marginpar-Anweisungen dienen nur der einfacheren Kontrolle. Am Ende wären sie natürlich (ebenso wie die \typeout-Anweisungen) zu entfernen.

Verena
Forum-Anfänger
Forum-Anfänger

Beiträge: 37
Anmeldedatum: 18.11.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.07.2019, 09:29     Titel:
  Antworten mit Zitat      
Leider habe ich die Lösung in meinem Dokument noch nicht zum Laufen gebracht, aber danke vielmals für Deine Mühe! Ich versuche es weiter.
Private Nachricht senden Benutzer-Profile anzeigen

Neues Thema eröffnen Neue Antwort erstellen



Options and Permissions
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen
.

goLaTeX ist Teil der goForen
goForen.de goMATLAB.de goLaTeX.de


  Datenschutzerklärung | Impressum | FAQ | goLaTeX RSS Button RSS-Feed

Copyright © 2008 - 2019 goLaTeX.de