core-sec和s-chi-00有一些有价值的信息。
阿 ,我可耻地失败了,numbercommand#1中,#1中保存的并不是数字.
>理论上是可以的,不过得让 ConTeXt 在处理这些章节编号时能够 fallback 这个脚本,这个似乎得了解 LuaTeX 与 MkIV 工作机制才可以,目前我干不了,兴许 Wang Yue 可以。
啥叫fallback? 不知道唉。我的理解就是你需要排版“第三章”而不是“第3章”吧。 我记得定义这些东西的时候,比如叫 \setuphead,有一个选项叫做command,你看看,应该是可以带参数的。然后其中的一个参数就是章节号码。然后你可以用类似 \setuphead[xxx][command=\mychapcommand],接下来就定义这个 \mychapcommand 就可以了。如果我没有记错, \mychapcommand应该定义两个变量才是。一个是给章节号,一个给章节名。
此外,还有一个命令,叫做\setuphead[xxx][numbercommand=\mynumcmd],此时,这个是专门针对编号的。因此一切就来得很自然了: \setuphead[chapter][numbercommand=\mynumcmd] \def\mynumcmd#1{第\cjknumber{#1}章} \def\cjknumber#1{\ctxlua{num=#1;tex.sprint(numtochi(num))}} 其中,numtochi就是你的lua函数。但愿这个脚本能工作。
btw,ConTeXt MKII中有一套类似 CJKnumber 的机制可以把阿拉伯数字转为中文汉字,貌似已经有一堆代码了。可能还能用呢,呵呵。不过我倾向于写一个 lua 脚本。呵呵。
理论上是可以的,不过得让 ConTeXt 在处理这些章节编号时能够 fallback 这个脚本,这个似乎得了解 LuaTeX 与 MkIV 工作机制才可以,目前我干不了,兴许 Wang Yue 可以。
读了你的笔记,提到的一个问题,关于中文的章节号,只能使用阿拉伯数字,不能使用中文。 因为context与lua关系密切,能否使用lua写段脚本,做一个替换规则?例如: 1->一 12->一二,或十二 34->三十四 892->八百九拾二 ... 诸如此类,三位数即可。我以前写过阿拉伯数字到英文的脚本(不过不是使用lua),支持million以内带小数点的阿拉伯数字向英文大写的转换。
如果此方法可行,就可以不必说半中文化,而是全中文化了,呵呵。
Li编写的Context笔记很好。谢谢辛苦劳动。
找个站点去下光盘镜像好了 http://tug.org/texlive/acquire.html
不行啊,宏包下到一部分,接下来的就死活下不了。能不能找个完整完整的安装包啊。
试试这个:
还是用 TeXLive 2008 好了,我尝试过了,除了缺一款字体之外,其它没啥问题。你的问题或许是宏包版本不匹配,而 TL 2008 可以在线安装、更新宏包,统一管理比较方便一些。
TL 2008 的安装,可参考 http://bbs.ctex.org/viewthread.php?tid=45308&page=1#pid320522
我没用过 muse,先试一下
:D 大抵是这个意思。因为取名的时候,正处于极度空虚状态。
哈哈,你blog的名字很有意思。while(1)看起来无休止的忙,其实什么事情都没有做do{//nothing}
这里已不再更新!
欢迎访问我的新主页 :-)
2008年9月30日 22:07
core-sec和s-chi-00有一些有价值的信息。
2008年9月30日 22:00
阿 ,我可耻地失败了,numbercommand#1中,#1中保存的并不是数字.
2008年9月30日 21:44
>理论上是可以的,不过得让 ConTeXt 在处理这些章节编号时能够 fallback 这个脚本,这个似乎得了解 LuaTeX 与 MkIV 工作机制才可以,目前我干不了,兴许 Wang Yue 可以。
啥叫fallback? 不知道唉。我的理解就是你需要排版“第三章”而不是“第3章”吧。
我记得定义这些东西的时候,比如叫 \setuphead,有一个选项叫做command,你看看,应该是可以带参数的。然后其中的一个参数就是章节号码。然后你可以用类似 \setuphead[xxx][command=\mychapcommand],接下来就定义这个 \mychapcommand 就可以了。如果我没有记错, \mychapcommand应该定义两个变量才是。一个是给章节号,一个给章节名。
此外,还有一个命令,叫做\setuphead[xxx][numbercommand=\mynumcmd],此时,这个是专门针对编号的。因此一切就来得很自然了:
\setuphead[chapter][numbercommand=\mynumcmd]
\def\mynumcmd#1{第\cjknumber{#1}章}
\def\cjknumber#1{\ctxlua{num=#1;tex.sprint(numtochi(num))}}
其中,numtochi就是你的lua函数。但愿这个脚本能工作。
btw,ConTeXt MKII中有一套类似 CJKnumber 的机制可以把阿拉伯数字转为中文汉字,貌似已经有一堆代码了。可能还能用呢,呵呵。不过我倾向于写一个 lua 脚本。呵呵。
2008年9月27日 21:48
理论上是可以的,不过得让 ConTeXt 在处理这些章节编号时能够 fallback 这个脚本,这个似乎得了解 LuaTeX 与 MkIV 工作机制才可以,目前我干不了,兴许 Wang Yue 可以。
2008年9月27日 20:43
读了你的笔记,提到的一个问题,关于中文的章节号,只能使用阿拉伯数字,不能使用中文。
因为context与lua关系密切,能否使用lua写段脚本,做一个替换规则?例如:
1->一
12->一二,或十二
34->三十四
892->八百九拾二
...
诸如此类,三位数即可。我以前写过阿拉伯数字到英文的脚本(不过不是使用lua),支持million以内带小数点的阿拉伯数字向英文大写的转换。
如果此方法可行,就可以不必说半中文化,而是全中文化了,呵呵。
2008年9月26日 19:19
Li编写的Context笔记很好。谢谢辛苦劳动。
2008年9月25日 19:44
找个站点去下光盘镜像好了 http://tug.org/texlive/acquire.html
2008年9月25日 17:23
不行啊,宏包下到一部分,接下来的就死活下不了。能不能找个完整完整的安装包啊。
2008年9月19日 03:37
试试这个:
2008年9月19日 03:21 那个tetex总还是有些问题,我看还是用TexLive 2008吧,可是那个清华FTP我上不去,你知道哪里还有下的吗?
2008年9月18日 18:04 我后来把其中引用到的了一个宏包去掉了,可以正常编译了,没问题了。TexLive现在不想装,还是继续用tetex,等再有问题再考虑TexLive吧。
2008年9月18日 15:41
还是用 TeXLive 2008 好了,我尝试过了,除了缺一款字体之外,其它没啥问题。你的问题或许是宏包版本不匹配,而 TL 2008 可以在线安装、更新宏包,统一管理比较方便一些。
TL 2008 的安装,可参考 http://bbs.ctex.org/viewthread.php?tid=45308&page=1#pid320522
2008年9月18日 14:55
我没用过 muse,先试一下
2008年9月18日 06:09 帮个忙,我正在学习Emacs Muse,它可以通过生成TeX文件来间接转成PDF。不过在编译它的example时,说是缺少ucs.sty文件,产生PDF文件失败。于是我从ctan下载了unicode包,把包里的文件按照它的INSTALL说明的方法复制到了宏包目录,可是再编译时,又出现了一个未定义宏的错误: ! Undefined control sequence. \u-default-1211 #1->\cyrshha l.25 ? ! Emergency stop. \u-default-1211 #1->\cyrshha 我用unicode包里提供的一个叫discovermacro.pl的Perl脚本根据log文件文件找到了所需要的四个文件,然后再从ctan弄到了这些文件,结果一点作用都没有。这是怎么回事?每一步我都texhash过了。
2008年6月02日 22:49
:D 大抵是这个意思。因为取名的时候,正处于极度空虚状态。
2008年6月02日 21:03
哈哈,你blog的名字很有意思。while(1)看起来无休止的忙,其实什么事情都没有做do{//nothing}