如何使用 MikTeX 自带的 cweave 和 ctangle 程序?

如何使用 MikTeX 自带的 cweave 和 ctangle 程序?

我对在 Windows 上使用 CWEB 和 LaTeX 很感兴趣。今天我发现我的 MikTeX 安装附带两个有趣的程序,cweave 和 ctangle。它们是 Knuth 和 Levy 的 CWEB 吗?当我尝试运行它们时,我遇到了以下问题:

%cweave.exe cwebsync.w_h
This is CWEAVE, Version 3.64 (MiKTeX 2.9.6960)
Sorry, but c:\emacs\miktex\texmfs\install\miktex\bin\cweave.exe did not succeed.
The log file hopefully contains the information to get MiKTeX going again:
  c:\emacs\miktex\texmfs\data\miktex\log\cweave.log
%

日志文件显示以下内容:

%cat c:\emacs\miktex\texmfs\data\miktex\log\cweave.log
[...]
2019-02-18 21:44:44,561-0300 INFO  cweave - starting with command line: c:\emacs\miktex\texmfs\install\miktex\bin\cweave.exe cwebsync.w_h
2019-02-18 21:44:44,644-0300 FATAL cweave - MiKTeX encountered an internal error.
2019-02-18 21:44:44,645-0300 FATAL cweave - Info: path="."
2019-02-18 21:44:44,645-0300 FATAL cweave - Source: Libraries\MiKTeX\Core\Session\miktex.cpp
2019-02-18 21:44:44,646-0300 FATAL cweave - Line: 675
2019-02-18 21:44:44,656-0300 INFO  cweave - finishing with exit code 1
%

我以前见过这种类型的内部错误 --- 我的 MikTeX 是便携式的,但这个 MikTeX 便携式版本并非所有东西都能立即使用。所以也许这里存在同样的问题。不过:我应该从 MikTex 安装中处理这些程序吗?

答案1

如果 miktex\bin 在路径上并且 texmf 结构良好,那么运行便携版本应该不是问题,我知道,因为如果我从系统的任何地方运行我的便携式 usb 副本

ctangle C:\Users\myname\Desktop\cweb_tar\examples\wordtest.w
我正确地得到了 wordtest.c,如果我 cweave 我得到了 30k 的 wordtest.tex

我确实得到了当我没有提供绝对地址时出现错误消息并且明智地没有从带有空格等的路径运行。

除了 CTAN 文件之外,还有一个有趣的相关收藏,位于http://www.literateprogramming.com/cweb_download.html当然还有主网站https://www-cs-faculty.stanford.edu/~knuth/cweb.html

相关内容