summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/phonenumbers/phonenumbers.sty
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2018-08-05 21:02:09 +0000
committerKarl Berry <karl@freefriends.org>2018-08-05 21:02:09 +0000
commitb3254ae8c0509ca29967c882a515bf3a5d757337 (patch)
treef726caa99e5f198833f021f448a5146b6197c2e4 /Master/texmf-dist/tex/latex/phonenumbers/phonenumbers.sty
parent97e209dcd0fde3344f46c73684ab43a68e9c0387 (diff)
phonenumbers (5aug18)
git-svn-id: svn://tug.org/texlive/trunk@48355 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/phonenumbers/phonenumbers.sty')
-rw-r--r--Master/texmf-dist/tex/latex/phonenumbers/phonenumbers.sty75
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