逐字格式化(不使用列表包)

逐字格式化(不使用列表包)

考虑以下逐字内容:

\begin{verbatim}
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
\end{verbatim}

如何确保逐字文本不会超出页面范围,而是在超过页面宽度后立即转到下一行?

请注意,我正在寻找一个没有listing包裹。


编辑(进一步描述我的问题)

我正在写一份很长的报告,其中我使用了很多逐字记录。有时,逐字记录的文本会超出页面范围。此外,我确实使用listing带有方框的包来编写一些特殊的编程代码。我想保留相同的逐字记录格式,但逐字记录代码自动“结束行”。有没有简单的方法可以做到这一点?


编辑2

如果使用很长的字符串逐字逐句地执行以下内容:

\begin{verbatim}
$ mylinuxcommand 
!+.++++.....+++-+++-!^!^+............................................;+++-^^!--.........+++--!^!^+.++++.....+++-+++-^!^+............................................;+++-^^!--.........+++--!^!^+.++++.....+++-+++-!^!^+............................................;+++-^^!--.........+++--!^!^
$ myotherlinuxcommand
true
$ mylastcommand
"Thank you for your help"
\end{verbatim}

在您的 pdf 上,仅显示此字符串的一部分(它停留在同一行,它“继续”在页面之外)。如下所示(pdf 显示):

$ mylinux命令

!+.++++.....+++-+++-!^!^+..............................................;+++-^^!-

$ myotherlinux命令

真的

$ mylast命令

“感谢您的帮助”

我希望它能自动转到下一行,这样就能显示这一长串的所有内容了。在 pdf(pdf 显示)上显示的结果如下:

$ mylinux命令

!+.++++.....+++-+++-!^!^+........................................

....;+++-^^!--.........+++--!^!^+.++++.....+++-+++-^!^+......

.................................;+++-^^!--.........+++--

!^!^+.++++.....+++-+++-!^!^+...............................

.............;+++-^^!--.........+++--!^!^

$ myotherlinux命令

真的

$ mylast命令

“感谢您的帮助”

所以这样整个长字符串逐字逐句显示在 pdf 上。长字符串在达到页面宽度时应自动截断,其余部分递归显示在另一行。请注意,这个长字符串可以更改,但整体结构和使用的字符保持不变。

答案1

您可以借助命令verbatim和一些低级黑客技术来完成:

\documentclass{article}
\usepackage{verbatim}
\newenvironment{spverbatim}
 {\verbatim\splitchars}
 {\endverbatim}
\newcommand{\splitchars}{%
  \definesplitchar{\!}%
  \definesplitchar{\.}%
  \definesplitchar{\+}%
  \definesplitchar{\-}%
  \definesplitchar{\^}%
  \definesplitchar{\;}%
}
\newcommand{\definesplitchar}[1]{%
  \begingroup\lccode`~=`#1\relax
  \lowercase{\endgroup\def~}{\char`#1\hspace{0pt plus 0.1pt minus 0.1pt}}%
  \catcode`#1=\active
}

\begin{document}
\begin{spverbatim}
$ mylinuxcommand 
!+.++++.....+++-+++-!^!^+............................................;+++-^^!--.........+++--!^!^+.++++.....+++-+++-^!^+............................................;+++-^^!--.........+++--!^!^+.++++.....+++-+++-!^!^+............................................;+++-^^!--.........+++--!^!^
$ myotherlinuxcommand
true
$ mylastcommand
"Thank you for your help"
\end{spverbatim}
\end{document}

在此处输入图片描述

相关内容