使用 listings-package 和 inputenc 时出现错误消息的问题。

使用 listings-package 和 inputenc 时出现错误消息的问题。

我想在我的 LaTeX 文档中包含一些脚本的代码。在一个“最小”示例中,它运行得很好 - 但是如果我省略了那行\usepackage[latin1]{inputenc}

\documentclass[]{scrbook}
\usepackage{listings}
\usepackage{xcolor}

\usepackage[latin1]{inputenc}

\begin{document}

% % % % Definitionen der Code-Darstellung mit listings-Package
\lstset
{breaklines=true,
    tabsize=3,
    showstringspaces=false}

\lstdefinestyle{VBACommon}
{extendedchars=true,
    language={[Visual]Basic},
    frame=single,
    %===========================================================
    framesep=3pt,%expand outward.
    framerule=0.4pt,%expand outward.
    xleftmargin=3.4pt,%make the frame fits in the text area. 
    xrightmargin=3.4pt,%make the frame fits in the text area.
    %=========================================================== 
    %rulecolor=\color{Black}
}

\lstdefinestyle{A}
{style=VBACommon,
%    backgroundcolor=\color{Yellow!10},
    basicstyle=\scriptsize,
    keywordstyle=\bfseries,
    identifierstyle=\scshape,
    stringstyle=\ttfamily,
    commentstyle=\color{grau}
}



\lstdefinestyle{B}
{style=A,
%    backgroundcolor=\color{Yellow!10},
    language=VBScript,
    basicstyle=\scriptsize,
    keywordstyle=\bfseries,
    identifierstyle=\scshape,
    stringstyle=\ttfamily,
    commentstyle=%\color{}
}

\lstinputlisting[style=B]{/Volumes/Daten/Martin/FZK-Diss/Daten/_DISSschrift/Diss/ProgrammCode/VBScript/LIB_AcquireScriptingMB.wsf}

\end{document}

输入文件看起来像这样,并且(我的文本编辑器说)是 TextEncodingISO 拉丁语 1

  If dblPunkteX = dblPunkteY and dblRangeX = dblRangeY then
                strSchrittweite = "dxy" & dblPunkteX & "µm"'(dblSchrittweiteBerechnen(dblRangeX, dblPunkteX))
     else strSchrittweite = "dx" & dblPunkteX & "µm" & "_dy" & dblPunkteY & "µm" '& dblSchrittweiteBerechnen(dblRangeX, intPunkteX) &
"dy" & dblSchrittweiteBerechnen(dblRangeY, intPunkteY)   end if  
'Rueckgabewert   strDateinameErstellenAut =  strVerz & strTeilBez &
intZaehler & "-" & strTeilZust & "-" _
                  & strMessPos & "_" & strMessbereich & "_" & strSchrittweite End Function

我明白了错误消息就像那样 - 它看起来像是引号"µs:

(/usr/local/texlive/2010/texmf-dist/tex/latex/listings/lstlang2.sty)
/Volumes/Daten/Martin/FZK-Diss/Daten/_DISSschrift/Diss/ProgrammCode/VBScript/LI
B_AcquireScriptingMB2.wsf:3: Extra }, or forgotten $. \lst@OutputToken
...@token \@empty \lst@righthss }
                                                  \lst@CalcLostSpaceAndOutpu... 3 ...strSchrittweite = "dxy" &
dblPunkteX & "µm"
                                                  '(dblSchrittweiteBerechnen...

?

不幸的是,我不知道如何解决这个问题,因为我需要它inputenc用于其他目的。

答案1

你可以通过以下方式解决问题

\defµ{\ensuremath{\mu}}

在你的序言中(在加载之后输入)。

相关内容