Latex,如何用不同的背景颜色突出显示代码

Latex,如何用不同的背景颜色突出显示代码

我看到了 minted 的例子: 在此处输入图片描述

我这样编写 Java 代码:

\begin{minted}[breaklines, breakanywhere, escapeinside=||]{java}
 private byte[] doEncryption(String data, SecretKey key){
    |\colorbox{green}{Logger logger = Logger.getLogger("MyLog"); }|
    Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
    logger.info("plaintext is: "+data); 
    cipher.init|(Cipher.ENCRYPT_MODE, Key);
    byte[] cipherText=cipher.doFinal(data);
    logger.info("ciphertext is: "+cipherText);
    return cipherText;
    }
\end{minted} 

然而,我只得到 在此处输入图片描述

它出什么问题了?

答案1

该问题是由"颜色框内部引起的,解决方法是:

\documentclass{article}
\usepackage{minted}

\newcommand{\foo}[1]{"#1"}

\begin{document}
\begin{minted}[breaklines, breakanywhere, escapeinside=||]{java}
 private byte[] doEncryption(String data, SecretKey key){
    |\colorbox{green}{Logger logger = Logger.getLogger(\foo{MyLog}); }|
    Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
    logger.info("plaintext is: "+data); 
    cipher.init(Cipher.ENCRYPT_MODE, Key);
    byte[] cipherText=cipher.doFinal(data);
    logger.info("ciphertext is: "+cipherText);
    return cipherText;
    }

\end{minted} 
\end{document}

在此处输入图片描述

相关内容