PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : jurabook - Zeilenumbruch in (sub)section-Überschrift, nicht ins Inhaltsverzeichnis



Dubpsy
03-02-2012, 14:07
Hallo zusammen!

Ich hatte mein Problem schon in einem bestehenden Thema gepostet - da es aber wohl ein jurabook-spezifisches Problem ist, hier nochmal als neues Thema!

Ich arbeite mit der Jurabook-Klasse und verwende Überschriften von \part bis \subsubsection... Die Kopfzeilen auf den linken Seiten enthalten die chapter-Überschrift, die auf den rechten Seiten die section-Überschrift. Das funktioniert an sich auch alles.

Zu lange section-Überschriften im Text verkürze ich für die Kopfzeile mit:

\section[Kurze Überschrift für Kopfzeile]{Überschrift ggf. mit Zeilenumbruch im Text}

Das funktioniert soweit gut. (Für die subsections ist das ja nicht notwendig, da diese nicht in der Kopfzeile auftauchen)


Allerdings führt die Methode auch zwangsläufig dazu, dass der Text in den {} 1 zu 1 ins Inhaltsverzeichnis übernommen wird - das ist mit einem Zeilenumbruch natürlich sehr unschön!

Für chapters (soll auch bei parts klappen) habe ich das Problem so gelöst:

\chapter[Kopfzeilentext][Überschrift ggf. mit Zeilenumbruch im Text]{Überschrift wie sie ins Inhaltsverzeichnis übernommen wird}

Das funktioniert aber leider nicht für \section und \subsection:mad:

Deshalb meine Frage: Weiß zufällig jemand, wie ich die (sub)section-Überschriften im Text umbrechen kann, ohne dass dieser Umbruch auch ins Inhaltsverzeichnis übernommen wird bzw. wie man für die section- und subsection-Überschriften ein zweites optionales Argument programmiert??

Vielen Dank!!

u_fischer
03-02-2012, 14:31
Gewöhn dir bitte an, Minimalbeispiele zu liefern.

Dubpsy
04-02-2012, 09:48
Das kann ich gerne machen bzw. versuchen - aber ist das in diesem Fall überhaupt hilfreich? Denn bei mir liegt ja kein Fehler vor, jurabook tut an sich genau das, was es soll...

hakaze hatte (im ersten Thema) ja schon darauf hingewiesen, dass jurabook die langen Überschriften (so wie sie im Text stehen) immer in das Inhaltsverzeichnis einfügt und das optionale Argument aller Gliederungsebenen nicht - wie in den LATEX-Klassen üblich - für die TOC-Kurzform genommen wird, sondern in *mark für die Kopfzeile umgebogen wird.

Da es bei jurabook aber für \part und \chapter ein zweites optionales Argument gibt, das dazu dient, die Überschrift im Text anzupassen, hatte ich die Hoffnung, dass man diese Möglichkeit auch irgendwie für \section und \subsection schaffen kann?!

rstuby
04-02-2012, 10:08
Mach bitte trotzdem ein Minimalbeispiel, wie sollen die Leute sonst Lösungsvorschläge testen?

rstuby
04-02-2012, 10:10
Oh, Moooment, ich hab hier noch eins, das wollte ich (mit einer anderen Dokumentklasse) als Gegenbeispiel verwenden, weil ich überlesen hatte, dass du jorabook benutzt:
\documentclass{jurabook}
\usepackage{url}
\usepackage[ngerman]{babel}
\begin{document}
\tableofcontents
\chapter[k1]{Kapitel 1}
\section[s1]{Abschnitt 1}
\subsection[sub1]{Unterabschnitt 1}
\end{document}

Dubpsy
04-02-2012, 10:34
Vielen Dank :)

Ich hab in das MB von rstuby mal meine Variante von oben für chapter eingefügt, damit deutlich wird, was ich erreichen will...
Auch habe ich die Optionen bei section und subsection weggelassen (die Option bei section behandelt die Kopfzeile)...


\documentclass{jurabook}
\usepackage[ngerman]{babel}
\begin{document}
\tableofcontents
\chapter[k1][Kapitel \\ 1]{Kapitel 1}
\section[{Abschnitt 1}
\subsection{Unterabschnitt 1}
\end{document}

rais
04-02-2012, 17:06
Moin moin,


Ich hab in das MB von rstuby mal meine Variante von oben für chapter eingefügt, damit deutlich wird, was ich erreichen will...

lies bitte nach, was ein MB (http://www.minimalbeispiel.de) überhaupt ist: imho soll ein MB (http://www.minimalbeispiel.de) Dein Problem demonstrieren, nicht mehr, aber auch nicht weniger.




\section[{Abschnitt 1}

dazu schreib ich besser nix.
Wie dem auch sei, gefrickelt hab ich auch schon:


\documentclass{jurabook}
\usepackage{url}
\usepackage[ngerman]{babel}
\DeclareRobustCommand*\mynl{\newline}
\begin{document}
\begingroup
\let\mynl\space
\tableofcontents
\endgroup
\chapter{Kapitel 1}
\section{Abschnitt 1\mynl mit manuellem Umbruch}
\end{document}

MfG

Dubpsy
05-02-2012, 14:04
Wie dem auch sei, gefrickelt hab ich auch schon:


\documentclass{jurabook}
\usepackage{url}
\usepackage[ngerman]{babel}
\DeclareRobustCommand*\mynl{\newline}
\begin{document}
\begingroup
\let\mynl\space
\tableofcontents
\endgroup
\chapter{Kapitel 1}
\section{Abschnitt 1\mynl mit manuellem Umbruch}
\end{document}



Schade, das funktioniert bei mir leider nicht... trotzdem danke!

Hat vielleicht jemand noch eine Idee, wie es klappen könnte die section-Überschrift im Text umzubrechen ohne dass dieser Umbruch ins Inhaltsverzeichnis übernommen wird und ich zugleich die Option für den verkürzten Kopfzeilentext behalte??

PS: Die [ war natürlich ein Flüchtigkeitsfehler...

u_fischer
05-02-2012, 14:33
Schade, das funktioniert bei mir leider nicht...

Seufz. Du lernst es nicht wie? Das Beispiel von Rainer funktioniert tadellos (und ich hätte die gleiche Lösung vorgeschlagen). Wenn es bei dir nicht geht, enthältst du uns mal wieder irgendwelche Informationen vor.

Also: 1. Mache immer ein Minimalbeispiel. 2. Schreibe nie einfach vage "das funktioniert nicht".

Dubpsy
05-02-2012, 15:20
Seufz. Du lernst es nicht wie?
Ich versuch mich zu bessern...


Das Beispiel von Rainer funktioniert tadellos (und ich hätte die gleiche Lösung vorgeschlagen). Wenn es bei dir nicht geht, enthältst du uns mal wieder irgendwelche Informationen vor.


Schreibe nie einfach vage "das funktioniert nicht".
Vielleicht war ich auch einfach nur zu blöd, um das in meine Dateien einzugeben... ich hatte das so verstanden, dass ich \DeclareRobustCommand*\mynl{\newline} vor \begin{document} und dahinter dann
\begingroup
\let\mynl\space
\tableofcontents
\endgroupin
in meine Hauptdatei einfüge.
Und dass ich dann, wenn ich eine Überschrift ändern will, \section{Abschnitt 1\mynl mit manuellem Umbruch} einsetze, wobei ich in die {} erst die Überschrift als Ganzes eingebe und nach \mynl mit dem gewünschten Umbruch... :confused::o
Ich würde dann näher beschreiben, was nicht funktioniert hat, wenn ich weiß, ob ich das Beispiel von Rainer überhaupt richtig verwendet hab!



Also: 1. Mache immer ein Minimalbeispiel.
Hier mein Minimalbeispiel (vorsichtshalber mit einem Literatureintrag, nicht dass jurabib wieder etwas damit zu tun hat):

\begin{filecontents*}{Lit.bib}
@COMMENTED{Palandt,
editor = {Otto Palandt},
title = {Bürgerliches Gesetzbuch},
shorttitle = {Bürgerliches Gesetzbuch},
address = {München},
year = 2011,
edition = 70,
}
\end{filecontents*}

\documentclass[compact,openany,overviewwithsec]{jurabook}
\usepackage[ngerman]{babel}
\usepackage[ansinew]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}

%für jurabook:
\usepackage{fancyhdr}
\usepackage{remreset}
\usepackage{multicol}

%für jurabase:
\usepackage{xspace}
\usepackage{calc}
\usepackage{ifthen}

\usepackage{jurabib}

\usepackage{ragged2e}
\juraenum

\begin{document}

\frontmatter

\title{Das hier ist ein Test}
\subtitle{der hoffentlich gelingt}
\author{Dubpsy}
\publishinfo{Datum}

\maketitle

\changestarchapters

\overview
\tableofcontents

\bibliography{Lit}
\bibliographystyle{jurabib}

\mainmatter

\part{Teil 1}

\chapter[Lange Kapitelüberschrift][Das ist eine lange\hnewline Kapitelüberschrift]{Das ist eine lange Kapitelüberschrift}
text text text\cite{Palandt}\\
text text text\\
text text text\\
text text text\\
text text text\\
text text text\\
text text text\\
text text text\\
text text text\\
text text text\\
text text text\\
text text text\\
text text text\\
text text text\\
text text text\\
text text text\\
text text text\\
text text text\\
text text text\\
text text text\\
text text text\\
text text text\\
text text text\\
\section[Lange Sectionüberschrift im Text]{Diese lange Sectionüberschrift soll im Text manuell umgebrochen werden aber nicht im Inhaltsverzeichnis}
text text text\\
text text text\\
text text text\\
text text text\\
text text text\\
text text text\\
text text text\\
text text text\\
text text text\\
text text text\\
text text text\\
text text text\\
text text text\\
text text text\\
text text text\\
text text text\\
text text text\\
text text text\\
text text text\\
text text text\\
text text text\\
text text text\\
text text text\\
text text text\\
text text text\\
text text text\\
text text text\\
text text text\\
text text text\\
text text text\\
\subsection{Und noch eine lange Subsectionüberschrift die im Inhaltsverzeichnis ohne Umbruch hier im Text aber mit manuellem Zeilenumbruch dargestellt werden soll}
text text text\\
text text text\\
text text text\\
text text text\\
text text text\\
text text text\\
text text text\\
text text text\\
text text text\\
text text text\\
text text text\\
text text text\\
text text text\\
text text text\\
text text text\\
text text text\\
text text text\\
text text text\\
text text text\\
text text text\\
text text text\\
text text text\\
text text text\\
text text text\\
text text text\\
text text text\\
text text text\\
text text text\\
text text text\\
text text text\\
text text text\\
text text text\\
\end{document}

Dubpsy
05-02-2012, 15:53
Ich nehme (fast) alles zurück und muss wohl zugeben, dass ich in Sachen Latex manchmal wirklich einfach zu doof bin... :o

Ich hab jetzt nochmal etwas experimentiert und wenn ich

\DeclareRobustCommand*\mynl{\newline} irgendwo in die Präambel schmeiße,

\begingroup
\let\mynl\space
\overview
\tableofcontents
\endgroup
nicht direkt nach \begin{document} einsetze sondern erst nach \maketitle einbaue (sonst ist meine Titelseite verschwunden) und \section[Kurzform]{Überschrift mit\mynl} eingebe, funktioniert es mit den manuellen Zeilenumbrüchen super!

Also vielen vielen Dank Rainer und Ulrike für die Hilfe und die Nerven, die ich euch gekostet habe!

Dubpsy
05-02-2012, 17:22
Rainers Lösung hat wirklich super geklappt! Nochmal 1000 Dank!:)

Allerdings habe ich bei 2 Überschriften das Problem, dass ich einen manuellen Zeilenumbruch mit einer manuellen Silbentrennung kombinieren muss (weil andernfalls über den Rand hinausgeschrieben und nicht getrennt wird)...

Ich kann natürlich schlecht Über"=\mynl schrift eingeben - das führt im Text zwar zur korrekten Trennung, aber die wird dann ja auch ins Inhaltsverzeichnis übernommen und das sieht denkbar blöd aus...

Also, was muss ich machen, damit die Problemlösung von Rainer auch bei manueller Silbentrennung und darauf folgendem manuellen Zeilenumbruch klappt?

Also zum Beispiel soll
Das ist eine sehr lange Überschrift
so getrennt werden, dass folgendes im Text entsteht:
Das ist eine sehr lange Über-
schrift


Nur zur Sicherheit ein MB:


\documentclass{jurabook}
\usepackage[ngerman]{babel}
\DeclareRobustCommand*\mynl{\newline}

\begin{document}

\frontmatter
\title{Test}
\maketitle
\begingroup
\let\mynl\space
\overview
\tableofcontents
\endgroup

\changestarchapters

\overview
\tableofcontents

\bibliography{Lit}
\bibliographystyle{jurabib}

\mainmatter
\chapter{Kapitel 1}
\section[Abschnitt 1]{Abschnitt 1 mit manuellem Umbruch\mynl der nach der manuellen Silbentrennung erfolgt}

\end{document}


MfG und allen einen schönen Abend!

u_fischer
05-02-2012, 18:18
Nun ich persönlich würde Trennung in Überschriften vermeiden. Aber wenn du es unbedingt willst: Definiere dir analog zu \mynl einen "\mytrennung"-Befehl, den du vor dem Inhaltsverzeichnis deaktivierst.

Dubpsy
05-02-2012, 18:45
Okay, ich probier das mal... wie deaktiviere ich den denn dann wieder??

PS: Ich weiß, Trennungen in Überschriften sind unschön, aber ein über den Rand hinausgeschriebenes Wort sieht noch schlimmer aus... :(

Dubpsy
05-02-2012, 19:03
Ich hab da jetzt mal was gebastelt und es scheint zu funktionieren... :)


\DeclareRobustCommand*\myst{-\newline}
\begin{document}
\begingroup
\let\myst\space
\overview
\tableofcontents
\endgroup
\section{Überschrift\myst mit Silbentrennung und Umbruch}
\end{document}

Gibt es für \myst{-\newline} noch eine bessere Variante?!?!

u_fischer
05-02-2012, 19:10
Gibt es für \myst{-\newline} noch eine bessere Variante?!?!

Bei derartigen Bastelbefehlen, die man nur an einer oder zwei Stellen braucht, kommt es auf Schönheit nicht an. Solange es funktioniert, ist es ok. Ich habe aber Zweifel, dass \myst im Inhaltsverzeichnis ein \space geben soll. Brauchst du nicht eher \let\myst\relax oder \newcommand\myst{}?

Dubpsy
05-02-2012, 19:34
Ja, mein myst braucht ein relax - danke!

Was ich aber gerad festgestellt hab - das ist mir bei \mynl gar nicht aufgefallen - ist folgendes:
Nach der perfekt generierten Inhaltsübersicht & Inhaltsverzeichnis bekomm ich noch vor dem Literaturverzeichnis 2 zusätzliche Seiten, die nur die Überschrift Inhaltsübersicht bzw. Inhaltsverzeichnis enthalten.

Kann das an dem Ort, an dem ich


\begingroup
\let\mynl\space
\overview
\tableofcontents
\endgroup

eingefügt habe, liegen?? Und wenn ja, wo ist der perfekte Ort dafür?

Dubpsy
05-02-2012, 19:58
Das "Problem" hat sich erledigt... ich Trottel hab vergessen die ursprünglichen Befehle \overview und \tableofcontents raus zunehmen... :o

Nochmal 1000 Dank für die Hilfe!!

ctansearch
05-02-2012, 22:16
Ich denke, daß dies einer der Fälle ist, bei dem man auch inhaltlich was dazu sagen muß.

Zur Form: Für mein Empfinden sollte eine Überschrift kleiner als \textwidth sein, in etwa 0.3 \textwidth. Vielleicht gibt es dazu sogar typografische Regeln. Sie sollte den Blick des Lesers in den Text fallen lassen, also deutlich vor \textwidth enden.
In jedem Fall soll eine Überschrift ein sehr kurzer Hinweis auf die Funktion des Abschnitts sein, eventuell mit einem sehr kurzen Ausblick auf den Inhalt. Alles, was darüber hinausgeht und vor dem Text bemerkt werden muß, kann als "Vorbemerkung" direkt hinter der Überschrift im fließenden Text aufgeführt werden, auch ohne eigenen Gliederungspunkt. (Als einfacher Text oder als \paragraph)


\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\begin{document}
\section{Seegraswiesen im Mittelmeer}
Seegraswiesen im Mittelmeer sind, trotz ihrer Schönheit, zu einem Problem
geworden. Die eintönige Landschaft am Meeresboden bedroht die Vielfalt des
marinen Lebens und das Leben verliert sich in einem weiten Grünland.
\subsection{Weites Grünland}
Große Flächen gleicher Farbe und gleichen Bewuchses faszinieren das Auge, aber diese Faszination ist nur Ausdruck eines begrenzten Interesses,
nämlich dessen, die eigene, bevorzugte Nahrung möglichst im Überfluss zu finden.
\vskip 50pt
\section{Seegraswiesen im Mittelmeer sind, trotz ihrer Schönheit, zu einem Problem
geworden. Die eintönige Landschaft am Meeresboden bedroht die Vielfalt des
marinen Lebens und das Leben verliert sich in einem weiten Grünland.}
\subsection{Weites Grünland}
Wie bereits in der Überschrift gesagt \dots
\vskip 50pt
\tableofcontents
\end{document}