我使用以下 pgfplots 示例代码:
\documentclass[varwidth=true, border=2pt]{standalone}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
symbolic x coords={a small bar, a medium bar, a large bar},
xtick=data
]
\addplot[ybar,fill=blue] coordinates {
(a small bar, 42)
(a medium bar, 50)
(a large bar, 80)
};
\end{axis}
\end{tikzpicture}
\end{document}
我成功地将它编译为 .dvi 文件,但是当我从 .dvi 文件创建 PDF 时(使用dvipdfm
或dvipdfmx
),我得到了一张空白页,上面有一些分散的标记!没有条形图!
这在两台机器上都重现了 - Windows 和 Linux。当我使用包的示例代码时,我得到了非常相似的行为bchart
。
答案1
PGF 需要知道如何在输出文件中生成特殊的图形指令,并且这些指令在pdflatex
和之间有所不同latex/dvipdfm
。
因此,您可以使用pdflatex
(或latex / dvips
)并且不进行任何特殊配置,或者您必须使用文件中的特殊条目.tex
以使 PGF 了解以下 dvi 实用程序(这超出了 PGF 的知识范围)。
该手册的以下引文中描述了“特殊条目” pgfplots
:
此外,pgf 需要知道驱动程序,以便将 DVI 文件转换为所需的输出。根据您的系统,您需要以下选项:
- latex/dvips does not need anything special because dvips is the default driver if you invoke latex. - pdflatex will also work directly because pdflatex will be detected automatically. - latex/dvipdfm requires to use
\def\pgfsysdriver{pgfsys-dvipdfm.def}
%\def\pgfsysdriver{pgfsys-pdftex.def}
%\def\pgfsysdriver{pgfsys-dvips.def}
%\def\pgfsysdriver{pgfsys-dvipdfmx.def}
%\def\pgfsysdriver{pgfsys-xetex.def}
\usepackage{pgfplots}.
未注释的命令可用于明确设置其他驱动程序。如果您有其他问题,请阅读 [pgfmanual.pdf,第 7.2.1 和 7.2.2 节] 中的相应部分。这些部分还包含特定驱动程序的限制。
完全不会产生任何问题的选择是pdflatex。