Я строю рисунок в формате pdf, используя gnuplot 5.0 с терминалом pdfcairo, а затем вставляю этот рисунок в файл pdf, используя латекс.Однако я обнаружил, что размер шрифта в оружейном графике отличается от размера шрифта в латексе, хотя я установил их одинаковыми.
Чтобы согласовать размер шрифта в gnuplot и latex, я должен установить масштаб шрифтав gnuplot как 0.75, как показано в следующих кодах.
коды gnuplot: нанесите букву «А» синим цветом (Helvetica, размер 12, масштаб шрифта 0,75).
set terminal pdfcairo font 'Helvetica,12' size 1cm,1cm fontscale 0.75
set output 'test0.pdf'
set xrange [-1:1]
set yrange [-1:1]
unset xtics
unset ytics
unset border
set label 'A' at 0,0 textcolor 'blue'
p 1/0 notitle
Латексные коды:вставьте предыдущую цифру в исходном размере и напишите черную букву «А» (Helvetica, размер 12) рядом с предыдущей буквой «А».
\documentclass[12pt]{standalone}
\usepackage{tikz}
\usepackage{helvet}
\usepackage{graphicx}
\begin{document}
\begin{tikzpicture}
\node at (0,0) {\includegraphics{test0.pdf}};
\node at (0.3, -0.025) {\textsf{A}};
\end{tikzpicture}
\end{document}
Окончательный файл PDF можно посмотреть здесь. Теперь мы можем видеть, что эти два «A» имеют одинаковый размер при настройке gnuplot «fontscale 0.75».Я не понимаю, почему в gnuplot следует использовать fontscale 0.75, а не fontscale 1?Это проблема Каира?И есть ли какой-нибудь элегантный способ справиться с этой проблемой размера шрифта?
Краткий ответ: gnuplot использует 72dpi, а cairo использует 96dpi.(96/72 = 4/3)
Примечание. По той же причине, если вы используете pngcairo, для получения правильного размера шрифта также следует использовать 'fontscale 0.75'.
Альтернативное решение:cairolatex.@ User8153