
Ich versuche herauszufinden, wie ich meinen Bildern am besten Maßstabsleisten hinzufügen kann, wie beispielsweise in diesen wunderbaren Schneeflockenbildern (das Bild in voller Größe ist etwas groß, aber es ist das beste Beispiel für das, was ich versuche):
Eine Möglichkeit wäre, die Maßstabsleisten mit einem anderen Programm einzufügen. Ich möchte jedoch sicherstellen, dass der Text schön und scharf ist, anstatt ihn als Teil eines Rasterbilds zu speichern. Wenn ich die Maßstabsleisten vorher einfüge, wird die Textgröße außerdem angepasst, wenn LaTeX die Bilder skaliert.
Bisher konnte ich keine vorhandenen Befehle oder Pakete finden, die dies einfach machen. Ich möchte die tatsächliche Größe des Bildes angeben und die Größe des Maßstabs berechnen lassen können.
Wenn ich mein eigenes Makro schreiben muss, beginne ich wahrscheinlich mit demOverpic-Paket
Bin ich in die richtige Richtung unterwegs?
BEARBEITEN 2:
Nachdem ich mich mit TikZ vertraut gemacht habe, ist hier das Makro, das ich erstellt habe:
\usepackage{tikz}
\usepackage{siunitx}
% Inserts a scale bar into an image
% Optional argument 1: the colour of the bar and text
% Argument 2: an \includegraphics command
% Argument 3: the real world width of the image
% Argument 4: the length of the scale bar
% Argument 5: the units in which the scale bar is measured
\newcommand{\scalebar}[5][white]{
\begin{tikzpicture}
\draw (0,0) node[anchor=south west,inner sep=0] (image) { #2 };
\begin{scope}[x={(image.south east)},y={(image.north west)}]
\fill [#1] (0.05,0.2cm) rectangle (#4/#3+0.05,0.4cm);
\draw [#1] (0.05,0.4cm) node[anchor=south west] { \SI{#4}{#5} };
\end{scope}
\end{tikzpicture}
}
Ich verwende hier eine Kombination von Einheiten (cm und Bruchteile der Bildgröße). Ich denke, dieser Aspekt könnte etwas eleganter sein, aber was ich jetzt habe, reicht für meine Zwecke aus.
Antwort1
Ich habe Ihr Makro ein wenig angepasst, um einen transparenten Hintergrund hinzuzufügen, wenn der Text schwer lesbar ist:
\newcommand{\scalebarbackground}[6][white]{
\begin{tikzpicture}
\node[anchor=south west,inner sep=0] (image) { #2 };
\begin{scope}[x={(image.south east)},y={(image.north west)}]
\fill [fill=blue, fill opacity=0.5] (0.04,1.3em) rectangle (#5*#4/#3+0.04,0.1em);
\draw [#1, line width=0.2em] (0.04,1.2em) -- node[below,inner sep=0.1em, font=\footnotesize] {\SI{#5}{#6}} (#5*#4/#3+0.04,1.2em);
\end{scope}
\end{tikzpicture}
}
Der resultierende Maßstab sieht folgendermaßen aus:
Weitere Informationen und eine Maßstabsleiste ohne Hintergrund finden Sie in meinem Kernartikel:https://gist.github.com/rbnvrw/00312251b756f6b48084#file-latexscalebars-md
Antwort2
ich fandIPEein schönes Werkzeug dafür zu sein.
ipelets -> Bild einfügen.
Fügen Sie anschließend den Text hinzu und speichern Sie als EPS oder PDF.