унифицировать размер шрифта рисунка (сгенерированного gnuplot) и размер шрифта latex

унифицировать размер шрифта рисунка (сгенерированного gnuplot) и размер шрифта latex

Я генерирую некоторые фигуры с помощью терминала gnuplot epslatex в автономном режиме. Нет никаких проблем с генерацией фигур и качеством.

Однако при использовании класса Elsevier article в двухколоночном режиме мне приходится масштабировать цифры, чтобы они вписывались в ширину колонки, а затем, как и ожидалось, размеры шрифтов уменьшаются. Я пробовал масштабировать шрифты или размер цифр в gnuplot. Но я столкнулся с той же проблемой.

Я думаю, что мне следует унифицировать размеры шрифтов заголовков, клавиш и т. д. в Latex и сделать их такими же, как в тексте документа.

Есть ли какие-нибудь советы по решению этой проблемы без обращения к другому программному обеспечению?

P.S. Я бы хотел сначала решить эту проблему в Latex и Gnuplot, если это возможно.

решение1

Я не думаю, что это можно было бы легко сделать, используя текущий набор инструментов ( gnuplotи epslatex). Причина в том, что в зависимости от размеров и размера шрифта конечного документа LaTeX, вам пришлось бы вручную рассчитывать размеры и размер шрифта рисунков.

То, что вам нужно, можно легко сделать с помощью pgfplots, который является пакетом LaTeX, так что весь код для рисования графики может быть включен в ваш .texфайл. Смотрите пример ниже, где рисунок естественным образом заполняет ширину столбца документа и использует тот же размер шрифта.

Процесс, который я использую для создания графиков, следующий:

  1. Проведите эксперименты, используя выбранную программу, выведите текстовый файл.
  2. Используйте pgfplotsдля записи кода LaTeX в основной .texфайл для построения графика.

См. раздел «Чтение координат из таблиц»pgfplots руководствоЧтобы получить больше информации.

\documentclass[5p]{elsarticle}

\usepackage{lipsum}
\usepackage{pgfplots}

\begin{document}

\begin{figure}[h!]
\centering
\begin{tikzpicture}
\begin{axis}[
    width=\columnwidth,
    xlabel=$x$,
    ylabel=$y$,
    legend pos=north west]
  \addplot {x^3};
  \addlegendentry{$y = x^3$};
\end{axis}
\end{tikzpicture}
\end{figure}

\lipsum[1-2]

\end{document}

введите описание изображения здесь

\documentclass[3p]{elsarticle}

\usepackage{lipsum}
\usepackage{pgfplots}

\begin{document}

\begin{figure}[h!]
\centering
\begin{tikzpicture}
\begin{axis}[
    width=\columnwidth,
    xlabel=$x$,
    ylabel=$y$,
    legend pos=north west]
  \addplot {x^3};
  \addlegendentry{$y = x^3$};
\end{axis}
\end{tikzpicture}
\end{figure}

\lipsum[1-2]

\end{document}

введите описание изображения здесь

решение2

Насколько я понимаю, у вас есть два варианта:

  1. Использование \resizeboxдля масштабирования всего содержимого файла , .texсозданного с помощью epslatexтерминала, т. е \resizebox{\linewidth}{!}{\input{epslatex-file.tex}}. Обратите внимание, что ваши шрифты также будут масштабированы.

  2. Указание размера графиков в вашем gnuplotкоде, set terminal epslatex size a bгде aи bмогут иметь единицы (например, см). Gnuplot, похоже, не принимает более динамический размер, как \linewidth– который, я полагаю, подойдет для ваших целей.

Альтернативным вариантом может быть использование PGFplots, если вам не нужны 3D-графики. PGFplots довольно прожорливы в плане памяти LaTeX при работе с 3D.

Связанный контент