linksbündig und parindent

Schriftbild, Absätze und Auflistungen einstellen


MoonKid
Forum-Meister
Forum-Meister
Beiträge: 690
Registriert: Sa 30. Jun 2012, 11:56

linksbündig und parindent

Beitrag von MoonKid »

Ich muss (Studiengangsvorgabe) meinen Text linksbündig und ohne Silbentrennung machen. Das erreiche ich scheinbar gut mit \flushleft.

Das wiederum deaktiviert aber vollständig die Einrückung der Absätze.

Ich muss die erste Zeile jeden Absatzes um 0,5cm einrücken. Wie bekomme ich das hin?

Bei diesem Code ist \flushleft deaktivert. Nebenbei fällt auf, dass auch ohne \flushleft beim aller ersten Absatz die erste Zeile nicht eingerückt wird.
\documentclass{scrartcl}
\usepackage{xltxtra}
\defaultfontfeatures{Mapping=tex-text}
\usepackage{polyglossia}
\setdefaultlanguage[spelling=new]{german}

% -- Absatzeinrückung --
\setlength{\parindent}{0,5cm}

\begin{document}
%\flushleft % linksbündig, ohne Silbentrennung

% -- Dokument --
\section{Die Grundrechte}
Die Würde des Menschen ist unantastbar. Sie zu achten und zu schützen ist Verpflichtung aller
staatlichen Gewalt.

Das Deutsche Volk bekennt sich darum zu unverletzlichen und unveräußerlichen Menschenrechten als
Grundlage jeder menschlichen Gemeinschaft, des Friedens und der Gerechtigkeit in der Welt.

Die nachfolgenden Grundrechte binden Gesetzgebung, vollziehende Gewalt und Rechtsprechung als
unmittelbar geltendes Recht.
\end{document}
Also kurz: Ich muss jede erste Zeile eines jeden Absatzes einrücken und alles linksbündig ohne Silbentrennung haben.
XeLaTeX, TeX Live, vim-latexsuite

Benutzeravatar
Johannes_B
Moderator
Moderator
Beiträge: 5079
Registriert: Do 1. Nov 2012, 14:55
Kontaktdaten:

Beitrag von Johannes_B »

flushleft ist eine Umgebung, raggedright ist ein Schalter, welcher hier besser geeignet ist.
Dieser Schalter setzt allerdings den parindent auf \z@, deine Längeneinstellung wird also überschrieben. Abhilfe schafft hier das Ändern der Reihenfolge.

BTW: Parindent dient zur Kennzeichnung von Absätzen. Standardmäßig wird nach Überschriften nicht eingerückt, da der Beginn eines neues Absatzes impliziert wird.
\documentclass{scrartcl}
\usepackage{xltxtra}
\usepackage{blindtext}
\defaultfontfeatures{Mapping=tex-text}
\usepackage{polyglossia}
\setdefaultlanguage[spelling=new]{german}

\begin{document}
\raggedright 
\setlength{\parindent}{0,5cm}

\Blinddocument
\end{document}
Empfehlenswerter wäre allerdings das globale Patchen, somit arbeitest du auf der sicheren Seite:
\usepackage{etoolbox}
\makeatletter
\patchcmd{\raggedright}{\z@}{1em}{}{}
\makeatother
Möglich wäre natürlich auch die Definition eines eigenen Befehls
\newcommand{\myraggedright}{\raggedright\setlength{\parindent}{1em}}
.

Wie du sicherlich bemerkst, verwende ich als Länge 1em. Der Absatzeinzug ist somit abhängig von der Schriftgröße.


PS: Bevor du die Vorgaben brav überträgst, versuch doch bitte bitte bitte deine Vorgesetzten von einem besseren Layout zu überzeugen. Wenn ich auf das Ergebnis schaue laufen mir kalte Schauer über den Rücken.
TeXwelt - Fragen und Antworten Schaut vorbei und stellt Fragen.
LaTeX-Vorlagen?

Der Weg zum Ziel: Ruhe bewahren und durchatmen, Beiträge und unterstützende Links aufmerksam lesen, Lösungsansätze verstehen und ggf. nachfragen.

Stamm-

Re: linksbündig und parindent

Beitrag von Stamm- »

MoonKid hat geschrieben:Ich muss (Studiengangsvorgabe) meinen Text linksbündig und ohne Silbentrennung machen. […] Ich muss jede erste Zeile eines jeden Absatzes einrücken und alles linksbündig ohne Silbentrennung haben.
Das sind Vorgaben, die man berechtigterweise in Frage stellen darf und nicht ohne Hinterfragung hinnehmen sollte. Jemand, der solche Vorgaben verfasst, sollte sich fragen, ob er ein größeres Dokument in dieser Machart über längere Zeit durchgehend lesen kann.

MoonKid
Forum-Meister
Forum-Meister
Beiträge: 690
Registriert: Sa 30. Jun 2012, 11:56

Beitrag von MoonKid »

Johannes_B hat geschrieben:flushleft ist eine Umgebung, raggedright ist ein Schalter, welcher hier besser geeignet ist.
Dieser Schalter setzt allerdings den parindent auf \z@, deine Längeneinstellung wird also überschrieben. Abhilfe schafft hier das Ändern der Reihenfolge.
Das verstehe ich. So gehts (fast).
Johannes_B hat geschrieben:BTW: Parindent dient zur Kennzeichnung von Absätzen. Standardmäßig wird nach Überschriften nicht eingerückt, da der Beginn eines neues Absatzes impliziert wird.
Der erste Absatz nach der Überschrift wird weiterhin nicht eingerückt. Typographie interessiert meine Dozenten (und auch APA) nicht (s.u.). Ich muss wirklich alle Absätze einrücken.
Wie kann ich den nach der Überschrift auch noch einrücken?
Johannes_B hat geschrieben:Empfehlenswerter wäre allerdings das globale Patchen, somit arbeitest du auf der sicheren Seite:
\usepackage{etoolbox}
\makeatletter
\patchcmd{\raggedright}{\z@}{1em}{}{}
\makeatother
In wiefern ist das sicherer? Was könnte bei der ersten Lösung schief gehen?
Johannes_B hat geschrieben:PS: Bevor du die Vorgaben brav überträgst, versuch doch bitte bitte bitte deine Vorgesetzten von einem besseren Layout zu überzeugen. Wenn ich auf das Ergebnis schaue laufen mir kalte Schauer über den Rücken.
Das hab ich aufgegeben. Welche Argumente soll ich da nehmen? Typographie ist eine Wissenschaft von der meine Dozenten nix wissen. Ich kämpfe seit 2,5 Jahren. Da nimmt mich keiner Ernst.
Sie wollen nur APA auf ihren Studiengang stempeln können, weil das ja so professioneller erscheint. :D
Und nebenbei verkomplizieren sie die Kiste noch mehr, in dem sie noch eigenen Regeln zu ihrem APA dazubacken. Grauenhaft.
Aber seht es mal positiv: Auch wenn ich es im Studiengang vorerst nicht umsetzen darf, lerne ich durchaus eine Menge über Typografie und werde es zur Rechten Zeit anwenden und auch bei meinen eigenen Studenten in der Zukunft berücksichtigen. ;)
XeLaTeX, TeX Live, vim-latexsuite

Benutzeravatar
Johannes_B
Moderator
Moderator
Beiträge: 5079
Registriert: Do 1. Nov 2012, 14:55
Kontaktdaten:

Beitrag von Johannes_B »

Indent first paragraph after section

Eine Lösung bietet das Paket indentfirst.



Zum Thema globale Lösung:

Du möchtest feste Vorgaben für das Layout umsetzen, musst aber davon ausgehen, dass die Nutzer deiner Vorlage/Templates andere Dinge im Kopf haben als eine Dokumentation zu lesen. Betrachte das folgende Beispiel:
\documentclass{scrartcl}
\usepackage{xltxtra}
\usepackage{blindtext}
\usepackage{indentfirst}
\defaultfontfeatures{Mapping=tex-text}
\usepackage{polyglossia}
\setdefaultlanguage[spelling=new]{german}

\usepackage{etoolbox}
\makeatletter
\patchcmd{\raggedright}{\z@}{1em}{}{}
\makeatother
\begin{document}
\raggedright 
\setlength{\parindent}{2cm}

\Blinddocument

\raggedright
\Blinddocument
\end{document}
Wie du siehst, ist nach dem erneuten aufruf von \raggedright die initiale Einstellung hergestellt. Der Nutzer müsste also erneut die Länge \parindent setzen. Es wird nun an zwei verschiedenen Stellen des selben Dokumentes das Layout festgelegt.


Natürlich solltest du deine Nutzer nicht mit dem darunterliegenden Code konfrontieren:
\begin{filecontents}{MoonkidApa.sty}
\RequirePackage{etoolbox}
\RequirePackage{indentfirst}
\patchcmd{\raggedright}{\z@}{1em}{}{}
\AtBeginDocument{\raggedright}
\end{filecontents}
\documentclass{scrartcl}
\usepackage{xltxtra}
\usepackage{blindtext}
\defaultfontfeatures{Mapping=tex-text}
\usepackage{polyglossia}
\setdefaultlanguage[spelling=new]{german}
\usepackage{MoonkidApa}

\author{Moonkid und Johannes\_B}
\date{\today}
\title{nur ein Beispiel}
\begin{document}
\maketitle
\Blinddocument
\end{document}
TeXwelt - Fragen und Antworten Schaut vorbei und stellt Fragen.
LaTeX-Vorlagen?

Der Weg zum Ziel: Ruhe bewahren und durchatmen, Beiträge und unterstützende Links aufmerksam lesen, Lösungsansätze verstehen und ggf. nachfragen.

sudo
Forum-Guru
Forum-Guru
Beiträge: 459
Registriert: Mi 3. Okt 2012, 11:32

Beitrag von sudo »

Schau auch mal auf TeXWelt rein. Da hat Student eine Frage zu dem Thema gepostet.
Ein vollständiges Minimalbeispiel (VM) zu erzeugen, ist gar nicht schwer und hilft ganz oft, Fehler selber zu finden. Ohne bekommt man selten gute Antworten. Anleitungen findest du z.B. im golatex Wiki auf TeXWelt oder minimalbeipiel.de
Außerdem hilft das Lesen dieser Seite, Fragen richtig zu stellen.

MoonKid
Forum-Meister
Forum-Meister
Beiträge: 690
Registriert: Sa 30. Jun 2012, 11:56

Beitrag von MoonKid »

Johannes_B hat geschrieben:Eine Lösung bietet das Paket indentfirst.
Thx. Thats it.
Johannes_B hat geschrieben:Zum Thema globale Lösung: ...
Das machts heller! :)
Mal wieder ein dickes Danke für eure Geduld.
Johannes_B hat geschrieben:musst aber davon ausgehen, dass die Nutzer deiner Vorlage/Templates andere Dinge im Kopf haben als eine Dokumentation zu lesen
Klingt nach nem Nutzertyp wie mir! :D
XeLaTeX, TeX Live, vim-latexsuite

MoonKid
Forum-Meister
Forum-Meister
Beiträge: 690
Registriert: Sa 30. Jun 2012, 11:56

Beitrag von MoonKid »

Hab hier noch n Problem in Kombi mit \blockquote (csquotes package).

blockquote{} wird mehr als nur meine definierten 0,5cm eingerückt - vermutlich doppelt. Dabei scheint es unerheblich zu sein, ob der Block innerhalb eines Absatzes (dann wäre doppeltes Einrücken sinnvoll und erwünscht) auftaucht, oder als eigener Absatz behandelt wird.

Der Code zur mycode-Umgebung stammt aus diesem Thread
http://www.golatex.de/block-quotes-mit- ... 12333.html

\documentclass{scrartcl}

\usepackage{xltxtra}
\defaultfontfeatures{Mapping=tex-text}
% -- Sprache --
\usepackage{polyglossia}
\setdefaultlanguage[spelling=new]{german}
%\usepackage[ngerman]{babel}

% -- Absatzeinrückung --
% http://www.golatex.de/viewtopic,p,56119.html
\usepackage{etoolbox}
\makeatletter
\patchcmd{\raggedright}{\z@}{0,5cm}{}{} % \raggedright Neudefiniton
\makeatother
\usepackage{indentfirst} % ersten Absatz auch einrücken

% -- Block-Zitate --
\usepackage[thresholdtype=words,threshold=19]{csquotes}
\newenvironment{myquote}
{\quote\sffamily\textooquote}
{\unskip\textcoquote\endquote}
% `csquotes' sagen, dass es statt `quote' `myquote' verwenden soll:
\SetBlockEnvironment{myquote} 

\begin{document}
Text Text Text Text Text Text Text Text Text Text Text
Text Text Text Text Text Text Text Text Text Text
\blockquote{Die nachfolgenden Grundrechte binden Gesetzgebung, vollziehende Gewalt und Rechtsprechung
als unmittelbar geltendes Recht. Die nachfolgenden Grundrechte binden Gesetzgebung, vollziehende
nachfolgenden Grundrechte binden Gesetzgebung, vollziehende Gewalt und Rechtsprechung als unmittelbar}
\end{document}
XeLaTeX, TeX Live, vim-latexsuite

Benutzeravatar
Johannes_B
Moderator
Moderator
Beiträge: 5079
Registriert: Do 1. Nov 2012, 14:55
Kontaktdaten:

Beitrag von Johannes_B »

Die quote- und quotation-Umgebungen sind intern Listen und werden von parindent nicht berührt. Stattdessen greift die Länge leftmargini.

Im Folgenden wird eine Länge myparindent eingeführt, welche dann global von raggedright und myquote verwendet wird.
\documentclass{scrartcl}

\usepackage{xltxtra}
\defaultfontfeatures{Mapping=tex-text}
\usepackage{polyglossia}
\setdefaultlanguage[spelling=new]{german}

% http://www.golatex.de/viewtopic,p,56119.html
\usepackage{showframe}
\usepackage{etoolbox}
\makeatletter

\newlength{\myparindent}%neue Länge 'myparindent'
\setlength{\myparindent}{4.5cm}%setzen der Länge
\patchcmd{\raggedright}{\z@}{\myparindent}{}{} 
%Absatzeinzug auf 'myparindent'
\makeatother
\usepackage{indentfirst} 

\usepackage[thresholdtype=words,threshold=19]{csquotes}
\newenvironment{myquote}%
{\setlength{\leftmargini}{\myparindent}%Einrückung von quotes 
\quote\sffamily\textooquote}
{\unskip\textcoquote\endquote}
\SetBlockEnvironment{myquote}

\usepackage{blindtext}
\begin{document}
\raggedright
\blindtext
\blockquote{Die nachfolgenden Grundrechte binden Gesetzgebung, vollziehende Gewalt und Rechtsprechung
als unmittelbar geltendes Recht. 

Die nachfolgenden Grundrechte binden Gesetzgebung, vollziehende
nachfolgenden Grundrechte binden Gesetzgebung, vollziehende Gewalt und Rechtsprechung als unmittelbar}
\begin{itemize}
	\item hallo du
	\item \blindtext
\end{itemize}
\end{document}
TeXwelt - Fragen und Antworten Schaut vorbei und stellt Fragen.
LaTeX-Vorlagen?

Der Weg zum Ziel: Ruhe bewahren und durchatmen, Beiträge und unterstützende Links aufmerksam lesen, Lösungsansätze verstehen und ggf. nachfragen.

MoonKid
Forum-Meister
Forum-Meister
Beiträge: 690
Registriert: Sa 30. Jun 2012, 11:56

Beitrag von MoonKid »

Sehr g..l! Danke!

Wie lange muss man eigentlich leben, damit man solche Dinge weiß?
Ohne euch wäre ich nie in der Lage LaTeX brauchbar einzusetzen. THX!!!

EDIT: Nur der Vollständigkeit halber erwähne ich hier noch, dass ich den Code für das Blockzität modifiziert habe. Bei Verwendung des optionalen cite-Parameters wurde das letzte Anführungszeichen nicht korrekt gesetzt.
Zuletzt geändert von MoonKid am Fr 24. Jan 2014, 23:55, insgesamt 1-mal geändert.
XeLaTeX, TeX Live, vim-latexsuite

Antworten