使用 Minted VHDL 环境时出现“错误”

使用 Minted VHDL 环境时出现“错误”

我最近刚上大学,很恼火地发现,我们必须用 LaTeX 写报告和作业……直到我学会了如何使用它!我从讨厌它到爱上它只用了一天时间。:) 但鉴于我还很新,我可能会有一些菜鸟问题 - 所以请原谅我……

无论如何,回到问题,我正在尝试使用 minted 环境,在其中编写一些 VHDL 代码。我遇到了两个问题(虽然解决了一个问题,但可能解决了另一个问题……)

我写了以下代码: 在此处输入图片描述

其结果如下: 在此处输入图片描述

所以我的问题是这样的:LaTeX(Minted?)无法识别“信号”线。它在逗号和冒号周围放置了红色框,从颜色来看,它似乎无法识别此上下文中的“std_logic”...有什么想法可以解决这个问题吗?

如果我需要进一步说明问题,请告诉我...

附言:我希望它最终看起来像这样(减去评论): 在此处输入图片描述

我希望这足以作为一个最小的例子,虽然序言可能有点太广泛 - 它确实重现了这个问题(至少对我来说):

\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[danish]{babel}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{graphicx}
\usepackage{color}
\usepackage{minted}

\begin{document}

\begin{minted}[obeytabs,linenos,firstnumber=1,frame=leftline]{vhdl}
LIBRARY iee;
USE ieee.std_logic_1164.all;

ENTITY func IS
    PORT(A,B,C,D    :   IN STD_LOGIC;
         X      :   OUT STD_LOGIC);
END func

ARCHITECTURE LogicFunc OF func IS
    SIGNAL I,J,K,L  :    STD_LOGIC;
    BEGIN 
        L <= C  XOR D;
        I <= L  AND B;
        J <= A  OR  B;
        K <= I  AND J;
        X <= A  OR  L;
END LogicFunc;
\end{minted}

\end{document}

答案1

您需要END func--> END func;。缺少的分号会干扰突出显示。

相关内容