如何从 IDLE 中以彩色物理打印 python 代码?

新手上路,请多包涵

我已经搜索了这个问题的答案,但相关的解决方案似乎与解释器中的 'print' 有关。

我想知道是否有可能从 IDLE 打印(在纸上)彩色的 python 代码?

我去了: File > Print Window 在 IDLE 中,它似乎只是打印出黑白版本,而没有提示是否打印彩色等。

编辑:

看起来这可能不可用,所以选项是将代码复制到像 SciTE 这样的文本编辑器并从那里打印——虽然很像默认的 IDLE 语法突出显示。

原文由 user1063287 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 434
1 个回答

IDLE 不能做到这一点,但您可以通过一种间接的方式做到这一点:使用 LaTeX 以 IDLE 颜色格式化您的脚本。

listings 包支持 python 的 IDLE-like 着色,但它隐藏得很好:您必须知道包含 listings 手册中提到的“首选项文件”,但没有其特点的描述。以下几乎最小的示例会将您的脚本 myscript.py 转换为 IDLE 颜色的彩色 PDF。

 \documentclass{article}

\usepackage{listings}
\input{listings-python.prf}  % defines the python-idle-code style
\usepackage{textcomp} % Needed for straight quotes

\lstset{
 basicstyle=\normalsize\ttfamily, % size of the fonts for the code
 language={Python},style={python-idle-code},
 showstringspaces=false,
 tabsize=4,
 upquote=true,   % Requires textcomp
}

\oddsidemargin=-0.5cm
\textwidth=7in  % This just fits 80 characters at 10pt

\begin{document}
\lstinputlisting{myscript.py}
\end{document}

您还可以在真实的 LaTeX 文档中包含代码片段。

可用性: 您至少需要 listings 版本 1.5b (2013/08/26)。 Texlive 2013 的用户必须从 CTAN 下载它(例如使用命令行 texlive 管理器, tlmgr )。它是 TexLive 2016 的一部分。

不幸的是,CTAN 版本似乎仍然存在问题:首选项文件 listings-python.prf 在包的文档文件夹中,而不是在 tex/latex/listings TeX 可以找到它的地方。您需要手动移动它才能使包含工作。

原文由 alexis 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题