我是学生,我的老师发布了这种“如何在 LaTeX 中让 XML 看起来很酷”的文章。我们在课堂上使用它,但我注意到了一些错误。
例如,在标签内打印数字时(如<number> this is 25 </number>
),程序不会将数字 25 打印为与其余单词相同的颜色。
一张图片胜过千言万语:
我希望它们以与其余文本相同的方式打印。我尝试告诉 LaTeX 将所有数字打印为红色,但这也适用于 XML 声明。这不太好。
有什么办法可以实现我的要求吗?
谢谢你的帮助,我是个菜鸟:D
抱歉我的英语不好<3
实际代码:
\documentclass[11.5pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[spanish]{babel}
\usepackage{graphicx}
\usepackage{listings}
\usepackage[svgnames]{xcolor}
\usepackage{newtxtext}
\lstdefinelanguage{XML}{
basicstyle=\ttfamily\footnotesize,
morestring=[b]",
moredelim=[s][\bfseries\color{Maroon}]{<}{\ },
moredelim=[s][\bfseries\color{Maroon}]{</}{>},
moredelim=[l][\bfseries\color{Maroon}]{/>},
moredelim=[l][\bfseries\color{Maroon}]{>},
morecomment=[s]{<?}{?>},
numberstyle=\color{red}
morecomment=[s]{<!--}{-->},
commentstyle=\color{DarkOliveGreen},
stringstyle=\color{blue},
identifierstyle=\color{red},
extendedchars=true,
literate=
{á}{{\textcolor{red}{\'a}}}{1}
{é}{{\textcolor{red}{\'e}}}{1}
{í}{{\textcolor{red}{\'i}}}{1}
{ó}{{\textcolor{red}{\'o}}}{1}
{ú}{{\textcolor{red}{\'u}}}{1}
{ñ}{{\textcolor{red}{\"n}}}{1},
}
\begin{document}
\lstset{language=XML}
\begin{lstlisting}
<number> This is 25</number>
\end{lstlisting}
\end{document}