我正在撰写一份研究报告,我的主管要求图表上的所有文本(例如轴标签、刻度线等)的大小应与报告正文(包括标题)中的文本大小相同。在图片片段中,所有文本的大小应相同。标题上方的所有文本都位于 png 文件本身中。
我在 MATLAB/Python 中生成图像,在保存为 png 文件之前,我可以手动设置字体大小,这会覆盖我的 LaTeX 编译器使用的图像文件。
这是我的 tex 文件的最小版本。参数width
是我的图像缩放发生的位置。
\documentclass{report}
\usepackage{graphicx}
\usepackage{times}
\begin{document}
\begin{figure}
\includegraphics[width=1\linewidth]{plot-fig}
\caption{This is my caption}
\end{figure}
This is my body text
\end{document}
还有我的 MATLAB 代码来生成 png。它与 LaTeX 位于同一目录中。您可以看到我正在手动更改的字体大小变量。
figure
plot(1:5, 2*(1:5))
xlabel('This is my x label')
ylabel('This is my y label')
title('This is my title')
fontsize = 18;
ax = gca;
set(gca, 'FontSize', fontsize)
saveas(gcf, 'plot-fig.png')
我目前的解决方案是反复试验,但这简直让我抓狂:生成图像、编译 LaTeX、手动目测文本大小、调整字体大小,然后重复。图像的缩放使这个过程变得更加复杂。有时我需要图像占据两列,有时则需要一列(由于边距,缩放比例不是 2 的倍数)。此外,图像的尺寸并不总是一致的比例,因为我被告知要降低某些图像的高度,同时保持相同的宽度(以避免浪费空间)。
我真的非常感谢一个可以自动化这个过程并确保字体大小一致的解决方案。
答案1
当然,最好避免使用 png 来存储图形或文本,而使用可缩放的格式(如 pdf),但无论哪种情况,您的问题都是[width=1\linewidth]
按任意量缩放。
删除它并以其自然大小包含图像,然后在 matlab 中使用与文档相同的文本大小。