Python 代码块超出边距

Python 代码块超出边距

我想将一些 Python 代码添加到我的 Latex 文档中。我已阅读Tex Stackexchange 问题并添加以下代码以获取语法亮点:

\usepackage{color}
\DeclareFixedFont{\ttb}{T1}{txtt}{bx}{n}{12} % for bold
\DeclareFixedFont{\ttm}{T1}{txtt}{m}{n}{12}  % for normal
\definecolor{deepblue}{rgb}{0,0,0.5}
\definecolor{deepred}{rgb}{0.6,0,0}
\definecolor{deepgreen}{rgb}{0,0.5,0}

\newcommand\pythonstyle{\lstset{
    language=Python,
    basicstyle=\ttm,
    otherkeywords={self},             
    keywordstyle=\ttb\color{deepblue},
    emph={__init__},          
    emphstyle=\ttb\color{deepred},    
    stringstyle=\color{deepgreen},
    frame=tb,                         
    showstringspaces=false  
}}

\newcommand\pythonexternal[2][]{{
    \pythonstyle
    \lstinputlisting[#1]{#2}}
 }

使用上述代码,Latex 文档中的 Python 代码非常大,并且远远超出了右边距。

我只具备 Latex 的基本知识,并不知道如何解决这些问题。

答案1

我从中吸取了一些经验,改进了我自己的问题这个问题

我的 Python 语法着色和布局代码现在是这样的:

\usepackage{color}
\DeclareFixedFont{\ttb}{T1}{txtt}{bx}{n}{12} % for bold
\DeclareFixedFont{\ttm}{T1}{txtt}{m}{n}{12}  % for normal
\definecolor{deepblue}{rgb}{0,0,0.5}
\definecolor{deepred}{rgb}{0.6,0,0}
\definecolor{deepgreen}{rgb}{0,0.5,0}

% Python style for highlighting
\newcommand\pythonstyle{\lstset{
    language=Python,
    basicstyle=\footnotesize,
    otherkeywords={self},             
    keywordstyle=\footnotesize\color{deepblue},
    emph={__init__},          
    emphstyle=\footnotesize\color{deepred},    
    stringstyle=\color{deepgreen},
    frame=single,                         
    showstringspaces=false  ,
    breaklines=true,
    numbers=left,
    numberstyle=\footnotesize,
    tabsize=3,
    breakatwhitespace=false
}}

% Python environment
\lstnewenvironment{python}[1][]
{
    \pythonstyle
    \lstset{#1}
}{}

% Python external
\newcommand\pythonexternal[2][]{{
    \pythonstyle
    \lstinputlisting[#1]{#2}}
}

%Python inline
\newcommand\pythoninline[1]{{\pythonstyle\lstinline!#1!}}

所有这些代码的结果如下:

例子

所以现在,Python 代码更小了,并且停留在边缘内,解决了我原来的问题。

相关内容