作者rogerli (我不想当好人,但...)
看板LaTeX
标题[心得] 跌跌撞撞学LaTeX (三)我们是由字元组成的
时间Thu Mar 18 11:28:13 2010
3 More TeX, please.
范例 2.1编译成功後,萤幕右半边会出现预览程式,里面显示由我们的输
入产生的pdf 档。
先解释一下为何我们输入三行,输出只有一行?
首先,在TeX 系统里,在一行内凡是% 之後的所有字,都被视为注解,程
式会直接忽视,不会出现在输出里。所以范例 2.1的第一行:〔% 第一件
差事〕,就是注解。*
例如我们输入:〔We have 100% probability to win.〕,输出的文件只
会出现:〔We have 100〕 ,% 之後的都被系统当成注解,忽视了。如果
我们的TeXwork 程式有按上一节所述设定,% 之後的文字都是红色。
除了% 之外,还有许多特殊符号有特别的涵义,使用上需要注意;因此,
我们要问:「身为新手,我如何知道一个特殊符号有特殊用法?难道只能
单纯地trial & error 吗?」
打开dos 环境,为了避免档案管理上的问题,先切换到适当的工作目录,
然後输入tex 。如果安装没问题,你会看到以下的显示:**
--------------------------------------------------------
This is TeX, Version 3.1415926 (MiKTeX 2.8)
**
--------------------------------------------------------
可以看到**後面跟着一个闪烁的游标。先在游标处输入〔\relax〕,这个
特殊指令。***
如果是第一次执行tex ,会看到系统开始处理一些事情,并且跑出一堆讯
息。等工作结束後,会看到原本的两个〔**〕变成〔* 〕。然後我们输入
〔\show $ 〕,会出现如下讯息:****
--------------------------------------------------------
> math shift character $.
<*> \show $
?
--------------------------------------------------------
接着先按一下<enter> 让? 变回* ,再试试看输入〔\show `〕:
--------------------------------------------------------
> the character `.
<*> \show `
?
--------------------------------------------------------
比较一下这两段讯息,即使还不太明白其确切涵义,但很明显地可以看出
$ 是有其他作用的特殊符号,而` 就只是个` 而已。用这个方法可以找出
绝大多数符号的意义与作用。(之所以说绝大多数,是因为如果我们试着
输入:〔\show % 〕会发现没有反应。因为tex 还是会把% 注解掉。)
那麽,当我们真的需要输出% 的时候该怎麽办?先看范例 2.1的第三行:
〔\end〕。
在TeX 里,倒斜线\ 开头的那一组字代表指令,TeXwork 里头会用蓝色显
示。先前我们用的\relax、\show 都是指令,用来告诉tex 做一些特别的
事情;而这里的\end也是指令,顾名思义它的作用就是告诉tex :「一切
都结束了!」
所以当我们想结束dos 环境下的tex 程式时,首先当然可以用暴力法,直
接点掉dos 视窗;也可以在* 游标状态下输入:〔\end〕。*****
所以聪明的你大概已经在猜:「是不是想输入% 的时候,前面加个\ 就可
以了?」
在试验这个想法之前,不妨先在tex 程式里找一下\%的涵义:
--------------------------------------------------------
*\show \%
> \%=\char"25.
<*> \show \%
?
--------------------------------------------------------
对照一下ASCII 表,可以看到37代表% ,而25就是16进位的37;所以我们
很幸运地猜对了。******
因此先前的那句:〔We have 100% probability to win.〕,只要改成:
〔We have 100\% probability to win.〕 就会100%正确。
* 可以在注解里输入中文,不代表TeX 可以这麽轻易地处理中文!
注解里的中文只是方便自己,实际上都被TeX 忽视了。
** 预设目录是:〔C:\Documents and Settings\使用者名称> 〕,
我们可以用〔cd 目录名称 〕来切换到我们想要的位置。但如果
工作目录处於另一个硬碟分区,比如说,系统在c 而目标在d ,
还要先输入〔d:〕才能切换过去。
*** \relax的意思就是告诉tex 程式:「请稍息。」
**** 後面我们会解释**、* 、? 在tex 程式里各自的作用。
***** 第三种方法是在? 游标下输入大写的X 。? 游标状态对於除错很
重要,以後会再谈到。
****** ASCII 定义了最基础的电脑内码,把二进位资料转成对应符号。
对照表在网路上随便搜寻都找得到。虽然大多数情况下,〔 \特
殊符号〕确实会输出那个符号,但是也有许多例外;比较安全的
做法还是去tex 程式查一下。
--
我想尽量把每一篇都控制在一百行内,但又希望讲得能让「电白」也懂,
所以每一篇的实质内容会有点少,请多包涵!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.33.236.100
※ 编辑: rogerli 来自: 114.33.236.100 (03/18 12:46)
1F:推 spinMau:等等 version "3.1415926"? 这是MikTeX开的玩笑吗 03/18 14:14
2F:→ rogerli:是Knuth定的。 03/18 14:20
3F:→ covari:每次更新版本 就在圆周率後面加小数位 03/18 14:54
4F:推 Lysandria:正好最近在学!! 大大加油~ 让我学快点XD 03/25 21:23