salto de línea al usar risebox en la sección

salto de línea al usar risebox en la sección

Cómo romper la línea al usar raiseboxel comando en \section. Mi MWE es:

\documentclass{book}
\usepackage[explicit]{titlesec}
\usepackage{lmodern}
\usepackage{graphicx}
\usepackage{xcolor,lipsum,mdframed}

\definecolor{sectcolor}{cmyk}{0,1,.75,.39}
\definecolor{sectbgcolor}{RGB}{0,106,168}
\definecolor{sectsubbgcolor}{RGB}{0,139,191}

\renewcommand{\thesection}{\thechapter\Alph{section}}
\renewcommand{\chaptermark}[1]{\markboth{#1}{}}
\renewcommand{\sectionmark}[1]{\markright{\thesection.\ #1}}

\makeatletter
\titleformat{\section}
  {\fontsize{18}{20}\selectfont\color{white}\bfseries}
  {\llap{\smash{\parbox[t]{2em}{\raggedleft%
      \colorbox{sectcolor}{%
        \makebox[\dimexpr2em-2\fboxsep\relax][r]{%
          \hfill\strut\thesection
        }%
      }\\[1ex]
    \includegraphics[width=1.5em]{image-1}\\[2pt]
    \includegraphics[width=1.5em]{image-1}\\[2pt]
    \includegraphics[width=1.5em]{image-1}\\[2pt]
    }}\hspace*{0.5em}}%
  }
  {0em}
  {\makebox[\linewidth][l]{\colorbox{sectbgcolor}{\parbox[t]    {\dimexpr\paperwidth-\oddsidemargin-1in-2\fboxsep-5pt\relax}{%
    \strut\fontsize{18}{20}\selectfont\raisebox{-2.5pt}[0pt][0pt]{#1}%
    \if\sectionsubtitle\empty
    \else
      \hspace{5pt}\smash{\colorbox{sectsubbgcolor}    {\strut\large\sectionsubtitle}}%
    \fi}
    }}%
  }

\makeatother

\def\sectionsubtitle{\empty}
\newcommand\Ssection[3][]{%
  \gdef\sectionsubtitle{#3}\section[#1]{#2}\gdef\sectionsubtitle{\empty}%
}

\begin{document}

\chapter{Chapter Title Here}
\section{Count systems}
\lipsum[1]
\Ssection{Number systems}{Consolidating}
\lipsum[1]
\Ssection{Highest common factor and lowest common\hfil\break     multiple}{Consolidating}
\end{document}

Respuesta1

En primer lugar, no deberías agregar saltos manuales a los títulos. Más bien deberías configurar tu macro de títulos para que se distribuya en varias líneas según sea necesario. En su caso parbox, esto se logrará construyendo un cuadro para contener el color de fondo y colocando un interior para contener el texto.

En segundo lugar, creo que estás usando una caja elevada porque las alturas y profundidades son incorrectas. Esto parece ser causado por el uso incorrecto \strut. Su codificación \strut\fontszie{...}\selectfontsignifica que el puntal no se ajusta al nuevo tamaño de fuente. En su lugar, escríbalo en este orden `\fontsize{...}\selectfont\strut.

Salida de muestra

\documentclass{book}

\usepackage[explicit]{titlesec}
\usepackage{lmodern}
\usepackage[demo]{graphicx}
\usepackage{xcolor,lipsum}

\definecolor{sectcolor}{cmyk}{0,1,.75,.39}
\definecolor{sectbgcolor}{RGB}{0,106,168}
\definecolor{sectsubbgcolor}{RGB}{0,139,191}

\renewcommand{\thesection}{\thechapter\Alph{section}}
\renewcommand{\chaptermark}[1]{\markboth{#1}{}}
\renewcommand{\sectionmark}[1]{\markright{\thesection.\ #1}}

\titleformat{\section}
  {\color{white}\fontsize{18}{20}\bfseries}
  {\llap{\smash{\parbox[t]{2em}{\raggedleft%
      \colorbox{sectcolor}{%
        \makebox[\dimexpr2em-2\fboxsep\relax][r]{%
          \hfill\strut\thesection
        }%
      }\\[1ex]
    \includegraphics[width=1.5em]{image-1}\\[2pt]
    \includegraphics[width=1.5em]{image-1}\\[2pt]
    \includegraphics[width=1.5em]{image-1}\\[2pt]
    }}\hspace*{0.5em}}%
  }
  {0em}
  {\colorbox{sectbgcolor}{%
  \makebox[\dimexpr\paperwidth-\oddsidemargin-1in-2\fboxsep-5pt\relax]{%
    {\parbox[t]{\linewidth}{%
      \raggedright\fontsize{18}{20}\selectfont\strut #1%
      \if\sectionsubtitle\empty
      \else
      \hspace{5pt}%
      \smash{\colorbox{sectsubbgcolor}{\large\strut\sectionsubtitle}}%
      \fi}}\hfill
      }}%
}

\def\sectionsubtitle{\empty}
\newcommand\Ssection[3][]{%
  \gdef\sectionsubtitle{#3}\section[#1]{#2}\gdef\sectionsubtitle{\empty}%
}

\begin{document}

\chapter{Chapter Title Here}
\section{Count systems}
\lipsum[1]
\Ssection{Number systems}{Consolidating}
\lipsum[1]
\Ssection{Highest common factor and lowest common multiple}{Consolidating}
\end{document}

información relacionada