我尽量简洁地讲:
想要学习 Plain TeX(但具有 UTF-8、mplib、TiKz 等现代便利功能)
非常尊重 ConTeXt 团队。我喜欢这个想法,当我跌倒在此基础上,通过其提供的 LuaTeX 实现了 OTF 支持和 mplib luatex-plain.fmt
。以后想使用 ConTeXt,因此继续安装 ConTeXt 并制作上述格式。
展翅高飞,还安装了 TeX Live 2013 (MacTeX & Windows),并学会了使用那普通 LuaTeX 版本 ( plain.fmt
),以及luaotfload.sty
和luamplib.sty
。
很高兴继续进行,但是存在问题:
- TeXLive2013 LuaTeX plain:无法设置数学字体(但确实让它与 ConTeXt 的 LuaTeX-plain 一起工作这)。它会在 中查找个人文件
$HOME/texmf
。 - ConTeXt LuaTeX-plain:无法让它在
$HOME/texmf
、$TEXMF/tex/texmf-local
、$TEXMF/tex/texmf-projects
或中找到非系统安装的字体或输入文件$TEXMF/tex/texmf-fonts
,即使这些目录在 处的配置文件中被引用$TEXMF/tex/texmf/web2c/texmf.cnf
,我假设文件名解析使用。一定是缺少了某些基本的东西。
哪个最容易修复?TL 的 LuaTeX plain 中的数学字体,还是解析 ConTeXt 的 LuaTeX-plain 中的文件和字体?
在得出结论之前,每次重试和移动文件时都会运行这些命令(其中一些可能是多余的,但无法知道):
mktexlsr
mtxrun --script base --generate
luatools --generate
context --generate
luatools --self-update
context --self-update
mtxrun --script fonts --update --force
mtxrun --script fonts --udpate --simple
此外,luatools --find-file
和mtxrun --locate
可查找相关文件/字体。kpsewhich/where
仅当它们位于 中时才可找到$HOME/texmf
。但在运行 时使用\input <filename>
、 或\font\x = name:xxxx
或 则\font\x = file:xxxx
不起作用luatex --fmt luatex-plain <filename>.tex
。
有什么想法吗?厌倦/尴尬地向 ConTeXt 邮件列表发送新手基本问题。不想只是破解它,也想同时制作高质量的文档(尽管是手动排版),并在这个过程中“从头开始”学习。
答案1
我自己的问题的部分答案来自 ConTeXt 邮件列表上的 Aditya Mahajan(逐字回答,但带有格式和链接):
了解 TDS (TeX 目录结构)。
您需要将文件放在
$TEXMF/tex/plain/
Plain 格式的子目录中才能找到它,或者放在$TEXMF/tex/generic/
所有宏包(plain、latex、context)的子目录中才能找到它。
作为实验,放置埃普莱恩中的源文件。没有其他可见副本。对于包含的$HOME/texmf/tex/generic/eplain/
文件,命令testdox.tex
\input eplain
luatex --fmt luatex-plain testdoc.tex
确实找到了eplain.tex
。执行了三个“ generate
”命令:
mktexlsr
context --generate
luatools --generate
现在所有这些命令都会找到该文件:
luatools --find-file eplain.tex
mtx-run --locate eplain.tex
kpsewhich eplain.tex
此外,如果其他人在 ConTeXt 中遇到字体位置问题,对于 OTF 字体,以 Alegreya* 为例,我
- 创建目录:''$HOME/texmf/fonts/opentype/huerta/alegreya'' 和
- 将所有 ''*.otf'' 文件复制到那里。
- 通过运行
generate
上面的“ ”命令, - 然后执行下面的字体更新命令,
\font\x = <font>
现在无需在操作系统中安装字体即可工作。
mtxrun --script fonts --update --force
mtxrun --script fonts --update --simple --force
编辑:路径问题已解决。同样适用于 Windows,只需确保您对的设置满意即可%TEXMFHOME%
,您可以使用批处理文件进行设置,也可以在中永久设置%TEXMF%\tex\texmf\web2c\texmf.cnf
。在开始使用 ConTeXt 的 LuaTeX 之前,我从 Cmd Prompt 控制台运行此ctxenv.cmd
文件:
@echo off
:: Sets ConTeXt environment for running ConTeXt tools.
:: NB: This includes setting TEXMFHOME and calling
:: .\tex\setuptex.bat. It also add the ''.\utl''
:: directory to your PATH. This file must live in
:: your ConTeXt base directory. It will set %CTX%
:: for convenience.
::
set CTX=%~dp0
set CTX=%CTX:~0,-1%
set PATH=%CTX%\utl;%CTX%\bin;%PATH%
set TEXMFHOME=%CTX%\local
.\tex\setuptex.bat
:: optional: remove the colons in front of these commands:
::mktexlsr
::context --generate
::luatools --generate
至于 TL 数学字体设置问题,我将改述为一个新问题。