Seite 1 von 1
Text nach chapter/section/... einrücken
Verfasst: Do 10. Okt 2013, 11:12
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?
Verfasst: Do 10. Okt 2013, 11:17
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.
Verfasst: Do 10. Okt 2013, 11:26
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}
Verfasst: Do 10. Okt 2013, 12:03
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.
Verfasst: Do 10. Okt 2013, 15:03
von noerf
Danke erstmal, werde mich da mal einlesen.