summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/schulmathematik/schulma-physik.sty
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/schulmathematik/schulma-physik.sty')
-rw-r--r--macros/latex/contrib/schulmathematik/schulma-physik.sty68
1 files changed, 65 insertions, 3 deletions
diff --git a/macros/latex/contrib/schulmathematik/schulma-physik.sty b/macros/latex/contrib/schulmathematik/schulma-physik.sty
index 975093e906..92b5a45d23 100644
--- a/macros/latex/contrib/schulmathematik/schulma-physik.sty
+++ b/macros/latex/contrib/schulmathematik/schulma-physik.sty
@@ -1,7 +1,7 @@
% schulmathematik bundle: package schulma-physik
-% Version 1.4
-% 13. März 2023
-\ProvidesExplPackage{schulma-physik}{2023-03-13}{1.4}{Befehle für die Schulphysik}
+% Version 1.5
+% 21. Juni 2023
+\ProvidesExplPackage{schulma-physik}{2023-06-21}{1.5}{Befehle für die Schulphysik}
\newif \ifschulma@physik@circuitikz % keine expl3-Syntax möglich, da von circuits.ee.IEC nicht unterstützt
@@ -428,6 +428,68 @@
}
+\dim_const:Nn \c_schulma_physik_multimeter_zeigerlaenge_dim {3.4cm}
+\dim_const:Nn \c_schulma_physik_multimeter_skalenradius_dim {2.9cm}
+\dim_const:Nn \c_schulma_physik_multimeter_breite_dim {5cm}
+\dim_const:Nn \c_schulma_physik_multimeter_hoehe_dim {4cm}
+\dim_new:N \l_schulma_physik_multimeter_skalenbeschriftung_dim
+\fp_const:Nn \c_schulma_physik_multimeter_sektorwinkel_fp {80}
+
+\NewDocumentCommand \Multimeter {mmm}
+ {
+ \begin {tikzpicture} [ font = { \sffamily \footnotesize } ]
+ % äußere Skala bis 10
+ \dim_set:Nn \l_tmpa_dim { \c_schulma_physik_multimeter_skalenradius_dim + 1mm }
+ \dim_set:Nn \l_schulma_physik_multimeter_skalenbeschriftung_dim { \c_schulma_physik_multimeter_skalenradius_dim + 5mm }
+ \int_step_inline:nnn {0} {50}
+ {
+ \fp_set:Nn \l_tmpa_fp { 90 + (0.5 - ##1/50) * \c_schulma_physik_multimeter_sektorwinkel_fp }
+ \int_compare:nNnTF { \int_mod:nn {##1} {5} } = {0}
+ {
+ \dim_set:Nn \l_tmpb_dim { \c_schulma_physik_multimeter_skalenradius_dim + 3mm }
+ \draw ( \fp_use:N \l_tmpa_fp \c_colon_str \l_tmpa_dim ) -- ( \fp_use:N \l_tmpa_fp \c_colon_str \l_tmpb_dim ) ;
+ \int_compare:nNnT { \int_mod:nn {##1} {10} } = {0}
+ {
+ \node at ( \fp_use:N \l_tmpa_fp \c_colon_str \l_schulma_physik_multimeter_skalenbeschriftung_dim ) { \int_eval:n {2*##1/10} } ;
+ }
+ }
+ {
+ \dim_set:Nn \l_tmpb_dim { \c_schulma_physik_multimeter_skalenradius_dim + 2mm }
+ \draw ( \fp_use:N \l_tmpa_fp \c_colon_str \l_tmpa_dim ) -- ( \fp_use:N \l_tmpa_fp \c_colon_str \l_tmpb_dim ) ;
+ }
+ }
+ % innere Skala bis 3
+ \dim_set:Nn \l_tmpa_dim { \c_schulma_physik_multimeter_skalenradius_dim - 1mm }
+ \dim_set:Nn \l_schulma_physik_multimeter_skalenbeschriftung_dim { \c_schulma_physik_multimeter_skalenradius_dim - 5mm }
+ \int_step_inline:nnn {0} {30}
+ {
+ \fp_set:Nn \l_tmpa_fp { 90 + (0.5 - ##1/30) * \c_schulma_physik_multimeter_sektorwinkel_fp }
+ \int_compare:nNnTF { \int_mod:nn {##1} {5} } = {0}
+ {
+ \dim_set:Nn \l_tmpb_dim { \c_schulma_physik_multimeter_skalenradius_dim - 3mm }
+ \draw ( \fp_use:N \l_tmpa_fp \c_colon_str \l_tmpa_dim ) -- ( \fp_use:N \l_tmpa_fp \c_colon_str \l_tmpb_dim ) ;
+ \int_compare:nNnT { \int_mod:nn {##1} {10} } = {0}
+ {
+ \node at ( \fp_use:N \l_tmpa_fp \c_colon_str \l_schulma_physik_multimeter_skalenbeschriftung_dim ) { \int_eval:n {##1/10} } ;
+ }
+ }
+ {
+ \dim_set:Nn \l_tmpb_dim { \c_schulma_physik_multimeter_skalenradius_dim - 2mm }
+ \draw ( \fp_use:N \l_tmpa_fp \c_colon_str \l_tmpa_dim ) -- ( \fp_use:N \l_tmpa_fp \c_colon_str \l_tmpb_dim ) ;
+ }
+ }
+ % Zeiger
+ \fp_set:Nn \l_tmpa_fp { 90 + (0.5 - #1/#2) * \c_schulma_physik_multimeter_sektorwinkel_fp }
+ \fill (0,0) circle [ radius = 2.5pt ] ;
+ \draw [semithick] (0,0) -- ( \fp_use:N \l_tmpa_fp \c_colon_str \dim_use:N \c_schulma_physik_multimeter_zeigerlaenge_dim ) ;
+ % Rahmen
+ \draw ( -0.5 * \c_schulma_physik_multimeter_breite_dim , -3mm ) -- ++ ( \c_schulma_physik_multimeter_breite_dim , 0 )
+ node [above~left] { \normalsize \qty [ mode = text , reset-text-family = false ] {#2} {#3} }
+ -- ++ ( 0 , \c_schulma_physik_multimeter_hoehe_dim ) -- ++ ( - \c_schulma_physik_multimeter_breite_dim , 0 )
+ -- ++ ( 0 , - \c_schulma_physik_multimeter_hoehe_dim ) ;
+ \end{tikzpicture}
+ }
+
\ExplSyntaxOff
\ifschulma@physik@circuitikz