Text nach chapter/section/... einrücken

Layout von Seiten, Rändern, Fusszeilen, usw, modifizieren


noerf

Text nach chapter/section/... einrücken

Beitrag von noerf »

Moin,

ich habe für meine Abschlussarbeit folgende Vorgabe bekommen:

Jede Gliederungsebene ist etwas weiter eingerückt als die übergeordnete Ebene.

Als Beispiel:
1 Überschrift
Lorem ipsum dolor sit amet, consetetur
sadipscing elitr At vero eos et accusam
et justo duo dolores et ea rebum.

    1.1 nächste Ebene
    Lorem ipsum dolor sit amet, consetetur
    sadipscing elitr At vero eos et accusam
    et justo duo dolores et ea rebum.

        1.1.1 dritte Ebene
        Lorem ipsum dolor sit amet,
        consetetur sadipscing elitr At vero
        eos et accusam et justo duo dolores
        et ea rebum.
Natürlich kann ich mit \begin{addmargin} ... \end{addmargin} einrücken, würde das aber gerne allgemein für chapter\section\usw definieren.

Hat jemand einen Vorschlag?

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

Beitrag von Johannes_B »

Kannst du uns bitte ein Minimalbeispiel zur Verfügung stellen? So mit sehen wir wenigstens die Dokumentklasse und können mögliche Lösungen sofort testen.

Mal davon abgesehen, halte ich von dieser Vorgabe nicht sonderlich viel.
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.

noerf

Beitrag von noerf »

Sorry, wollte ich eigentlich gleich schon mitschicken.
Ob die Vorgabe sinnvoll ist oder nicht durfte ich leider nicht entscheiden, schließe mich da aber deiner Meinung an...

\documentclass[12pt, a4paper]{scrreprt}
\usepackage{blindtext}

\setcounter{secnumdepth}{5}
\setcounter{tocdepth}{5}

\begin{document}

\tableofcontents

\newpage

\chapter{chapter}
\blindtext
\section{section}
\blindtext
\subsection{subsection}
\blindtext
\subsubsection{subsubsection}
\blindtext
\paragraph{paragraph}
\blindtext
\subparagraph{subparagraph}
\blindtext

\end{document}

Noch so einer

Beitrag von Noch so einer »

Problem dabei ist, dass die Gliederungsbefehle keine Umgebungen sind. Man könnte natürlich \leftskip dafür missbrauchen:
\documentclass[12pt, a4paper]{scrreprt}
\usepackage{blindtext}
\usepackage{etoolbox}

\setcounter{secnumdepth}{5}
\setcounter{tocdepth}{5}

\newcommand*{\chapterindent}{0pt}
\newcommand*{\sectionindent}{1em}
\newcommand*{\subsectionindent}{2em}
\newcommand*{\subsubsectionindent}{3em}
\newcommand*{\paragraphindent}{4em}
\newcommand*{\subparagraphindent}{5em}

\preto\chapter{\par\setlength{\leftskip}{\chapterindent}}
\preto\section{\par\setlength{\leftskip}{\sectionindent}}
\preto\subsection{\par\setlength{\leftskip}{\subsectionindent}}
\preto\subsubsection{\par\setlength{\leftskip}{\subsubsectionindent}}
\preto\paragraph{\par\setlength{\leftskip}{\paragraphindent}}
\preto\subparagraph{\par\setlength{\leftskip}{\subparagraphindent}}
\renewcommand*{\othersectionlevelsformat}[3]{%
  \ifstr{#1}{paragraph}{}{%
    \ifstr{#1}{subparagraph}{}{%
      {\normalsize\normalfont\hspace{\csname #1indent\endcsname}}%
    }%
  }#3\autodot\enskip
}
\begin{document}

\tableofcontents

\newpage

\chapter{chapter}
\blindtext
\section{section}
\blindtext
\subsection{subsection}
\blindtext
\subsubsection{subsubsection}
\blindtext
\paragraph{paragraph}
\blindtext
\subparagraph{subparagraph}
\blindtext

\end{document}
Allerdings ergibt das dann ein Problem mit diversen Umgebungen, namentlich allen Listen-Umgebungen, die ihrerseits \leftskip auf einen bestimmten Wert setzen. Die müsste man dann so umdefinieren, dass sie keinen festen Wert verwenden, sondern einen Wert zum aktuell gültigen Wert addieren. Das macht einige Arbeit.

\preto ist in der Anleitung zu etoolbox erklärt. \othersectionlefelsformat und \ifstr sind in der KOMA-Script-Anleitung zu finden.

noerf

Beitrag von noerf »

Danke erstmal, werde mich da mal einlesen.

Antworten