Actualmente tengo problemas para cambiar el espaciado vertical del título de un párrafo al texto del cuerpo siguiente. Lo que quiero tener es una nueva línea después del encabezado del párrafo. Según tengo entendido, lo nuevo \RedeclareSectionCommand
aplica afterskip=1sp
una nueva línea (espacio simple) entre la sección del párrafo y el texto del cuerpo. De alguna manera esto no funciona como quiero. Mi código se ve ahora algo así como (MWE):
\documentclass[12pt,english,parskip=half*,listof=nochaptergap,final]{scrreprt}
\usepackage[utf8]{inputenc}
\usepackage{setspace}
\RedeclareSectionCommands[
beforeskip=-3.25ex plus -1ex minus -0.2ex,
afterskip=1sp,
%indent=0pt
]{paragraph,subparagraph}
\onehalfspacing
\begin{document}
\paragraph{Test paragraph}
Test test test test test \\
Test test test test test
\end{document}
Lo que quiero tener es una nueva línea después de un párrafo y, si es posible, una opción para personalizar yo mismo el espaciado vertical.
--- SOLUCIÓN ---
En caso de que alguien sea tan raro como yo, simplemente elimínelo parskip=half*
de las opciones de documento y ¡listo! ¡¡¡GRACIAS @esdd!!!
Respuesta1
Actualizar
KOMA-Script versión 3.26introduce dos nuevas claves para \RedeclareSectionCommand
y \RedeclareSectionCommands
: runin
y afterindent
. Los valores posibles para ambas claves bysign
son true
y false
. Para obtener más información, consulte la documentación de KOMA-Script o, por ejemplo,Ajustar el espaciado alrededor de los títulos de secciones/subsecciones con koma-script.
Usando la nueva clave runin
con valor false
¹ es posible eliminar el \parskip
entre el encabezado y el siguiente texto mediante afterskip=-\parskip
.
Ejemplo:
\documentclass[12pt,english,parskip=half*,listof=nochaptergap,final]{scrreprt}
\usepackage[utf8]{inputenc}
\usepackage[onehalfspacing]{setspace}
\RedeclareSectionCommands[
beforeskip=-3.25ex plus -1ex minus -0.2ex,
runin=false,
afterskip=-\parskip
]{paragraph,subparagraph}
\usepackage{blindtext}
\begin{document}
\paragraph{Test paragraph}
\Blindtext[2]
\end{document}
¹ La configuración predeterminada es runin=bysign
la que da como resultado el mismo comportamiento que en la respuesta original.
Respuesta original
El espacio vertical entre un título y el texto siguiente es al menos el mismo que el espacio entre dos párrafos en el cuerpo del texto. Eso significa que si está utilizando un parskip en lugar de un parindent (debido a parskip=half*
), el espacio entre un encabezado y el siguiente texto es al menos el mismo que este parskip.
Código:
\documentclass[12pt,english,parskip=half*,listof=nochaptergap,final]{scrreprt}
\usepackage[utf8]{inputenc}
\usepackage[onehalfspacing]{setspace}
\RedeclareSectionCommands[
beforeskip=-3.25ex plus -1ex minus -0.2ex,
afterskip=1sp,% smallest possible positive value
]{paragraph,subparagraph}
\usepackage{blindtext}
\begin{document}
\paragraph{Test paragraph}
\Blindtext[2]
\end{document}
Un valor positivo de afterskip
para un comando de sección amplía el salto vertical en este valor. Con un valor negativo del afterskip
texto, el texto comienza en la misma línea que el encabezado y el valor de afterskip
se utiliza como un salto horizontal.
Código:
\documentclass[12pt,english,parskip=half*,listof=nochaptergap,final]{scrreprt}
\usepackage[utf8]{inputenc}
\usepackage[onehalfspacing]{setspace}
\RedeclareSectionCommands[
beforeskip=-3.25ex plus -1ex minus -0.2ex,
afterskip=-1em,% works as horizontal skip of 1em
]{paragraph,subparagraph}
\usepackage{blindtext}
\begin{document}
\paragraph{Test paragraph}
\Blindtext[2]
\end{document}
Así que elimina parskip=half*
de tus opciones de clase. Luego se usa parindent en lugar de parskip y solo el valor positivo de afterskip
se usa como salto vertical entre el encabezado y el texto siguiente.
Código:
\documentclass[12pt,english,
%parskip=half*,% <- commented, so parskip=false is used
listof=nochaptergap,final
]{scrreprt}
\usepackage[utf8]{inputenc}
\usepackage[onehalfspacing]{setspace}
\RedeclareSectionCommands[
beforeskip=-3.25ex plus -1ex minus -0.2ex,
afterskip=1sp,
]{paragraph,subparagraph}
\usepackage{blindtext}
\begin{document}
\paragraph{Test paragraph}
\Blindtext[2]
\end{document}
Si realmente quieres o necesitas parkip=half
eliminar el parskip entre los, paragraph heading
puedes usar
\documentclass[12pt,english,parskip=half,listof=nochaptergap,final]{scrreprt}
\usepackage[utf8]{inputenc}
\RedeclareSectionCommands[
beforeskip=-3.25ex plus -1ex minus -0.2ex,
afterskip=1sp,
%indent=0pt
]{paragraph,subparagraph}
\usepackage{xpatch}
\xapptocmd{\sectionlinesformat}{%
\ifstr{#1}{paragraph}{\vspace*{-\parskip}}{}%
\ifstr{#1}{subparagraph}{\vspace*{-\parskip}}{}%
}{}{}
\usepackage{blindtext}
\begin{document}
\paragraph{Test paragraph}
\Blindtext[2]
\end{document}
Pero no recomiendo esto, porque es inusual tener un espacio más pequeño entre un título y el texto siguiente que entre dos párrafos en el cuerpo del texto.