![我只想让 pdf 中的文本与编辑器中的文本相同](https://linux22.com/image/246289/%E6%88%91%E5%8F%AA%E6%83%B3%E8%AE%A9%20pdf%20%E4%B8%AD%E7%9A%84%E6%96%87%E6%9C%AC%E4%B8%8E%E7%BC%96%E8%BE%91%E5%99%A8%E4%B8%AD%E7%9A%84%E6%96%87%E6%9C%AC%E7%9B%B8%E5%90%8C.png)
我想从剪贴板粘贴从文本编辑器(line wordpad++、vim、notepad 等)复制的纯文本,并且希望 TeX 遵循编辑器所具有的相同换行符格式。这在大多数文本编辑器之间都运行良好,但是,如果我将文本复制到 TeX 编辑器并进行编译,则它不会遵循换行符。
当然,我可以输入\\
或\linebreak
或任何其他排版函数,但我不想这样做。此外,像 & 符号这样的简单 ASCII 符号也必须转义 ( \&
) 我只想让文本在我.pdf
的编辑器中以与在编辑器中相同的方式显示,而无需在 TeX 编辑器中进一步编辑它。
有什么功能|样式设置可以帮助我吗?
请注意,我还需要对引用的文本进行自动换行。
答案1
这listings
包裹还允许逐字设置内容。下面是一个例子,使用language=TeX
(如果你有纯文本,应该没问题):
\documentclass{article}
\usepackage{listings}% http://ctan.org/pkg/listings
\begin{document}
\begin{lstlisting}[language=TeX]
Lorem ipsum dolor sit amet, consectetur
adipiscing elit. Fusce pulvinar risus
eu neque porttitor a ultrices magna
malesuada. Mauris ullamcorper, elit at
euismod fermentum, mi velit imperdiet
est, in auctor orci lorem eu velit.
Integer venenatis accumsan mollis. Cras
in eros metus, id euismod ante. Class
aptent taciti sociosqu ad litora
torquent per conubia nostra, per inceptos
himenaeos. Vivamus nisl tortor, eleifend
at vestibulum sit amet, scelerisque
a lacus. Aenean tempus nibh eu ante
fringilla laoreet. Pellentesque et diam
sem, sed venenatis turpis. Aenean ac
euismod dui. Vivamus faucibus elit non
dolor tincidunt non pulvinar felis
sagittis. Mauris mi massa, malesuada id
vestibulum et, tincidunt ac nibh.
Donec in orci eros, eu accumsan odio.
Curabitur ipsum nunc, dictum vitae
faucibus non, aliquet quis leo. Nullam
nisi diam, rhoncus sagittis semper non,
pharetra et eros. Etiam a metus nulla, non
egestas leo.
\end{lstlisting}
\end{document}
答案2
使用verbatim
环境。
\documentclass{article}
\begin{document}
\begin{verbatim}
Do not format this text.
\end{verbatim}
\end{document}
如果您需要更复杂的功能,请查看fancyvrb 包。
答案3
如果您想要非常短的文本,请尝试使用 plain-TeX \obeylines
。但是,它应该成组使用。此外,在 obedlines 模式下,TeX 在每行后开始一个新段落,这可能会导致缩进。因此,您可能需要更改缩进(下面的第三个示例)。
像这样尝试一下(与默认值进行比较):
\documentclass{article}
\begin{document}
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do
eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad
minim veniam, quis nostrud exercitation ullamco laboris nisi ut
{\obeylines %
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do
eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad
minim veniam, quis nostrud exercitation ullamco laboris nisi ut
}
{\parindent=0pt \obeylines %
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do
eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad
minim veniam, quis nostrud exercitation ullamco laboris nisi ut
}
\end{document}
请注意,通常不希望将纯 TeX 命令与\obeylines
LaTeX 混合使用。但是,偶尔,这种解决方案可能适用。此外,此解决方案不会为您完成转义。
要更复杂地包含逐字文本,请使用verbatim
环境。请注意,它将默认字体更改为打字机样式的等宽字体。该fancyvrb
包包含更复杂的逐字文本功能;它还默认更改其环境中的字体。
该listing
包用于排版程序代码列表和语法突出显示。它还可用于简单地将逐字文本包含在文档中。
答案4
我认为 Tobias 提供了解决方案(给他投票!)但我不认为他的例子展示得那么好。因此我提供了第二个例子:
\documentclass{article}
\begin{document}
{\parindent=0pt \obeylines %
First comes a really really really really really really really long line that needs to be line wrapped automagicly by tex
after that comes
multiple short
ones
Where the newlines should be obeyed.
}
\end{document}