考虑以下代码:
\documentclass{article}
\usepackage{stix}
\usepackage{listings,xcolor}
\lstdefinelanguage{test}{sensitive=true,
morekeywords={TEST},
morecomment=[l]{--}}
\lstnewenvironment{testcode}
{\lstset{breaklines=true,language=test, basicstyle=\color{blue}\tiny}}
{}
\begin{document}
\begin{testcode}
TEST
-- Testing 8*8=64
\end{testcode}
\end{document}
编译后pdflatex
输出如下:
如图所示,星号*
并未出现在listings
评论中。
如果我不使用该stix
包,它可以正常工作:
答案1
如果你查看日志文件,你就会发现问题的根源:
Missing character: There is no * in font ts1-stixgeneral-italic!
当您尝试使用 输出斜体时,就会发生这种情况*
。listings
这是因为listings
尝试使用 替换*
,\textasteriskcentered
不幸的是,在使用当前 stix 字体版本时,正确的变体中不存在 (STIXv1.1.0-乳胶)。一个简单的解决方法是重新定义\textasteriskcentered
为数学*
:
\documentclass{article}
\usepackage{stix}
\renewcommand{\textasteriskcentered}{\ensuremath{*}}
\usepackage{listings}
\lstset{basicstyle=\itshape}
\begin{document}
\begin{lstlisting}
Testing 8*8=64
\end{lstlisting}
\end{document}