
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}
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 \sectionformat
contiene un \enskip
al 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}
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=withdot
agregar 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:
Nota: No debe combinar una \autodot
entrada \sectionformat
con un código fijo .
(ni en \autodot
ni en \sectionlinesformat
donde 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 \sectionformat
y el significado de numbers=withdot
, \sectionformat
y \autodot
.
Por cierto: el \makeatother
de 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:
que parecen ser correctos para usar RL.