Vereinheitlichen Sie die Schriftgröße von Abbildung (von Gnuplot generiert) und Latex-Schriftgröße

Vereinheitlichen Sie die Schriftgröße von Abbildung (von Gnuplot generiert) und Latex-Schriftgröße

Ich erstelle einige Abbildungen mit dem Gnuplot-Epslatex-Terminal im Standalone-Modus. Es gibt keine Probleme bei der Erstellung der Abbildungen und der Qualität.

Wenn ich jedoch die Elsevier-Artikelklasse im Zweispaltenmodus verwende, muss ich die Zahlen skalieren, damit sie in die Spaltenbreite passen, und dann schrumpfen, wie erwartet, die Schriftgrößen. Ich habe versucht, die Schriftarten oder die Zahlengröße in Gnuplot zu skalieren. Aber ich stoße auf dasselbe Problem.

Ich denke, dass ich in der Lage sein sollte, die Schriftgrößen für Überschriften, Legenden usw. in Latex zu vereinheitlichen und sie an den Text des Dokuments anzupassen.

Gibt es Hinweise zur Lösung dieses Problems ohne Verwendung anderer Software?

PS: Ich würde dieses Problem wenn möglich zuerst in Latex und Gnuplot lösen.

Antwort1

Ich glaube nicht, dass dies mit den aktuellen Tools ( gnuplotund epslatex) problemlos möglich wäre. Der Grund dafür ist, dass Sie je nach Größe und Schriftgröße des endgültigen LaTeX-Dokuments die Größe und Schriftgröße der Abbildungen manuell berechnen müssten.

Was Sie benötigen, lässt sich ganz einfach mit erreichen pgfplots, einem LaTeX-Paket, sodass der gesamte Code zum Zeichnen von Grafiken in Ihre .texDatei aufgenommen werden kann. Siehe Beispiel unten, wo die Abbildung natürlich die Spaltenbreite des Dokuments ausfüllt und dieselbe Schriftgröße verwendet.

Der Prozess, den ich zum Erstellen von Diagrammen verwende, ist der folgende:

  1. Führen Sie Experimente mit dem Programm Ihrer Wahl durch und geben Sie eine Textdatei aus
  2. Zum pgfplotsSchreiben von LaTeX-Code in die Hauptdatei .texzum Plotten von Graphen.

Siehe Abschnitt „Koordinaten aus Tabellen lesen“ derpgfplots-Handbuchfür mehr Informationen.

\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}

Bildbeschreibung hier eingeben

\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}

Bildbeschreibung hier eingeben

Antwort2

Soviel ich weiß, hast Du zwei Möglichkeiten:

  1. Verwenden Sie \resizeboxzum Skalieren des gesamten Inhalts der .texmit dem epslatexTerminal erstellten Datei, d. h \resizebox{\linewidth}{!}{\input{epslatex-file.tex}}. Beachten Sie, dass Ihre Schriftarten ebenfalls skaliert werden.

  2. Geben Sie die Größe der Diagramme in Ihrem gnuplotCode an, set terminal epslatex size a bwobei aund bEinheiten haben können (z. B. cm). Gnuplot scheint keine dynamischere Größe zu akzeptieren, als \linewidth– was für Ihren Zweck geeignet wäre, glaube ich.

Alternativ ist die Verwendung von PGFplots möglicherweise die beste Option – vorausgesetzt, Sie benötigen keine 3D-Diagramme. PGFplots benötigen bei 3D ziemlich viel LaTeX-Speicher.

verwandte Informationen