Wie kann jeder Zeile, die nach dem automatischen Zeilenumbruch beginnt, automatisch ein Leerzeichen vorangestellt werden?

Wie kann jeder Zeile, die nach dem automatischen Zeilenumbruch beginnt, automatisch ein Leerzeichen vorangestellt werden?

Ich brauche in der allerersten Zeile des Dokuments und in jeder Zeile, die auf einen explizit angegebenen Umbruch (\\) folgt, einen Abstand von 0 mm (kein Leerzeichen) zwischen ihrem ersten Zeichen und dem linken Seitenrand (was das Standardverhalten ist). Jede Zeile hingegen, die auf einen implizit durch TeX initiierten Umbruch folgt (aufgrund des Erreichens des rechten Seitenrands), beginnt mit einem Abstand (zwischen ihrem ersten Zeichen und dem linken Seitenrand), der 10 mm größer ist als der Abstand in der vorherigen Zeile.

1234567890123456789012345678901234567 <- 37 characters before auto-wrap
This is very first line with no space
 while this is second line after
  automatic break.\\
This line also doesn't begin with
 space but this one does.

Antwort1

Eine leere Zeile ist klarer als \\.

So geht's \parshape:

\documentclass[twocolumn]{article}

\usepackage{xparse}

\ExplSyntaxOn

\NewDocumentEnvironment{bizarre}{O{\columnwidth}}
 {
  \par
  \setlength{\parindent}{0pt}
  \bp_make_parshape:n { #1 }
  \everypar{\parshape 50~\l_bp_parshape_tl}
 }
 {
  \par
 }

\tl_new:N \l_bp_parshape_tl
\dim_new:N \l_bp_parshape_dim

\cs_new:Nn \bp_make_parshape:n
 {
  \dim_set:Nn \l_bp_parshape_dim { #1 }
  \tl_set:Nx \l_bp_parshape_tl
   {
    \int_step_function:nN { 50 } \__bp_parshape:n
   }
 }
\cs_new:Nn \__bp_parshape:n
 {
  \dim_eval:n { 10mm*(#1-1) } ~
  \dim_eval:n { \l_bp_parshape_dim - 10mm*(#1-1) }
 }

\ExplSyntaxOff

\begin{document}

\begin{bizarre}
This is very first line with no space
 while this is second line after
  automatic break.

This line also doesn't begin with
 space but this one does.
\end{bizarre}

\begin{bizarre}[0.8\columnwidth]
This is very first line with no space
 while this is second line after
  automatic break.

This line also doesn't begin with
 space but this one does.
\end{bizarre}

\end{document}

Bildbeschreibung hier eingeben

verwandte Informationen