在 Latex 中渲染 VHDL

在 Latex 中渲染 VHDL

我有一个 VHDL 代码,我想将其插入到我的 latex 文档中。我需要一个包来处理语法高亮、缩进等。是否有一个包可以满足此目的?

答案1

minted软件包包括对 VHDL 代码的支持。它使用 Python 模块皮格门特斯提供语法高亮,并且 Pygments 支持VHDL。1

安装后,您将获得语法高亮功能,可以通过多种方式进行配置(请参阅软件包文档)。您还需要-shell-escape在运行文件时使用该标志,因为 LaTeX 正在调用外部程序(Pygments)来进行高亮。

您可以直接在文档中输入(VHDL)代码,也可以使用\begin{minted}{vhdl} ... \end{minted}或使用\inputminted{vhdl}{somefile.vhdl}来包含来自外部文件的代码:

这是一个简单的例子:

\documentclass{article}

\usepackage{minted}

\begin{document}

This is some VHDL code:

\begin{minted}{vhdl}
process
begin
  CLK <= '1'; wait for 10 NS;
  CLK <= '0'; wait for 10 NS;
end process;
\end{minted}

and here I can drop in an external file:

\inputminted{vhdl}{wikipedia.vhdl}

\end{document}

我以前从未听说过 VHDL,因此示例代码取自VHDL 的维基百科页面

使用默认设置后您将获得以下结果:

在此处输入图片描述

文档(可用在 GitHub 上) 更详细地介绍了如何自定义语法高亮、样式、布局等。


1您可以通过运行来检查 Pygments 是否支持某种语言

pygmentize -L lexers

在命令行上检查输出。在我的计算机上运行时,我得到了这个(作为更长的输出的一部分):

* vhdl:
    vhdl (filenames *.vhdl, *.vhd)

相关内容