KOMA scartcl recuo por seção

KOMA scartcl recuo por seção

então sei que isso não é uma prática recomendada, mas tenho um modelo que preciso reproduzir e o Word facilita isso.... Preciso recuar o texto completo (não apenas \parindent) dependendo do nível. Preciso definir isso para título e texto separadamente, por exemplo

  1. Seção, Título(número inl.) na margem esquerda
  2. Seção, Textorecuado 0,7 cm da margem esquerda
  3. Subseção, Títuloem texto com seção, por exemplo, recuado 0,7 cm da margem esquerda
  4. Subsectina, Textorecuado 1,4 cm da margem esquerda

Existe uma maneira fácil de fazer isso usando o KOMA?

Estado atual do 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}

Responder1

Fazer algo assim não é tão trivial quanto parece. A margem esquerda é um valor usado sempre para toda a página. Portanto, para adicionar margem esquerda extra, você pode mover todo o conteúdo de uma sub…seção para um ambiente, por exemplo, um recuado minipage(problema: sem quebra de página), ou um addmargin, ou talvez até um tcolorbox, ou você pode manipular o \leftskip. No exemplo a seguir, faço o último (e uso ganchos genéricos do LaTeX de 01/10/2020) e redefino adicionalmente \sectionlinesformat(consulte os manuais KOMA-Script para obter mais informações sobre isso):

\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}

Nas páginas 1 e 2 isso parece se adequar à solicitação:

páginas 1 e 2 com os travessões solicitados

Mas o recuo das listas nas páginas 3 e 4 não está correto:

duas páginas com recuo de lista errado

Se isso for relevante para você, você também deverá alterar \leftmarginietc. Alternativamente, você pode usar package enumitempara adaptar as listas.

Pode haver outros problemas com a alteração \leftskipde quase todo o documento. Por exemplo, ambientes derivados de trivlistsemelhantes addmargintambém poderiamcomportar-se de forma estranha.

Então IMHO, a resposta para sua pergunta

Existe uma maneira fácil de fazer isso usando o KOMA?

seria: Não, não é fácil.

informação relacionada