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