Programming Language Style Guide of
Google的C++语言风格指南是一份使用广泛的风格指南。它结构上相对完整,总结了许多使用C++方面的经验,但是相对来说没有那么复杂,对于C++的学习会有很大的帮助。
在学习过程中发现,网上缺少一份适合打印的Google的C++语言风格指南文件。大多数的PDF格式的文件是直接从Google的网页上打印出来的,排版不美观、链接不方便。并且Google的C++语言风格指南中有一些外部的链接,在学习的时候需要跳转到其他的网站中,特别是Google的Abseil: C++ Tips of the Week,一方面容易打断学习的过程,另一方面由于这些非常有用的Tips没有和Google的C++语言风格指南文件放在一起,也是学习上的损失。
有鉴于此,我根据Google C++ Style Guide重制了这份
- 使用优美的
$\LaTeX$ 书籍模板ElegantBook作为模板进行整理 - 附录了一些Google C++ Style Guide中提到的Abseil: C++ Tips of the Week条目,以及其他的有用的文档
当然这份文档还不完美,还有很多可以优化的地方:
- 格式转换过程中,Google C++ Style Guide中的一些格式转换成
$\LaTeX$ 的时候不是一对一的,所以还有可以优化的地方 - 本人不是
$\LaTeX$ 方面的专家,在使用$\LaTeX$ 实现某些格式的时候,可能会有更好的实现方式- Table中的footnote:现在使用的是tablefootnote,但是编号是错误的,希望有专家能够协助修复
- mintinline中的bgcolor和breaklines不兼容:mintinline中使用bgcolor之后,不能正确断行
- section中使用mintinline对带有
#
的代码进行高亮的时候出现错误或者警告
- Google C++ Style Guide有很多的链接,现在只是附录了一部分(主要是Abseil: C++ Tips of the Week),还有一些Wikipedia和cppreference上的链接链接中没有添加,也希望能选择性的添加进来
- 这个repo当前只添加了Google的C++语言风格指南,也希望将其他的风格指南整理出来,方便大家的学习
- 整理这个repo的时候,有大量的手工工作,希望能有程序自动的将源网站内容转换成
$\LaTeX$ ,减少出错,方便更新和升级 - 完善Makefile编译脚本,添加CI/CD支持
-
ElegantBook并不是为编程语言风格指南准备的,排版、字体、自定义环境等也有不方面的地方,比如Google C++ Style Guide中的
Definition
、Pros
、Cons
和decision
模式没有合适的环境,使用的是\section
。也希望有人从美学的角度,重新设计更适合语言风格指南的$\LaTeX$ 模板
这个repo中有语言风格指南的PDF文件,可以直接下载使用。该项目在MacOS下进行的开发,使用了TexLive2022(20220321_3)进行编译:
- 安装texlive
brew install texlive
- 下载该repo
git clone https://github.com/codeclabs-cn/Style-Guide-of-Latex-Format
- 编译项目
cd Style-Guide-of-Latex-Format
make
CC-BY-4.0 © 2023 @codeclabs-cn