¿Cómo hacer títulos centrados y subrayados en KOMA-script?

¿Cómo hacer títulos centrados y subrayados en KOMA-script?

Entonces intenté hacer títulos subrayados y centrados:
la respuesta para los centrados vinoaquíyaquí.

Ahora mi pregunta es, ¿cómo lo subrayo? \ulNo funciona (el archivo no se compila y ulineme sale un subrayado feo):
ingrese la descripción de la imagen aquí

Y aquí está el MWE:

\documentclass{scrartcl}

\usepackage{fontspec,adforn,ulem,soul}

\makeatletter

\addtokomafont{section}{\centering}  
\addtokomafont{subsection}{\centering}
\renewcommand{\sectionlinesformat}[4]{%
    %\@tempswafalse
        \ifstr{#1}{section}{%
                {\@hangfrom{{{#3}{#4}\adforn{12}}}}
        }
        {\ifstr{#1}{subsection}{%
                {\@hangfrom{\uline{{{#3}{#4}\adforn{24}}}}}%
        }
    {\@hangfrom{\hskip#2#3}{#4}}}%
}\makeatother

\begin{document}

\part{ABC}

\section{abc}

\subsection{abcd efgh abcd efgh iiii hhjjgghgg abcd efgh abcd efgh iiii hhjjgghgg abcd efgh abcd efgh iiii hhjjgghgg}
\end{document}

PD: Para las partes obtuve respuesta.aquípero tampoco funciona.
y aquí se trata de usar\ulo\uline.
Y si pongo parboxesto lo que obtengo:
ingrese la descripción de la imagen aquí y esta es la línea relevante:

{\ifstr{#1}{subsection}{%
                {\@hangfrom{\uline{\parbox{\linewidth}{{#3}{#4}\adforn{24}}}}}%
        }

¿Tiene alguna idea de cómo podría funcionar y verse correctamente y cómo el texto puede tener más de una línea centrada y subrayada?

¡¡Gracias!!

Respuesta1

Para visualizar los problemas con el subrayado en su caso, consulte el siguiente código. Esta basadoen mi respuestay usa subrayado con comando \ul{}del paquete soul. Observe también que su usado \adforn{}se coloca en el título de la sección y subsección:

\documentclass{scrartcl}

\usepackage{fontspec,adforn}
\usepackage{soul}


\begin{document}

\renewcommand\raggedsection{\centering}

\part{ABC}

\section{\ul{abc test test test test test test test test test test test test 
  test test test test test test test test test test test test test test 
  test test test test test test} \adforn{12}} % <=======================

\subsection{\ul{def} \adforn{24}} % <===================================

\section{\ul{abc test test test test test test test test test test test test 
  test test test test test test test test test test test test test test 
  test test test test test test \protect\adforn{12}}} % <===============
\end{document} 

con el resultado:

ingrese la descripción de la imagen aquí

Como puede ver, \ul{...}es capaz de subrayar texto largo dentro de un \sectionsi el\adforn{} no esta incluidoa \ul(ver el primer círculo rojo en la imagen de arriba)!

Ahora puedes intentar incluirlo \adfornen \ulMe gusta.

\subsection{\ul{def \adforn{24}}}

con el resultado de 9 errores.

Como puedes ver marcado con el segundo círculo rojo en la imagen de arriba puedes usarlo \protect\adfarnpara poder compilar sin errores pero el resultado es feo (segundo círculo rojo).

Conclusión:

  • Puedes tener subrayado con centrado sin usar \adforno
  • puedes usar \adforncentrado pero sin subrayar

¡Sugiero omitir el subrayado!

Basadoen el segundo MWE en esta respuestatu puedes hacer

\documentclass{scrartcl}

\usepackage{fontspec}
\usepackage{adforn}
\usepackage{soul} % <===================================================

\renewcommand\raggedsection{\centering}

\let\originalsectionlinesformat\sectionlinesformat
\renewcommand{\sectionlinesformat}[4]{%
  \originalsectionlinesformat{#1}{#2}{#3}{\ul{#4}% <====================
    \ifstr{#1}{section}{\adforn{12}}
      {\ifstr{#1}{subsection}{\adforn{24}}{}}%
  }%
}

\usepackage{blindtext}% only for dummy text
\begin{document}
\section{abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc}
\blindtext
\subsection{def}
\blindtext
\end{document}

para obtener encabezados subrayados para \sectiony \subsectionsin símbolo agregado automáticamente \adforn.Pero mira: eso podría resultar en una tipografía fea., dependiendo del contenido del texto del encabezado utilizado...

información relacionada