我遇到这个问题已经有一段时间了,我在网上搜索过所有地方,但找不到解决方案。
问题是,在这一行之后,LaTeX 语法高亮不起作用:
\newcommand{\psins}[1]{\colorbox[rgb]{0.8,0.8,1}{\lstinline[basicstyle=\ttfamily\footnotesize\color{black}]|#1|}}
这一行之后的所有内容(几乎)都用相同的颜色书写。我在 Linux Mint 17 上使用 Texmaker。我甚至将 texmaker 编译为最新版本(4.5),并希望它能修复,但无济于事。此外,我在这里阅读了有关该错误的信息https://bugs.kde.org/show_bug.cgi?id=322154并查看了我的latex.xml
(位于/usr/share/kde4/apps/katepart/syntax
),发现它与此错误报告中的更正版本相同。
\include
由于我正在使用不同的文件并在其上进行写作,所以这仍然不是什么大问题,但我仍然想知道并且非常好奇是什么导致了这个问题。
谢谢
完整的 tex 文件来重现错误:
(顺便说一句,该问题没有出现在该问题的代码块上)
\documentclass[10pt, a4paper]{report}
\usepackage{fullpage}
\usepackage{titlesec}
\usepackage[dvipsnames]{xcolor} % for bg and fg colors
\usepackage{soul}
\setul{1pt}{} % to underline by \ul{}
\setlength\parindent{0pt}
\definecolor{mygray}{rgb}{0.85,0.85,0.85}
\definecolor{techy}{rgb}{0.65,0.85,0.65}
\renewcommand*{\ttdefault}{pcr}
\usepackage{listings}
\lstset{breaklines=true,frame=single}
\lstdefinestyle{DOS}
{
backgroundcolor=\color[rgb]{0.34,0,0.34},
basicstyle=\footnotesize\ttfamily\color{white},
commentstyle=\color{green}
}
\lstdefinelanguage{pshell}
{
morecomment=[l]{\#}
}
\newcommand{\psins}[1]{\colorbox[rgb]{0.8,0.8,1}
{\lstinline[basicstyle=\ttfamily\footnotesize\color{black}]|#1|}}
\newcommand{\nottez}[2]{
\begin{center}
\colorbox{mygray}{
\begin{minipage}{0.9\textwidth}
{\large \textbf{#1}} \vspace*{3pt} \par #2
\end{minipage}}
\end{center}}
\newcommand{\technet}[2]{
\begin{center}
\colorbox{techy}{
\begin{minipage}{0.9\textwidth}
{\large \color{Sepia}\textbf{#1}} \vspace*{3pt} \par #2
\end{minipage}}
\end{center}}
% -------------------------------------------------------------------------
\titleformat{\chapter}[display]{\normalfont\Large\bfseries}{\chaptertitlename\ \thechapter}{-4pt}{\setul{2pt}{}\LARGE\ul}
\titlespacing*{\chapter}{0pt}{3mm}{9mm}
% -------------------------------------------------------------------------
\begin{document}
%\include{mstrch3}
now everything after lstinline is in the same color.
\end{document}
答案1
我遇到了同样的问题,我使用了以下解决方法来避免它
\newcommand{\lstinlineProxy}[1]{\lstinline{#1}}
然后在我的代码中,我使用lstinlineProxy
而不是lstinline
。这样,texstudio 就不会意识到 的用法lstinline
。