强制在列表中的 URL 上换行

强制在列表中的 URL 上换行

我想在文件中列出一些 Python 代码,但我遇到了一个问题,即 URL 无法正确拆分,换行符似乎对它们不起作用。另外,如何才能删除用作关键字的“file”一词?我在网上找到了一些解决方案,但它们不起作用。

我对我的问题做了一个简短的例子:

\documentclass{article}

\usepackage[english]{babel}
\usepackage{listings}
\usepackage[framemethod=tikz]{mdframed}
\usepackage{fullpage}

% colors
\definecolor{nearlyblack}{HTML}{2D2F3D}
\definecolor{nearlywhite}{HTML}{F6F9F0}
\definecolor{lightblue}{HTML}{84D6DD}
\definecolor{yellow2}{HTML}{EFEAAB}
\definecolor{purple}{HTML}{B195FA}
\definecolor{orange2}{HTML}{FC751C}

\lstset{
    numbers=left, 
    language=Python, 
    columns=fullflexible,
    basicstyle=\ttfamily\color{nearlywhite}, 
    numberstyle=\small\color{lightblue}, 
    escapeinside=||, 
    gobble=10,
    commentstyle=\color{gray},
    keywordstyle=\bfseries\color{yellow2},
    keywordstyle = [2]{\color{orange2}},
    keywordstyle = [3]{\color{purple}},
    otherkeywords = {<,>,+,-,=,:,.},
    morekeywords = [2]{<,>,+,-,=,:},
    morekeywords = [3]{ur,plt},
}

\begin{document}
    \begin{mdframed}[hidealllines=true, backgroundcolor=nearlyblack, innerleftmargin=22pt, innertopmargin=0pt, innerbottommargin=0pt]
        \lstinputlisting[breaklines=true,breakatwhitespace=true]{test example.py}
    \end{mdframed}
\end{document}

使用 python 文件

import urllib.request as ur
from matplotlib import pyplot as plt

url = "https://www.eoiurwnuprenowu.com/e8g8hrw9piuhefg/ohrvwiphwr/fejnridvurb/irwpnevwnvwepjkbhib"
file = ur.urlopen(url)

输出结果如下:

答案1

删除breakatwhitespace=true和添加deletekeywords=[2]{file}可以解决问题。

相关内容