diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/phonenumbers/phonenumbers.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/phonenumbers/phonenumbers.sty | 75 |
1 files changed, 60 insertions, 15 deletions
diff --git a/Master/texmf-dist/tex/latex/phonenumbers/phonenumbers.sty b/Master/texmf-dist/tex/latex/phonenumbers/phonenumbers.sty index b3b1d38cfb0..f421831bb7e 100644 --- a/Master/texmf-dist/tex/latex/phonenumbers/phonenumbers.sty +++ b/Master/texmf-dist/tex/latex/phonenumbers/phonenumbers.sty @@ -2,8 +2,8 @@ % LaTeX-Paket zur Formatierung von Telefonnummern % LaTeX package for formatting telephone numbers % Autor: K. Wehr -% Version: 2.0.2 -% Datum: 2. Januar 2018 +% Version: 2.1 +% Datum: 5. August 2018 % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either version 1.3 @@ -14,10 +14,9 @@ % version 2005/12/01 or later. -\RequirePackage{expl3} -\ProvidesExplPackage {phonenumbers} {2018/01/02} {2.0.2} {Telephone number package} - \RequirePackage{xparse} +\ProvidesExplPackage {phonenumbers} {2018/08/05} {2.1} {Telephone number package} + \RequirePackage{l3keys2e} \RequirePackage{ltxcmds} @@ -84,22 +83,37 @@ \msg_new:nnn {phonenumbers} {illegal~extension} { - extension~(Durchwahl)~of~\phone_landesadjektiv:V \l_phone_land_str\ phone~number~ignored~\msg_line_context: + extension~(Durchwahl)~of~ + \phone_landesadjektiv:V \l_phone_land_str + \c_space_tl + phone~number~ignored~ + \msg_line_context: } \msg_new:nnn {phonenumbers} {odd~extension} { - \phone_landesadjektiv:V \l_phone_land_str\ non-geographic~number~should~not~contain~an~extension~(Durchwahl)~\msg_line_context: + \phone_landesadjektiv:V \l_phone_land_str + \c_space_tl + non-geographic~number~should~not~contain~an~extension~(Durchwahl)~ + \msg_line_context: } \msg_new:nnn {phonenumbers} {subscriber~number~too~short} { - subscriber~number~(Teilnehmerrufnummer)~has~less~than~#1~digits~in~\phone_landesadjektiv:V \l_phone_land_str\ phone~number~\msg_line_context: + subscriber~number~(Teilnehmerrufnummer)~has~less~than~#1~digits~in~ + \phone_landesadjektiv:V \l_phone_land_str + \c_space_tl + phone~number~ + \msg_line_context: } \msg_new:nnn {phonenumbers} {subscriber~number~too~long} { - subscriber~number~(Teilnehmerrufnummer)~has~more~than~#1~digits~in~\phone_landesadjektiv:V \l_phone_land_str\ phone~number~\msg_line_context: + subscriber~number~(Teilnehmerrufnummer)~has~more~than~#1~digits~in~ + \phone_landesadjektiv:V \l_phone_land_str + \c_space_tl + phone~number~ + \msg_line_context: } \msg_new:nnn {phonenumbers} {illegal~start~of~subscriber~number} @@ -149,7 +163,11 @@ \msg_new:nnn {phonenumbers} {invalid~home~area~code} { - #1~unknown~as~\phone_landesadjektiv:V \l_phone_heimatland_str\ ~geographic~area~code~(Ortsvorwahl)~\msg_line_context: + #1~unknown~as~ + \phone_landesadjektiv:V \l_phone_heimatland_str + \c_space_tl + geographic~area~code~(Ortsvorwahl)~ + \msg_line_context: } \msg_new:nnn {phonenumbers} {invalid~country~code} @@ -170,7 +188,7 @@ {AT} {Austrian} {FR} {French} {UK} {British} - {US} {American} + {US} {North~American} } { unsupported @@ -1151,6 +1169,29 @@ } } +% #1: Nummer +\cs_new:Npn \phone_DE_MABEZnummernlaenge_ueberpruefen:N #1 + { + \int_set:Nn \l_tmpa_int {\str_count:N #1} + \int_add:Nn \l_tmpa_int {\str_count:N \l_phone_bereinigte_durchwahl_str} + + \int_compare:nNnTF {\l_tmpa_int} > {11} + { + % Gesamtnummer hat mehr als 11 Stellen + \msg_warning:nnnn {phonenumbers} {number~too~long} {0137~(MABEZ)} {11} + } + { + \int_compare:nNnTF {\l_tmpa_int} < {11} + { + % Gesamtnummer hat weniger als 11 Stellen + \msg_warning:nnnn {phonenumbers} {number~too~short} {0137~(MABEZ)} {11} + } + { + \bool_set_true:N \l_phone_teilnehmerrufnummer_gueltig_bool + } + } + } + % #1: Vorwahl, #2: Teilnehmerrufnummer \cs_new:Npn \phone_DE_teilnehmerrufnummer_schreiben:Nn #1 #2 { @@ -1187,7 +1228,7 @@ { \str_case:xnF {\str_range:Nnn #1 {1} {4}} { - {0137} {\phone_nummernlaenge_ueberpruefen:Vnnn \l_tmpa_str {11} {11} {0137}} + {0137} {\phone_DE_MABEZnummernlaenge_ueberpruefen:N \l_tmpa_str} {0160} {\phone_nummernlaenge_ueberpruefen:Vnnn \l_tmpa_str {11} {12} {mobile~phone}} {0162} {\phone_nummernlaenge_ueberpruefen:Vnnn \l_tmpa_str {11} {12} {mobile~phone}} {0163} {\phone_nummernlaenge_ueberpruefen:Vnnn \l_tmpa_str {11} {12} {mobile~phone}} @@ -1217,7 +1258,11 @@ \str_if_empty:NF \l_phone_bereinigte_durchwahl_str { - \msg_warning:nn {phonenumbers} {odd~extension} + % Mobilfunk- und Sondernummern dürfen keine Durchwahl enthalten (ausgenommen MABEZ-Nummern) + \str_if_eq:xnF {\str_range:Nnn #1 {1} {4}} {0137} + { + \msg_warning:nn {phonenumbers} {odd~extension} + } } } @@ -1949,12 +1994,12 @@ \msg_new:nnn {phonenumbers} {US/invalid~area~code} { - unknown~area~code~#1~in~American~phone~number~\msg_line_context: + unknown~area~code~#1~in~North~American~phone~number~\msg_line_context: } \msg_new:nnn {phonenumbers} {US/invalid~central~office~code} { - invalid~central~office~code~#1~in~American~phone~number~\msg_line_context: + invalid~central~office~code~#1~in~North~American~phone~number~\msg_line_context: } \bool_new:N \l_phone_US_ferngespraechspraefix_bool |