Cómo eliminar espacios en el título de la sección en KOMA-Script

Cómo eliminar espacios en el título de la sección en KOMA-Script

Aquí está MWE:

\documentclass{scrartcl}
\usepackage{adforn}


\renewcommand{\sectionlinesformat}[4]{%
        \ifstr{#1}{section}{%
               {\adforn{30} {#3}. {#4} \adforn{58}}
        }
    {{\hskip#2#3}{#4}}%
}\makeatother

\begin{document}

\section{ABC}

\end{document} 

La salida es esta:
ingrese la descripción de la imagen aquí

quiero que sea:1.ABCy no1 . A B C (sin espacio entre el "1" y el ".").
¿Es posible? y si es posible como puedo hacerlo?

¡Gracias!

Respuesta1

La macro \sectionformatcontiene un \enskipal final. Puedes redefinirlo sin eso:

\documentclass{scrartcl}
\usepackage{adforn}

\def\sectionformat{\thesection\autodot}% \enskip
\renewcommand{\sectionlinesformat}[4]{%
        \ifstr{#1}{section}{%
               {\adforn{30} {#3}. {#4} \adforn{58}}
        }
    {{\hskip#2#3}{#4}}%
}\makeatother

\begin{document}

\section{ABC}

\end{document}

ingrese la descripción de la imagen aquí

Respuesta2

Debes reducir las llaves del grupo al mínimo y agregar .cualquiera a \sectionformat:

\documentclass{scrartcl}
\usepackage{adforn}

\renewcommand*{\sectionformat}{\thesection.\enskip}% replaced \autodot by .
\renewcommand{\sectionlinesformat}[4]{%
  \ifstr{#1}{section}%
    {\adforn{30} #3#4 \adforn{58}}%
    {\hskip#2#3#4}%
}\makeatother

\begin{document}

\section{ABC}

\end{document} 

o seleccione numbers=withdotagregar el punto a todos los niveles de sección:

\documentclass[numbers=enddot]{scrartcl}
\usepackage{adforn}

\renewcommand{\sectionlinesformat}[4]{%
  \ifstr{#1}{section}%
    {\adforn{30} #3#4 \adforn{58}}%
    {\hskip#2#3#4}%
}

\begin{document}

\section{ABC}

\end{document} 

Ambos ejemplos resultan en:

O 1. ABC o

Nota: No debe combinar una \autodotentrada \sectionformatcon un código fijo .(ni en \autodotni en \sectionlinesformatdonde esté fuera de lugar por especificación), porque esto podría dar como resultado dos puntos.

Por favor, echa un vistazo aManual de KOMA-Scriptpara el valor predeterminado \sectionformaty el significado de numbers=withdot, \sectionformaty \autodot.

Por cierto: el \makeatotherde su ejemplo tampoco es necesario y debe eliminarse (así lo hice).

Off-Topic: También debes evitar posibles espacios en blanco falsos mediante nuevas líneas después }o {mediante espacios reales en el medio del código.


Como comentario afirma que esto no funciona con hebrew:

\documentclass[numbers=enddot]{scrartcl}
\usepackage{polyglossia}
\setmainlanguage{hebrew}
\newfontfamily\hebrewfont[Script=Hebrew]{David CLM}
\newfontfamily\hebrewfonttt[Script=Hebrew]{Miriam Mono CLM}
\newfontfamily\hebrewfontsf[Script=Hebrew]{Simple CLM}
\usepackage{adforn}

\renewcommand{\sectionlinesformat}[4]{%
  \ifstr{#1}{section}%
    {\adforn{30} #3#4 \adforn{58}}%
    {\hskip#2#3#4}%
}

\begin{document}

\section{גדה}

\end{document} 

y

\documentclass{scrartcl}
\usepackage{polyglossia}
\setmainlanguage{hebrew}
\newfontfamily\hebrewfont[Script=Hebrew]{David CLM}
\newfontfamily\hebrewfonttt[Script=Hebrew]{Miriam Mono CLM}
\newfontfamily\hebrewfontsf[Script=Hebrew]{Simple CLM}
\usepackage{adforn}

\renewcommand*{\sectionformat}{\thesection.\enskip}% replaced \autodot by .
\renewcommand{\sectionlinesformat}[4]{%
  \ifstr{#1}{section}%
    {\adforn{30} #3#4 \adforn{58}}%
    {\hskip#2#3#4}%
}

\begin{document}

\section{גדה}

\end{document} 

ambos resultan en:

o הדג .1 O

que parecen ser correctos para usar RL.

información relacionada