
Estoy intentando crear una tabla de contenido con estilo que se base en las respuestas a esta pregunta:¿Cómo cambiar el estilo y el color de la tabla de contenido?
El TeX que tengo se muestra a continuación:
\definecolor{secnum}{RGB}{241,129,39}
\definecolor{ptcbackground}{RGB}{247,247,247}
\definecolor{ptctitle}{RGB}{177,177,177}
\pretocmd{\tableofcontents}{\begin{mdframed}[backgroundcolor=ptcbackground,hidealllines=true]}{}{}
\apptocmd{\tableofcontents}{\end{mdframed}}{}{}
\patchcmd{\tableofcontents}{\begin{mdframed}[backgroundcolor=ptctitle,hidealllines=true]}{}{}
\titlecontents{section}
[3.3em]{\sffamily}
{\color{secnum}\contentslabel{2.3em}\normalcolor}{}
{\titlerule*[1000pc]{.}\contentspage\\\hspace*{-3em}\vspace*{-3pt}%
\color{white}\rule{\dimexpr\textwidth-20pt\relax}{0pt}}
\titlecontents{lsection}
[3.3em]{\sffamily}
{\color{secnum}\contentslabel{2.3em}\normalcolor}{}
{\titlerule*[1000pc]{.}\contentspage\\\hspace*{-5.8em}\vspace*{-3pt}%
\color{white}\rule{\dimexpr\textwidth-15.5pt\relax}{0pt}}
\titlecontents{lsubsection}
[5.8em]{\sffamily}
{\color{secnum}\contentslabel{2.3em}\normalcolor}{}
{\titlerule*[1000pc]{.}\contentspage\\\hspace*{-5.8em}\vspace*{-3pt}%
\color{white}\rule{\dimexpr\textwidth-15.5pt\relax}{0pt}}
\titlecontents{subsection}
[5.8em]{\sffamily}
{\color{secnum}\contentslabel{2.3em}\normalcolor}{}
{\titlerule*[1000pc]{.}\contentspage\\\hspace*{-5.8em}\vspace*{-3pt}%
\color{white}\rule{\dimexpr\textwidth-15.5pt\relax}{0pt}}
\makeatletter
\renewcommand*\l@chapter[2]{%
\ifnum \c@tocdepth >\m@ne
\addpenalty{-\@highpenalty}%
\vskip 0em \@plus\p@
\setlength\@tempdima{0em}%
\begingroup
\parindent \z@ \rightskip \@pnumwidth
\parfillskip -\@pnumwidth
\leavevmode
\advance\@tempdima
\hskip
\colorbox{ptctitle}{\strut%
\makebox[\dimexpr\textwidth\fboxsep100pt\relax][l]{%
\color{white}\bfseries\sffamily#1%
\nobreak\hfill\nobreak\hb@xt@\@pnumwidth{\hss #2}}}\par\smallskip
\penalty\@highpenalty
\endgroup
\fi}
\makeatother
\newcommand\PartialToC{%
\startcontents[chapters]%
\begin{mdframed}[backgroundcolor=ptcbackground,hidealllines=true]
\printcontents[chapters]{1}{1}{\colorbox{ptctitle}{%
\parbox[t][][t]{\dimexpr\textwidth-2\fboxsep\relax}{%
\strut\color{white}\bfseries\sffamily\makebox[.5em]{%
}\large Contents}}\vskip5pt}
\end{mdframed}%
}
El problema es que el fondo de la barra 'Contenido' no está alineado con el fondo como se muestra en la siguiente imagen:
Lo ideal sería que el rectángulo gris oscuro coincidiera con la altura y el ancho del fondo más claro. Lo he estado intentando durante un tiempo pero parece que no puedo resolverlo (para ser honesto, no entiendo completamente el código proporcionado en la respuesta anterior). Parece tan trivial. Cualquier ayuda sería apreciada.
Salud.
Respuesta1
Entonces nunca publicaste unejemplo de trabajo mínimo, pero como el problema parecía bastante simple, armé uno dela pregunta a la que hiciste referencia. Necesitas agregar una sola línea:
\mdfsetup{innerleftmargin=0pt,innerrightmargin=0pt}
Eso será suficiente para todas las casillas de tu TOC. Tenga en cuenta que simplemente leer la mdframed
documentación habría resuelto este problema. Agregar eso antes de ejecutar cualquier mdframed
comando debería generar lo siguiente:
Que creo que es lo que quieres. Espero que ayude. Sin embargo, siga leyendo para crear un MWE; probablemente obtendrías unmuchorespuesta más rápida y completa.