我正在记录一些 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 节。