并排子图、MATLAB 导出、文本宽度

并排子图、MATLAB 导出、文本宽度

Fonts of MATLAB figure too small as exported in wrong size

编辑:仅通过了解此设置中 \textwidth 的大小(以点或厘米为单位)即可解决这个问题。

我在将 MATLAB 图形导出到 LaTeX 并保持轴标签的字体大小时遇到​​了问题。我希望实现正确的导出大小,以便两个并排的图形达到整个文本宽度。(参见轴字体大小太小的图形)

由于我没有在 MATLAB 中导出宽度合适的图形,LaTeX 会缩放图片,轴标签的大小也会发生变化。MATLAB 的导出设置允许我以点或厘米为单位导出图形的精确大小,并以正确的轴标签字体大小导出。

从 MATLAB 导出时应使用什么宽度,以及如何在 LaTeX 中实现代码来实现这一点?

\documentclass[12pt, a4paper]{article}
\usepackage[english]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[font={small,it}]{caption}
\usepackage{subcaption}
\usepackage{graphicx}

\begin{document}

\begin{figure}
    \centering
    \begin{subfigure}{0.45\textwidth}
        \centering
        \includegraphics[width = \textwidth]{B1_coarse.png}
        \caption{Coarse mesh with \(h_{max} = 1/2\).}
        \label{fig:b1_coarse}
    \end{subfigure}
    ~
    \begin{subfigure}{0.45\textwidth}
        \includegraphics[width = \textwidth]{B1_fine.png}
        \caption{Fine mesh with \(h_{max} = 1/32\).}
        \label{fig:b1_fine}
        \centering
    \end{subfigure}
\end{figure}

\end{document}

答案1

Result

首先,\textwidth通过在代码中输入来找出文档的宽度\the\textwidth,宽度值将在编译时以点为单位写入。

在 MATLAB 中,创建具有所需字体大小的图形。

在图下方,转到:文件 -> 导出设置

Custom size 第一步很重要:转到“属性”下的“字体”,然后取消选中“自定义大小:”。

Size 然后返回“大小”,选中“扩展轴以填充图形”。

选择“单位:”下的“点”。

在“宽度”下,写入一半的\textwidth值并选择合适的“高度”。

(提示是使用尺寸下方的工具导出此设置-)

按“应用于图形”然后“导出...”,最好保存为.eps,如果文件太大则保存为.png。

然后使用以下简单代码:

\begin{figure}[H]
    \centering
    \begin{subfigure}{0.495\textwidth}
        \centering
        \includegraphics[width=\linewidth]{B1_fine.png}
        \caption{Coarse mesh with \(h_{max} = 1/2\).}
    \end{subfigure}
    \hfill
    \begin{subfigure}{0.495\textwidth}
        \centering
        \includegraphics[width=\linewidth]{B1_fine.png}
        \caption{Fine mesh with \(h_{max} = 1/32\).}
    \end{subfigure}
\end{figure}

相关内容