将 OpenOffice 图嵌入 LaTeX 的更好方法?

将 OpenOffice 图嵌入 LaTeX 的更好方法?

现在,我在电子表格中创建图表,将它们复制到 OpenOffice Draw,保存为图像,然后将它们(作为图像)放入我的 .tex 文件中。

但这会导致分辨率问题(标签太大/太小)、数据改变时难以更改图表等。

有没有更好的方法呢?

答案1

如果您需要在电子表格中绘制一系列点,则可以使用数据pgfplots包。首先将数据导出为csv文件(逗号分隔值)。然后,您可以轻松绘制点,我为您做了一个小示例:

\begin{figure}[h!]
\centering

\begin{tikzpicture}
%
%% NB: Declare logarithmic axis 
\begin{loglogaxis}[
    % Labels for the axis
    xlabel=Dof,
    ylabel=$L_2$ error]
%
%% in the options you select the columns to be used as data sources
\addplot table[x=dof,y=error2,col sep=comma] {../pgftables/data.csv};
\end{loglogaxis}
\end{tikzpicture}
\end{figure}

输出结果如下: 在此处输入图片描述

原始数据如下:

# Convergence results
# fictional source, generated 2008
level,dof,error1,error2,info,{grad(log(dof),log(error2))},quot(error1)
1,4,2.50000000e-01,7.57858283e-01,48,0,0
2,16,6.25000000e-02,5.00000000e-01,25,-3.00000000e-01,4
3,64,1.56250000e-02,2.87174589e-01,41,-3.99999999e-01,4
4,256,3.90625000e-03,1.43587294e-01,8,-5.00000003e-01,4
5,1024,9.76562500e-04,4.41941738e-02,22,-8.49999999e-01,4
6,4096,2.44140625e-04,1.69802322e-02,46,-6.90000001e-01,4
7,16384,6.10351562e-05,8.20091159e-03,40,-5.24999999e-01,4
8,65536,1.52587891e-05,3.90625000e-03,48,-5.35000000e-01,3.99999999e+00
9,262144,3.81469727e-06,1.95312500e-03,33,-5.00000000e-01,4.00000001e+00
10,1048576,9.53674316e-07,9.76562500e-04,2,-5.00000000e-01,4.00000001e+00

答案2

您的意思是将其保存为光栅图形(PNG 或 JPG)?您不应该这样做。将其制作成 PDF,这应该可以通过开箱即用的 Open Office 实现。您需要将图表放在自己的页面上,或者最好放在自己的文档中。然后pdfcrop在 PDF 上使用 裁剪图像周围的空白区域,并使用 将其作为 PDF 图像包含\includegraphics。这适用于pdflatexxelatexlualatex。对于 DVI 模式(latex),您可以使用多种工具将 PDF 转换为 EPS。

使用这种方式,图形将是矢量图形,并且您不会遇到任何分辨率问题。

相关内容