Überschrift von titlesec zu KOMA konvertieren

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Überschrift von titlesec zu KOMA konvertieren

von Sykter » Fr 23. Feb 2018, 10:14

Danke für den Tipp mit Normalfont und Normalsize. Das habe ich geändert...

Die Wahl mit \Makelowercase und \scshape hat stilistische Gründe. Würde man eine andere Schriftgröße wählen, würden die Buchstaben dünner werden, was in meinem Fall nicht gewollt ist.

von Gast » Do 22. Feb 2018, 18:41

Sykter hat geschrieben:
\renewcommand*{\sectioncatchphraseformat}[4]{%	
	\ifstr{#1}{paragraph}{%
	\normalfont\normalsize\textsc{\textls[80]{\MakeLowercase{#4}}}%
}% geändert für section
{\normalfont\normalsize\textsc{\textls[40]{\MakeLowercase{#4}}}%
}
}
\normalfont und \normalsize haben da nichts verloren. Das sind Fonteinstellungen. Also gehören sie per \setkomafont{paragraph} bzw. \setkomafont{subparagraph} gesetzt. \textsc eigentlich auch. Allerdings sollte man dafür dann den Umschalter \scshape verwenden.

Und warum nimmst Du überhaupt \textsc und \MakeLowercase statt gleich die gewünschte Schriftgröße und \MakeUppercase zu verwenden? Kapitälchen mit Kleinbuchstaben ist doch eher eine Notlösung. Mir fällt gerade kein Grund ein, das in Überschriften so zu machen.

von Sykter » Do 22. Feb 2018, 16:49

Vielen Dank, das hat mich auf den richtigen Weg gebracht...

Nur um das abzuschließen, hier das finale Minimalbeispiel:
\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}}\normalfont\normalsize\textls[160]{\MakeUppercase{#4}}%
	}% geändert für section
	{%
		\ifstr{#1}{subsection}% #1 statt #2
		{\@hangfrom{\makebox[3em][l]{#3}}\normalfont\normalsize\textsc{\textls{\MakeLowercase{#4}}}}
		{%
			\ifstr{#1}{subsubsection}% #1 statt #2
			{\@hangfrom{\makebox[3em][l]{#3}}\normalfont\normalsize\textit{#4}}
			{\@hangfrom{\hskip #2#3}{#4}}% #2 fehlte
		}% #2 fehlte
	}
}

\renewcommand*{\sectioncatchphraseformat}[4]{%	
	\ifstr{#1}{paragraph}{%
	\normalfont\normalsize\textsc{\textls[80]{\MakeLowercase{#4}}}%
}% geändert für section
{\normalfont\normalsize\textsc{\textls[40]{\MakeLowercase{#4}}}%
}
}
\makeatother




\usepackage{blindtext}

\begin{document}
	\tableofcontents
	\blinddocument
\end{document}
Danke an alle, die mir geholfen haben!

von Gast » Do 22. Feb 2018, 15:54

Für \paragraph ist in der Voreinstellung \sectioncatchphraseformat statt \sectionlinesformat zuständig (catch phrase = Spitzmarken, also keine eigenständigen Zeilen). Das funktioniert ganz ähnlich. Näheres erfährst Du in der Anleitung. Bitte lies sie!

von Sykter » Do 22. Feb 2018, 15:40

Super, vielen Dank, Bartman!!! Jetzt habe ich den befehl auch wirklich verstanden.

Einzig eine Sache treibt mich jetzt noch um, damit ich das gewünschte Layout erhalte. Die Schrift der Paragraphs sollte eigentlich sein:

\normalfont\normalsize\MakeLowercase\textsc\textls[80]

Leider bekomme ich das mit \setkomafont nicht hin...
\MakeLowercase kann man ja auch umgehen, da man einfach die Überschrift klein schreiben kann. Schöner wäre es natürlich, wenn man das irgendwie inkludieren könnte... Aber die Kombination aus textsc und textls funktioniert nicht. Weiß da jemand eine Lösung?

Minimalbeispiel:
\documentclass{scrreprt}

\usepackage{microtype}
\usepackage[osf]{mathpazo}

\setkomafont{disposition}{}
%Dies funktioniert:
\setkomafont{paragraph}{\normalfont\textsc}
%Dies auch:
%\setkomafont{paragraph}{\normalfont\textls}
%Aber dies nicht:
%\setkomafont{paragraph}{\normalfont\textsc{\textls}}


\usepackage{blindtext}

\begin{document}
	\tableofcontents
	\blinddocument
\end{document}

von Bartman » Do 22. Feb 2018, 14:33

\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

von Sykter » Do 22. Feb 2018, 14:12

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:

von Gast » Do 22. Feb 2018, 08:27

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.

von Sykter » Mi 21. Feb 2018, 19:59

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.

von Gast » Mi 21. Feb 2018, 17:45

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).

Nach oben