DTX 文件编辑器

DTX 文件编辑器

DTX 文件基于 LaTeX 注释,这意味着任何可以突出显示 LaTeX 代码的编辑器都会将大多数 DTX 文件(所有文档)打印为注释,因此不是突出显示代码。

我发现 Emacs 可以解决这个问题,但是我不想仅仅因为这个就学习如何使用 Emacs。WinEdt 应该也能解决这个问题,但它不是开源的。TeXworks 不能解决这个问题(我使用的是 Window)。我读到 gedit 应该可以做到这一点,但它也只能突出显示标准的 LaTeX 代码。

LaTeX 文档源 (.dtx) 文件的编辑器/IDE引入了 TeXworks 中用于高亮显示的脚本,但我不知道如何告诉 TeXworks 使用它。设置对话框不允许这样做。

答案1

我用特克斯沃克斯用于编辑.dtx文件:我将解释如何设置它。

在 Windows 上,“原始” TeXworks 将其设置存储在C:\Users\<user>\TeXworks\configuration(Windows 7)/ C:\Documents and Settings\<user>\TeXworks\configuration(Windows XP) 中。在那里,您将找到一个名为 的文件syntax-patterns.txt,最好使用 TeXworks 本身来编辑该文件(行尾为 *nix,因此记事本会弄乱格式)。我已向该文件添加了一个部分,内容如下

[LaTeX DTX]

# comments
red        Y    \^\^A.*

# Guards
orange        N    %<(?:[A-Za-z0-9!\|\&]+|.)>
limegreen    N    %<\*(?:[A-Za-z0-9!\|\&]+|.)>
crimson        N    %</(?:[A-Za-z0-9!\|\&]+|.)>

# special characters
darkred        N    \^\^\^\^\^[0-9a-z]{5}
darkred        N    \^\^\^\^[0-9a-z]{4}
darkred        N    \^\^\^[0-9a-z]{3}
darkred        N    \^\^[0-9a-z]{2}
darkred        N    [$#^_{}&]
gray        N    ^%%.*
gray        N    ^%

# Macrocode
green        N    \\(?:begin|end)\{macrocode\}

# LaTeX environments
darkgreen    N    \\(?:begin|end)\s*\{[^}]*\}

# control sequences
blue        N    \\(?:[A-Za-z@:_]+|.)

添加此项并重新启动 TeXworks,会在格式 -> 语法颜色菜单中添加一个新选项。当我编辑.dtx文件时,我会使用这些突出显示设置。

如果您使用由 TeX Live 安装的 TeXworks,则设置位于C:\Users\<user>\.texlive<year>\texmf-config\texworks\configuration(根据情况选择年份)。

对于 Mac 用户,设置位于~/Library/TeXworks/configuration,而对于 Linux 用户,设置位于~/TeXworks/configuration:其他设置细节保持不变。

Windows 上 TeXworks 的替代品是编辑。它有一个相当先进的“DTX 模式”,可从社区支持站点。上面我的设置中的配色方案基于 WinEdt 的 DTX 模式:在切换到 TeXworks 之前,我曾经使用过 WinEdt。

答案2

VIM.dtx开箱即用地识别文件。¹ 它不会将以%和开头的行视为%%注释,并正确突出显示代码。同时, (的 ed 部分^^A内的注释字符)被识别为正确的注释字符。\DocInput.dtx


¹ 你对 VIM 还有什么期望?;-)

答案3

特克斯工作室支持dtx开箱即用地编辑文件。支持可用自 2012 年 5 月以来

相关内容