Zeilenumbruch funktioniert nicht in mit Tikz geänderten Abschnittsüberschriften

Zeilenumbruch funktioniert nicht in mit Tikz geänderten Abschnittsüberschriften

Ich habe ein Problem mit langen Unter-/Abschnittsüberschriften: \\funktioniert nicht.

Da ich neu bei Latex bin, habe ich diese schöne Vorlage übernommenhttp://www.fluortools.com/misc/LaTeXtemplateund es für meine Bedürfnisse modifiziert.

Allerdings stecke ich derzeit mit den Zeilenumbrüchen in Unter-/Abschnittsüberschriften fest.

Hier ist ein MWE:

\documentclass[a4paper,12pt,oneside]{scrbook}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[bitstream-charter]{mathdesign}
\usepackage[scaled]{berasans}
\usepackage[scaled]{beramono} 
 \usepackage[english]{babel}
\usepackage[left=3cm,right=3cm,top=2.5cm,bottom=3cm,includehead,headheight=13.6pt]{geometry}
\usepackage{titlesec}
\usepackage{tikz}
\usetikzlibrary{calc,decorations,decorations.pathmorphing,arrows,matrix,positioning,patterns}
\usepackage{xcolor}
\selectcolormodel{cmyk}
 \newcommand\boxedSection[3]{{%
%
     \begin{tikzpicture}[inner sep=#3,line width=1.0pt]
         \node[anchor=east,rectangle,draw] at (0,0) (counter) {\textbf{#2}};
             \draw (counter.south west)  ++(.0pt,.5pt)-- ++($(\linewidth,0) - (2.5pt,0)$);
\node [right of=counter,anchor=west]{#1};
     \end{tikzpicture}
 }}
 \newcommand\boxedSectionB[3]{{%
%
     \begin{tikzpicture}[inner sep=#3,line width=1pt]
         \node[anchor=east,rectangle,draw,fill=black] at (0,0) (counter) {\color{white}\textbf{#2}};
             \draw (counter.south west) ++(.0pt,.5pt)-- ++($(\linewidth,0) - (2.5pt,0)$);
\node [right of=counter,anchor=west]{#1};
     \end{tikzpicture}
 }}
\newcommand\boxedsection[1]{\boxedSectionB{#1}{\thesection}{2mm}}
\newcommand\boxedsubsection[1]{\boxedSection{#1}{\thesubsection}{1.7mm}}
\newcommand\boxedsubsubsection[1]{\boxedSection{#1}{\thesubsubsection}{1.5mm}}
 \titleformat{\section}[hang]%
     {\usekomafont{section}}%
     {}%
     {.0em}%
     {\filright\boxedsection}%

 \titleformat{\subsection}[hang]%
     {\usekomafont{subsection}}%
     {}%
     {.0em}%
     {\filright\boxedsubsection}%

 \titleformat{\subsubsection}[hang]%
     {\usekomafont{subsubsection}}%
     {}%
     {.0em}%
     {\filright\boxedsubsubsection}%

\titlespacing{\section}{0pt}{1.5cm}{-1cm}
\titlespacing{\subsection}{0pt}{1.5cm}{-1cm}
\titlespacing{\subsubsection}{0pt}{6pt}{6pt}
\titlespacing{\paragraph}{}{0pt}{0pt}


\begin{document}

\subsection{This title is really really really long so I'd liked to have a \\line break but instead is just go on and on ...}

\end{document}

Sobald ich den boxedSection-Teil im Titelformat entferne, \\funktioniert der Zeilenumbruch wieder, aber natürlich geht auch das schöne Layout verloren.

Könnte bitte jemand das MWE so ändern, dass der Zeilenumbruch wieder funktioniert, das schöne Layout aber erhalten bleibt.

Vielen Dank!!

Mischko

BEARBEITEN Ich habe also eine Lösung gefunden, die für meinen Zweck gut funktioniert. Wie touhami vorschlägt, habe ich die Zeile in der boxedSection hinzugefügt text width=13cmund anchor=west entfernt, während ich die boxedSectionB unverändert gelassen habe. Der Code sieht also folgendermaßen aus:

     \newcommand\boxedSection[3]{{%
%
     \begin{tikzpicture}[inner sep=#3,line width=1.0pt]
         \node[anchor=east,rectangle,draw] at (0,0) (counter) {\textbf{#2}};   
\node [right of=counter,anchor=west,text width=13cm]{#1};
     \end{tikzpicture}
 }}

Und das Ergebnis sieht so aus: Bildbeschreibung hier eingeben

Antwort1

Aktualisieren

Hier noch ein Vorschlag ohne Paket titlesec. Jetzt stehen keine Regeln mehr unter den Überschriften.

\documentclass[a4paper,12pt,oneside]{scrbook}[2015/10/03]

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[bitstream-charter]{mathdesign}
\usepackage[scaled]{berasans}
\usepackage[scaled]{beramono} 
 \usepackage[english]{babel}
\usepackage[margin=3cm,top=2.5cm,includehead,headheight=13.6pt]{geometry}
\usepackage{xcolor}

\setcounter{secnumdepth}{\subsubsectionnumdepth}% subsubsection numbered

\RedeclareSectionCommands[
  font=\normalsize,
  %indent=-1em
]{section,subsection,subsubsection}

\newcommand*\BoxedSectionNumber[2]{{%
  \setlength\fboxrule{1pt}%
  \setlength\fboxsep{#2}%
  \ifstr{#1}{section}{%
    \colorbox{darkgray}{\textcolor{white}{\csname the#1\endcsname}}%
  }{\fbox{\csname the#1\endcsname}}%
  \hspace*{2\fboxsep}%
}}

\renewcommand*\sectionformat{\BoxedSectionNumber{section}{2mm}}
\renewcommand*\subsectionformat{\BoxedSectionNumber{subsection}{1.7mm}}
\renewcommand*\subsubsectionformat{\BoxedSectionNumber{subsection}{1.5mm}}

\newsavebox\SectionNumberBox

\renewcommand*\sectionlinesformat[4]{%
  \sbox{\SectionNumberBox}{\hspace*{#2}#3}%
  \noindent\usebox\SectionNumberBox%
  \parbox{\dimexpr\textwidth-\wd\SectionNumberBox\relax}{#4}%
  \par\nobreak%
}

\usepackage{blindtext}% dummy text

\begin{document}
\section{Section title}
\blindtext

\subsection{This title is really really really long so I'd liked
      to have a line break but instead is just go on and on ...}
\blindtext
\subsubsection{Subsubsection title}
\blindtext
\end{document}

Ergebnis:

Bildbeschreibung hier eingeben

Wenn Sie das Kommentarzeichen entfernen, indent=-1emerhalten Sie

Bildbeschreibung hier eingeben


Ursprüngliche Antwort

Beachten Sie, dass die Verwendung des Pakets titleseczusammen mit einer KOMA-Script-Klasse nicht empfohlen wird. Sie erhalten Warnungen von KOMA-Script und titlesec.

Hier ist ein Vorschlag ohne titlesec, tikzder mindestens KOMA-Script Version 3.19a (aktuell auf CTAN) erfordert.

\documentclass[a4paper,12pt,oneside]{scrbook}[2015/10/03]

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[bitstream-charter]{mathdesign}
\usepackage[scaled]{berasans}
\usepackage[scaled]{beramono} 
 \usepackage[english]{babel}
\usepackage[left=3cm,right=3cm,top=2.5cm,bottom=3cm,includehead,headheight=13.6pt]{geometry}
\usepackage{xcolor}

\setcounter{secnumdepth}{\subsubsectionnumdepth}% subsubsection numbered

\RedeclareSectionCommands[font=\normalfont]{section,subsection,subsubsection}
\RedeclareSectionCommands[
  beforeskip=-1.5cm,
  afterskip=1cm,
  font=\normalfont
]{section,subsection}
\RedeclareSectionCommand[
  beforeskip=-12pt,
  afterskip=6pt,
  font=\normalfont
]{subsubsection}

\newcommand*\sectionnumberfboxsep{2mm}
\newcommand*\subsectionnumberfboxsep{1.7mm}
\newcommand*\subsubsectionnumberfboxsep{1.5mm}

\renewcommand*\sectionformat{{%
  \setlength\fboxsep{\sectionnumberfboxsep}%
  \setlength\fboxrule{1pt}%
  \colorbox{black}{\bfseries\textcolor{white}{\thesection}}%
}}
\renewcommand*\subsectionformat{{%
  \setlength\fboxsep{\subsectionnumberfboxsep}%
  \setlength\fboxrule{1pt}%
  \fbox{\bfseries\thesubsection}%
}}
\renewcommand*\subsubsectionformat{{%
  \setlength\fboxsep{\subsubsectionnumberfboxsep}%
  \setlength\fboxrule{1pt}%
  \fbox{\bfseries\thesubsubsection}%
}}
\makeatletter
\renewcommand*\sectionlinesformat[4]{%
  \ifstr{#1}{section}{%
    \leavevmode\rlap{\rule[\dimexpr-\sectionnumberfboxsep-1pt\relax]{\textwidth}{1pt}}%
    \parbox[b]{3em}{#3}\parbox[b]{\dimexpr\textwidth-3em}{#4}\par\nobreak%
  }{%
  \ifstr{#1}{subsection}{%
    \leavevmode\rlap{\rule[\dimexpr-\subsectionnumberfboxsep-1pt\relax]{\textwidth}{1pt}}%
    \parbox[b]{4em}{#3}\parbox[b]{\dimexpr\textwidth-4em}{#4}\par\nobreak%
  }{%
  \ifstr{#1}{subsubsection}{%
    \leavevmode\rlap{\rule[\dimexpr-\subsubsectionnumberfboxsep-1pt\relax]{\textwidth}{1pt}}%
    \parbox[b]{4.75em}{#3}\parbox[b]{\dimexpr\textwidth-4.75em}{#4}\par\nobreak%
  }{%
    \@hangfrom{\hspace*{#2}#3}{#4}%
  }}}%
}
\makeatletter

\usepackage{blindtext}% dummy text

\begin{document}
\section{Section title}
\blindtext
\subsection{This title is really really really long so I'd liked to have a line break but instead is just go on and on ...}
\blindtext
\subsubsection{Subsubsection title}
\blindtext
\end{document}

Bildbeschreibung hier eingeben

verwandte Informationen