KOMA scrartcl sangría por sección

KOMA scrartcl sangría por sección

Así que sé que esto no es una buena práctica, pero tengo una plantilla que necesito reproducir y Words facilita hacerlo... Necesito sangrar el texto completo (no solo \parindent) según el nivel. Necesito configurar esto para encabezado y texto por separado, por ejemplo

  1. Encabezado de la sección(número int.) en el margen izquierdo
  2. Sección, Textosangría 0,7 cm desde el margen izquierdo
  3. Subsección, Títuloen texto con sección, por ejemplo, con sangría de 0,7 cm desde el margen izquierdo
  4. Subsección, Textosangría 1,4 cm desde el margen izquierdo

¿Existe una manera fácil de lograr esto usando KOMA?

Estado actual del documento

\documentclass[11pt, oneside, a4]{scrartcl}

% Packages, Design
\usepackage[top=1.5cm, bottom=2.5cm, left=2.5cm, right=1.6cm]{geometry}
\usepackage{lipsum}
\pagestyle{empty}
%\usepackage{showframe}

% Section style
\setkomafont{section}{\bfseries\fontsize{14pt}{14pt}\selectfont}
\setkomafont{subsection}{\bfseries}
\setkomafont{subsubsection}{\bfseries}

\RedeclareSectionCommand[
beforeskip=-2\baselineskip,
afterskip=0.2\baselineskip,
]{section}

\RedeclareSectionCommands[
beforeskip=-2\baselineskip,
afterskip=0.2\baselineskip
]{subsection, subsubsection}

% Opening
\title{Report}
\author{A Anme}

\begin{document}

\section{Test 1}
Text\\
More text on a second line\par
\lipsum
\section{Test 2}
Text\\
Equation: 
\begin{equation}
    E = m\cdot c^2
\end{equation}
\subsection{Test 2 2}
Text
\subsubsection{TestSub}
Something

\end{document}

Respuesta1

Hacer algo como esto no es tan trivial como parece. El margen izquierdo es un valor que se utiliza siempre para toda la página. Entonces, para agregar un margen izquierdo adicional, puede mover todo el contenido de una sub...sección a un entorno, por ejemplo, con sangría minipage(problema: sin salto de página), o un archivo addmargin, o tal vez incluso un archivo tcolorbox, o puede manipular el archivo \leftskip. En el siguiente ejemplo, hago lo último (y uso ganchos genéricos de LaTeX del 01/10/2020) y además redefino \sectionlinesformat(consulte los manuales de KOMA-Script para obtener más información sobre esto):

\documentclass{scrartcl}% All default options removed

% Packages, Design
\usepackage[top=1.5cm, bottom=2.5cm, left=3.2cm, right=1.6cm]{geometry}% left
                                % margin increased by the text indent of
                                % sections

\usepackage{mwe}
\pagestyle{empty}
%\usepackage{showframe}

% Section style
\setkomafont{section}{\bfseries\fontsize{14pt}{14pt}\selectfont}
\setkomafont{subsection}{\bfseries}
\setkomafont{subsubsection}{\bfseries}

\makeatletter
\renewcommand*{\sectionlinesformat}[4]{%
  \hskip#2\parbox{\dimexpr\linewidth+0.7cm}{%
    \@hangfrom{#3}{#4}%
  }%
}
\makeatother

\RedeclareSectionCommand[
  indent=-0.7cm,
  runin=false,
  afterindent=false,
  beforeskip=2\baselineskip,
  afterskip=0.2\baselineskip,% IMHO not enough
]{section}

\RedeclareSectionCommands[
  indent=0cm,
  afterindent=false,
  beforeskip=2\baselineskip,
  afterskip=0.2\baselineskip,% IMHO not enough
]{subsection, subsubsection}

\AddToHook{cmd/section/before}{%
  \par
  \setlength{\leftskip}{0pt}%
  \setlength{\linewidth}{\textwidth}%
}
\AddToHook{cmd/subsection/before}{%
  \par
  \setlength{\leftskip}{0.7cm}%
  \setlength{\linewidth}{\textwidth}%
  \addtolength{\linewidth}{-\leftskip}%
}

% Opening
\title{Report}
\author{A Anme}

\begin{document}
\tableofcontents

\section{Test 1}
\lipsum[1]
\begin{itemize}
\item Testitem
\item Testitem
\end{itemize}
\lipsum[2-3]

\section{Test 2}
\lipsum[1]
\begin{equation}
    E = m\cdot c^2
\end{equation}
\lipsum[2]
\subsection{Test 2 2}
\lipsum[3]
\subsubsection{TestSub}
\lipsum[4]

\blinddocument

\end{document}

En las páginas 1 y 2 esto parece ajustarse a la solicitud:

páginas 1 y 2 con las sangrías solicitadas

Pero la sangría de las listas de las páginas 3 y 4 no es correcta:

dos páginas con sangría de lista incorrecta

Si esto es relevante para usted, también debería cambiar, \leftmarginietc. dentro de los ganchos. Alternativamente, puedes usar el paquete enumitempara adaptar las listas.

Puede haber otros problemas al cambiar \leftskipcasi todo el documento. Por ejemplo, entornos derivados de trivlistsimilares addmargintambién podríancomportarse extraño.

Entonces en mi humilde opinión, la respuesta a tu pregunta.

¿Existe una manera fácil de lograr esto usando KOMA?

sería: No, no es fácil.

información relacionada