O que eu preciso é que a primeira linha do documento e cada linha que segue a quebra especificada explicitamente (\\) tenha 0 mm de espaço (sem espaço) entre o primeiro caractere e a margem esquerda da página (que é o comportamento padrão) enquanto cada A linha que segue a quebra iniciada implicitamente pelo TeX (por atingir a margem direita da página) começa com um espaço (entre seu primeiro caractere e a margem esquerda da página) que é 10 mm maior que esse espaço da linha anterior.
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.
Responder1
Uma linha em branco é mais clara que \\
.
Aqui está uma maneira, usando \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}