这是我的评论于 2012 年发布。简而言之,MikTeX 不会从列表中删除前导 BOM,但 TeXLive 会,如下图所示。通过比较使用using System;
MikTeX 和 TeXLive 生成的列表中输出的第一行 ( ),可以清楚地看到前导 BOM 效果。
平均能量损失
% The filename is MikTeX-VS-TeXLive.tex
\documentclass[preview,border=12pt]{standalone}
\usepackage{listings,xcolor}
\lstset
{
language={[Sharp]C},
backgroundcolor=\color{cyan!20},
basicstyle=\scriptsize,
keywordstyle=\color{blue},
identifierstyle=\color{red},
breaklines=true,
}
\begin{document}
\lstinputlisting{program.cs}
\end{document}
使用 MikTeX 输出
使用 TeXLive 输出
问题
我应该怎么做才能让 MikTeX 做与 TeXLive 相同的事情,但无需使用literate
?
附加问题:MikTeX 使用的pdflatex
、源代码与 TeXLive 使用的 源代码是否完全相同?如果是,为什么它们的行为不同?如果源代码不同,为什么它们会有所不同?xelatex
latex
答案1
2019 年情况
我可以通过两个系统同时运行 BOM TeX 文件,并且我目前的测试表明,对于所述历史原因(3 个隐藏字符,即 literate={ï}{}0 {»}{}0 {¿}{}0 )目前没有差异
尽管文件输出还存在其他差异!
MiKTeX-PdfLaTeX 命令通过以下方式将文件编译为 25.9 KB(26,610 字节)
miktex-pdftex.exe $synctexoption --undump=pdfLaTeX $fullname
2018 TeX Live 版本较小,为 24.5 KB(25,145 字节)
pdflatex.exe $synctexoption $fullname
两个 pdf 文件都出现规模和视觉内容相同。