자동 줄바꿈 이후 시작되는 모든 줄 앞에 공백을 자동으로 추가하는 방법은 무엇입니까?

자동 줄바꿈 이후 시작되는 모든 줄 앞에 공백을 자동으로 추가하는 방법은 무엇입니까?

나에게 필요한 것은 문서의 첫 번째 줄과 명시적으로 지정된 중단(\\) 뒤의 모든 줄이 첫 번째 문자와 페이지의 왼쪽 여백(기본 동작) 사이에 0mm 간격(공백 없음)을 갖는 것입니다. (페이지의 오른쪽 여백에 도달했기 때문에) TeX에 의해 암시적으로 시작된 중단 뒤의 줄은 이전 줄의 공간보다 10mm 더 큰 공백(페이지의 첫 번째 문자와 왼쪽 여백 사이)으로 시작합니다.

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.

답변1

빈 줄이 \\.

다음을 사용하는 방법이 있습니다 \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}

여기에 이미지 설명을 입력하세요

관련 정보