I want to set specific font just for listings in XeLaTeX.
\newfontfamily\consolas{Consolas}
\lstdefinelanguage{MyLanguage}{
basicstyle=\ttfamily,
.... % my language definition
}
\lstnewenvironment{MyLanguage}[1][]{
\lstset{language=MyLanguage,#1}
\consolas % do not work
}
{}
\begin{document}
\begin{MyLanguage}[caption={....}]
...
\end{MyLanguage}
\end{document}
I know it is possible to set default mono-space font for whole document with
\setmonofont{Consolas}
and it is working but I do not want other mono-space things like URLs in that font.
Maybe if it is possible to set mono-space font to its default and use this
\lstnewenvironment{MyLanguage}[1][]{
\lstset{language=MyLanguage,#1}
\setmonofont{Consolas}
}
{\setmonofont{??default??}}
\lstset{basicstyle=\consolas}
? Alsobasicstyle=\ttfamily
should work when you declare\setmonofont{Consolas}
.basicstyle=\consolas
really works.basicstyle=\ttfamily
with\setmonofont{Consolas}
was affecting other mono-spaced things like URLs which I want with normal font. Can you write your answer as real answer so i can mark it as answer? :)