Usé un estilo de sección que encontré.aquí. El problema es que el encabezado de la bibliografía se convierte en un cuadro a pesar de que he intentado hacer un estilo separado para las secciones no numeradas.
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{xcolor}
\usepackage[explicit]{titlesec}
\usepackage{soul}
\definecolor{titleblue}{HTML}{4a7aa4}
\title{Sections and Chapters}
\author{Educ}
\date{\today}
\newbox\TitleUnderlineTestBox
\newcommand*\TitleUnderline[1]
{%
\bgroup
\setbox\TitleUnderlineTestBox\hbox{\colorbox{titleblue}\strut}%
\setul{\dimexpr\dp\TitleUnderlineTestBox-.3ex\relax}{.3ex}%
\ul{#1}%
\egroup
}
\newcommand*\SectionNumberBox[1]
{%
\colorbox{titleblue}
{%
\makebox[2.5em][c]
{%
\color{white}%
\strut
\csname the#1\endcsname
}%
}%
\TitleUnderline{\ \ \ }%
}
\titleformat{\section}
{\Large\bfseries\sffamily\color{titleblue}}
{\SectionNumberBox{section}}
{0pt}
{\TitleUnderline{#1}}
\titleformat{\subsection}
{\large\bfseries\sffamily\color{titleblue}}
{\SectionNumberBox{subsection}}
{0pt}
{\TitleUnderline{#1}}
\begin{document}
\maketitle
\section{The First Section}
\begin{thebibliography}{}
\bibitem{}
\end{thebibliography}
\end{document}
Editar: este es el mensaje de error que aparece:
Me encontré con material separable con guiones encerrado entre llaves de grupo, que no puedo manejar. Suelte los tirantes o haga que el material sea irrompible usando un \mbox (\hbox). Tenga en cuenta que un espacio también cuenta como posible punto de separación de palabras. Consulte la página 4 del manual. Te dejo un cuadrado negro para que puedas ver dónde estoy ahora.
Respuesta1
El problema parece ser el nombre no expandido de la sección (si no me equivoco). Lo siguiente expande completamente el nombre de pila con una \edef
expansión (esto podría producir nuevos problemas, no estoy seguro). Sin embargo, funciona para su MWE:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{xcolor}
\usepackage[explicit]{titlesec}
\usepackage{soul}
\definecolor{titleblue}{HTML}{4a7aa4}
\title{Sections and Chapters}
\author{Educ}
\date{\today}
\newbox\TitleUnderlineTestBox
\newcommand*\TitleUnderline[1]
{%
\bgroup
\setbox\TitleUnderlineTestBox\hbox{\colorbox{titleblue}\strut}%
\setul{\dimexpr\dp\TitleUnderlineTestBox-.3ex\relax}{.3ex}%
\edef\mytmp{#1}%
\expandafter\ul\expandafter{\mytmp}%
\egroup
}
\newcommand*\SectionNumberBox[1]
{%
\colorbox{titleblue}
{%
\makebox[2.5em][c]
{%
\color{white}%
\strut
\csname the#1\endcsname
}%
}%
\TitleUnderline{\ \ \ }%
}
\titleformat{\section}
{\Large\bfseries\sffamily\color{titleblue}}
{\SectionNumberBox{section}}
{0pt}
{\TitleUnderline{#1}}
\titleformat{\subsection}
{\large\bfseries\sffamily\color{titleblue}}
{\SectionNumberBox{subsection}}
{0pt}
{\TitleUnderline{#1}}
\begin{document}
\maketitle
\section{The First Section}
\begin{thebibliography}{}
\bibitem{}
\end{thebibliography}
\end{document}
Alternativa
Lo siguiente define un estilo alternativo, que da formato a las secciones no numeradas de manera similar a las numeradas (usa report
y también define \chapter
para que coincidan, simplemente elimínelo y estará listo article
). También elimina la repetición innecesaria de llamadas \titleformat
para cada nivel de sección al definir una macro abreviada.
\documentclass{report}
\usepackage[utf8]{inputenc}
\usepackage{xcolor}
\usepackage[explicit]{titlesec}
\usepackage{soul}
\definecolor{titleblue}{HTML}{4a7aa4}
\title{Sections and Chapters}
\author{Educ}
\date{\today}
\newlength\SectionNumberBoxPad
\newcommand*\TitleUnderline[1]
{%
\begingroup
\setul{\dimexpr\dp\strutbox+\fboxsep-.3ex\relax}{.3ex}%
\edef\mytmp{#1}%
\expandafter\ul\expandafter{\mytmp}%
\endgroup
}
\newcommand*\SectionNumberBoxSep{\TitleUnderline{\ \ \ }}
\newcommand*\UnnumberedSectionNumberBox
{%
\colorbox{titleblue}
{\strut\hspace{\dimexpr\ht\strutbox+\dp\strutbox}}%
\SectionNumberBoxSep
}
\newcommand*\SectionNumberBox[1]
{%
\colorbox{titleblue}
{%
\begingroup
\color{white}%
\setlength\SectionNumberBoxPad{.5\dimexpr\ht\strutbox+\dp\strutbox}%
\hspace{\SectionNumberBoxPad}%
\strut\csname the#1\endcsname
\hspace{\SectionNumberBoxPad}%
\endgroup
}%
\SectionNumberBoxSep
}
\makeatletter
\newcommand*\setuptitleformat[2]
{%
\expandafter\setuptitleformat@\csname #1\endcsname{#1}{#2}%
}
\newcommand*\setuptitleformat@[3]
{%
\titleformat{#1}
{#3\bfseries\sffamily\color{titleblue}}
{\SectionNumberBox{#2}}
{0pt}
{\TitleUnderline{##1}}%
\titleformat{name=#1,numberless}
{#3\bfseries\sffamily\color{titleblue}}
{\UnnumberedSectionNumberBox}
{0pt}
{\TitleUnderline{##1}}%
}
\makeatother
\setuptitleformat{chapter}{\LARGE}
\setuptitleformat{section}{\Large}
\setuptitleformat{subsection}{\large}
\setuptitleformat{subsubsection}{}
\setcounter{secnumdepth}{3}
\setcounter{chapter}{10}
\begin{document}
\maketitle
\chapter{The First Chapter}
\section{The First Section}
\subsection{The First Subsection}
\subsubsection{The First Subsubsection}
Some text
\begin{thebibliography}{}
\bibitem{}
\end{thebibliography}
\end{document}
Alternativa 2
Esta versión debería verse idéntica impresa, pero la visualización del PDF depende del espectador (sin embargo, se puede confiar en xpdf; esto se debe a que ulem
las líneas se construyen utilizando segmentos pequeños que pueden provocar problemas de alias en las pantallas). Rompe la separación de palabras automática, pero sigue siendo una línea divisible. Utiliza el ulem
paquete en lugar del soul
paquete. ulem
Debería ser más robusto y, por lo tanto, \edef
no es necesaria la expansión.
\documentclass{report}
\usepackage[utf8]{inputenc}
\usepackage{xcolor}
\usepackage[explicit]{titlesec}
\usepackage[normalem]{ulem}
\definecolor{titleblue}{HTML}{4a7aa4}
\title{Sections and Chapters}
\author{Educ}
\date{\today}
\newlength\SectionNumberBoxPad
\newlength\TitleUnderlineSeg
\setlength\TitleUnderlineSeg{.05pt}
\newcommand*\TitleUnderline[1]
{%
\bgroup
\markoverwith
{%
\rule
[-\dimexpr\dp\strutbox+\fboxsep\relax]
{\TitleUnderlineSeg}
{.3ex}%
}%
\ULon{#1}%
}
\newcommand*\SectionNumberBoxSep
{%
\hspace{-\TitleUnderlineSeg}%
\TitleUnderline
{\hspace{\TitleUnderlineSeg}\hspace{\SectionNumberBoxPad}}%
}
\newcommand*\UnnumberedSectionNumberBox
{%
\begingroup
\setlength\SectionNumberBoxPad{.5\dimexpr\ht\strutbox+\dp\strutbox}%
\colorbox{titleblue}
{\strut\hspace{2\SectionNumberBoxPad}}%
\SectionNumberBoxSep
\endgroup
}
\newcommand*\SectionNumberBox[1]
{%
\begingroup
\setlength\SectionNumberBoxPad{.5\dimexpr\ht\strutbox+\dp\strutbox}%
\colorbox{titleblue}
{%
\begingroup
\color{white}%
\hspace{\SectionNumberBoxPad}%
\strut\csname the#1\endcsname
\hspace{\SectionNumberBoxPad}%
\endgroup
}%
\SectionNumberBoxSep
\endgroup
}
\makeatletter
\newcommand*\setuptitleformat[2]
{%
\expandafter\setuptitleformat@\csname #1\endcsname{#1}{#2}%
}
\newcommand*\setuptitleformat@[3]
{%
\titleformat{#1}
{#3\bfseries\sffamily\color{titleblue}}
{\SectionNumberBox{#2}}
{0pt}
{\TitleUnderline{##1}}%
\titleformat{name=#1,numberless}
{#3\bfseries\sffamily\color{titleblue}}
{\UnnumberedSectionNumberBox}
{0pt}
{\TitleUnderline{##1}}%
}
\makeatother
\setuptitleformat{chapter}{\LARGE}
\setuptitleformat{section}{\Large}
\setuptitleformat{subsection}{\large}
\setuptitleformat{subsubsection}{}
\setcounter{secnumdepth}{3}
\setcounter{chapter}{10}
\begin{document}
\maketitle
\chapter{The First Chapter}
\section{The First Section}
\subsection{The First Subsection}
\subsubsection{The First Subsubsection}
Some text
\section
{Really long section name that is really long, so long it takes two rows}
\begin{thebibliography}{}
\bibitem{}
\end{thebibliography}
\end{document}
Las líneas se alinean verticalmente con el cuadro de los números de sección (verificado con xpdf
un aumento del 2000%), la falta de coincidencia se debe a la rasterización de Gimp.