Überschrift ist mit Text in einer Zeile Thema ist als GELÖST markiert

Schriftbild, Absätze und Auflistungen einstellen


Optimal

Überschrift ist mit Text in einer Zeile

Beitrag von Optimal »

Hallo liebe Latex-Community,

ich habe bei meinem Code das Problem, dass mein Fließtext in der gleichen Zeile steht, wie meine section und subsection. Dies trifft aber nicht für das chapter zu obwohl ich diese gleich formatiert habe.
\documentclass[12bp, a4paper, oneside]{scrreprt}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{blindtext}

%Überschriften
	%erste Ebene
\setkomafont{chapter}{\fontsize{14bp}{14bp}\selectfont\bfseries}
\RedeclareSectionCommand[%
  beforeskip=10pt,
  afterskip=0pt plus .1\baselineskip minus .167\baselineskip
]{chapter}
	%zweite Ebene	
\setkomafont{section}{\fontsize{12bp}{12bp}\selectfont\bfseries}
\RedeclareSectionCommand[%
  beforeskip=10pt,
  afterskip=0pt plus .1\baselineskip minus .167\baselineskip
]{section}
	%dritte Ebene
\setkomafont{subsection}{\fontsize{12bp}{12bp}\selectfont\bfseries}
\RedeclareSectionCommand[%
  beforeskip=10pt,
  afterskip=0pt plus .1\baselineskip minus .167\baselineskip
]{subsection}

\begin{document}
\Blinddocument
\end{document}

Benutzeravatar
KOMA
TeX-Entwickler
TeX-Entwickler
Beiträge: 2958
Registriert: Fr 4. Jul 2008, 17:28
Kontaktdaten:

Re: Überschrift ist mit Text in einer Zeile

Beitrag von KOMA »

Das liegt an Deinen Einstellungen bei \RedeclareSectionCommand. Bitte lies die Optionen in der Anleitung noch einmal genau nach. Wenn die Vorzeichen von afterskip und beforeskip keine Rolle spielen sollen, beachte die Optionen afterindent und runin sowie deren Voreinstellungen.

Übrigens: \usepackage[utf8]{inputenc} ist schon seit April 2018 überflüssig. Die Optionen a4paper und oneside sind schon immer Voreinstellung von scrreprt und daher ebenfalls überflüssig. Bei der Hauptsprache eines Dokuments empfehle ich außerdem, diese bereits bei \documentclass zu setzen. Das hilft, wenn andere Pakete sie ebenfalls auswerten.

Optimal

Re: Überschrift ist mit Text in einer Zeile

Beitrag von Optimal »

Wo finde ich denn eigentlich die ganzen Anleitungen von denen immer jeder redet. Wenn ich die Commands im Internet suche komme ich immer nur auf Forenseiten, aber nie wo genau steht, welche Eigenschaften die Commands haben und wie ich diese richtig anwende.

Sobald ich mein Sprachpaket entferne und dies in meine \documentclass integriere wird mein Blindtext in Latein ausgegeben und die Überschriften in Englisch.
\documentclass[12bp, ngerman]{scrreprt}
\usepackage[T1]{fontenc}
\usepackage{blindtext}

\begin{document}

\Blinddocument

\end{document}


Optimal

Re: Überschrift ist mit Text in einer Zeile

Beitrag von Optimal »

Okay das hilft mir schon einmal ein wenig weiter, aber woher weiß ich jetzt zu welchen Package das gehört? Kann man dies irgendwo nachgucken oder muss man das einfach wissen?
Falls man das wissen muss zu welchem Package gehört \RedeclareSectionCommand?

Danke schon im Voraus für die Antwort

ich meine ja nur

Re: Überschrift ist mit Text in einer Zeile

Beitrag von ich meine ja nur »

Naja, da du die KOMA-Script-Klasse scrreprt verwendest und sicher weder das Sprachpaket babel noch das überflüssiger Weise verwendete Eingabecodierungspaket inputenc noch das Schriftencodierungspaket fontenc noch das Blindtextpaket blindtext die Überschriften konfiguriert, wäre die Anleitung zu KOMA-Script sicher ein guter Einstieg. Theoretisch könnte \DeclareSectionCommand natürlich auch eine LaTeX-Kernanweisung sein, aber zum einen sind Überschriften eine Domäne der Klassen und zum anderen sollte man ohnehin irgendwann eine vollständige LaTeX-Einführung lesen, in der praktisch alle Benutzeranweisungen aus dem LaTeX-Kern zumindest angeschnitten werden. Wenn man die dann griffbereit hat, kann man im Index auch ganz schnell finden, ob der Befehl dort erklärt wird.

Außerdem hast du \RedeclareSectionCommand doch selbst in deinem Beispiel verwendet. Also gehen wir verständlicher Weise davon aus, dass du weißt, dass das eine KOMA-Script-Anweisung ist. Der Code ist ja hoffentlich nicht vom Himmel gefallen. Wenn doch, ist es immer von Vorteil, wenn man darauf aufmerksam macht, also beispielsweise die Quelle angibt. Das verleitet uns weniger dazu, von falschen Annahmen auszugehen.

Und noch ein Tipp am Rande: KOMA hat in seiner Signatur einige Links. Dabei auch den Link auf die KOMA-Script-Homepage. Wenn man dort \RedeclareSectionCommand eingibt, findet man einige interessante Seiten dazu. Und im KOMA-Script Wiki findet man ebenfalls diverse weitreichend erklärte Beispiele zu Überschriften. Natürlich gibt es dort auch ein Wie die Anleitung zu KOMA-Script-Klassen und -Paketen zu finden ist. So etwas gibt es übrigens auch in den Wichtige Hinweise und Vorabhilfen für dieses Unterforum. Die gibt es übrigens in fast jedem Forum hier auf auf goLaTeX angepasst an das jeweilige Forum.

Optimal

Re: Überschrift ist mit Text in einer Zeile

Beitrag von Optimal »

Danke für die Antwort.
Naja das meiste habe ich nur durch die Suche im Internet rausgefunden und da wurde das meist nicht detailliert genau beschrieben. ^^'

Nun aber noch die Frage, da es am Anfang hieß, es ist besser das Sprachpaket bei der \documentclass zu verwenden. Wieso sollte ich das dort schon verwenden, wenn das theoretisch gleich am Anfang abgearbeitet wird und wieso funktioniert das mit meinem Blindtext nicht?
\documentclass[12bp, ngerman]{scrreprt}
\usepackage[T1]{fontenc}
\usepackage{blindtext}

\begin{document}

\Blinddocument

\end{document}

gast.

Re: Überschrift ist mit Text in einer Zeile

Beitrag von gast. »

Optimal hat geschrieben:
Di 22. Mär 2022, 13:58
Nun aber noch die Frage, da es am Anfang hieß, es ist besser das Sprachpaket bei der \documentclass zu verwenden.
Das hat KOMA eigentlich erklärt: "Das hilft, wenn andere Pakete sie ebenfalls auswerten."

Die Optionen bei \documentclass sind nicht nur Optionen für die Klasse, sondern globale Optionen. Alle Pakete, die eine Option definieren, die bei \documentclass gesetzt wird, führen sie dann auch aus.
Optimal hat geschrieben:
Di 22. Mär 2022, 13:58
Wieso sollte ich das dort schon verwenden, wenn das theoretisch gleich am Anfang abgearbeitet wird
Die werden eben nicht nur "am Anfang" also von der Klasse abgearbeitet.
Optimal hat geschrieben:
Di 22. Mär 2022, 13:58
und wieso funktioniert das mit meinem Blindtext nicht?
Weil das Paket blindtext keine Option ngerman definiert, sondern sich nach der eingestellten Sprache richtet. Da du aber vergessen hast, babel zu laden …
\documentclass[12bp, ngerman]{scrreprt}
\usepackage[T1]{fontenc}
\usepackage{babel}% Erst dieses Paket nimmt die Sprachumschaltung vor.
\usepackage{blindtext}

\begin{document}

\Blinddocument

\end{document}
Nicht alle Pakete machen das aber wie blindtext. Es gibt auch Pakete, die eine Sprachoption benötigen. Leider kommen die auch nicht alle mit ngerman als Sprache klar, manche brauchen auch german. Trotzdem steigt die Change, wenn man die Sprachoption global, also bei \documentclass setzt. Natürlich funktioniert auch:
\documentclass[12bp, ngerman]{scrreprt}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{blindtext}

\begin{document}

\Blinddocument

\end{document}
und sogar:
\documentclass[12bp, german]{scrreprt}
\usepackage[T1]{fontenc}
\usepackage[main=ngerman]{babel}
\usepackage{blindtext}

\begin{document}

\Blinddocument

\end{document}
oder
\documentclass[12bp, german,ngerman]{scrreprt}
\usepackage[T1]{fontenc}
\usepackage[main=ngerman]{babel}
\usepackage{blindtext}

\begin{document}

\Blinddocument

\end{document}
Den Unterschied von Optionen bei \documentclass und \usepackage erklärt eine gute LaTeX-Einführung übrigens auch. Was ich nicht aus einer LaTeX-Einführung gelernt habe: Es gibt da eine kleine Feinheit. Wenn ein Paket Optionen per \DeclareOptions*{…} statt per \DeclareOption{<option>}{…} auswertet, bekommt es von den \documentclass-Optionen eventuell nichts mit. Beispielsweise babel wertet die aber wohl explizit aus. Solche Feinheiten erfährt man dann in Foren wie diesem.

ich meine ja nur

Re: Überschrift ist mit Text in einer Zeile

Beitrag von ich meine ja nur »

gast. hat geschrieben:
Di 22. Mär 2022, 16:17
Optimal hat geschrieben:
Di 22. Mär 2022, 13:58
Nun aber noch die Frage, da es am Anfang hieß, es ist besser das Sprachpaket bei der \documentclass zu verwenden.
Das hat KOMA eigentlich erklärt: "Das hilft, wenn andere Pakete sie ebenfalls auswerten."
So ist es. Spontan fallen mit folgende Pakete ein, die AFAIK auf die Option ngerman reagieren: algorithm2e, cleveref, datetime, fnumprint, isodate, layout, varioref und natürlich babel. Es gibt aber sicher deutlich mehr. Aber schon bei all diesen die Option bei \usepackage nicht zu vergessen und ggf. zu ändern, kann lästig werden. Die Option nur einmal bei \documentclass anzugeben ist da einfacher.

Optimal

Re: Überschrift ist mit Text in einer Zeile

Beitrag von Optimal »

Okay dann hab ich das soweit verstanden glaube ich.
Also gebe ich in der \documentclass immer die globalen Optionen an und deswegen ist es nicht mehr nötig dies bei dem Package babel auch zu tun, aber man kann das noch machen.

Danke für die aufschlussreichen Antworten ^^

Antworten