我曾尝试将源代码作为列表插入到 OpenOffice.org Writer 中,但效果并不理想。
如果一行的空间不够,它会自动将该行拆分为下一行。当然,文档的读者不知道发生了什么,会感到困惑。有些书会在这种情况下插入一个箭头图标,表明这属于上一行。但是,我找不到任何可以做到这一点的方法。虽然我可以手动完成,但在 500 页的文档中,这不是一个选项。
有什么解决方案或方法可以解决该问题吗?也许可以使用适用于特定段落样式的宏,即“源代码列表段落样式”?
我发现了一个扩展:库德,但这与问题不符。它似乎只进行语法高亮,这在本例中并不重要。长行和使强制换行可见是问题所在。
答案1
这是一种直观的方法。它在连续的行上显示“缺口”。我不知道如何制作连续字符。
在 OpenOffice.org Writer 中:
Select the text of the listing
Table > Convert > Text to table
Separate text at > Paragraph
Table > Select table (keep the whole table selected for all the following steps)
Table > Table properties
Text flow tab
Allow row to break across pages and columns > Unchecked
Borders tab
Line arrangement > Default > Set no borders
Background tab
For > Table
Background color > Gray 10%
Format paragraph
Indents & spacing tab
Indent > Before text > 0.25”
Indent > First line -0.25”
Spacing > Below paragraph > 0.1”
Text flow tab
Options > Do not split paragraph > Checked
Background tab
Background color > Gray 10%
Format > Character
Background > White
答案2
谢谢!我试图找出是否有其他方法可以做到这一点,而无需使用大量边框。然后我想起了旧的 html+css,并想到了一个背景图像,该图像将从右上方开始,其大小完全优化为文本大小。所以我制作了一个背景图像,其中第一行为空,但接下来的十行显示所需的换行箭头。诀窍是:我将那个背景图像分配给我的代码列表段落样式,位置在右上方。然后,当我将代码添加到我的书中时,我只需确保每行代码恰好是一个具有该样式的段落。所以如果它只有一行,背景图像将不会出现。如果它超过一行,它将重复并看起来完全符合我的要求。虽然有时那里的换行箭头太多,而且图像看起来有点模糊,因为我多次调整图像大小以匹配文本大小。但它有效。我做的最后一件事是在段落样式中添加一个白色边框,这样我就可以在右侧留出空格。
答案3
另一种方法可能是这样的:
使用段落样式 - Borders,定义右边框,不带“与下一段落合并”和/或右下阴影,颜色为 10% 灰色或类似颜色(图像上使用 30% 灰色)。阴影越小,干扰就越少。
答案4
@voyager - 我喜欢你的想法,但你的想法和我原来的想法看起来都有点沉重。这里我使用了底部边框,而不是侧面边框和阴影。我用的是红色,但任何颜色都可以。