매크로 다음에 줄바꿈을 억제합니다.

매크로 다음에 줄바꿈을 억제합니다.

나중에 매크로에 의해 삽입될 개행 문자를 어떻게 억제할 수 있나요? 정확히 한 번만 개행 문자를 끄고 건너뛴 문자 이후에 다시 켜는 명령이 있나요?
다음 매크로가 텍스트를 작성하기 전에 새 단락을 만드는 것으로 시작한다는 점을 무시하는 것과 같습니다.
따라서 텍스트만 인쇄되고 단락을 시작하는 줄 바꿈은 인쇄되지 않습니다. 그런 명령이 가능한가요?

예를 들어 요청한 대로 다음과 같이
씁니다: "first linebreak space foo"
want: "first space foo"

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{enumitem}
\begin{document}
\begin{itemize}
\item[]{first} \begin{verbatim}             foo
             bar
\end{verbatim} \item[] {second} more text
\end{itemize}
\end{document}

답변1

의 경우 verbatim는 "까다롭습니다": 기본적으로 이 환경은 줄 바꿈 명령을 실행하고 해당 내용을 전체 줄 길이로 조판합니다(여기에서는 목록에 있다는 점을 고려).

fancyvrb축어적 환경을 박싱하기 위해 다음의 기능을 사용할 수 있습니다 .

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{enumitem}
\usepackage{fancyvrb}
\begin{document}

\begin{itemize}
\item[first]
\begin{BVerbatim}[baseline=t]
foo
bar
\end{BVerbatim}

\item[second] more text
\end{itemize}
\end{document}

들여쓰기된 출력을 원하지 않는 한 축어적 환경의 내용을 들여쓰기해서는 안 됩니다.

사용법이 \item[] {first}모호합니다. 명령에는 \item선택적 인수만 있고 필수 인수는 없으므로 다음과 정확히 동일한 출력을 얻습니다.

\item[] first

나는 first선택적 인수로 넣었습니다. 원하는 대로 하세요. 라벨이 없는 것을 원한다면 itemize말하기가 더 쉽습니다.

\begin{itemize}[label={}]

\item을 사용하고 있으므로 간단히 를 사용하세요 enumitem.

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

레이블이 없는 수정된 목록은 다음과 같습니다.

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{enumitem}
\usepackage{fancyvrb}
\begin{document}

\begin{itemize}[label={}]
\item first 
\begin{BVerbatim}[baseline=t]
foo
bar
\end{BVerbatim}

\item second more text
\end{itemize}
\end{document}

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

관련 정보