这就是 ConTeXt Minimals

LiYanrui posted @ Oct 08, 2009 02:25:29 AM in Dream of TeX with tags ConTeXt MkIV tex , 23970 阅读

声明:可转载,可修改,也可以不注明作者和出处,但是从节省这个 blog 服务器资源方面考虑,一定不要对本文进行图片引用,谢谢!

先问一下,有看过上一篇“序幕有点长”?

不管是在 Windows、Mac OS X、FreeBSD、Solaris 的高贵庄园,还是在 GNU/Linux 的草根江湖,ConTeXt 寂寞又顽强地生存着,它居住在由一群 TeX 黑客合力搭建的一个结实又舒适的TeX 发行版——ConTeXt Minimals 里。所以在认识 ConTeXt 之前,略微了解一下 ConTeXt Minimals 的背景,并将其安置于自己所熟悉的操作系统,是我们必需的功课。

ConTeXt Minimals 是自由/开源软件。在当前的软件世界里,存在着两个极端,一端是由私有软件构成,另一端是由自由软件构成。在这两个极端所撑起的空间中,存在着许许多多发展方向摇摆不定的开源软件, 它们可能会一直保持着开源状态,可能会转化为私有软件,也有可能转化为自由软件。开源软件当初是一群自由软件的领军人物将自由软件推向商业化运作的产物, 所以大部分开源软件都是自由软件的朋友。ConTeXt Minimals 是由许多程序组合而成的,这些程序要么是自由软件,要么是开源软件(绝大多数 TeX 发行版都是这样子),所以我们称 ConTeXt Minimals 是自由/开源软件。

ConTeXt Minimals 能够支持的操作系统可分为 Windows 系统和类 Unix 系统(Unix-like System)。所谓类 Unix 系统,就是操作系统的核心部分是由早先的 Unix 操作系统演变、衍生或者模仿而来的。不论是高贵的 Mac OS X、FreeBSD、Solaris,还是草莽的 GNU/Linux,它们都属于类 Unix 系统,并且大都是自由/开源的。

表 1 中记录了目前 ConTeXt Minimals 所支持的操作系统平台及相应的维护者。这些维护者的主要工作就是将 ConTeXt 开发者提供的程序源码编译成二进制文件,这样各操作系统用户下载 ConTeXt Minimals 后,基本可以“开箱即用”。认真考虑一下,其实你也有能力担任某个操作系统平台的 ConTeXt Minimals 发行版的维护者,譬如表 1 中高亮粗体显示的那个名字,就是中国大陆的一名 TeX 黑客,他负责 FreeBSD 平台上的 ConTeXt Minimals 发行版维护工作。

操作系统 简称 二进制包维护者 备注
表 1 这些操作系统环境适合安置 ConTeXt Minimals
MS Windows mswin Akira Kakuto (W32TeX)  
Linux linux contextgarden.net 基于 glibc 2.3.6 编译
Linux, 64-bit linux-64 Peter Münster 简称应当改为 linux-amd64
Linux, PowerPC linux-ppc Piotr Kopszak  
Mac OS X, Intel osx-intel Mojca Miklavec  
Mac OS X, PowerPC osx-ppc Mojca Miklavec  
Mac OS X, Universal Binaries osx-universal Mojca Miklavec  
FreeBSD freebsd Yue Wang, Diego Depaoli 简称应当改为 freebsd-intel
FreeBSD, AMD64 freebsd-amd64 Michael Krauß  
Solaris, Intel sunos-intel Michael Krauß  
Solaris, Sparc sun Vladimir Volovich 在 Solaris 8 系统中编译

无论是在 Windows 环境还是在类 Unix 环境,ConTeXt Minimals 的安装与使用是凭借两个 Shell 脚本来完成的,其中一个是 first-setup 脚本,用于安装;另一个是 setuptex 脚本,用于启用 ConTeXt 工作环境。在 Windows 环境里, 所谓的”Shell 脚本”即批处理文件,文件扩展名为 .bat,将其简单理解为命令行程序即可。在类 Unix 环境里,first-setup 和 setuptex 脚本可以在主流 Shell 中运行,在下文中,仅以 Bash 环境为例。

ConTeXt Minimals 的发布版本分为开发版(即 Beta 版或谓“折腾版”)和稳定版(即 Current 版)。前者的发布较为频繁,主要用于测试;后者每年发布一次。first-setup 脚本默认安装的是 Beta 版。如果想早一些体验 ConTeXt MkIV 的新功能,并且不会因为它不太稳定而影响心情,推荐安装 Beta 版。

还需要注意的是,在开始安装 ConTeXt Minimals 之前,需要确认一下网络是否畅通,是否可以较快地从国外网站单线程下载约 150MB 的文件。

在 Windows 环境中安装与使用

http://minimals.contextgarden.net/setup/ 下载 context-setup-mswin.zip 软件包,假设将其保存于 d:\ 目录,并在该目录对 context-setup-mswin.zip 解压缩,得到 d:\context 目录,设该目录即为 ConTeXt Minimals 安装目录,其中包含 first-setup.bat 批处理文件以及子目录 bin后文再谈及 Windows 环境里的 ConTeXt Minimals 安装目录,如无特别说明,皆指 d:\context 目录。

做好上述准备工作后,最简单的安装方式是直接执行 d:\context\first-setup.bat(比如用鼠标左键双击文件图标)批处理程序,系统会弹出一个命令提示符窗口用于显示安装过程中的一些信息。ConTeXt Minimals 安装完成后,命令提示符窗口会自动关闭。另外,如果系统中开启了某种网络防火墙,需使之准许 first-setup.bat 调用 d:\context\bin\rsync.exe 程序联网下载所需文件。

略微麻烦一些但是可以根据自己需求做一些设定的安装方式是:在命令行窗口中调用 first-setup.bat 进行安装。具体步骤如下:

  1. 在 Windows “开始”菜单中,从“所有程序” -> “附件” -> “命令提示符”打开命令行窗口;
  2. 在命令行窗口中输入“d:\context\first-setup.bat”命令(输入的命令是用“回车”键执行),即可调用 first-setup.bat 开始安装 ConTeXt Minimals。

在步骤 2 中,如果希望使用 ConTeXt Minimals 稳定版,那么应在命令行窗口中输入:

d:\context\first-setup.bat --context=current

将来如果想更新 ConTeXt Minimals 的版本,只需将安装过程重复执行一次即可,因为 first-setup.bat 会调用 rsync 程序,从网络上下载那些那些发生变化的文件去替换原有文件,这种更新方式叫做增量式更新。

如果知道如何修改 Windows 系统的全局环境变量,可以将 d:\context 目录添加到 PATH 变量中,这样就不需要在命令行窗口中输入像“d:\context\first-setup.bat”这么冗长的命令行,只需输入“first-setup.bat”即可。

first-setup.bat 所安装的 ConTeXt Minimals 软件包位于 ConTeXt Minimals 安装目录的 tex 子目录(即 d:\context\tex)内,要使用 ConTeXt Minimals 的 ConTeXt 环境,需要在命令行窗口中调用 setuptex 脚本开启 ConTeXt 环境,然后在同一命令行中调用 context 脚本对 TeX 文稿进行编译,从而得到 PDF 文档格式的排版输出,下面通过一个具体的示例来理解这个过程。

首先,在 d:\ 创建一个名为 test 的目录,并使用记事本在该目录中创建一份 hello.tex 文件,内容如下:

\starttext

Say hello to \CONTEXT.

\stoptext

为了便于表述,将扩展名为 .tex 的文本文件称为 “TeX 文稿”,并将 ConTeXt 格式的 TeX 文稿简称为 “ConTeXt 文稿”

然后打开命令行程序,输入 "d:",将命令提示符切换到 "D:\>"(表示即将在 D:\ 目录中执行一些命令):

在命令行程序中继续输入“cd test”命令,将当前命令行程序所在目录切换为 d:\test

现在,开始准备编译 hello.tex 文稿,这需要在命令行程序中调用 setuptex 脚本来开启 ConTeXt 工作环境。由于 setuptex 脚本位于 ConTeXt 安装目录的 tex 子目录,所以需要在命令行程序中输入“d:\context\tex\setuptex” 命令来调用它:

如果知道如何修改 Windows 系统的全局环境变量,可以将 d:\context\tex 目录添加到 PATH 变量中,这样就不需要在命令行窗口中输入“d:\context\tex\setuptex”这么冗长的命令,只需输入“setuptex”命令即可。

ConTeXt 工作环境开启后,现在可以在命令行窗口中输入 "context hello" 命令,开始编译位于 d:\test 目录的 hello.tex 文稿:

使用 context 命令编译文稿过程中,命令行窗口中会叽里咕噜地显示许多信息,如果文稿被成功编译,窗口最终显示以下信息:

需要注意的是:首次使用 context 命令来编译文稿时,程序运行速度会有些慢,因为需要对排版中用到的字体进行 Cache 处理,需要耗费一部分时间。以后如果再使用 context 命令编译文稿时,如果所用字体已被 Cache 处理,那么文稿编译速度会显著提高。

查看 d:\test 目录,可以看到 hello.tex 文稿的排版输出结果——hello.pdf 文件,以及扩展名为 ".tuc"、".log"之类的文稿编译过程中生成的中间文件。

不要担心以后会一直都要开着这个黑暗的命令行窗口来使用 ConTeXt,在“TeXworks 会让我们轻松一下”这一节里,应该能够看到一些光明。

在类 Unix 环境里安装与使用

在类 Unix 系统里安装 ConTeXt Minimals,首先要考虑一下是否允许系统其他用户使用 ConTeXt 环境。本文假定所安装的 ConTeXt Minimals 可以被系统中所有用户使用。当然,这样做存在安全隐患,倘若对类 Unix 的 Shell 环境以及用户/组管理机制较为熟悉,可以根据自己的需求去定制下面的安装步骤。

首先假设 ConTeXt Minimals 的安装目录为 /opt/context,打开终端,以超级用户权限创建这一目录:

$ sudo mkdir /opt/context

然后修改 /opt/context 目录权限,允许任何用户都具备该目录的读写权限:

$ sudo chmod a=rwx /opt/context

将 Shell 当前工作目录切换为 /opt/context,并从网络上下载 first-setup.sh 脚本:

$ cd /opt/context
$ wget http://minimals.contextgarden.net/setup/first-setup.sh

现在,执行 first-setup.sh 脚本,即可开始 ConTeXt Minimals 的自动安装过程:

$ sh first-setup.sh

假如系统未安装 Ruby,那么在 执行 first-setup.sh 脚本时,也许会提示你先安装 Ruby。事实上,这个脚本没有写好,因为只有 ConTeXt MkII 才需要 Ruby。

first-setup.sh 脚本默认安装的是 ConTeXt 折腾版,如果想要稳定版本的话,就在上述执行 first-setup.sh 脚本的命令中添加 "--context=current" 选项:

$ sh first-setup.sh --context=current

注意:上述安装过程结束后,还需要将 TEXMFCACHE 目录(对于本文而言,即 /opt/context/tex/texmf-cache)权限设置为允许其他用户读写:

$ chmod -R  a+rw  /opt/context/tex/texmf-cache

将来要对 ConTeXt 进行版本升级,只需重复执行 first-setup.sh 脚本程序即可。

现在,可以通过编译一份 ConTeXt 文稿来验证 ConTeXt Minimals 是否可以正常工作。首先,在 $HOME 目录创建一个 test 目录,使之作为终端当前工作目录,并在该目录内创建 hello.tex 文件:

$ cat > hello.tex << EOF
> \starttext
> Say hello to \CONTEXT.
> \stoptext
> EOF

 在当前终端启用 ConTeXt 工作环境:

$ source /opt/context/tex/setuptex

最后,调用 context 命令编译 hello.tex 文稿:

$ context hello

查看是否生成 hello.pdf 文档,并观察排版结果是否正确。

TeXworks 会让我们轻松一下

采用上述的安装方式,无论是在 Windows 还是类 Unix 系统里,要启用 ConTeXt Minimals 的 ConTeXt 工作环境,均需要执行一个批处理文件或者 Shell 脚本,并且所启用的 ConTeXt 工作环境也只是临时有效。采用设置操作系统全局环境变量的方式可以有效解决这个问题,但是顾虑到不与其它 TeX 发行版发生全局环境变量冲突,要么忍耐,要么自己再想点别的招。比如说自己动手写一个批处理文件或者 Shell 脚本。

撇去 ConTeXt 工作环境的问题,可能对于 Windows 用户最大的障碍是 ConTeXt 文稿编辑工具的选择,老是用记事本不是个办法,而网上流传的许多 TeX 编辑器如 WinEdt、LyX 等,它们主要是为了支援 LaTeX 文稿编辑的。对于许多类 Unix 用户,被灌输的选择可能会多一些,像 Emacs 和 Vim 之类的老牌文本编辑器是耳熟能详的,另外还有许许多多可以自主配置的文本编辑器,它们皆可用于编辑 ConTeXt 文稿。

尽管很多文本编辑器都声称可用于编辑 ConTeXt 文稿,但是对于写教程的我而言,会更喜欢既能在 Windows 也能在类 Unix 系统中工作的 TeX 编辑器,而且在配置方面不要太复杂。从这个角度,我选择 TeXworks,虽然我平日只用那个颇锻炼手指的 Emacs。

TeXworks 是 XeTeX 的作者 Jonathan Kew 开发的一款 TeX 编辑器,适用于 TeX、LaTeX、ConTeXt 文稿编辑,其特点是界面简洁友好,内部集成了轻便的 PDF 阅读器可以用于“即时”查看排版结果,并且在 WIndows 和类 Unix 系统中都吃得开。

最新的 TeXworks 稳定版本可以从这里根据自己所使用的操作系统类型下载到,至于怎样安装它,即使我想讲,你也会嫌我罗嗦,所以我在这里只讲讲怎样配置它,使之成为 ConTeXt 的“图形化前端”。

现在假设你已经成功地安装了 TeXworks,并且按照你喜欢的方式开启。第一次打开 TeXworks 时,它会占据屏幕居左的一半,就是像下图这样。

上面这个图中所显示的 TeXworks 是我在 Gentoo Linux 系统中打开的,因为我用的系统是英文环境,所以 TeXworks 的菜单也受到影响。事实上 TeXworks 目前是有中文界面的,如果你的操作系统的语言环境设置为中文,可能默认就是中文界面。另外,即便默认是英文界面,也是可以通过 TeXworks 的菜单“Edit -> Preferences” 打开首选项 (Preference) 对话框,将 TeXworks 的语言环境设置为中文,如下图所示:

解决了这个也许在你那里根本就不需要解决的中文界面问题之后,我们开始让 TeXworks 迎合 ConTeXt Minimals。

首先,通过 TeXworks 的菜单“编辑 -> 选项” 打开首选项对话框,在“排版”选卡里的“TeX 及相关程序路径”的列表中,添加 ConTeXt Minimals 所包含的那些 TeX 引擎与辅助程序所在目录的具体位置,这是通过点击那个“+”按钮打开一个目录浏览对话框并从中选择目的路径实现的。在 WIndows 系统里,如果 ConTeXt Minimals 被安装在 D:\context 目录,那么“TeX 及相关程序路径“就是 D:\context\tex\texmf-mswin\bin。在类 Unix 系统中,如果 ConTeXtMinimals 被安装在 /opt/context 目录,那么“TeX 及相关程序路径“就是 /opt/context/tex/texmf-linux/bin

在确定“TeX 及相关程序路径”之后,便开始设置 ConTeXt 文稿编译工具,也就是上面对话框中的“处理工具”的设置,TeXworks 故作聪明地给出了已经配置好的一组处理工具并在列表中都显示了出来。从列表里,可以看到 ConTeXt,但是不要高兴,那个只是为 ConTeXt MkII 准备的设置,不过我们可以将其修改为 ConTeXt MkIV。另外,如果感觉其它那些根本就用不上的“处理工具”,比如 XeTeX、XeConTeXt 之类的,可以选中它,然后点击右侧的“减号”按钮将其消掉。对于 ConTeXt MkIV 而言,只保留 "ConTeXt" 和 "BibTeX" 两项即可。

现在来配置 ConTeXt 处理工具。先在列表中选择 "ConTeXt" 项,然后点列表右侧点击“编辑”按钮,打开 ConTeXt 配置工具对话框:

现在,我们将 ConTeXt 配置工具对话框里的“程序”设定为 "context",并将“参数”列表中的那个 "texexec" 项使用右侧的“减号”按钮消掉,设定后就是像下图这样子:

好了,现在点击配置对话框的“确定”按钮,退出 ConTeXt 配置对话框,回到 TeXworks 的首选项对话框,将“默认”的处理工具由 "pdfLaTeX" 修改为 "ConTeXt":

现在,点击“确定”按钮,从首选项对话框里全身而退,然后关掉 TeXworks 再重新打开,这样我们所做的设定就开始生效了。

现在,在重新打开的 TeXworks 里,输入前面我们已经用了两次的 "Say hello to \CONTEXT" 的示例,然后点击 TeXworks 工具栏里的那个绿色的类似于视频播放器的播放按钮,或者使用快捷键 "Ctrl-T"可以调动 ConTeXt 格式的编译工具对 ConTeXt 文稿进行编译。注意,如果这时 TeXworks 发现这份文稿没有保存,它会友好的给你一个文件对话框,让你指定文件名保存一下,然后才为你编译这份文稿。排版输出结果会显示在屏幕右半侧 TeXworks 内置的 pdf 阅读器中,见下图:

现在,TeXworks 的 ConTeXt 工作环境中的关键部分已经配置完毕。只要你认真阅读上述文字,并能够机智地根据自己的情况进行适应性调整,应当不会出现太严重的问题。

如果已经确定 TeXworks 工作正常,那么就不妨饱暖思淫欲一下,再重新打开 TeXworks 的首选项对话框,根据自己的喜好,将“编辑器”选项部分胡乱的设定一下。我追求的是简单,所以只是将“语法高亮”项设置为 "ConTeXt",如下图所示:

 

要不要看看下一篇不仅仅是为了中文”?

yegle 说:
2009年10月08日 06:54

Thank you for this detailed HOWTO~

views63 说:
2009年10月08日 07:05

Windows 中用那个图形界面安装的好像不是最新的ConTeXt 宏包(至少我的情况是这样,还是用 first-setup.bat 比较好)

Avatar_small
LiYanrui 说:
2009年10月08日 07:11

@views63: 是最新的,它跟 first-setup.bat 所起的作用一样,都是调用那个 mtxrun 这个 lua 脚本来安装 CTX Minimals。

views63 说:
2009年10月08日 07:26

之前出现那个问题(在论坛http://bbs.ctex.org/viewthread.php?tid=52258&extra=page%3D1%26amp;filter%3Dtype%26amp;typeid%3D10)就是用那个安装的,而用 first-setup.bat 安装的就可以编译文档(可能是我的 xx  有问题,再试试)

 

Avatar_small
LiYanrui 说:
2009年10月08日 07:36

@views63: 奇怪。我刚才试了一下 first-setup.bat,版本的确要新,是 10 月 2 日的,而图形界面安装程序给我装的是 8 月 19 日的。

Avatar_small
LiYanrui 说:
2009年10月08日 07:37

@views63: 看来那个 mtxrun 也是有相应版本的。估计图形界面的安装程序由于不是 ConTeXt 官方维护的,所以版本跟进有点慢。

views63 说:
2009年10月08日 07:58

我的结果也是这样:

图形界面:ConTeXt ver: 2009.08.19 17:10 MKIV fmt: 2009.10.7 int: english/english

first-setup.bat:ConTeXt ver: 2009.10.02 13:14 MKIV fmt: 2009.10.7 int: english/english

还好真的是软件的问题,更新的话 W32TeX 的版本最新。

 

mutou 说:
2009年10月14日 00:37

多谢楼主好文!学习ing ,等待后文。

Yue Wang 说:
2009年10月15日 08:52

那个啥, 低调,低调⋯⋯

Avatar_small
LiYanrui 说:
2009年10月15日 16:53

@Yue Wang: 原本是要曝光你在这个论坛和那个论坛的那些马甲来着,后来照顾你比较低调,所以就改成这么来写了。希望有谁头脑一时发热就以你为榜样……

Yue Wang 说:
2009年10月15日 19:00

@LiYanrui: 说的我好像头脑发热一样。其实我是寂寞,寂寞⋯⋯谈恋爱以后生活充实了,折腾代码的时间就愈发减少了。加上现在课业越来越忙,现在一个月在TeX上的时间也不会超过两三个小时,以前一天都不止这些时间。

Avatar_small
LiYanrui 说:
2009年10月16日 00:09


@Yue Wang:

预定 1 个小时 TeX 时间/月。帮我挑挑毛病,或者指点一下,估计下一篇有关字体的文章里面,会有许多谬误

Yue Wang 说:
2009年10月16日 13:11

你这人太装低调了,明明知道你比我牛,还让我来给你查错⋯⋯ft

Avatar_small
LiYanrui 说:
2009年10月16日 16:17

@ Yue Wang:

你这么一说,我就有点膨胀并且有些头脑发热了。不过还算清醒,没看过源码,底气严重不足,另外遇到字体之类的东西,头昏的毛病依然存在。

另,那个 TFI 文档的事,还有在翻译着?

views63 说:
2009年10月18日 06:39

我支持介绍用命令行安装 ConTeXt Minimals,想只安装 ConTeXt MkIV ,在first-setup.bat 修改 engine=all 为engine=luatex 但这样在生成格式时报错(好像是缺少字体)而用参数 --extras=all 下载来的好像也有非 ConTeXt MkIV 的模块(以.mkii为后缀的文件),还是说我理解有误?

Avatar_small
savor 说:
2009年10月18日 08:56

期待你的下篇“字体”,看你的评论,感觉要讲得正确透彻是比较费功夫,不像我是拿来就用型:) 不过字体一章你可以一节一节贴出,不必追求一次写完善,先可以工作,再深入讲解

Dieken 说:
2009年10月22日 21:57

(1)
“由早先的 Unix 操作系统演变、衍生或着模仿而来的”

错别字:“或着”改成“或者”

(2)
“等感觉在不动用迅雷之类的工具就能够将 150M 左右大小的文件该被从网上差不多
拖下来的时候”

长句读着有点拗口,“感觉在”建议改成“感觉”,“文件该被”建议
改成“文件”,“差不多”建议去掉,本来就是“感觉”,就无所谓
“差不多”了—句子已经够长了。。。

(3)
“版本升级方法非常复杂,请按照上述的安装步骤再重复一次。”

“复杂”搞错了?是非常简单吧,只要再安装一次(其实是 rsync 同步)。

(4)
“这个测试方法也将是我们在 Windows 里一种使用 ConTeXt 排版文档的基本方式”

去掉“一种”。

(5)
安装过程过命令行方式好了,所有系统通用,有心折腾 TeX 的人应该不会惧怕这个
简单的命令,而且它有一个 --extras=all 选项很有用。

(6)
d:\contextminimal\setuptex.bat

这个路径是不是“d:\contextminimal\tex\setuptex.bat”?手头没有 windows
版 ConTeXt Minimals,没法验证。

(7)
那个 hello.tex 不要放在 D:\ 目录,建议搞个单独的目录,这样对生成的临时
文件有个简单认识,而且删除方便(context --purge 貌似删除不干净)。

(8)
hello.tex 中的 \CONTEXT 我试验了 \ConTeXt 也可以达到同样的效果,哪个是
更正式的写法?

(8)
TeXWorks 设置好 context 后会自动调用 setuptex?

Avatar_small
LiYanrui 说:
2009年10月22日 22:25

@Dieken:

> 安装过程过命令行方式好了,所有系统通用,有心折腾 TeX 的人应该不会惧怕这个
简单的命令,而且它有一个 --extras=all 选项很有用。

好的。那就把图形界面那个拿掉好了。

> 这个路径是不是“d:\contextminimal\tex\setuptex.bat”?

用命令行方式安装,路径是这样的。用图形界面方式安装,就是我说的那个样子 :)

> hello.tex 中的 \CONTEXT 我试验了 \ConTeXt 也可以达到同样的效果,哪个是
更正式的写法?

在 ConTeXt 官方的文档里,用的是前者。

> TeXWorks 设置好 context 后会自动调用 setuptex?

现在,貌似 setuptex 的作用只是为了设置 TEXMFOS,其它的环境变量都不是很重要了。在 TeXworks 里,只要设置了 bin 目录,就可以了,不需要 setuptex。我在 Win 和 linux 里都测试过,没问题。

zhangym 说:
2009年10月23日 07:20

请教一个编译的问题。
我使用的WinXP的ConTeXt Minimals,采用的是非图形界面的安装。
因为同时安装有MikTeX,不想修改操作系统全局环境变量。

每一次使用需要使用D:\context\tex\setuptex.bat D:\context\tex设置一下,想使用make编译,但总是提示context找不到。 请问该如何正确设置?

Avatar_small
LiYanrui 说:
2009年10月23日 15:57

@zhangym: 在 Makefle 里写全 context 命令所在路径试一下吧

Avatar_small
LiYanrui 说:
2009年10月25日 00:24

-------------

标记:已将 ConTeXt Minimals 在 Windows 系统中的安装方式修改为 first-setup.bat 脚本安装。

zhangym 说:
2009年10月26日 03:58

@LiYanrui:
关键是context并非可执行文件,是context.cmd的脚本文件。即使给定context全路径,提示找不到texlua。
context.cmd的内容如下:
-------------------------------------------
@echo off
setlocal
set ownpath=%~dp0%
texlua "%ownpath%mtxrun.lua" --script context %*
endlocal
------------------------------------------
make用的不熟,也不明白,~dp0是何变量,望明示之,谢谢。
-

Avatar_small
LiYanrui 说:
2009年10月26日 04:17

Win 的批处理脚本,我也看不懂。另外也不清楚你用的 make 是哪种,你查一下,看能不能在 makefile 里调用 setuptex 脚本或者临时设置一下系统 PATH 变量。


zhangym 说:
2009年10月26日 16:30

@LiYanrui:
谢谢回复,我再试试。

views63 说:
2009年10月26日 23:21

ConTeXt Minimals 自带 TeXworks 配置在 E:\context\tex\texmf-context\context\data\texworks 把下载的 TeXworks 解压到目录就可以直接使用。

cdacl 说:
2009年11月20日 17:42

@zhangym:
%~dp0 只可以用在批处理文件中,它是由它所在的批处理文件的目录位置决定的,是批处理文件所在的盘符:+路径。在执行这个批处理文件的过程中,它展开后的内容是不可以改变的。


比如在D盘下有个批处理文件,dirshow.bat:

Bat代码
@echo off
echo this is %%cd%% %cd%
echo this is %%~dp0 %~dp0

在C:\ 下执行它,输出为:

Bat代码
C:\>D:\dirshow.bat
this is %cd% C:\
this is %~dp0 D:\

Hongwen Qiu 说:
2009年11月29日 19:18

嗯,第二篇也看完了
“因为 first-setup.bat 会调用 rsync 程序只从网络上下载那些那些发生变化的文件去覆盖原来的文件” ---> “因为 first-setup.bat 会调用 rsync 程序,只从网络上下载那些发生变化的文件去覆盖原来的文件”?

“这样就不需要在命令行窗口中输入‘d:\context\first-setup.bat’这么冗长的命令行”
---> “...输入像 'd:\context\first-setup.bat'...”?

“在类 Unix 环境里安装与使用” 一节关于修改 /opt/context
目录权限的说明是不妥的吧,我觉得,不应把写权限给所有用户,之后的安装命令用
root 权限安装会比较好。

关于设置 TEXMFCACHE 目录权限的命令,应该少了一个 -R
选项吧,因为,这个目录需要递归改变权限,要不然就没有修改权限的意义了。

还有那个用 echo 输入 hello.tex 文件内容的方法,我个人认为用 HERE document
会更好吧,因为,个人觉得,只有一行的时候像你所用的那样输入,多于一行的时候用
HERE document
会好点,而且,觉得这里用简单重定向比用附加重定向更合适吧,因为输入的是全新的完整内容。

这个还是提出来给你做参考吧,“它会友好的给你一个文件对话框” --->
“它会友好地给你一个文件对话框”

“排版输出结果会显示屏幕右半侧 TeXworks 内置的 pdf 阅读器中” --->
“...会显示在屏幕右半侧...”?

Hongwen Qiu 说:
2009年11月29日 20:05

另外,在 “在类 Unix 环境里安装与使用” 输入的 hello.tex 的最后一句的 “\stoptext” 写成了 “\stop”

Avatar_small
LiYanrui 说:
2009年11月30日 00:41

@Hongwen Qiu: 多谢。大部分按照你说的作了修改,不过那个 HERE document,我是第一次听说,再学习 :-)

Hongwen Qiu 说:
2009年11月30日 01:06

@LiYanrui: 就是这样写
$ cat > hello.tex <<EOF
\starttext
Say hello to \CONTEXT.
\stoptext
EOF

就是用来处理多行字符串的,而且,第一个 EOF 还可以加单引号或者双引号,意思是有些微区别的。

wu 说:
2010年3月24日 17:51

我是装在E盘的,
但是用Texworks编辑(上面的Hello.tex)后,出现了问题,如下
E:\context\tex\texmf-mswin\bin\mtxrun.lua:1958: stack overflow

Avatar_small
Lox 说:
2010年3月25日 22:11

很不错的文档,写的非常细。不过与latex相比,context的长处又在哪里呢?

cdacl 说:
2010年3月25日 22:35

@Lox:
呃,先请问一下 latex 的长处在哪?

Avatar_small
Lox 说:
2010年3月26日 09:32

@cdacl: 不知道。要说长处总要有个对比喽。我不了解context,如何让我来回答呢。

cdacl 说:
2010年3月26日 16:51

@Lox: 如果你对 latex 的长处都不了解,你怎么来和 context 比较呢?

liyanrui 说:
2010年3月26日 19:06

@Lox: 在《序幕有点长》里,做了一点点比较。基本上,大家都是先入为主。唯一可比的就是目前 ConTeXt MkIV 的中文支持还不完善,而 LaTeX 很完善。

Lox 说:
2010年3月27日 05:29

@cdacl: 不争了。这是个矛盾。我还是先去了解下context吧。

tanhua 说:
2011年5月04日 16:36

@版主:gtk有类似 texworks的软件吗? 我的机器上没有qt系的软件。


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter