Überschrift von titlesec zu KOMA konvertieren

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


Sykter
Forum-Anfänger
Forum-Anfänger
Beiträge: 20
Registriert: Di 6. Sep 2016, 15:08

Beitrag von Sykter »

Vielen Dank, das hilft sehr weiter!

Sykter
Forum-Anfänger
Forum-Anfänger
Beiträge: 20
Registriert: Di 6. Sep 2016, 15:08

Beitrag von Sykter »

Ich renne gerade in das Problem das der Befehl \renewcommand*{\sectionlinesformat} leider nicht mehr für subsection funktioniert. Kann man mit dem Koma-Script subsections irgendwie einzeln definieren? Leider finde ich dazu nichts in der KOMA-Dokumentation...

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag von esdd »

Sykter hat geschrieben:Ich renne gerade in das Problem das der Befehl \renewcommand*{\sectionlinesformat} leider nicht mehr für subsection funktioniert. Kann man mit dem Koma-Script subsections irgendwie einzeln definieren? Leider finde ich dazu nichts in der KOMA-Dokumentation...
Bitte lies Dir die Beschreibung der Anweisung in der Doku durch. Im ersten Argument wird der Name der Überschriftenebene übergeben, damit kannst Du die Überschriften in Abhängigkeit vom ersten Argument unterschiedlich formatieren.

Beispiel:
\makeatletter
\renewcommand*{\sectionlinesformat}[4]{%
  \ifstr{#1}{section}
    {\@hangfrom{\makebox[3em][l]{#3}}\textls{\MakeUppercase{#4}}}% geändert für section
    {\@hangfrom{\hskip #2#3}{#4}}% original für alle anderen
}
\makeatother

Gast

Beitrag von Gast »

Sykter hat geschrieben:Ich renne gerade in das Problem das der Befehl \renewcommand*{\sectionlinesformat} leider nicht mehr für subsection funktioniert. Kann man mit dem Koma-Script subsections irgendwie einzeln definieren?
Wie man das kann, hat esdd ja schon erwähnt und unter den Links, die Du oben bekommen hast, gibt es auch Beispiele. Allerdings sehe ich an Deinem Beispielbild nicht, dass Du das brauchst. Die generelle Form ist dort für section und subsection identisch. Wenn Du die Schriftgrößen oder Abstände für unterschiedliche Ebenen ändern willst, dann verwende dafür besser \RedeclareSectionCommand.

Sykter
Forum-Anfänger
Forum-Anfänger
Beiträge: 20
Registriert: Di 6. Sep 2016, 15:08

Beitrag von Sykter »

Ja, das stimmt. Ich habe leider ein Bild genommen, was nicht die volle Übersicht enthält. Daher hier der Nachtrag:

Bild

Die Überschriftenformatierungen erreicht man mit:
section: \normalfont\normalsize\MakeUppercase\textls[160]
subsection: \normalfont\normalsize\MakeLowercase\textsc\textls[80]
subsubsection: \normalfont\normalsize\textit
paragraph: \normalfont\normalsize\textsc\MakeLowercase\textls[80]

Ich raffe irgendwie nicht, wie ich das ordentlich hinkriege... Habe das inzwischen aus einer ziemlich hässlichen Kombination aus \setkomafont und Definitionen im Chapter gemacht, wobei das ja echt nicht die Lösung sein kann... Deinen Vorschlag kriege ich leider nicht so angewendet, dass er bei mir läuft... :/

Wenn mir nochmal jemand helfen könnte, wäre ich echt dankbar!!! :oops:
Dateianhänge
Screenshot.png
Screenshot.png (16.88 KiB) 3103 mal betrachtet

Gast

Beitrag von Gast »

Sykter hat geschrieben:Deinen Vorschlag kriege ich leider nicht so angewendet, dass er bei mir läuft...
Das ist leider keine vernünftige Problembeschreibung. Bitte zeige ein Minimalbeispiel, mit dem wir das Problem, auf das Du bei der Anwendung von esdd's Code gestoßen bist, reproduzieren können. Gib auch immer Fehlermeldungen (als Zitat aus der log-Datei) an. Etwas eigenen Einsatz solltest Du schon erkennen lassen. Sonst fühlen wir uns irgendwann in unserer Gutmütigkeit missbraucht.

Jetzt passt auch wieder der Status (klick bitte mal auf den Link uns lies die Erklärung).

Sykter
Forum-Anfänger
Forum-Anfänger
Beiträge: 20
Registriert: Di 6. Sep 2016, 15:08

Beitrag von Sykter »

Das Problem ist, dass ich nicht verstehe, wie man mit dem Code von esdd die level \subsection und \subsubsection individuell verändert.

Tut mir Leid, ich dachte durch die vorhandenen Minimalbeispiele wäre es schon ausreichend beschrieben. Hier nun mein aktueller Stand:
\documentclass[headings=small]{scrreprt}

\usepackage{xcolor}
\usepackage{microtype}
\usepackage[osf]{mathpazo}% Man kann nur entweder osf oder sc verwenden, wobei
% osf echte small capitals einschließt.

\setkomafont{disposition}{}
\setkomafont{chapter}{\Large}
\setkomafont{chapterprefix}{\color{gray!50}%
	\fontencoding{U}\fontfamily{eur}\fontseries{b}%
	\fontsize{100}{100}\selectfont}
\renewcommand*{\chapterformat}{\thechapter}
\renewcommand*{\chapterlinesformat}[3]{%
	\parbox[b]{\dimexpr\linewidth-4em}{%
		\raggedchapter\textls{\MakeUppercase{#3}}%
		\vskip\ht\strutbox
	}%
	\makebox[4em][r]{\raisebox{-10pt}[90pt][0pt]{%
			\usekomafont{chapterprefix}{#2}%
	}}\par\nobreak
	\hrule width \dimexpr\linewidth-2em\relax
}
\makeatletter
\renewcommand*{\sectionlinesformat}[4]{%
	\ifstr{#1}{section}
	{\@hangfrom{\makebox[3em][l]{#3}}\textls{\MakeUppercase{#4}}}% geändert für section
	{\@hangfrom{\hskip #2#3}{#4}}% original für alle anderen
}
\makeatother

\usepackage{blindtext}

\begin{document}
	\tableofcontents
	\blinddocument
\end{document}
Werden sollte es nach möglichkeit wie im vorigen Post beschrieben und gezeigt.

Gast

Beitrag von Gast »

Hast Du \ifstr und \sectionlinesformat in der KOMA-Script-Anleitung, [d]scrguide[/d] nachgelesen?

Nun, genauso wie man mit \ifstr{#1}{section}{…}{…} zwischen section und nicht section unterscheiden kann, kann man natürlich auch weitere Ebenen unterscheiden. Man muss nur weitere Fallunterscheidungen der Art \ifstr{#1}{subsection}{…}{…} etc. im Sonst-Argument schachteln, also beispielsweise
\ifstr{#1]{section}{%
  % führe das hier für \section aus
}{%
  \ifstr{subsection}{%
    % führe das hier für \subsection aus
  }{%
    % führe das hier in allen anderen Fällen aus
  }%
}%
Im Code für alle anderen Fälle kann man natürlich auch weitere Fallunterscheidungen mit \ifstr durchführen.

Sykter
Forum-Anfänger
Forum-Anfänger
Beiträge: 20
Registriert: Di 6. Sep 2016, 15:08

Beitrag von Sykter »

Ich glaube, ich bin dafür einfach zu dumm.

Ich habe jetzt verschiedene Dinge erstmal nur für subsection probiert, aber das ändert alles nicht wirklich viel...

Der letzte Code war jetzt:
\documentclass[headings=small]{scrreprt}

\usepackage{xcolor}
\usepackage{microtype}
\usepackage[osf]{mathpazo}% Man kann nur entweder osf oder sc verwenden, wobei
% osf echte small capitals einschließt.

\setkomafont{disposition}{}
\setkomafont{chapter}{\Large}
\setkomafont{chapterprefix}{\color{gray!50}%
	\fontencoding{U}\fontfamily{eur}\fontseries{b}%
	\fontsize{100}{100}\selectfont}
\renewcommand*{\chapterformat}{\thechapter}
\renewcommand*{\chapterlinesformat}[3]{%
	\parbox[b]{\dimexpr\linewidth-4em}{%
		\raggedchapter\textls{\MakeUppercase{#3}}%
		\vskip\ht\strutbox
	}%
	\makebox[4em][r]{\raisebox{-10pt}[90pt][0pt]{%
			\usekomafont{chapterprefix}{#2}%
	}}\par\nobreak
	\hrule width \dimexpr\linewidth-2em\relax
}
\makeatletter
\renewcommand*{\sectionlinesformat}[4]{%
	\ifstr{#1}{section}{%
		\@hangfrom{\makebox[3em][l]{#3}}\textls[160]{\MakeUppercase{#4}}%
	}% geändert für section
	{%
		\ifstr{#2}{subsection}{\@hangfrom{\makebox[3em][l]{#3}}\textsc{\textls{\MakeLowercase{#4}}}}{
		\@hangfrom{\hskip #3}{#4}}% original für alle anderen
}
}
\makeatother


\usepackage{blindtext}

\begin{document}
	\tableofcontents
	\section{Abc}
	\subsection{Abc}
	\blinddocument
\end{document}
Kann mir vielleicht jemand helfen, den Fahler zu finden? :oops:

Bartman
Forum-Meister
Forum-Meister
Beiträge: 2466
Registriert: Do 16. Jul 2009, 21:41
Wohnort: Hessische Provinz

Beitrag von Bartman »

\makeatletter
\renewcommand*{\sectionlinesformat}[4]{%
   \ifstr{#1}{section}{%
      \@hangfrom{\makebox[3em][l]{#3}}\textls[160]{\MakeUppercase{#4}}%
   }% geändert für section
   {%
      \ifstr{#1}{subsection}% #1 statt #2
      {\@hangfrom{\makebox[3em][l]{#3}}\textsc{\textls{\MakeLowercase{#4}}}}
      {\@hangfrom{\hskip #2#3}{#4}}% #2 fehlte
   }
}
\makeatother

Antworten