在 lyx 中突出显示程序列表中的一行

在 lyx 中突出显示程序列表中的一行

我无法找到如何在程序列表中突出显示特定代码行。语法突出显示似乎有效,但我不需要突出显示特定语言关键字。

例如对于下面的代码,我如何突出显示/粗体 char j=malloc......行

public static void function(){
    int i=0;
    char j = malloc(sizeof(char));
    /.......some code....
    return;
}

答案1

像这样:

\documentclass[12pt]{article}
\usepackage{listings}
\usepackage{xcolor}

\newcommand{\hilight}{\makebox[0pt][l]{%
    \color{yellow}\rule[-4pt]{0.65\linewidth}{14pt}}%
}


\begin{document}

\begin{lstlisting}[language=C,escapechar=\%]
public static void function(){
    int i=0;
    %\hilight%char j = malloc(sizeof(char));
    /.......some code....
    return;
}
\end{lstlisting}

\end{document}

改编自Juanjo 在 latex-community.org 上

你可以看到结果关于 writeLaTeX

要在 LyX 中实现相同的结果,请转到Document->Settings并导航到选项卡。将从块到块末尾的Preamble所有内容粘贴到序言中并保存。\usepackage{listings}\begin{document}

要将程序列表插入文档,请转到Insert -> Program Listing菜单中的。将代码粘贴到列表环境中。然后按住Ctrl并右键单击环境并打开Settings对话框。转到Advanced对话框中的选项卡并粘贴escapechar={\%}到文本区域。配置其他设置,无论它们看起来如何。

您可以在 [此处] 下载一个 LyX 示例文件(https://dl.dropbox.com/s/9dfqtsc0fnftggc/hilite_example.lyx)。

相关内容