如何在 Linux 上手动安装 ctex?

如何在 Linux 上手动安装 ctex?

我已经下载了这个包,并将其解压到~/texmf/tex/latex/ctex,这是我已成功安装其他软件包的地方。

第一次运行时pdflatex ctex.ins,我收到了以下错误,尽管应该ctxdocstrip生成。

This is pdfTeX, Version 3.14159265-2.6-1.40.16 (TeX Live 2015/Debian) (preloaded format=pdflatex)
 restricted \write18 enabled.
entering extended mode
(./ctex.ins
LaTeX2e <2016/02/01>
Babel <3.9q> and hyphenation patterns for 3 language(s) loaded.
! I can't find file `ctxdocstrip'.
l.30 \input ctxdocstrip 
                        %
(Press Enter to retry, or Control-D to exit)
Please type another input file name:     
! Emergency stop.
l.30 \input ctxdocstrip 
                        %

接下来我下载了ctxdocstrip并将其放入目录中并再次尝试。

这会产生以下输出和错误。

Generating file(s) ./ctex.sty ./ctexsize.sty ./ctexheading.sty ./ctexart.cls ./
ctexbook.cls ./ctexrep.cls ./ctexbeamer.cls ./ctxdoc.cls ./ctexcap.sty ./ctexho
ok.sty ./ctexpatch.sty ./ctex-c5size.clo ./ctex-cs4size.clo ./ctex-article.def 
./ctex-book.def ./ctex-report.def ./ctex-beamer.def ./ctex-scheme-plain.def ./c
tex-scheme-plain-article.def ./ctex-scheme-plain-book.def ./ctex-scheme-plain-r
eport.def ./ctex-scheme-plain-beamer.def ./ctex-scheme-chinese.def ./ctex-schem
e-chinese-article.def ./ctex-scheme-chinese-book.def ./ctex-scheme-chinese-repo
rt.def ./ctex-scheme-chinese-beamer.def ./ctex-name-gbk.cfg ./ctex-name-utf8.cf
g ./ctex.cfg ./ctexopts.cfg ./ctex-engine-pdftex.def ./ctex-engine-xetex.def ./
ctex-engine-luatex.def ./ctex-engine-aptex.def ./ctex-engine-uptex.def ./c19rm.
fd ./c19sf.fd ./c19tt.fd ./c70rm.fd ./c70sf.fd ./c70tt.fd ./ctex-fontset-window
s.def ./ctex-fontset-windowsnew.def ./ctex-fontset-windowsold.def ./ctex-fontse
t-adobe.def ./ctex-fontset-fandol.def ./ctex-fontset-mac.def ./ctex-fontset-fou
nder.def ./ctex-fontset-ubuntu.def ./translator-theorem-dictionary-ChineseGBK.d
ict ./translator-theorem-dictionary-ChineseUTF8.dict ./ctexspa.def ./ctexmakesp
a.tex ./ctexspamacro.tex ./zhadobefonts.tex ./zhfandolfonts.tex ./zhfounderfont
s.tex ./zhubuntufonts.tex ./zhwindowsfonts.tex ./ctxdocstrip.tex ./README.md 

Processing file ctex.dtx (style,ctex) -> ctex.sty
                         (style,ctexsize) -> ctexsize.sty
                         (style,ctexheading) -> ctexheading.sty
                         (class,article) -> ctexart.cls
                         (class,book) -> ctexbook.cls
                         (class,report) -> ctexrep.cls
                         (class,beamer) -> ctexbeamer.cls
                         (ctxdoc) -> ctxdoc.cls
                         (ctexcap) -> ctexcap.sty
                         (ctexhook) -> ctexhook.sty
                         (ctexpatch) -> ctexpatch.sty
                         (c5size) -> ctex-c5size.clo
                         (cs4size) -> ctex-cs4size.clo
                         (heading,article) -> ctex-article.def
                         (heading,book) -> ctex-book.def
                         (heading,report) -> ctex-report.def
Runaway text?
\GetIdInfo\GetIdInfo\GetIdInfo\GetIdInfo\GetIdInfo\GetIdInfo\GetIdInf\ETC.
! TeX capacity exceeded, sorry [main memory size=5000000].
\ctxCMD ->\GetIdInf
                   o
l.200   }
         ^^M
!  ==> Fatal error occurred, no output PDF file produced!

我该如何解决此错误并成功构建ctex包?

答案1

中转站是 TeX Live 的一部分。因此,无需手动安装它,而且完全没有理由不这样做。相反,您应该在安装 TeX Live 中的其他软件包时安装它。

由于您使用的是 Debian 的 TeX Live 软件包,这意味着您应该使用apt或您首选的前端来安装它。如果您要使用上游 TeX Live,则可以使用tlmgr

这并不是说不能手动完成,而是说除非你真的没有更好的选择,否则你不应该手动完成。

话虽如此,如果你想排版中文,你真的应该考虑使用 XeTeX 或者 LuaTeX,因为它可以流畅地处理大字体和 unicode。除非你有真正令人信服的理由坚持使用 pdfTeX,否则没有必要纠结于字体和编码的传统限制。

确实,ctex.dtx始于

% !TeX program  = XeLaTeX

因此,您可以尝试.ins使用 XeTeX 而不是 pdfTeX 来处理,即使您需要使用 pdfTeX 来处理您自己的文档。

相关内容