환경 정의 시 공간 무시

환경 정의 시 공간 무시

quotation텍스트를 이탤릭체로 입력하고 따옴표 사이에 삽입하는 환경을 재정의하고 싶다고 가정해 보겠습니다 . 따옴표를 연 후와 닫기 전에 공백을 조정하는 데 몇 가지 문제가 있습니다.

이 코드를 사용하면 다음을 얻을 수 있습니다.

\documentclass{article}

\newenvironment{itquote}
  {\begin{quotation}\itshape``}
  {''\end{quotation}}

\begin{document}


\begin{itquote}
Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
Ut purus elit, vestibulum ut, placerat ac, adipiscing vitae, felis. 
Curabitur dictum gravida mauris.
Nam arcu libero, nonummy eget, consectetuer id, vulputate a, magna.
\end{itquote}

\end{document}

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

%그리고 간격을 수정하려면 다음과 같이 두 개를 넣어야 합니다 .

\begin{itquote}%
Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
Ut purus elit, vestibulum ut, placerat ac, adipiscing vitae, felis. 
Curabitur dictum gravida mauris.
Nam arcu libero, nonummy eget, consectetuer id, vulputate a, magna.%
\end{itquote}

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

그런데 문서의 두 기호 없이 서문의 환경 정의 내에서 수정하고 싶은데 %어떻게 해야 합니까?

나는 또한 시도 \unskip하지만 끝에서만 작동합니다.

\newenvironment{itquote}
  {\begin{quotation}\itshape``}
  {\unskip''\end{quotation}}

답변1

\begin사용할 수 있는 부분 에서 \ignorespaces(참조egreg의 코멘트), \end부분에서 이전 공백은 다음을 통해 실행 취소할 수 있습니다 \unskip.

\documentclass{article}

\newenvironment{itquote}
  {\begin{quotation}\itshape``\ignorespaces}
  {\unskip''\end{quotation}}

\begin{document}

\begin{itquote}
Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
Ut purus elit, vestibulum ut, placerat ac, adipiscing vitae, felis.
Curabitur dictum gravida mauris.
Nam arcu libero, nonummy eget, consectetuer id, vulputate a, magna.
\end{itquote}

\end{document}

결과

비고:

  • \unskip마지막 건너뛰기 공간을 제거합니다. 이는 수직 건너뛰기 공간일 수도 있습니다. 이는 으로 예방할 수 있습니다 \ifhmode\unskip\fi. 환경 내용이 수직 공간으로 끝나는 경우 더 큰 문제가 있으므로 여기서는 필요하지 않습니다. 어쨌든 따옴표가 제자리에 있지 않을 것입니다.

관련 정보