在以评论颜色显示但没有代码评论符号的列表中输入评论

在以评论颜色显示但没有代码评论符号的列表中输入评论

我正在记录一些 HMTL,并希望使用列表,并在列表内添加一些注释,但看不到 HMTL 注释 <-- --!> 箭头。有办法吗?

母语:

\documentclass{article}
  \usepackage[svgnames]{xcolor}
  \usepackage{listings}
      \lstset{% german umlauts
        basicstyle=\ttfamily,
        escapeinside={<@}{@>},
        literate={ö}{{\"o}}1
            {Ö}{{\"O}}1 
            {ä}{{\"a}}1 
            {Ä}{{\"A}}1 
            {ü}{{\"u}}1 
            {Ü}{{\"U}}1 
            {ß}{{\ss}}1
        }
        \lstset{ %
          backgroundcolor=\color{white},        % choose the background color; you must add \usepackage{color} or \usepackage{xcolor}; should come as last argument
          basicstyle=\scriptsize,                   % the size of the fonts that are used for the code
          breakatwhitespace=false,              % sets if automatic breaks should only happen at whitespace
          breaklines=true,                          % sets automatic line breaking
          captionpos=b,                             % sets the caption-position to bottom
          commentstyle=\color{DarkGreen},       % comment style
          deletekeywords={...},                 % if you want to delete keywords from the given language
          escapeinside={\%*}{*)},               % if you want to add LaTeX within your code
          extendedchars=true,                   % lets you use non-ASCII characters; for 8-bits encodings only, does not work with UTF-8
          frame=false,                          % adds a frame around the code (single)
          keepspaces=true,                      % keeps spaces in text, useful for keeping indentation of code (possibly needs columns=flexible)
          keywordstyle=\color{blue},            % keyword style
          language=Octave,                      % the language of the code
          morekeywords={*,...},                 % if you want to add more keywords to the set
          numbers=left,                             % where to put the line-numbers; possible values are (none, left, right)
          numbersep=5pt,                        % how far the line-numbers are from the code
          numberstyle=\tiny\color{DarkGray},    % the style that is used for the line-numbers
          rulecolor=\color{black},              % if not set, the frame-color may be changed on line-breaks within not-black text (e.g. comments (green here))
          showspaces=false,                     % show spaces everywhere adding particular underscores; it overrides 'showstringspaces'
          showstringspaces=false,               % underline spaces within strings only
          showtabs=false,                           % show tabs within strings adding particular underscores
          stepnumber=1,                             % the step between two line-numbers. If it's 1, each line will be numbered
          stringstyle=\color{DarkMagenta},      % string literal style
          tabsize=2,                                % sets default tabsize to 2 spaces
          title=\lstname,                               % show the filename of files included with \lstinputlisting; also try caption instead of title
          xleftmargin=20pt
        }
  \begin{document}
    \section{title}
      \lstset{language=HTML}
      \begin{lstlisting}
% Beispiel eines DOM-Objektes:
<div id="demo"><h2>Let AJAX change this text</h2></div>
<button type="button" onclick="loadDoc()">Change Content</button>
% Instanzierung des Objektes:
xhttp=new XMLHttpRequest();
% AJAX Call wird vorbereitet:
xhttp.open("GET", "ajax_info.txt", true);
% AJAX Call wird gestartet:
xhttp.send();
% Das DOM-Objekt ''demo'' wird geändert:
document.getElementById(''demo'').innerHTML = this.responseText;
% Funktionsaufruf, falls AJAX eine Antwort liefert:
xhttp.onreadystatechange = function() {}
% Prüfung auf erwartete Antwort:
if (this.readyState == 4 && this.status == 200) {}
      \end{lstlisting}
  \end{document}

答案1

morecomment可以使用任意字符或字符序列作为注释标记,以标记注释直到行尾或一对分隔符之间。请注意,要使用符号,%您需要转义字符,lstset因为它也是 LaTeX 注释字符。

例子:

\documentclass{article}
\usepackage[svgnames]{xcolor}
\usepackage{listings}
\lstset{
    basicstyle=\ttfamily,
    language=HTML,
    keywordstyle=\color{blue},
    stringstyle=\color{DarkMagenta},
    commentstyle=\color{DarkGreen},
    morecomment=[l]{\%}
}
\begin{document}
\begin{lstlisting}
% Beispiel eines DOM-Objektes:
<div id="demo"><h2>Let AJAX change this text</h2></div>
\end{lstlisting}
\end{document}

结果:

在此处输入图片描述

答案2

使用moredelim=[is][<your_style>]{<--}{--!>}

例如:

\documentclass{article}
\usepackage[svgnames]{xcolor}
\usepackage{listings}
\lstset{
    basicstyle=\ttfamily,
    language=HTML,
    keywordstyle=\color{blue},
    stringstyle=\color{DarkMagenta},
    moredelim=[is][\color{DarkGreen}]{<--}{--!>}
}
\begin{document}
\begin{lstlisting}
<--Beispiel eines DOM-Objektes:--!>
<div id="demo"><h2>Let AJAX change this text</h2></div>
\end{lstlisting}
\end{document}

结果:

列表示例

如果你使用morecomment而不是moredelim,整个注释将被丢弃。有关更多详细信息,请查看包装文档,第 3.3 节。

相关内容