linksbündig und parindent

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: linksbündig und parindent

von MoonKid » Fr 14. Mär 2014, 10:38

Ok, ich hab jetzt nochmal meine vorherigen Anforderungen aus diesem Thread in einem neuen Minibeispiel möglichst simpel zusammengefasst. So scheint es zu funktionieren.

Ich habe hier die Blockquote-Geschichte mit eingebaut, weil ich die Erfahrung gemacht hatte, dass sich beide Themen gegenseitig beeinflussen. Meine Verständnis nach dürfte das hier aber nicht passieren und tut es scheinbar auch nicht.
% rr.tex
%% - Zielanforderungen -
%% + linksbündig
%% + keine Silbentrennung
%% + erste Zeile JEDEN Absatzes einrücken (auch erste Zeile nach Überschrift!)
%% + komplexe Anforderungen an in-line- und block-Zitate

\documentclass[oneside]{scrartcl}

\usepackage{xltxtra}
\usepackage{polyglossia}
\setdefaultlanguage[spelling=new]{german}

\usepackage{scrlayer-scrpage}
\ihead{Mein Kurztitel}

% -- Absatzeinrückung --
\newlength{\myparindent}
\setlength{\myparindent}{0.5cm}
\usepackage{indentfirst}

% -- linksbündig ohne Silbentrennung --
\newcommand{\myraggedright}{%
    \raggedright%
    \setlength{\parindent}{\myparindent}}
\AtBeginDocument{\myraggedright}

% -- (Block)Quotes
% threshold=39: ab dem 40sten Wort greift das Blockzitat
\usepackage[thresholdtype=words,threshold=39]{csquotes}
\renewcommand{\mkblockquote}[4]{\textooquote#1#2\textcoquote#4#3.}
\newenvironment{myquote} {%
    \setlength{\leftmargini}{\myparindent} % Einrückung von quotes
    \quote\sffamily
    } {
    \unskip
    \endquote
    }
% `csquotes' sagen, dass es statt `quote' `myquote' verwenden soll:
\SetBlockEnvironment{myquote}

% -- Doc --
\usepackage{lipsum}
\begin{document}
\section{Direkte Zitate}
Dies ist ein inline-Zitat: \blockquote{bla bla bla}. Und am Ende steht noch n bisl mehr Text dran.
Grusselige Layoutvorgabe meiner Studiengangsleitung.

Neuer Absatz mit Text der über mehr als zwei Zeilen geht. Text der über mehr als zwei Zeilen geht.
Text der über mehr als zwei Zeilen geht. Text der über mehr als zwei Zeilen geht. \blockquote{Ein
    Blockquote welches mehr als 39 Wörter hat. bla bla bla bla bla bla bla bla bla bla bla bla bla bla
    bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla}

\section{Überschrift}
\lipsum
\end{document}

von Johannes_B » Fr 14. Mär 2014, 08:25

Ich war mir gar nicht bewusst, dass \raggedright so oft auch an anderer Stelle eingesetzt wird. Dann ist vom Patchen wirklich abzuraten.

von Besserwisser » Fr 14. Mär 2014, 08:04

Ich kann nur dringend davon abraten, \raggedright selbst zu patchen. Die Anweisung wird auch intern von Paketen verwendet und dabei wird natürlich erwartet, dass sie wie vom LaTeX-Kern bereitgestellt funktioniert. \raggedright ist eine eine zu grundlegende Anweisung als dass man sie einfach ändern sollte. Dann schon eher ragged2e verwenden und \RaggedRight entsprechend konfigurieren.

Und ja: scrlayer-scrpage verwendet, \raggedright, \centering und \raggedleft, um die drei Elemente der Kopf- und Fußzeile anzuordnen.
grep '\\raggedright' `kpsewhich scrlayer-scrpage.sty`
ergibt gleich 6 Treffer! In scrpage2 sind es sogar noch mehr! Aber auch in scrbook.cls sind es drei.

von MoonKid » Do 13. Mär 2014, 20:56

Den Thread muss ich mal wieder öffnen.

Im Zusammenhang dem Patchen von \raggedright ist mir ein Problem mit der Kopfzeile aufgefallen. Diese wird auch scheinbar eingerückt. Warum verstehe ich nicht so ganz. Wird hier etwa ein \raggedright aufgerufen?

Was aber auch auffällt ist, dass die Kopfzeile weiter eingerückt wird, als die erste Zeile im ersten Absatz. Da ist also noch mehr. Ein \noindent\ignorespaces in der Kopfzeile ändert auch nichts.
% head.tex
\documentclass[oneside]{scrartcl}

\usepackage{xltxtra}
\usepackage{polyglossia}
\setdefaultlanguage[spelling=new]{german}

\usepackage{scrlayer-scrpage}
\ihead{Mein Kurztitel}

\usepackage{etoolbox}
\newlength{\cmfapaparindent} %neue Länge 'cmfapaparindent'
\setlength{\cmfapaparindent}{0.5cm}%setzen der Länge 
\makeatletter
\patchcmd{\raggedright}{\z@}{\cmfapaparindent}{}{} % \raggedright Neudefiniton
\makeatother

\usepackage{lipsum}
\begin{document}
\lipsum
\end{document}

von Besserwisser » Mo 20. Jan 2014, 17:22

Das die beiden Umgebungen Listen sind, erfährt man auch schon aus der Tatsache, dass sie in der KOMA-Script-Anleitung im Abschnitt über Listen dokumentiert sind.

von Johannes_B » Mo 20. Jan 2014, 14:30

Ich wusste das auch nicht, ich hab das nur nachgeschaut. Man mussl halt bloß wissen, wo ;-)

In dem Fall: scrsouce.pdf

von MoonKid » Mo 20. Jan 2014, 13:46

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.

von Johannes_B » Mo 20. Jan 2014, 09:26

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}

von MoonKid » Sa 18. Jan 2014, 11:53

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}

von MoonKid » Mo 13. Jan 2014, 17:29

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

Nach oben