%20%D0%B8%20%D1%80%D0%B0%D0%B7%D0%BC%D0%B5%D1%80%20%D1%88%D1%80%D0%B8%D1%84%D1%82%D0%B0%20latex.png)
Я генерирую некоторые фигуры с помощью терминала gnuplot epslatex в автономном режиме. Нет никаких проблем с генерацией фигур и качеством.
Однако при использовании класса Elsevier article в двухколоночном режиме мне приходится масштабировать цифры, чтобы они вписывались в ширину колонки, а затем, как и ожидалось, размеры шрифтов уменьшаются. Я пробовал масштабировать шрифты или размер цифр в gnuplot. Но я столкнулся с той же проблемой.
Я думаю, что мне следует унифицировать размеры шрифтов заголовков, клавиш и т. д. в Latex и сделать их такими же, как в тексте документа.
Есть ли какие-нибудь советы по решению этой проблемы без обращения к другому программному обеспечению?
P.S. Я бы хотел сначала решить эту проблему в Latex и Gnuplot, если это возможно.
решение1
Я не думаю, что это можно было бы легко сделать, используя текущий набор инструментов ( gnuplot
и epslatex
). Причина в том, что в зависимости от размеров и размера шрифта конечного документа LaTeX, вам пришлось бы вручную рассчитывать размеры и размер шрифта рисунков.
То, что вам нужно, можно легко сделать с помощью pgfplots
, который является пакетом LaTeX, так что весь код для рисования графики может быть включен в ваш .tex
файл. Смотрите пример ниже, где рисунок естественным образом заполняет ширину столбца документа и использует тот же размер шрифта.
Процесс, который я использую для создания графиков, следующий:
- Проведите эксперименты, используя выбранную программу, выведите текстовый файл.
- Используйте
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
Насколько я понимаю, у вас есть два варианта:
Использование
\resizebox
для масштабирования всего содержимого файла ,.tex
созданного с помощьюepslatex
терминала, т. е\resizebox{\linewidth}{!}{\input{epslatex-file.tex}}
. Обратите внимание, что ваши шрифты также будут масштабированы.Указание размера графиков в вашем
gnuplot
коде,set terminal epslatex size a b
гдеa
иb
могут иметь единицы (например, см). Gnuplot, похоже, не принимает более динамический размер, как\linewidth
– который, я полагаю, подойдет для ваших целей.
Альтернативным вариантом может быть использование PGFplots, если вам не нужны 3D-графики. PGFplots довольно прожорливы в плане памяти LaTeX при работе с 3D.