我想在我的 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}}
在你的序言中(在加载之后输入)。