之前写过一篇文章,介绍在Chrome和Firefox下怎么用扩展来移除Google搜索结果的重定向。今年开始用Safari,相应的扩展如下:
http://canisbos.com/gdirectlinks
在天朝,移除Google搜索结果重定向这件事相当重要。你们懂的……
之前写过一篇文章,介绍在Chrome和Firefox下怎么用扩展来移除Google搜索结果的重定向。今年开始用Safari,相应的扩展如下:
http://canisbos.com/gdirectlinks
在天朝,移除Google搜索结果重定向这件事相当重要。你们懂的……
smali是目前Dalvik指令集最适合阅读和解析的汇编语法,是做Android软件逆向分析必须学习的内容。比较可惜的是,到现在也没有特别好的smali阅读工具。下面给出的是平时习惯的Vim+Ctags组合下阅读smali的方法。先看最终效果:
可以看到,vim支持smali的语法高亮,ctags支持解析smali中的域和方法。实现这个的方法如下:
smali是对Dalvik虚拟机指令集的一种汇编语法,基于jasmin语法修改而来。在LaTeX中引用代码,一般使用listings宏包,最后一定修订于1999年的listings显然不会支持smali高亮,所以我写了这样一个文件,下载地址:
http://code.google.com/p/amatutor/source/browse/smali.sty
效果如下:
其中关键词和配色方案参考了lohan+在其博客http://androidcracking.blogspot.com中提供的smali for Vim/Notepad++/UltraEdit/SyntaxHighlighter的高亮文件。再次感谢lohan+的杰出工作。
以及,请关注使用了这一高亮文件的amatutor项目。
LaTeX中,表格一般用tabular。如果要表格内容自动换行,则需要使用tabularx宏包。在使用时,指定表格宽度和可能换行的列,例如:
\usepackage{tabularx} \begin{tablularx}{\textwidth}{lX} aa & bbbbbbbbbbbbbbbbbbbbbbbb \\ \end{tabularx}
其中,由X指定的第二列就会根据表格中单元格的宽度自动换行了。
由于表格只是一个box,只能出现在同一页内。要使得表格能够换页,需要使用longtable宏包。例如:
\usepackage{longtable} \begin{longtable}{ll} aa & bbbbbbbbbbbbbbbbbbbbbbbb \\ \end{tabularx}
如果希望两者兼得,该怎么办?有一个叫做ltxtable的宏包就综合了上述两个,能实现既有单元格换行,又有表格换页。比较麻烦的是,ltxtable要求表格内容单独保存为文件,为此再引入filecontents宏包,使表格内容和正文能在同一个文件之中。例如:
\usepackage{ltxtable, filecontents} \begin{filecontents}{mytable1.tex} \begin{longtable}{lX} aa & bbbbbbbbbbbbbbbbbbbbbbbb \\ \end{longtable} \end{filecontents} \LTXtable{\textwidth}{mytable1}
其中,filecontents宏包会将其中的内容单独保存为mytable1.tex文件。在这个文件中,longtable可以使用tabularx中的X符号指定要换行的单元格了。此后,调用ltxtable的LTXtable命令,指定表格宽度为\textwidth,并指定引用文件mytable1。这样就可以编译得到单元格内换行、整个表格可换页的表格了。
这里还有两个问题:
1、标题、标签怎么办?这个我还没有查到,尝试放在filecontents中会出错,在ltxtable的文档里也没有。如果有大牛看到这里知道该怎么办,请指教~
2、多出来的tex文件在版本管理里不好办,我的方法是,在filecontents里指定文件为mytable1.tmp而不是.tex后缀名;在LTXtable命令里使用文件全写mytable1.tmp而不是缩写;在.gitignore里忽略以.tmp结尾的临时文件;在Makefile的clean目标里删除.tmp结尾的文件即可。
除了使用ltxtable,还有两个宏包可以解决问题:ltablex和tabu。在stackoverflow上对此有过讨论。据说ltablex和caption会有冲突,但这两个我都没有用过。
最后,所有尝试都是在写amatutor的过程中产生的,欢迎大家继续关注这个项目~
Google的搜索结果页面中,点击结果会先打开一个Google的URL,然后由这个URL跳转到搜索结果的真实URL。这个设计给我们带来两个麻烦:
有人在StackExchange提出这一问题。回答中有人给出了解决方案。
在Firefox中,非常简单,只需要安装名为“google search link fix”的插件即可(非常感谢lne留言指出这一点)。
在Chrome浏览器中,则需要点击如下链接:
http://userscripts.org/scripts/source/121923.user.js
然后安装这一js脚本为扩展程序,即可使所有Google搜索结果的链接直接指向真实的URL。
Continue reading