问题:
我希望在使用列表时在 CSS 中应用灰色!important
。我已设法进行修改,以便之后颜色有所不同,:
但我如何修改下面的代码以便只!important
获得目标?
具体代码:
% Targets the colon in CSS code
\makeatletter
\def\colorcolonother#1#2{%
\expandafter\ifx\the\lst@token:%
\color{#1}%
\else
\color{#2}%
\fi
}
\makeatother
最小工作示例(MWE):
\documentclass{article}
\usepackage[dvipsnames,cmyk]{xcolor}
\usepackage{listings}
% --------------------------------------------------------------
% Color definitions
% --------------------------------------------------------------
\definecolor{editorGray}{cmyk}{0, 0, 0, 0.2}
\definecolor{editorBlue}{cmyk}{1, 0.35, 0, 0}
\definecolor{editorPink}{cmyk}{0, 1, 0, 0}
\definecolor{editorDarkOrange}{cmyk}{0, 0.8, 0.9, 0}
\definecolor{editorPurple}{cmyk}{0.75, 1, 0, 0}
% ----------------------------------------------------------------------
% Targets the colon in CSS code
% ----------------------------------------------------------------------
\makeatletter
\def\colorcolonother#1#2{%
\expandafter\ifx\the\lst@token:%
\color{#1}%
\else
\color{#2}%
\fi
}
\makeatother
% ----------------------------------------------------------------------
% Changes symbol colors for { and } in CSS
% ----------------------------------------------------------------------
\newcommand{\CodeSymbol}[1]{\textcolor{black}{#1}}
\lstdefinestyle{css}
{
stringstyle=\colorcolonother{editorBlue}{editorPurple},
commentstyle=\color{editorGray},
keywordstyle=\color{editorBlue},
identifierstyle=\color{editorDarkOrange},
commentstyle=\color{editorGray},
%
sensitive=true,
% Line numbers
xleftmargin={14pt},
numbers=left,
stepnumber=1,
firstnumber=1,
numberfirstline=true,
numberstyle=\color{black},
frame=l,
% Keywords
keywords={%
% CSS properties
accelerator,azimuth,background,background-attachment,
background-color,background-image,background-position,
background-position-x,background-position-y,background-repeat,
behavior,border,border-bottom,border-bottom-color,
border-bottom-style,border-bottom-width,border-collapse,
border-color,border-left,border-left-color,border-left-style,
border-left-width,border-right,border-right-color,
border-right-style,border-right-width,border-spacing,
border-style,border-top,border-top-color,border-top-style,
border-top-width,border-width,bottom,caption-side,clear,
clip,color,content,counter-increment,counter-reset,cue,
cue-after,cue-before,cursor,direction,display,elevation,
empty-cells,filter,float,font,font-family,font-size,
font-size-adjust,font-stretch,font-style,font-variant,
font-weight,height,ime-mode,include-source,
layer-background-color,layer-background-image,layout-flow,
layout-grid,layout-grid-char,layout-grid-char-spacing,
layout-grid-line,layout-grid-mode,layout-grid-type,left,
letter-spacing,line-break,line-height,list-style,
list-style-image,list-style-position,list-style-type,margin,
margin-bottom,margin-left,margin-right,margin-top,
marker-offset,marks,max-height,max-width,min-height,
min-width,transition-duration,transition-property,
transition-timing-function,transform,
-moz-transform,-moz-binding,-moz-border-radius,
-moz-border-radius-topleft,-moz-border-radius-topright,
-moz-border-radius-bottomright,-moz-border-radius-bottomleft,
-moz-border-top-colors,-moz-border-right-colors,
-moz-border-bottom-colors,-moz-border-left-colors,-moz-opacity,
-moz-outline,-moz-outline-color,-moz-outline-style,
-moz-outline-width,-moz-user-focus,-moz-user-input,
-moz-user-modify,-moz-user-select,orphans,outline,
outline-color,outline-style,outline-width,overflow,
overflow-X,overflow-Y,padding,padding-bottom,padding-left,
padding-right,padding-top,page,page-break-after,
page-break-before,page-break-inside,pause,pause-after,
pause-before,pitch,pitch-range,play-during,position,quotes,
-replace,richness,right,ruby-align,ruby-overhang,
ruby-position,-set-link-source,size,speak,speak-header,
speak-numeral,speak-punctuation,speech-rate,stress,
scrollbar-arrow-color,scrollbar-base-color,
scrollbar-dark-shadow-color,scrollbar-face-color,
scrollbar-highlight-color,scrollbar-shadow-color,
scrollbar-3d-light-color,scrollbar-track-color,table-layout,
text-align,text-align-last,text-decoration,text-indent,
text-justify,text-overflow,text-shadow,text-transform,
text-autospace,text-kashida-space,text-underline-position,top,
unicode-bidi,-use-link-source,vertical-align,visibility,
voice-family,volume,white-space,widows,width,word-break,
word-spacing,word-wrap,writing-mode,z-index,zoom
},%
morecomment=[l][\color{darkgray}]{//},
morecomment=[s][\color{darkgray}]{/*}{*/},
alsoletter={.\#},
morestring=[s]{:}{;},
alsodigit={-;:},
literate=*{\{}{{\CodeSymbol{\{}}}1
{\}}{{\CodeSymbol{\}}}}1
}
% ----------------------------------------------------------------------
% HTML
% ----------------------------------------------------------------------
\lstdefinestyle{html}
{
language=html,
sensitive=true,
stringstyle=\color{editorPurple},
commentstyle=\color{editorGray},
keywordstyle=\color{editorPink},
ndkeywordstyle=\color{editorBlue},
identifierstyle=\color{editorDarkOrange},
commentstyle=\color{editorGray},
tagstyle=\color{editorBlue},
%
markfirstintag=true,
morecomment=[s][\color{darkgray}]{<!-}{-->},
alsoletter={!-'},
alsodigit={.:},
keywords={},
% Line numbers
xleftmargin={14pt},
numbers=left,
stepnumber=1,
firstnumber=1,
numberfirstline=true,
numberstyle=\color{black},
% Frame
frame=l,
% German umlauts
literate=
{á}{{\'a}}1 {é}{{\'e}}1 {í}{{\'i}}1 {ó}{{\'o}}1 {ú}{{\'u}}1
{Á}{{\'A}}1 {É}{{\'E}}1 {Í}{{\'I}}1 {Ó}{{\'O}}1 {Ú}{{\'U}}1
{à}{{\`a}}1 {è}{{\`e}}1 {ì}{{\`i}}1 {ò}{{\`o}}1 {ù}{{\`u}}1
{À}{{\`A}}1 {È}{{\'E}}1 {Ì}{{\`I}}1 {Ò}{{\`O}}1 {Ù}{{\`U}}1
{ä}{{\"a}}1 {ë}{{\"e}}1 {ï}{{\"i}}1 {ö}{{\"o}}1 {ü}{{\"u}}1
{Ä}{{\"A}}1 {Ë}{{\"E}}1 {Ï}{{\"I}}1 {Ö}{{\"O}}1 {Ü}{{\"U}}1
{â}{{\^a}}1 {ê}{{\^e}}1 {î}{{\^i}}1 {ô}{{\^o}}1 {û}{{\^u}}1
{Â}{{\^A}}1 {Ê}{{\^E}}1 {Î}{{\^I}}1 {Ô}{{\^O}}1 {Û}{{\^U}}1
{œ}{{\oe}}1 {Œ}{{\OE}}1 {æ}{{\ae}}1 {Æ}{{\AE}}1 {ß}{{\ss}}1
{ç}{{\c c}}1 {Ç}{{\c C}}1 {ø}{{\o}}1 {å}{{\r a}}1 {Å}{{\r A}}1
{€}{{\EUR}}1 {£}{{\pounds}}1 {\\-}{}{0\discretionary{-}{}{}}
}
% ----------------------------------------------------------------------
% Language and inline definitions for listings
% ----------------------------------------------------------------------
\lstdefinelanguage{HTML5}{style=html}
\lstdefinelanguage{CSS3}{style=css}
\lstMakeShortInline[language=CSS3]^
\lstMakeShortInline[language=HTML5]|
% ----------------------------------------------------------------------
% Code style
% ----------------------------------------------------------------------
\lstset{%
% General design
inputencoding=utf8,
backgroundcolor=\color{white},
basicstyle=\normalsize\ttfamily\upshape\lst@ifdisplaystyle\tiny\fi,
frame=none,
escapeinside=$$,
% Languages
language=HTML5,
alsolanguage=CSS3,
% Code
tabsize=2,
showtabs=false,
showspaces=false,
showstringspaces=false,
extendedchars=true,
breaklines=false
}
\begin{document}
\begin{lstlisting}[language=CSS3,numbers=left,firstnumber=1]
.blue-header {
color: blue !important;
}
.red-header {
color: red;
}
\end{lstlisting}
\end{document}
期望输出:
关键字!important
需要用颜色进行修饰editorGray
。