【发布时间】:2011-08-10 23:33:58
【问题描述】:
我正在努力使用 Microsoft Word 来正确显示我的 Python 代码,我需要一些帮助。
我正在尝试将大量 Python 脚本粘贴到 Microsoft Word 中,其中包含围绕 sn-ps 编写的文档文本。其中一些 Python sn-ps 是几行代码,另一些则超过一页。由于该文档现在大约有 500 页长,因此整个文档中散布着大约 200 个 sn-p 块。
我创建的字体样式设置为 sn-ps。所以我可以一次更改所有字体的字体大小、颜色、样式等。但是我在自动换行方面遇到了很大的问题。 Python 中的长语句被包裹在 word 中,这使得它们难以阅读,因为缩进丢失了。我能够使用“悬挂缩进”成功缩进 1 级换行。但是我不能对 2 级或 3 级缩进做任何事情,因为嵌套的东西会进一步缩进。
示例(我使用点而不是空格,因为它会不断删除它们)
This is a statement
This is another statement
if (condition):
.........This is a third statement
.........This is a fourth statement
.........for loop :
..................This is a fifth statement
..................This is a sixth statement
..................if (condition):
...........................This is a seventh statement
想象一下,每条语句都相当长,并被换行到单词页的下一行。我明白了
This is a statement
This is another statement
if (condition):
.........This is a third
statement
.........This is a fourth
statement
.........for loop:
.................This is
a fifth statement
.................This is a
sixth statement
如何在 word 中解决这个问题?悬挂缩进将修复 1 级缩进(if 条件中的语句),但不能修复 2 级缩进(for 循环中的语句)
注意:我想在 word 中使用某种选项、插件或宏。我无法使用代码编辑器并以 rtf 或其他格式复制和粘贴代码。即使我这样做了 200 次来替换我所有的代码 sn-ps,当我更改文档中的字体大小时,一切都会再次混乱。另一种选择是一些 IDE,它嵌入或链接到 word(无需复制和粘贴)并允许在其自己的环境中更改字体样式和大小,这将在 Word 中的所有出现时自动更新。
如果可以,请提供帮助。我疯狂地搜索,没有找到任何有用的东西......
【问题讨论】:
-
我不确定我是否理解格式化为 HTML(通过在线格式化工具)然后粘贴到 Word 中的缺点。之后更改字体大小不会导致任何问题。
-
如果要格式化代码,请使用 latex 和 lstlistings 包。话是地狱。你现在应该知道了。使用乳胶,您可以更改任何您想要的字体大小,您的代码不会移动。哎呀,你在编程 Python,你为什么还要考虑使用 Word 呢???
-
好吧,我不知道如何强制 Word 不进行换行,所以我无能为力...但是.. 我只想指出其他事情.. - 为什么不编码使用 PEP8 规则并使您的代码行最长为 79 个字符 - 这应该适合页面并使 Word 远离自动换行
-
nmichaels,我试图坚持使用文字,因为所有其他文本的格式都完全符合我的需要,字体样式都设置好了,索引会自行生成等等,但是如果 lyx 会让任务变得更容易那我就换。我会研究一下lyx,它看起来很免费,而且似乎比学习乳胶更容易。谢谢你。
-
Joris,我也会研究乳胶和 lstlistings。 nmichaels 建议使用 lyx,这样可能会更容易。我从未使用过乳胶。 Word 在所有其他方面都做得很好,非代码文本与字体样式相关联,当更改时会更新整个文档。我想乳胶也可以做到这一点,所以我会按照你的建议尝试一下乳胶。
标签: python ms-word word-wrap auto-indent