我想将一些 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 代码更小了,并且停留在边缘内,解决了我原来的问题。