宏后禁止换行

宏后禁止换行

如何隐藏宏随后插入的换行符?是否有任何命令可以关闭换行符一次,并在跳过换行符后将其重新打开?
例如忽略以下宏在写出文本之前先创建新段落。
因此只会打印文本,而不会打印段落开头的换行符。这样的命令可能吗?

根据要求举个例子:
写:“第一个换行符空格 foo”
想要:“第一个空格 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}

在此处输入图片描述

相关内容