我有一个 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)