summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/schulmathematik/schulma-physik.sty
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2021-12-19 21:20:38 +0000
committerKarl Berry <karl@freefriends.org>2021-12-19 21:20:38 +0000
commit19611cb045aeda55b259bcce5145922b3baae741 (patch)
tree21e2b976e5d90af0a16554d0939d5f7c242022f1 /Master/texmf-dist/tex/latex/schulmathematik/schulma-physik.sty
parent351ea1c0ab110b0e88d092b01425ee086a8c6ab5 (diff)
schulmathematik (19dec21)
git-svn-id: svn://tug.org/texlive/trunk@61347 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/schulmathematik/schulma-physik.sty')
-rw-r--r--Master/texmf-dist/tex/latex/schulmathematik/schulma-physik.sty186
1 files changed, 166 insertions, 20 deletions
diff --git a/Master/texmf-dist/tex/latex/schulmathematik/schulma-physik.sty b/Master/texmf-dist/tex/latex/schulmathematik/schulma-physik.sty
index bfd0e591033..3ce073aa2a3 100644
--- a/Master/texmf-dist/tex/latex/schulmathematik/schulma-physik.sty
+++ b/Master/texmf-dist/tex/latex/schulmathematik/schulma-physik.sty
@@ -1,8 +1,7 @@
% schulmathematik bundle: package schulma-physik
-% Version 1.1
-% 13. März 2021
-\RequirePackage{xparse}
-\ProvidesExplPackage {schulma-physik} {2021-03-13} {1.1} {Befehle für die Schulphysik}
+% Version 1.2
+% 18. Dezember 2021
+\ProvidesExplPackage{schulma-physik}{2021-12-18}{1.2}{Befehle für die Schulphysik}
\RequirePackage [locale=DE] {siunitx}
\RequirePackage {tikz}
@@ -11,83 +10,230 @@
{
\ensuremath
{
- \SI {#1} {#2}
+ \qty {#1} {#2}
\; \widehat {=} \;
- \SI {#3} {#4}
+ \qty {#3} {#4}
}
}
-\NewDocumentCommand \tSI {m m}
+\NewDocumentCommand \tqty {m m}
{
\ensuremath
{
\group_begin:
\textstyle
- \SI [ per-mode = fraction ] {#1} {#2}
+ \qty [ per-mode = fraction ] {#1} {#2}
\group_end:
}
}
-\NewDocumentCommand \tsi {m}
+\cs_new_eq:NN \tSI \tqty
+
+\NewDocumentCommand \tunit {m}
{
\ensuremath
{
\group_begin:
\textstyle
- \si [ per-mode = fraction ] {#1}
+ \unit [ per-mode = fraction ] {#1}
\group_end:
}
}
+\cs_new_eq:NN \tsi \tunit
+
\NewDocumentCommand \Beschl {m}
{
- \tSI{#1}{\m\per\square\s}
+ \tqty {#1} { \m \per \square \s }
}
\NewDocumentCommand \Erdb { }
{
- \tSI{9,81}{\m\per\square\s}
+ \tqty {9,81} { \m \per \square \s }
}
\NewDocumentCommand \Ortsf { }
{
- \tSI{9,81}{\N\per\kg}
+ \tqty {9,81} { \N \per \kg }
}
\NewDocumentCommand \Elem { }
{
- \SI{1,60e-19}{\coulomb}
+ \qty {1,60e-19} {\coulomb}
}
\NewDocumentCommand \Elekm { }
{
- \SI{9,11e-31}{\kg}
+ \qty {9,11e-31} {\kg}
}
\NewDocumentCommand \Lichtg { }
{
- \SI{3,00e8}{\m\per\s}
+ \qty {3,00e8} { \m \per \s }
}
\NewDocumentCommand \Planck { }
{
- \SI{6,63e-34}{\J.\s}
+ \qty {6,63e-34} { \J . \s }
}
\NewDocumentCommand \EFK { }
{
- \SI{8,85e-12}{\A\s\per\V\per\m}
+ \qty {8,85e-12} { \A \s \per \V \per \m }
}
\NewDocumentCommand \MFK {s}
{
\IfBooleanTF {#1}
{
- \SI{1,26e-6}{\V\s\per\A\per\m}
+ \qty {1,26e-6} { \V \s \per \A \per \m }
+ }
+ {
+ \ensuremath
+ {
+ 4 \, \pi \cdot
+ \qty [ print-unity-mantissa = false ] { e-7 } { \V \s \per \A \per \m }
+ }
+ }
+ }
+
+\dim_const:Nn \c_schulma_physik_messschieber_l_skala_dim {15.2cm}
+\dim_const:Nn \c_schulma_physik_messschieber_b_skala_dim {15mm}
+\dim_const:Nn \c_schulma_physik_messschieber_l_schieber_dim {4cm}
+\dim_const:Nn \c_schulma_physik_messschieber_b_schieber_dim {17mm}
+\dim_const:Nn \c_schulma_physik_messschieber_l_fenster_dim {25mm}
+\dim_const:Nn \c_schulma_physik_messschieber_b_fenster_dim {1cm}
+
+\NewDocumentCommand \Messschieber {m}
+ {
+ \begin {tikzpicture} [ font = \sffamily ]
+ % Hauptskala
+ \draw ( -1.6cm , -0.5 * \c_schulma_physik_messschieber_b_skala_dim + 0.5 * \c_schulma_physik_messschieber_b_fenster_dim )
+ -- ++ ( \c_schulma_physik_messschieber_l_skala_dim , 0 ) node [ above~left ] { \small cm }
+ -- ++ ( 0 , \c_schulma_physik_messschieber_b_skala_dim )
+ -- ++ ( - \c_schulma_physik_messschieber_l_skala_dim , 0)
+ -- cycle ;
+ \int_step_inline:nnn {0} {120}
+ {
+ \int_set:Nn \l_tmpa_int { \int_mod:nn {##1} {10} }
+ \int_compare:nNnTF {\l_tmpa_int} = {0}
+ {
+ \draw (##1*1mm,-1mm)--(##1*1mm,6mm) node [ left , xshift=2pt , yshift = -2pt ]
+ { \footnotesize \int_eval:n {##1/10} } ;
+ }
+ {
+ \int_compare:nNnTF {\l_tmpa_int} = {5}
+ {
+ \draw (##1*1mm,-1mm)--(##1*1mm,4.5mm);
+ }
+ {
+ \draw (##1*1mm,-1mm)--(##1*1mm,3mm);
+ }
+ }
}
+ % Schieber
+ \draw [ fill = white , even~odd~rule ]
+ ( #1cm - 0.5 * \c_schulma_physik_messschieber_l_schieber_dim + 4.5mm ,
+ -0.5 * \c_schulma_physik_messschieber_b_schieber_dim + 0.5 * \c_schulma_physik_messschieber_b_fenster_dim )
+ rectangle ++ ( \c_schulma_physik_messschieber_l_schieber_dim , \c_schulma_physik_messschieber_b_schieber_dim )
+ { [rounded~corners = 0.5 * \c_schulma_physik_messschieber_b_fenster_dim ]
+ ( #1cm - 0.5 * \c_schulma_physik_messschieber_l_fenster_dim + 4.5mm , 0 )
+ rectangle ++ ( \c_schulma_physik_messschieber_l_fenster_dim , \c_schulma_physik_messschieber_b_fenster_dim ) } ;
+ % Noniusskala
+ \int_step_inline:nnn {0} {10}
{
- \ensuremath { 4\,\pi\cdot\SI{e-7}{\V\s\per\A\per\m} }
+ \int_set:Nn \l_tmpa_int { \int_mod:nn {##1} {10} }
+ \int_compare:nNnTF {\l_tmpa_int} = {0}
+ {
+ \draw ( #1cm + ##1 * 0.9mm , 0 ) -- ( #1cm + ##1 * 0.9mm , -1.6mm ) ;
+ }
+ {
+ \int_compare:nNnTF {\l_tmpa_int} = {5}
+ {
+ \draw ( #1cm + ##1 * 0.9mm , 0 ) -- ( #1cm + ##1 * 0.9mm , -1.3mm ) ;
+ }
+ {
+ \draw ( #1cm + ##1 * 0.9mm , 0 ) -- ( #1cm + ##1 * 0.9mm , -1mm ) ;
+ }
+ }
}
+ \end{tikzpicture}
+ }
+
+\dim_new:N \l_schulma_physik_messschraube_massstab_dim
+\dim_set:Nn \l_schulma_physik_messschraube_massstab_dim {2mm}
+\dim_new:N \l_schulma_physik_messschraube_skalenstrich_y_dim
+\dim_new:N \l_schulma_physik_messschraube_skalenstrich_deltay_dim
+\int_new:N \l_schulma_physik_messschraube_skalenbeschriftung_int
+\fp_new:N \l_schulma_physik_messschraube_hundertstelbruchteile_fp
+
+\NewDocumentCommand \Messschraube {m}
+ {
+ % nach: dexteritas, https://tex.stackexchange.com/questions/472876/how-to-draw-micrometer-scale-using-tikz
+ \begin{tikzpicture} [ font = \sffamily ]
+ % horizontale Skala
+ \draw [semithick] (0,0) -- ( #1 * \l_schulma_physik_messschraube_massstab_dim , 0 ) ;
+ \int_step_inline:nnn {0} { \fp_to_int:n {#1} + 2 }
+ {
+ \int_compare:nNnTF { \int_mod:nn {##1} {5} } = {0}
+ {
+ \draw [thick] ( ##1 * \l_schulma_physik_messschraube_massstab_dim , -0.5 ) -- ++ (0,0.65) node [above] { \small ##1 } ;
+ }
+ {
+ \draw ( ##1 * \l_schulma_physik_messschraube_massstab_dim , 0) -- ++ (0,-0.5) ;
+ }
+ }
+ \node [ above~right ] at (-5mm,-1cm) {\small mm} ;
+ % drehbare Skala
+ \fp_set:Nn \l_schulma_physik_messschraube_hundertstelbruchteile_fp { #1 * 100 - \fp_to_int:n { #1 * 100} }
+ \fill [white] ( #1 * \l_schulma_physik_messschraube_massstab_dim , 1cm ) -- ++ (8mm,5mm) -- ++ (0,-3cm) -- ++ (-8mm,5mm) -- cycle ;
+ \draw [thin] ( #1 * \l_schulma_physik_messschraube_massstab_dim , 1 ) -- ++ (0,-2cm) ;
+ \draw ( #1 * \l_schulma_physik_messschraube_massstab_dim , 1cm ) -- ++ (8mm,5mm) ;
+ \draw ( #1 * \l_schulma_physik_messschraube_massstab_dim , -1cm ) -- ++ (8mm,-5mm) ;
+ \int_step_inline:nnn {-17} {17}
+ {
+ \int_set:Nn \l_schulma_physik_messschraube_skalenbeschriftung_int
+ {
+ \int_mod:nn { \fp_to_int:n { #1 * 100 } + ##1 } {100}
+ }
+ \dim_set:Nn \l_schulma_physik_messschraube_skalenstrich_y_dim
+ {
+ \fp_eval:n { ( ##1 - \l_schulma_physik_messschraube_hundertstelbruchteile_fp ) / 18 } cm
+ }
+ \int_compare:nNnTF { \int_mod:nn {\l_schulma_physik_messschraube_skalenbeschriftung_int} {5} } = {0}
+ {
+ % langer Strich mit Zahl
+ \dim_set:Nn \l_schulma_physik_messschraube_skalenstrich_deltay_dim { 4.375mm * ##1/18 }
+ \int_compare:nNnTF {\l_schulma_physik_messschraube_skalenbeschriftung_int} < {10}
+ {
+ \draw ( #1 * \l_schulma_physik_messschraube_massstab_dim , \l_schulma_physik_messschraube_skalenstrich_y_dim )
+ -- ++ ( 7mm , \l_schulma_physik_messschraube_skalenstrich_deltay_dim )
+ node [right] { \footnotesize 0 \int_to_arabic:n {\l_schulma_physik_messschraube_skalenbeschriftung_int} } ;
+ }
+ {
+ \draw ( #1 * \l_schulma_physik_messschraube_massstab_dim , \l_schulma_physik_messschraube_skalenstrich_y_dim )
+ -- ++ ( 7mm , \l_schulma_physik_messschraube_skalenstrich_deltay_dim )
+ node [right] { \footnotesize \int_to_arabic:n {\l_schulma_physik_messschraube_skalenbeschriftung_int} } ;
+ }
+ }
+ {
+ % kurzer Strich
+ \dim_set:Nn \l_schulma_physik_messschraube_skalenstrich_deltay_dim { 2.5mm * ##1/18 }
+ \draw ( #1 * \l_schulma_physik_messschraube_massstab_dim , \l_schulma_physik_messschraube_skalenstrich_y_dim )
+ -- ++ ( 4mm , \l_schulma_physik_messschraube_skalenstrich_deltay_dim ) ;
+ }
+ }
+ % oberer und unterer Rand
+ \draw (-5mm,1cm) -- ( #1 * \l_schulma_physik_messschraube_massstab_dim , 1cm ) ;
+ \draw (-5mm,-1cm) -- ( #1 * \l_schulma_physik_messschraube_massstab_dim , -1cm ) ;
+ \draw ( #1 * \l_schulma_physik_messschraube_massstab_dim + 8mm, 1.5cm ) -- ++ (2cm,0) ;
+ \draw ( #1 * \l_schulma_physik_messschraube_massstab_dim + 8mm, -1.5cm ) -- ++ (2cm,0) ;
+ % geschwungene Linien links und rechts
+ \draw (-5mm,-1cm) to [ out=130 , in=-130 ] (-5mm,0) to [ out=130 , in=-130 ] (-5mm,1cm) ;
+ \draw [very~thin] (-5mm,0) to [ out=50 , in=-50 ] (-5mm,1cm) ;
+ \draw ( #1 * \l_schulma_physik_messschraube_massstab_dim + 2.8cm , 1.5cm ) to [ out=-50 , in=50 ] ++ (0,-1.5cm) to [ out=-50 , in=50 ] ++ (0,-1.5cm) ;
+ \draw [very~thin] ( #1 * \l_schulma_physik_messschraube_massstab_dim + 2.8cm , 0 ) to [ out=130 , in=-130 ] ++ (0,1.5cm) ;
+ \end{tikzpicture}
}
\ExplSyntaxOff