我一直在尝试编译艾克玛特以我熟悉的方式编写示例。我没有使用 PDFLatex 及其 Makefile 示例,而是尝试使用 TeX + DVI 编译源代码,因为我需要中间文件(我有一堆 TiKz 渲染)。当我输入:
pdflatex --file-line-error --synctex=1 sample-manuscript.tex
每个人都很好。当我输入:
simpdftex latex --maxpfb --extratexopts "-file-line-error -synctex=1" --distiller ps2pdf14 sample-manuscript.tex
我收到一个堆栈错误,错误:XC@ACMRed 中的/未定义,以及一大堆混乱。
.tex 文件可以用 pdflatex 编译,而 TeX+DVI 路径却不行,有什么原因吗?
答案1
问题似乎在于该类使用模型定义了一些颜色cmyk
。
如果我将rgb
选项传递给xcolor
,则编译simpdftex
将成功。
\documentclass[manuscript, review, screen, rgb]{acmart}
或者\PassOptionsToPackage{rgb}{xcolor}
在该\documentclass
行前添加。
该选项强制xcolor
将每种定义的颜色转换为 RGB,无论定义使用什么模型。
最小文件也存在同样的问题,但如果我们这样做就不会出现这种情况\usepackage[rgb]{xcolor}
:
\documentclass{article}
\usepackage{xcolor}
\definecolor[named]{ACMRed}{cmyk}{0,0.90,0.86,0}
\begin{document}
\textcolor{ACMRed}{XYZ}
\end{document}
感谢 Ulrike Fischer 在聊天中让我注意到了这个prologue
选项。因此,与其这样rgb
做,更好的解决方案是这样做
\documentclass[manuscript, review, screen, prologue]{acmart}
我会向鲍里斯提交问题报告。