¿Cómo puedo mejorar el estilo de esta sección?

¿Cómo puedo mejorar el estilo de esta sección?

Estoy creando una plantilla e intentando personalizar varias cosas en ella, y una de ellas es el estilo de la sección. Creé un comando que forma un hexágono en el lado izquierdo de la pantalla, como se muestra en la imagen a continuación junto con el código:

Estoy usando más paquetes que este, pero creo que los esenciales para este problema son estos.

\RequirePackage[%
    top =       2.5cm,    
    bottom =    3.8cm,    
    left =      2cm,    
    right =     2cm,
]{geometry}
\RequirePackage[most]{tcolorbox}
\RequirePackage{pgfplots}
\RequirePackage{graphicx}
\RequirePackage{xcolor}
\RequirePackage{tikz}
\RequirePackage{titletoc}
\RequirePackage{lmodern}
\usetikzlibrary{
    decorations.pathreplacing,
    decorations.pathmorphing,
    decorations.markings,
    shapes.multipart,
    shapes.geometric,
    arrows.meta,
    fadings,
    arrows,
    angles,
    quotes,
    calc,
    3d,
 }
\pgfplotsset{compat=1.18}
\definecolor{ChapterBackground}{HTML}{101010} % PERSONAL BLACK
\definecolor{ChapterForeground}{HTML}{e93820} % PERSONAL ORANGE I

\newcommand{\polygonSection}{%
\begin{tikzpicture}[remember picture, overlay]
\foreach \i in {0.5,...,5}{%
    \node[%
        ChapterBackground,
        regular polygon sides   = 6, 
        regular polygon,
        rounded corners,
        minimum size            = \i cm,
        ultra thick,
        draw,
    ] at ($(current page.north west |- current page text area.west)+(0,0)$) {};
}

\node[%
    regular polygon sides   = 6, 
    rounded corners,
    regular polygon,
    minimum size            = 1.58 cm,
    ultra thick,
    inner sep               = 0,
    fill                    = ChapterForeground!85,
    text                    = ChapterForeground!5,
] at ($(current page.north west |- current page text area.west)+(0,0)$) {};

\end{tikzpicture}}

ingrese la descripción de la imagen aquí

Bueno, con este comando intenté usar \titleformat{} del paquete titlesec para diseñar mi sección de la siguiente manera:

\titleformat{\section}[display]
{\normalfont\bfseries\color{ChapterBackground}}{}{1em}
{\llap{
\polygonSection\hspace{-6pt}}\huge\textsc}[]

ingrese la descripción de la imagen aquí

Sin embargo, me gustaría alinear el título con el hexágono y agregar un pequeño espacio entre los dos, pero no encontré ninguna manera de hacerlo y recibo el siguiente mensaje de error:

Error de pgf del paquete: no se conoce ninguna forma denominada "área de texto de la página actual".

Sin embargo, si elimino esta parte del código, no se ve como quiero. Además, usando el paquete tikzpagenodes, los polígonos ya no están separados por secciones, sino por páginas, que no es lo que quiero.

Eso es todo, si alguien puede ayudarme sería genial.

Respuesta1

No estoy seguro de si es una buena idea sangrar el título de la sección para que comience más a la derecha que el texto del cuerpo. Quizás deberías aumentar el margen izquierdo. De todos modos, lo siguiente debería hacer lo que quieras:

\documentclass{article}

\RequirePackage[%
    top    = 2.5cm,    
    bottom = 3.8cm,    
    left   =   2cm,    
    right  =   2cm,
]{geometry}

\RequirePackage{tikz}
\usetikzlibrary{shapes.geometric}

\definecolor{ChapterBackground}{HTML}{101010} % PERSONAL BLACK
\definecolor{ChapterForeground}{HTML}{e93820} % PERSONAL ORANGE I

\newcommand{\polygonSection}{%
\begin{tikzpicture}[remember picture, overlay] 
\node[%
    regular polygon sides   = 6, 
    rounded corners,
    regular polygon,
    minimum size            = 1.58cm,
    ultra thick,
    inner sep               = 0pt,
    fill                    = ChapterForeground!85,
    anchor                  = south
] at (current page.north west |- 0,0) (red polygon) {};
\foreach \i in {2.5,...,4.5}{%
    \node[%
        ChapterBackground,
        regular polygon sides   = 6, 
        regular polygon,
        rounded corners,
        minimum size            = \i cm,
        ultra thick,
        draw,
    ] at (red polygon) {};
}
\end{tikzpicture}}

\RequirePackage{titlesec}
\titleformat{\section}[display]
    {\normalfont\bfseries\color{ChapterBackground}\huge}{}{0pt}
    {\polygonSection\hspace{1em}}

\usepackage{lipsum}

\begin{document}

\section{Section}

\lipsum[1]

\end{document}

ingrese la descripción de la imagen aquí

¿Cómo funciona esto? Lo tikzpictureque agregamos al título de la sección primero coloca el hexágono rojo que está anclado, de modo que se asiente horizontalmente en la línea base del papel tikzpicturey verticalmente en el borde izquierdo del papel. Los otros hexágonos (de los cuales sólo necesitas tres, así que ajusté la \foreachlista) se centran alrededor de este hexágono rojo.

Puedes ajustar el espaciado insertando algo de espacio usando \titleformat{\section}, pero como dije al principio, podría ser mejor aumentar el margen izquierdo de tu documento por completo.

Si desea centrar los hexágonos verticalmente, elimine anchor = southde las opciones el hexágono rojo y agréguelo baseline = -0.5exa las opciones del tikzpictureentorno.


Algunas observaciones: tcolorboxcargas tikz, pgfplotstambién cargas tikzy tikzcargas xcolor. Por tanto, no es necesario cargar todos estos paquetes juntos. También deberías pensar realmente en qué TikBibliotecas Z que realmente necesitas. Para lo anterior sólo shapes.geometricse necesita.

información relacionada