先说说软件的选择
所在版块:求学狮城 发贴时间:2008-01-20 17:34  评分:

用户信息
复制本帖HTML代码
高亮: 今天贴 X 昨天贴 X 前天贴 X 
这几年我一直都是用LyX这个“所见即所想”的LaTeX前台编辑器的,偶尔也直接写LaTeX代码。但这次写论文时却不得不放弃了LyX。首先是新版的LyX(1.5)在我的Mac (PPC)上很不好用,打字的时候反应迟缓。我打了半天了屏幕上还是空白,我停下之后屏幕上才一个一个字母蹦出来。Linux/Windows版运行都很顺畅,据说问题出在Mac PPC版的Qt里,总之是拖了半年都没解决,迫使我放弃了。
其次是LyX不支持很多LaTeX宏包,比如说per chapter reference list就需要手工干预。
最后是因为听说了ConTeXt,好奇心起来了。ConTeXt有很多独特的优点,后面会详细讲,但当时更多的是尝鲜的好奇心驱使,选了ConTeXt。

用了很多年LaTeX,学会了尽量把排版的事情交给LaTeX,自己只管输入内容。这的确是LaTeX的优点。但反过来说,调整LaTeX模板预定的版式就很困难,经常需要修改模板源代码。而TeX实在不是一种好用的programming language,又不好调试,读懂并修改一个模板实在是太折磨人了。相反,ConTeXt的思路是提供很多控制版式的macro,方便用户自己写format file。下面是我的format file里的三段:

\setuppapersize[A4][A4]
\setuplayout
[width=147mm,
height=fit,
backspace=38mm,
topspace=25mm,
header=15mm,
footer=10mm,
bottomspace=25mm,
margin=0mm,
location=singlesided]
\setuplist[chapter][style=\boldmath\rm\bf\singlespace,alternative=b,width=1.5em,before=\blank,after=\blank]
\setuplist[section][style=\singlespace,margin=1.5em,width=2em,after=\blank]
\setuppagenumbering[location={text,footer,right}]

\setuplayout定义正文部分、页眉、页脚等的位置和尺寸。\setuplist[chapter]和\setuplist[section]分别定义了目录里chapter和section的格式。最后\setuppagenumbering控制页码的位置。不需要TeX编程就可以实现相当丰富的版式。
简单说,LaTeX适合按预定的格式写论文。ConTeXt的适用范围更宽一些,也适合排版书籍,杂志等等。ConTeXt在开发之初就是以排版教科书为目标的,因此相比LaTeX更多地考虑了版式的多样性。

ConTeXt的官方网站是 http://www.pragma-ade.com/ , 但是他们的wiki网站相比之下更有用些: http://wiki.contextgarden.net/Main_Page
两个网站上都有很多showcase和sample document,大家可以看一下是否比LaTeX更灵活些。
我安装的是TeXLive 2007 Distribution。以前流行的teTeX项目现在已经被放弃了。

--------------------------
排版系统选定了ConTeXt,另一个重要的决定是用什么软件作图。ConTeXt的作者比较欣赏MetaPost,因此把MetaPost和ConTeXt紧密集成在一起(称为MetaFun)。在ConTeXt代码中嵌入MetaPost代码、在Metapost中的Label里使用ConTeXt Macro、MetaPost图形在文字中的精确定位、ConTeXt向MetaPost传递参数等等都非常方便。因此,用MetaPost画插图是非常自然的决定。
但是MetaPost有一个很大的缺点,就是不能处理的浮点数学运算。MetaPost和TeX一样,内部都是用整数运算的。这对画示意图没有影响,但是用来画包含实验数据的图表就成问题了。我的实验数据经常会出现小至1E-15,大至1E20的数字,要MetaPost处理太勉为其难了(有人搞了变通的办法,但是实在是很丑陋)。用过pstrick/metapost/tikz之后,我选了Asymptote做图表。简单说Asymptote是一个用C++语法的MetaPost,双精度浮点数当然是支持的,path、pen等等metapost的概念也都继承下来了。画图表的模块也相当完善,Axis/Tick/Title/Legend/Label都很灵活。Asymptote的缺点在于首先它是为LaTeX设计的,暂时还没有和ConTeXt集成起来,其次它缺少metapost里解implicit linear equation的功能,要解方程必须自己输入方程的矩阵。
在画示意图时,用隐式方程来指定关键节点的坐标比较符合我的思维方式,比如我习惯指定z1,z2,z3三点共线、z2,z4,z5三点的y坐标相同等等,而不是直接指定这些点的坐标。Asymptote暂时还没有这个功能,让我有些失望。

于是我采取折中方案,用Asymptote来plot实验数据,而用metapost画示意图。

--------------------------
文献引用自然是用bibtex格式,然后用jabref这个java做的GUI来管理。

.
欢迎来到华新中文网,踊跃发帖是支持我们的最好方法!

 相关帖子 我要回复↙ ↗回到正文
毕业论文写完了,小节一下用TeX的经历 hash   (605 bytes , 3831reads )
想问一下,用这个跟用Word比起来,哪个轻松些?? 工力夫熊猫   (0 bytes , 448reads )
太牛了,红桃伺候 icky   (0 bytes , 615reads )
公式中的符号 hash   (4964 bytes , 2696reads )
In math mode do you use \left( and \right), or just ( and )? Bird   (67 bytes , 743reads )
err... there are a lot of fine details here hash   (610 bytes , 633reads )
are "inner" and the adjustion desirable? Quite cumbersome to write \left Bird   (0 bytes , 683reads )
personally i avoid using \left when I know the size hash   (166 bytes , 585reads )
ic...Thanks Bird   (0 bytes , 542reads )
在最后一点上LyX做的还很差 Bird   (0 bytes , 1153reads )
It should be LyX's strength, wonder why it isn't even on todo list hash   (0 bytes , 576reads )
1.6.0 will have this feature Bird   (0 bytes , 521reads )
这个一定要顶一下!辛苦了 鱼片粥   (21 bytes , 587reads )
2. 字体 hash   (4198 bytes , 1790reads )
cm系列有otf格式的了,被我拿来做浏览器默认字体了。。 Bird   (62 bytes , 740reads )
其实是latin modern,cm的扩展 Bird   (0 bytes , 544reads )
最下面的应该只是palatino,没有用euler Bird   (0 bytes , 580reads )
latin characters are from palatino, greek letters are euler hash   (0 bytes , 536reads )
choosing a font has a lot of psychology in it Bird   (1526 bytes , 904reads )
我平时看的期刊多数是用times做正文字体的 hash   (183 bytes , 597reads )
咦?写论文不是应该有标准字体的么? 香陵居士   (0 bytes , 760reads )
la(tex) is not only for publication Bird   (0 bytes , 558reads )
911纪念碑上用刻着遇难者的名字,每个字母有十厘米高,用的字体 hash   (39 bytes , 668reads )
嘎,这个字体放大点还蛮好看的说 sarah   (30 bytes , 610reads )
大哥有没有使用svn + latexdiff 跟踪修改? cigar   (13 bytes , 854reads )
习惯了用cvs和rcs了,没有换成svn。latexdiff很好用 hash   (0 bytes , 621reads )
先说说软件的选择 hash   (3400 bytes , 1515reads )
楼主,可以分享你的Thesis 模板吗? 山水小小   (0 bytes , 887reads )
看了感觉context主要用户是 Bird   (161 bytes , 639reads )
如果用别人现成的format file,写起文章来跟LaTeX差不多 hash   (699 bytes , 755reads )
说起大四的HYP,我是用docbook xml写的 吴永铮   (319 bytes , 1228reads )
再帖两个ConTeXt做的文档 hash   (359 bytes , 848reads )
幻灯片是自己写的class? Bird   (0 bytes , 619reads )
hash   (0 bytes , 503reads )
extarticle设成landscape,section/subsection处自动分页,20号字,也可以当幻灯片 Bird   (0 bytes , 664reads )
you tried beamer? hash   (0 bytes , 573reads )
I know its good Bird   (213 bytes , 658reads )
期待楼主更新 rochester   (10 bytes , 654reads )
很漂亮! materialist   (60 bytes , 744reads )
是叫 "The Not So Short Introduction to LaTeX2e" hash   (0 bytes , 572reads )
:-) thank you for the correction materialist   (0 bytes , 622reads )