我有一行很长的语句,它可能是 url,但并不总是 url,所以我不能使用 url/burl 包。我想指定在哪里断行(at &
),以及如何断行。
长线:
long-example-url.com/foo.php?foofighter=bar&session=89c371a38aa60a9a59f46c9bbdc9fb2d&fun=yes
不长线:
long-example-url.com/foo.php?foofighter=bar &session=89c371a38aa60a9a59f46c9bbdc9fb2d&fun=yes
\
在行尾插入一个,并在下一个处缩进以指示断行。
我该怎么做呢?(文本在框架内并且正在使用verbatim
环境)
梅威瑟:
\documentclass[11pt]{article}
\usepackage{framed}
\begin{document}
\begin{framed}
\begin{verbatim}
Example:
long-example-url.com/foo.php?foofighter=bar&session=89c371a38aa60a9a59f46c9bbdc9fb2d&fun=yes
\end{verbatim}
\end{framed}
\end{document}
答案1
除了使用 url 包之外,我在 Praeamble 中还添加了以下行:
\renewcommand{\UrlBreaks}{\do\/\do\+}
在每个 \do 之后,你可以指定一个符号,url 将在此中断。
也许有帮助。
答案2
再次重新考虑我的答案。您可以listings
为此使用包,但它可能会在 group 中的字符之前和之后中断other
。因此它将在符号之后中断&
,而不是之前。
\documentclass{minimal}
\usepackage{listings}
\usepackage{xcolor} % coloring only
\begin{document}
\newcommand\brch{\textbackslash}
\lstset{%
alsoletter={0123456789=},
breakatwhitespace=false,
breaklines,
breakautoindent=true,
breakindent=20pt,
prebreak=\raisebox{0ex}[0ex][0ex]{\color{green}\textbackslash},
}
\begin{lstlisting}
long-example-url.com/foo.php?foofighter=bar&session=89c371a38aa60a9a59f46c9bbdc9fb2d&fun=yes
\end{lstlisting}
\end{document}
唯一痛苦的事情是指定alsoletter
选项。我刚刚问过一个问题关于它的自动化。