LaTeX还是Word?

编写编程书籍的最佳工具是什么?

我刚刚出版了《初学者编程》 ,

这是使用LaTeX准备的。
如果您查看了Amazon上的预览,我相信您会同意产品价值非常好,就布局和字体而言,它们是非常好的。

之前,我是“ Swing Extreme Testing”的合著者。

同样,尽管布局稍微简单一些,但生产价值还是不错的。 这本书是使用Word编写的。

那我下次会用什么呢?

胶乳。 但是我能理解为什么有些人会喜欢Word。

LaTeX是一种排版程序,其中的文本和标记被输入到纯文本文档中。 LaTeX中的格式命令相对简单易懂,程序员应该毫不费力地处理它们。 有些编辑器(例如TexStudio)可提供一定程度的代码完成和快速的编辑/预览周期。

LaTeX附带了许多预构建的命令包,这些命令包使常用操作变得非常简单。 例如,在我的最新书中,我使用了许多代码示例,这些示例使用“列表”包进行了令人满意的格式化。

TikZ是功能最强大的软件包之一,用于图表。 这是第十三章的图片:

生成此代码的TikZ代码非常简单:

在本书的第三部分,读者将构建一个简单的图像处理库。 (它适用于成人和青少年的初学者程序员,并且所有项目都是以较小的步骤构建的,因此并不难。)
此TikZ图片有助于说明图像裁剪:

同样,生成该图像的代码非常简单,我发现在TikZ中生成这种图像比在常规绘图程序中容易得多。

要了解使用TikZ可以做什么,请访问其中一个在线画廊,例如www.texample.net/tikz/examples/

同样令人印象深刻的是免费提供的书模板,例如www.latextemplates.com/cat/books上的书模板。我自己的书是使用Legrand Orange Book Template的变体构建的。

所有这些功能都需要付出一定的代价,我确实花了很多时间试图让LaTeX完全按照我的意愿去做。 例如,当前版本的文字和一些图片之间存在缩进问题:

近距离可以看到问题所在,即“考虑因素”的“ C”在标题中“ I”的右侧:

我花了很长时间才弄清楚出了什么问题,并且在即将发布的西班牙语版本中已得到纠正:

实际上,问题是我需要在行尾添加一个%符号(即LaTeX中的注释),以便忽略空格(换行符)。

这是我遇到的最困难的问题,现在对我来说很有意义,而对于所见即所得的程序,我总是迟早不了解内部的情况。

有一个非常活跃的LaTeX社区,对于我遇到的大多数其他问题,我能够在Stack Overflow上找到一个有效的示例,但是有时我不清楚该问什么问题。

因此,如果您准备好忍受一点痛苦,那就使用LaTeX,您将获得惊人的结果。 但是,如果您认为自己会因为棘手的问题而生气,例如在行尾需要注释,那么Word可能是一个更好的选择。