I'm documenting some HMTL and wold like to use listings and inside the listing some comments, but without to see the HMTL comments <– –!> arrows. Is there a way to do that?
mwe:
\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}
Best Answer
With
morecomment
you can set an arbitrary character or character sequence as comment marker, to mark comments until the end of the line or between a pair of delimiters. Note that for using the%
sign you need to escape the character inlstset
because it is also the LaTeX comment character.Example:
Result: