\\는 절에서 생략할 수 있나요?

\\는 절에서 생략할 수 있나요?

내가 아는 한, 이중 줄 바꿈은 새로운 단락을 소개합니다. 이 안에는 verse스탠자를 분리하는 데 사용되며 로도 수행할 수 있습니다 \\!. 따라서 길고 독립된 시를 위한 LaTeX 소스 코드에서는 거의 모든 줄이 \\. 대신 개행 문자에 단일 줄 바꿈을 사용할 수 있습니까?

본질적으로 나는

\begin{verse}
There was a young lady of Niger \\
Who smiled as she rode on a tiger; \\
They returned from the ride \\
With the lady inside, \\
And the smile on the face of the tiger.

Second verse.
\end{verse}

대신에 글을 쓰고 싶습니다

\begin{verse}
There was a young lady of Niger
Who smiled as she rode on a tiger;
They returned from the ride
With the lady inside,
And the smile on the face of the tiger.

Second verse.
\end{verse}

답변1

여기에 한 가지 가능성이 있습니다.\obeylines 의 가능성이 있습니다.에그레그의 답변에게\obeylines가 활성화된 경우 블록 사이에 자동 수직 공백 삽입표준 verse환경을 재정의하려면:

\documentclass{article}

\makeatletter
\renewenvironment{verse}
  {\let\\\@centercr
    \list{}{\itemsep \z@
    \itemindent -1.5em
    \listparindent\itemindent
    \rightmargin \leftmargin
    \advance\leftmargin 1.5em}
    \item\relax\obeylines\begingroup\lccode`~=`\^^M
    \lowercase{\endgroup\def~}{\par\leavevmode}%
    \parskip=0pt plus 1pt%
  }
  {\endlist}
\makeatother               

\begin{document}

\begin{verse}
There was a young lady of Niger
Who smiled as she rode on a tiger;
They returned from the ride
With the lady inside,
And the smile on the face of the tiger.

Second verse.
\end{verse}

\end{document}

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

답변2

Gonzalo Medina의 훌륭한 질문과 환상적인 답변! 잘 작동해요! MiKTeX 2.9의 현재 버전에 대한 개선 사항:

\makeatletter
\renewenvironment{verse}[1][\linewidth]{%
    \stepcounter{verse@envctr}%
    \setcounter{poemline}{0}\refstepcounter{poemline}%
    \setcounter{vslineno}{1}%
    \let\\=\@vscentercr
    \list{}{\itemsep \z@
        \itemindent  -\vindent%
        \listparindent\itemindent
        \parsep       \stanzaskip
        \ifdim #1 < \linewidth
        \rightmargin        \z@
        \setlength{\leftmargin}{\linewidth}%
        \addtolength{\leftmargin}{-#1}%
        \addtolength{\leftmargin}{-0.5\leftmargin}%
        \else
        \rightmargin        \leftmargin
        \fi
        \addtolength{\leftmargin}{\vindent}}%
    \item\relax\obeylines\begingroup\lccode`~=`\^^M
    \lowercase{\endgroup\def~}{\par\leavevmode}%
    \parskip=0pt plus 1pt%
}
{\endlist}
\makeatother    

관련 정보