Org Mode 源代码高亮的标识符需要注意大小写
文章目录
我在用 Org Mode 编写博客内容时,经常需要插入源代码,Org Mode 提供非常好的语法高度功能,我就是通过 Org Mode 来快速插入一段代码到文档里,并发布成 Html 上传到 WordPress 里。
在 Org Mode 里插入代码内容块,我使用的是 YASnippet 模块;但是在输入有关语言标识符( Identifier )的时候,具体有什么要求呢?
Org Mode 官网上 Working With Source Code: Languages 已经详细介绍了语言标识符的缩写,但是我依然想测试一下有关大小写对语言标识符使用的影响。
经过测试,语言标识符是大小写敏感的,所以发布的时候要特别注意语言标识符的大小写问题,最好严格按照 Org Mode 设定好的大小写来输入。
以下举例来说,如果语言标识符使用大写的 Cpp 字符串,则效果如下所示:
// assignment operator with lists #include <iostream> #include <list> using namespace std; int main () { list<int> first (3); // list of 3 zero-initialized ints list<int> second (5); // list of 5 zero-initialized ints second=first; first=list<int>(); cout << "Size of first: " << int (first.size()) << endl; cout << "Size of second: " << int (second.size()) << endl; return 0; }
如果使用小写的 cpp 字符串,则效果如下所示:
// assignment operator with lists #include <iostream> #include <list> using namespace std; int main () { list<int> first (3); // list of 3 zero-initialized ints list<int> second (5); // list of 5 zero-initialized ints second=first; first=list<int>(); cout << "Size of first: " << int (first.size()) << endl; cout << "Size of second: " << int (second.size()) << endl; return 0; }
如果使用大写的 C 字符,则效果如下所示:
// assignment operator with lists #include <iostream> #include <list> using namespace std; int main () { list<int> first (3); // list of 3 zero-initialized ints list<int> second (5); // list of 5 zero-initialized ints second=first; first=list<int>(); cout << "Size of first: " << int (first.size()) << endl; cout << "Size of second: " << int (second.size()) << endl; return 0; }
如果使用小写的 c 字符,则效果如下所示:
// assignment operator with lists #include <iostream> #include <list> using namespace std; int main () { list<int> first (3); // list of 3 zero-initialized ints list<int> second (5); // list of 5 zero-initialized ints second=first; first=list<int>(); cout << "Size of first: " << int (first.size()) << endl; cout << "Size of second: " << int (second.size()) << endl; return 0; }
大家可以看出还是有一定的影响吧?对于 C++ 大小写是有区别的,对于 C 语言来说大小写是没有区别的。所以在 Org Mode 里引用代码的时候,最好特别注意代码标识符的大小写,以防止有意外发生。
另外,建议修改你的模板,让代码高亮部分的背景设置为黑色的或者其它深色的,这样方便读者观看。
虽然估计没人会有这样的误解,但是我还是说一下题外话:大家经常使用的 Htmlize 只是针对单独的 el 文件来 html 格式化的工具,并不影响 Org Mode 导出源代码为高亮显示的 Html 部分。
文章作者 cookwhy
上次更新 2012-10-16