纯 tex 和 ngerman.sty 的问题

纯 tex 和 ngerman.sty 的问题

我尝试使用宏集排版纯 TeX 文档ngerman.sty。不幸的是,对于一个只包含以下内容的简单测试文件,我得到了以下输出\input ngerman.sty\end

这是 TeX,版本 3.1415926 (TeX Live 2013/Debian)
(./q.tex(/usr/share/texlive/texmf-dist/tex/generic/german/ngerman.sty
v2.5e 1998-07-08
ngerman -- \n 的语言编号未定义,默认使用 255,
ngerman——请阅读“gerdoc.tex”了解如何安装连字符模式。))
无输出页面。
记录在 test.log 上。

首先,我想知道这是否是一个错误,如果是,我该如何修复它?当我尝试使用xetexetex或排版文档时,会出现相同的错误pdftex。我对纯 TeX 有点陌生,这是我在阅读 TeXbook 后第一次尝试做一些稍微复杂的事情。我在 Ubuntu 14.04.1 上使用 TeXlive。就我而言,TeXlive 发行版中的所有软件包都安装在我的系统上

答案1

在创建格式时必须加载各种语言的连字模式。该plain.fmt文件仅使用英语的模式构建。

您可以通过自己创建格式来启用语言:

  1. 从终端运行

    pdftex -etex -ini "\input bplain\dump"
    
  2. 发送命令

    mkdir -p $(kpsewhich -var-value TEXMFHOME)/web2c/pdftex
    
  3. 发送命令

    mv bplain.* $(kpsewhich -var-value TEXMFHOME)/web2c/pdftex/
    
  4. 通过以下方式在文件上运行 TeX

    pdftex -fmt bplain fuzxxl
    

    (当然要使用真实的文件名)

您可能想要为此创建一个别名,或者为您的前端创建一个特殊命令。

对于 XeTeX,这不是必需的,因为格式会加载所有可用的语言。但是,您需要的语言名为

\lang@ngerman

而不是预期的\l@ngerman。在文件开头添加以下咒语

\catcode`@=11
\let\l@ngerman\lang@ngerman
\catcode`@=12

你应该会没事的。

相关内容