Die Frage ist zum Archivieren gedacht, kein Support benötigt. Antworten sind jedoch gern gesehen und sehr willkommen! Ich beantworte die Frage auch selbst.


Bei wikipedia findet man:

alt text

Das wollte ich mit TikZ umsetzen, und zwar so, dass

  • man per Kommando eine Anzeigetemperatur auswählen kann, die dann automatisch in beiden Thermometern (Celsius und Fahrenheit) angezeigt wird.
  • alle Bildmaße aus einfachen Angaben wie defHoehe{6.7cm} bzw. defBreite{1.4cm} entstehen

Zum 2. Punkt:

alt text

Das markierte Bild hat eine Gesamthöhe von ca. 7cm und ist gut lesbar.

gefragt 17 Apr '18, 20:56

cis's gravatar image

cis
9.6k104461491
Akzeptiert-Rate: 29%

bearbeitet 17 Apr '18, 21:05


Neue, komplett überarbeite und stark vereinfachte Lösung.

Bei den Teilen oberhalb und unterhalb der Skala handelt es sich eigentlich nur um Annotationen, für die man feste Maße verwenden kann (zumindest was ihre Höhe angeht, die Breite muss sich zur gewählten Breite anpassen). Wichtig ist, dass sich die Skala den gewählten Höhenmaßen anpasst.

alt text


alt text

Im folgenden Code kann man mit den Werten etwas rumspielen

Öffne in Overleaf
Code, hier editierbar zum Übersetzen:
% Eingaben ======================
\pgfmathsetmacro{\HoeheSkala}{6.7}
\pgfmathsetmacro{\Breite}{1.4} % 1.4
\pgfmathtruncatemacro{\TemperaturMin}{-274}
\pgfmathtruncatemacro{\TemperaturMax}{107}
\pgfmathsetmacro{\unterteilungstiefe}{5} % kleine Skala (minor ticks)
\pgfmathsetmacro{\Unterteilungstiefe}{20}% große Skala (major ticks)
% ============================
% Feste Werte anzeigen
\def\List{%
%-273.15/Absoluter\\ Temperatur-\\nullpunkt,%
0/Gefrierpunkt\\ von Wasser,%
37/K{\"o}rper-\\temperatur,%,
100/Siedepunkt\\ von Wasser%
}
% ============================
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

und dann

Öffne in Overleaf
\thermo{22}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

um die Skalen für 22°C anzuzeigen.

Insb. wenn die Kelvin-Skala verwendet wird muss ein geeigneter Temperaturbereich gewählt werden. Die automatische Anpassung von Tmax (bzw. Tmin), falls kein geeigneter Bereich gewählt wurde, könnte man jetzt noch mit diversen if-Abfragen einstellen; ist mir aber gerade zu mühsam.

Mit entsprechendem Auskommentieren kann man auch nur zwei oder nur ein Thermometer anzeigen, z.B.

alt text

Öffne in Overleaf
Code, hier editierbar zum Übersetzen:
% thermo v1.2a
\documentclass[]{article}
%\documentclass[margin=5pt, tikz]{standalone}
\usepackage{tikz}
\usetikzlibrary{calc, math}
\usepackage{amssymb, mwe}
\begin{document}
% Eingaben ======================
\pgfmathsetmacro{\HoeheSkala}{5.0}
\pgfmathsetmacro{\Breite}{0.9} % 1.4
\pgfmathtruncatemacro{\TemperaturMin}{-274}
\pgfmathtruncatemacro{\TemperaturMax}{105}
\pgfmathsetmacro{\unterteilungstiefe}{5} % kleine Skala (minor ticks)
\pgfmathsetmacro{\Unterteilungstiefe}{20}% große Skala (major ticks)
% ============================
% Feste Werte anzeigen
\def\List{%
%-273.15/Absoluter\\ Temperatur-\\nullpunkt,%
0/Gefrierpunkt\\ von Wasser,%
37/K{\"o}rper-\\temperatur,%,
100/Siedepunkt\\ von Wasser%
}
% ============================
% Temperaturfunktionen
\tikzmath{
function TemperaturStand(\t) {return (\t+abs(\Tmin))*\skalenteilung;};
function Fahrenheit(\t) {return \t*1.8+32;};
function Kelvin(\t) {return \t+273.15;};
}
% Zeichenebenen
\pgfdeclarelayer{foreground layer}
\pgfsetlayers{main,foreground layer}
\newcommand\Skala[1]{%%%%%%%%%%%%%%%%%
\def\Skalentyp{#1}
\if\Skalentyp C % Celsius =====================
\pgfmathtruncatemacro{\Tmin}{\TemperaturMin}
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Permanenter link

beantwortet 17 Apr '18, 20:59

cis's gravatar image

cis
9.6k104461491
Akzeptiert-Rate: 29%

bearbeitet 20 Apr '18, 16:19

Deine Antwort
[Vorschau ausblenden]

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Frage-Themen:

×731
×16

gestellte Frage: 17 Apr '18, 20:56

Frage wurde gesehen: 7,171 Mal

zuletzt geändert: 20 Apr '18, 16:19