diff options
author | Karl Berry <karl@freefriends.org> | 2016-11-06 22:18:33 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2016-11-06 22:18:33 +0000 |
commit | cdfc2bf14af982148fa62182efbf2fdd98a6d064 (patch) | |
tree | 0b4384f5359b91d66362240947872edebc89a8fd | |
parent | 8872b9aecdfd830b9bd347049b1827280214d9ec (diff) |
phonenumbers (6nov16)
git-svn-id: svn://tug.org/texlive/trunk@42448 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r-- | Master/texmf-dist/doc/latex/phonenumbers/Literatur.bib | 51 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/phonenumbers/README | 15 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/phonenumbers/phonenumbers-de.pdf | bin | 526058 -> 560980 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/phonenumbers/phonenumbers-de.tex | 354 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/phonenumbers/phonenumbers-en.pdf | bin | 513737 -> 554115 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/phonenumbers/phonenumbers-en.tex | 354 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/phonenumbers/FR_Ortsnamen.tex | 12 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/phonenumbers/FR_Vorwahlen.tex | 10 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/phonenumbers/US_Ortsnamen.tex | 9 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/phonenumbers/US_Vorwahlen.tex | 194 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/phonenumbers/phonenumbers.sty | 1083 |
11 files changed, 1394 insertions, 688 deletions
diff --git a/Master/texmf-dist/doc/latex/phonenumbers/Literatur.bib b/Master/texmf-dist/doc/latex/phonenumbers/Literatur.bib index 62f44a0e804..20f4ab0917c 100644 --- a/Master/texmf-dist/doc/latex/phonenumbers/Literatur.bib +++ b/Master/texmf-dist/doc/latex/phonenumbers/Literatur.bib @@ -1,5 +1,5 @@ % phonenumbers package: references -% Datum: 22. August 2016 +% Datum: 6. November 2016 @book{duden, title = {Duden}, subtitle = {Die deutsche Rechtschreibung}, @@ -9,36 +9,43 @@ } @online{BNA-nummernplan, - organization = {Bundesnetzagentur}, + author = {{Bundesnetzagentur}}, title = {Nummernplan Nummernraum für die öffentliche Telekommunikation}, date = {2016-05-04}, url = {http://www.bundesnetzagentur.de/SharedDocs/Downloads/DE/Sachgebiete/Telekommunikation/Unternehmen_Institutionen/Nummerierung/Rufnummern/NP_Nummernraum.pdf?__blob=publicationFile&v=2}, } @online{BNA-mabez, - organization = {Bundesnetzagentur}, + author = {{Bundesnetzagentur}}, title = {Nummernplan Massenverkehrs-Rufnummern}, date = {2016-05-04}, url = {http://www.bundesnetzagentur.de/SharedDocs/Downloads/DE/Sachgebiete/Telekommunikation/Unternehmen_Institutionen/Nummerierung/Rufnummern/0137/0137_Nummernplan.pdf?__blob=publicationFile&v=4}, } @online{BNA-konzept, - organization = {Bundesnetzagentur}, + author = {{Bundesnetzagentur}}, title = {Nummerierungskonzept 2014}, date = {2014-12-10}, url = {http://www.bundesnetzagentur.de/SharedDocs/Downloads/DE/Sachgebiete/Telekommunikation/Unternehmen_Institutionen/Nummerierung/Nummerierungskonzept/Nummerierungskonzept2014.pdf?__blob=publicationFile&v=1}, } @online{BNA-ortsvorwahlen, - organization = {Bundesnetzagentur}, + author = {{Bundesnetzagentur}}, title = {Verzeichnis der Ortsnetze der Bundesrepublik Deutschland}, subtitle = {Liste der Ortsnetzkennzahlen in numerischer Folge}, date = {2010-12-31}, url = {http://www.bundesnetzagentur.de/SharedDocs/Downloads/DE/Sachgebiete/Telekommunikation/Unternehmen_Institutionen/Nummerierung/Rufnummern/ONVerzeichnisse/ONBVerzeichnis/B-ListeOrtsnetzenumerisch.pdf?__blob=publicationFile&v=3}, } +@online{BNA-mobil, + author = {{Bundesnetzagentur}}, + title = {Mobile Dienste, zugeteilte RNB}, + date = {2016-09-27}, + url = {http://www.bundesnetzagentur.de/cln_1432/DE/Sachgebiete/Telekommunikation/Unternehmen_Institutionen/Nummerierung/Rufnummern/MobileDienste/zugeteilte%20RNB/MobileDiensteBelegteRNB_Basepage.html?nn=268384#download=1} +} + @online{ARCEP, - organization = {Autorité de régulation des communications électroniques et des postes}, + author = {{Autorité de régulation des communications électroniques et des postes}}, title = {Plan national de numérotation téléphonique}, date = {2015-10-22}, url = {http://www.arcep.fr/uploads/tx_gsavis/05-1085.pdf} @@ -47,7 +54,7 @@ @inreference{wikipedia-FR-fr, title = {Plan de numérotation en France}, booktitle = {Wikipédia en fran\c{c}ais}, - date = {2016-07-04}, + date = {2016-11-02}, url = {https://fr.wikipedia.org/wiki/Plan_de_num%C3%A9rotation_en_France}, } @@ -63,7 +70,7 @@ title = {North American Numbering Plan}, booktitle = {Wikipedia}, booksubtitle = {The Free Encyclopedia}, - date = {2016-06-30}, + date = {2016-11-05}, url = {https://en.wikipedia.org/wiki/North_American_Numbering_Plan}, } @@ -71,27 +78,41 @@ title = {National conventions for writing telephone numbers}, booktitle = {Wikipedia}, booksubtitle = {The Free Encyclopedia}, - date = {2016-07-21}, + date = {2016-10-13}, url = {https://en.wikipedia.org/wiki/National_conventions_for_writing_telephone_numbers}, } @online{NANPA-geographic, - organization = {North American Numbering Plan Association}, + author = {{North American Numbering Plan Association}}, title = {Geographic NPAs in Service Sorted by Number}, url = {https://www.nationalnanpa.com/enas/geoAreaCodeNumberReport.do}, - urldate = {2016-08-22} + urldate = {2016-10-28} } @online{NANPA-non-geographic, - organization = {North American Numbering Plan Association}, + author = {{North American Numbering Plan Association}}, title = {Non-Geographic NPAs in Service}, url = {https://www.nationalnanpa.com/enas/nonGeoNpaServiceReport.do}, - urldate = {2016-08-22} + urldate = {2016-10-28} +} + +@online{NANPA-not-yet, + author = {{North American Numbering Plan Association}}, + title = {Planned NPAs Not Yet in Service}, + url = {https://www.nationalnanpa.com/enas/plannedNpasNotInServiceReport.do}, + urldate = {2016-10-28} } @online{NANPA-ten-digit, - organization = {North American Numbering Plan Association}, + author = {{North American Numbering Plan Association}}, title = {Area Codes Requiring 10 Digit Dialing}, url = {https://www.nationalnanpa.com/enas/npasRequiring10DigitReport.do}, - urldate = {2016-07-02} + urldate = {2016-10-28} +} + +@package{hyperref, + author = {Sebastian Rahtz and Heiko Oberdiek}, + title = {hyperref}, + version = {6.83}, + url = {http://ctan.org/pkg/hyperref} } diff --git a/Master/texmf-dist/doc/latex/phonenumbers/README b/Master/texmf-dist/doc/latex/phonenumbers/README index ca84607928b..220c3e5ea23 100644 --- a/Master/texmf-dist/doc/latex/phonenumbers/README +++ b/Master/texmf-dist/doc/latex/phonenumbers/README @@ -1,7 +1,14 @@ -The phonenumbers package makes it possible to typeset telephone numbers according to different national conventions. Currently, German, French, and North American phone numbers are supported. The user can select from various formatting options, including the additional output of the country calling code. The package is able to check if a phone number is valid according to the national rules. +The phonenumbers package makes it possible to typeset telephone numbers +according to different national conventions. Currently, German, French, and +North American phone numbers are supported. The user can select from various +formatting options, including the additional output of the country calling +code. The package is able to check if a phone number is valid according to the +national rules. It also allows to link phone numbers using the hyperref +package. Package author: Keno Wehr -Version: 1.0 -Date: August 22nd, 2016 +Version: 1.1 +Date: November 6th, 2016 -The phonenumbers package is subject to the LaTeX Project Public License, version 1.3 or later. +The phonenumbers package is subject to the LaTeX Project Public License, +version 1.3 or later. diff --git a/Master/texmf-dist/doc/latex/phonenumbers/phonenumbers-de.pdf b/Master/texmf-dist/doc/latex/phonenumbers/phonenumbers-de.pdf Binary files differindex 6e6d05d9486..f6e6bf547ee 100644 --- a/Master/texmf-dist/doc/latex/phonenumbers/phonenumbers-de.pdf +++ b/Master/texmf-dist/doc/latex/phonenumbers/phonenumbers-de.pdf diff --git a/Master/texmf-dist/doc/latex/phonenumbers/phonenumbers-de.tex b/Master/texmf-dist/doc/latex/phonenumbers/phonenumbers-de.tex index 763cbd20010..761fdf1d975 100644 --- a/Master/texmf-dist/doc/latex/phonenumbers/phonenumbers-de.tex +++ b/Master/texmf-dist/doc/latex/phonenumbers/phonenumbers-de.tex @@ -1,38 +1,50 @@ -% phonenumbers package: deutsche Anleitung -% Datum: 22. August 2016 +% phonenumbers package: German manual +% Version: 1.1 +% Datum: 6. November 2016 \documentclass{cnltx-doc} \usepackage[T1]{fontenc} \usepackage[utf8]{inputenc} \usepackage[french,ngerman]{babel} -\usepackage{phonenumbers} +\usepackage[link=off]{phonenumbers} \usepackage[backend=biber]{biblatex} \usepackage{array} \usepackage{translations} \usepackage{enumitem} +\setlist[itemize]{itemsep=0.7ex plus0.3ex minus0.2ex} + \KOMAoption{numbers}{noendperiod} \addbibresource{Literatur.bib} -\newcommand{\DeEn}[2]{\ifcurrentbaselanguage{German}{#1}{#2}} +\renewcommand{\labelnamepunct}{\addcolon\space} + +\newcommand*{\DeEn}[2]{\ifcurrentbaselanguage{German}{#1}{#2}} + +\newcommand*{\UeberschriftAufbau}{\DeEn{Aufbau der Nummern}{Structure of the Numbers}} + +\newcommand*{\UeberschriftUngueltig}{\DeEn{Ungültige Nummern}{Invalid Numbers}} -\newcommand{\UeberschriftAufbau}{\DeEn{Aufbau der Nummern}{Structure of the Numbers}} +\newcommand*{\UeberschriftSondervorwahlen}{\DeEn{Sondervorwahlen}{Non-Geographic Area Codes}} -\newcommand{\UeberschriftUngueltig}{\DeEn{Ungültige Nummern}{Invalid Numbers}} +\newcommand*{\OptionsbeschreibungAreaCode}{\DeEn{Legt fest, wie die Vorwahl dargestellt werden soll: als Nummer, als Ortsname oder als Ortsname mit Nummer.}{Sets, how the area code will be typeset: as number, as place name, or as place name with number.}} -\newcommand{\UeberschriftSondervorwahlen}{\DeEn{Sondervorwahlen}{Non-Geographic Area Codes}} +\newcommand*{\WertbeschreibungPlaceAndNumber}{\DeEn{Die Variante \code{place-and-number} gibt für Nummern ohne Auslandsvorwahl den Ortsnamen bzw. die Bedeutung der Vorwahl zusätzlich zur Vorwahlnummer aus.}{The choice \code{place-and-number} will cause the place name or the meaning of the area code, respectively, to be output in addition to the area code for numbers without country calling code.}} -\newcommand{\OptionsbeschreibungAreaCode}{\DeEn{Legt fest, wie die Vorwahl dargestellt werden soll: als Nummer, als Ortsname oder als Ortsname mit Nummer.}{Sets, how the area code will be typeset: as number, as place name, or as place name with number.}} +\newcommand*{\WertbeschreibungPlace}{\DeEn{Die Variante \code{place} gibt bei Festnetznummern ohne Auslandsvorwahl den Ortsnamen anstelle der Vorwahlnummer aus. In anderen Fällen bleibt es bei der Ausgabe der Nummer.}{The choice \code{place} will typeset landline numbers without country calling code with the place name instead of the area code. In other cases the area code will remain.}} -\newcommand{\WertbeschreibungPlaceAndNumber}{\DeEn{Die Variante \code{place-and-number} gibt für Nummern ohne Auslandsvorwahl den Ortsnamen bzw. die Bedeutung der Vorwahl zusätzlich zur Vorwahlnummer aus.}{The choice \code{place-and-number} will cause the place name or the meaning of the area code, respectively, to be output in addition to the area code for numbers without country calling code.}} +\newcommand*{\KeineVerlinkung}{\DeEn{Nummern ohne Vorwahl können allerdings nicht verlinkt werden}{Numbers without an area code cannot be linked though} +\vglAbschnitt{verlinkung}.} -\newcommand{\WertbeschreibungPlace}{\DeEn{Die Variante \code{place} gibt bei Festnetznummern ohne Auslandsvorwahl den Ortsnamen anstelle der Vorwahlnummer aus. In anderen Fällen bleibt es bei der Ausgabe der Nummer.}{The choice \code{place} will typeset landline numbers without country calling code with the place name instead of the area code. In other cases the area code will remain.}} +\newcommand*{\WarnungWenn}{\DeEn{Eine Warnung wird ausgegeben, wenn}{A warning will be issued if}} -\newcommand{\WarnungWenn}{\DeEn{Eine Warnung wird ausgegeben, wenn}{A warning will be issued if}} +\newcommand*{\vglAbschnitt}[1]{(\cf\ \DeEn{Abschnitt}{section} \ref{#1})} -\newcommand{\Quelle}{\emph{\DeEn{Quelle: }{Source: }}} +\newcommand*{\sieheAbschnitt}[1]{(\DeEn{siehe Abschnitt}{see section} \ref{#1})} -\newcommand{\Quellen}{\emph{\DeEn{Quellen: }{Sources: }}} +\newcommand*{\Quelle}{\emph{\DeEn{Quelle: }{Source: }}} + +\newcommand*{\Quellen}{\emph{\DeEn{Quellen: }{Sources: }}} \definecolorscheme{phonecolor}{ cs => cnltxformalblue, @@ -42,20 +54,20 @@ \setcnltx{ package = phonenumbers, - version = Version 1.0, - date = \DeEn{22. August 2016}{August 22nd, 2016}, + version = Version 1.1, + date = \DeEn{6. November 2016}{November 6th, 2016}, authors = Keno Wehr, email = keno.wehr@uni-oldenburg.de, info = \DeEn{Setzen von Telefonnummern mit \LaTeX}{Typesetting telephone numbers with \LaTeX}, - add-cmds = {setphonenumbers,phonenumber}, + add-cmds = {setphonenumbers,phonenumber,href}, abstract = \DeEn{Dieses Paket ermöglicht es, Telefonnummern unterschiedlichen nationalen Konventionen entsprechend zu setzen. Zur Zeit werden deutsche, französische und nordamerikanische Telefonnummern unterstützt.}{This package makes it possible to typeset telephone numbers according to different national conventions. Currently, German, French, and North American phone numbers are supported.}, color-scheme = phonecolor, add-listings-options = {numbers=none}, - side-by-side = true, pre-output = {\raggedright} } \newpackagename{\phone}{phonenumbers} +\newpackagename{\hyper}{hyperref} \makeatletter \setlength{\cnltx@before@skip}{5pt plus1pt minus1pt} @@ -66,49 +78,48 @@ \setlength{\columnseprule}{0,4pt} \begin{document} -\newpage \section{\DeEn{Schnelleinstieg}{Quick Start}} \subsection{\DeEn{Deutschland}{Germany}} -\begin{example} +\begin{sidebyside} \phonenumber{0441343396}[83] -\end{example} -\begin{example} +\end{sidebyside} +\begin{sidebyside} \phonenumber[area-code-sep=brackets]{020432632194} -\end{example} -\begin{example} +\end{sidebyside} +\begin{sidebyside} \phonenumber[area-code=place,area-code-sep=space]{0409188423} -\end{example} -\begin{example} +\end{sidebyside} +\begin{sidebyside} \phonenumber[foreign]{0209576342} -\end{example} +\end{sidebyside} \subsection{\DeEn{Frankreich}{France}} -\begin{example} +\begin{sidebyside} \phonenumber[country=FR]{0123456789} -\end{example} -\begin{example} +\end{sidebyside} +\begin{sidebyside} \phonenumber[country=FR,area-code=place-and-number]{0123456789} -\end{example} -\begin{example} +\end{sidebyside} +\begin{sidebyside} \phonenumber[country=FR,foreign]{0123456789} -\end{example} +\end{sidebyside} \subsection{\DeEn{Nordamerika}{North America}} -\begin{example} +\begin{sidebyside} \phonenumber[country=US]{2125550123} -\end{example} -\begin{example} +\end{sidebyside} +\begin{sidebyside} \phonenumber[country=US,area-code-sep=space]{2125550123} -\end{example} -\begin{example} +\end{sidebyside} +\begin{sidebyside} \phonenumber[country=US,area-code=place-and-number]{2125550123} -\end{example} -\begin{example} +\end{sidebyside} +\begin{sidebyside} \phonenumber[country=US,trunk-prefix]{2125550123} -\end{example} -\begin{example} +\end{sidebyside} +\begin{sidebyside} \phonenumber[country=US,foreign]{2125550123} -\end{example} +\end{sidebyside} \section{\DeEn{Allgemeine Prinzipien}{General Principles}} \subsection{\DeEn{Grundideen des Pakets}{Basic Ideas of the Package}} @@ -117,14 +128,14 @@ \DeEn{Beispielsweise werden in den meisten Ländern Vorwahlen graphisch von der Rufnummer getrennt. Für die Darstellung der Telefonnummer mit dem Paket \phone\ braucht der Nutzer nicht zu wissen, welche Ziffern zur Vorwahl und welche zur Rufnummer gehören. Das Paket kennt alle Vorwahlen der unterstützten Länder und stellt diese automatisch richtig dar.} {For instance, area codes are separated from the subscriber number in most countries. To typeset the phone number with the aid of the \phone\ package the user does not need to know which digits belong to the area code and which to the subscriber number. The package knows all area codes of the supported countries and will automatically typeset them correctly.} -\begin{example} +\begin{sidebyside} \phonenumber{0305226789} -\end{example} +\end{sidebyside} \DeEn{Hier wurden die ersten drei Ziffern als Vorwahl von Berlin erkannt. Dagegen können im folgenden Beispiel die ersten sechs Ziffern als Vorwahl von Bad Schandau identifiziert werden.} {The first three digits of this German phone number are recognized as the area code of Berlin, whereas in the following example the first six digits can be identified as the area code of the German spa town of Bad Schandau.} -\begin{example} +\begin{sidebyside} \phonenumber{0350226789} -\end{example} +\end{sidebyside} \DeEn{Das Paket hat nicht das Ziel, eine bestimmte Norm umzusetzen; es orientiert sich an den üblichen Gepflogenheiten zur Darstellung von Telefonnummern. Durch das Setzen von Optionen kann der Anwender das Land festlegen, aus dem die Telefonnummer stammt, sowie zwischen mehreren Formatierungsvarianten wählen. Hierzu zählt auch die zusätzliche Ausgabe der Auslandsvorwahl.} {The package does not aim to implement a particular norm. Rather, it follows the usual conventions for typesetting phone numbers. By setting options the user can determine the country the number is belonging to and select from various formatting options. This includes the additional output of the country calling code.} @@ -142,8 +153,8 @@ \DeEn{Setzt die \meta{Optionen} global für alle folgenden Telefonnummern, für die nichts anderes festgelegt ist. Kann in der Präambel oder im Dokumentenkörper verwendet werden.} {Sets the \meta{options} globally for all following phone numbers not having contradictory options of their own. Can be used in the preamble or in the document body.} -\command{phonenumber}[\oarg{\DeEn{Optionen}{options}}\marg{\DeEn{Nummer}{number}}\oarg{\DeEn{Durchwahl}{extension}}] -\DeEn{Setzt eine Telefonnummer. Die \meta{Nummer} darf dabei nur aus Ziffern und Leerzeichen bestehen; Leerzeichen werden ignoriert. Bei deutschen Telefonnummern kann außerdem eine \meta{Durchwahl} angegeben werden, die an die Nummer angehängt wird. Die \meta{Optionen} gelten nur für diese Telefonnummer.} +\command{phonenumber}[\oarg{\DeEn{Optionen}{options}}\marg{\DeEn{Nummer}{number}}\oarg{\DeEn{Durchwahl\kern1pt}{extension}}] +\DeEn{Setzt eine Telefonnummer. Die \meta{Nummer} darf dabei nur aus Ziffern und Leerzeichen bestehen; Leerzeichen werden ignoriert. Bei deutschen Telefonnummern kann außerdem eine \meta{Durchwahl\kern1pt} angegeben werden, die an die Nummer angehängt wird. Die \meta{Optionen} gelten nur für diese Telefonnummer.} {Typesets a telephone number. The \meta{number} has to consist of digits and spaces only; the spaces will be ignored. For German phone numbers an \meta{extension} can be given additionally, since extensions are often highlighted in German typography. The \meta{options} are only valid for this phone number.} \command{AreaCodesGeographic}[\oarg{\DeEn{Optionen}{options}}] @@ -155,7 +166,21 @@ {Typesets a list of non-geographic area codes (area codes for mobile phones and for other special purposes) for the selected country.} \end{commands} -\subsection{\DeEn{Optionen}{Options}} +\subsection{\DeEn{Verlinkung von Telefonnummern}{Linking of Phone Numbers}} \label{verlinkung} +\DeEn{Auf modernen Geräten mit Telefoniefähigkeiten können Links auf Telefonnummern verwendet werden, um die Nummern anzurufen, ohne sie eintippen zu müssen. Das Paket \phone\ erzeugt solche Links, sofern das Paket \hyper\ \cite{hyperref} zusätzlich geladen wird.}{On modern devices with telephony capabilities links on phone numbers can be used to call a number without having it to type in. The \phone\ package generates such links if the \hyper\ package is loadad additionally.} + +\DeEn{Unabhängig davon, wie sie im Text erscheinen, werden die Telefonnummern unter Einschluss der Auslandsvorwahl (beginnend mit +) verlinkt, damit sie von überall aus erreichbar sind.}{Independantly of their appearing in the text the phone numbers are linked including the country calling code (beginning with +) so that they can be reached from everywhere.} + +\DeEn{Das Erscheinungsbild der Links kann über \hyper-Optionen eingestellt werden. Beispielsweise könnte die folgende Zeile in die Präambel eingefügt werden, um alle Links auf Telefonnummern in blauer Farbe darzustellen.}{The appearing of the links can be set using \hyper\ options. You could for example add the following line to the preamble to display all links on phone numbers in blue.} + +\begin{sourcecode} + \usepackage[colorlinks=true,urlcolor=blue]{hyperref} +\end{sourcecode} + +\DeEn{Auf klassischen Arbeitsplatzrechnern sind solche Links allerdings nicht brauchbar. Für den Fall, dass \hyper\ benötigt wird, ohne dass Telefonnummern verlinkt werden sollen, steht die Option \option{link}}{On classical personal computers such links are not usable though. If you need \hyper, but do not want to link phone numbers, use the \option{link} option} +\sieheAbschnitt{optionen}\DeEn{ zur Verfügung.}{.} + +\subsection{\DeEn{Optionen}{Options}} \label{optionen} \DeEn{Alle Optionen können global mit Hilfe der Befehle \cs{usepackage} und \cs{setphonenumbers} oder lokal für einzelne Telefonnummern festgelegt werden.} {All options can be set globally with the aid of the \cs{usepackage} and the \cs{setphonenumbers} commands or locally for single phone numbers.} \begin{options} @@ -169,7 +194,7 @@ DE & \DeEn{Deutschland}{Germany} \\ FR & \DeEn{Frankreich}{France} \\ US & \DeEn{Vereinigte Staaten, Kanada und weitere Länder} {United States, Canada and further countries} -(\cf\ \DeEn{Abschnitt}{section} \ref{US-bereich}) +\vglAbschnitt{US-bereich} \end{tabular} \end{center} \DeEn{Bitte kontaktieren Sie den Paketautor, falls Sie Unterstützung für weitere Länder benötigen.} @@ -182,24 +207,44 @@ US & \DeEn{Vereinigte Staaten, Kanada und weitere Länder} \DeEn{Mit \code{foreign=international} oder einfach \code{foreign} erhält man eine Auslandsvorwahl, die aus einem Pluszeichen gefolgt von der Landeskennzahl (z.\,B. 49 für deutsche Nummern) besteht. In dieser Form kann sie auf Mobiltelefonen direkt verwendet werden. Im Festnetz muss das + durch die am Ort des Anrufers verwendeten internationalen Verkehrsausscheidungsziffern ersetzt werden.} {With \code{foreign=international} or simply \code{foreign} you will get a country calling code consisting of a plus sign followed by the country code (\eg\ 49 for German numbers). In this form the country calling code can be directly used on mobile phones. For landline calls the + has to be replaced by the international call prefix used in the country of the caller.} -\begin{example} +\begin{sidebyside} \phonenumber[foreign=international]{0305226789} -\end{example} +\end{sidebyside} \DeEn{Die Variante \code{american} lässt die Auslandsvorwahl mit 011 beginnen, den in Nordamerika gebräuchlichen internationalen Verkehrsausscheidungsziffern.} {The choice \code{american} lets the country calling code begin with 011, the international call prefix used in North America.} -\begin{example} +\begin{sidebyside} \phonenumber[foreign=american]{0305226789} -\end{example} +\end{sidebyside} \DeEn{Bei Auswahl von \code{european} beginnt die Nummer mit einer Doppelnull, wie sie in den meisten Ländern Europas und weiteren Teilen der Welt verwendet wird.} {With the choice \code{european} the number will begin with a double zero, used in most of Europe and further parts of the world.} -\begin{example} +\begin{sidebyside} \phonenumber[foreign=european]{0305226789} -\end{example} +\end{sidebyside} + +\keychoice{link}{on,off} +\Default{on} +\DeEn{Gibt an, ob Telefonnummern verlinkt werden sollen, falls das Paket \hyper\ geladen ist}{Specifies whether phone numbers shall be linked if the \hyper\ package is loaded} +\vglAbschnitt{verlinkung}. + +\keychoice{home-area-code}{\DeEn{\meta{Heimatvorwahl\kern1pt}}{home area code},empty} +\Default{empty} +\DeEn{Legt die Vorwahl Ihres Heimatgebietes fest. Bei Nummern mit dieser Vorwahl wird nur die Teilnehmerrufnummer ausgegeben. Die Verlinkung}{Sets the area code of your home area. Only the subscriber number will be output for numbers with this area code. Links} +\vglAbschnitt{verlinkung} +\DeEn{erfolgt immer einschließlich der Vorwahl.}{will always include the area code.} +\begin{sidebyside} + \setphonenumbers{country=US,home-area-code=242} + \phonenumber{2425550123} +\end{sidebyside} +\begin{sidebyside} + \setphonenumbers{country=DE,home-area-code=02581} + \phonenumber{02581639737} +\end{sidebyside} +\DeEn{Die Angabe einer Heimatvorwahl ist nur für Gebiete zulässig, in denen die Vorwahl bei Ortsgesprächen weggelassen werden kann. Vor der Heimatvorwahl muss das Land festgelegt werden.}{Setting a home area code is allowed only for areas where the area code can be left out for local calls. The country has to be set before the home area code.} \end{options} \subsection{\UeberschriftUngueltig} \DeEn{Um Robustheit gegenüber Fehlern zu gewährleisten, wird die Kompilierung niemals mit einer Fehlermeldung abgebrochen, wenn dem Befehl \cs{phonenumber} eine ungültige Nummer übergeben wird. Stattdessen schreibt das Paket \phone\ Warnmeldungen in die Log-Datei.} -{To ensure robustness against errors, the compilation will never be aborted with an error message if an invalid number is given to the \cs{phonenumber} command. Rather, the package \phone\ will write warnings to the log file.} +{To ensure robustness against errors, the compilation will never be aborted with an error message if an invalid number is given to the \cs{phonenumber} command. Rather, the \phone\ package will write warnings to the log file.} \DeEn{Dies ist der Fall, wenn}{This will occur if} \begin{itemize} \item \DeEn{die Eingabe leer ist}{the input is empty}, @@ -211,76 +256,82 @@ US & \DeEn{Vereinigte Staaten, Kanada und weitere Länder} \section{\DeEn{Deutsche Telefonnummern}{German Phone Numbers}} \subsection{\UeberschriftAufbau} \DeEn{Eine deutsche Telefonnummer besteht in der Regel aus einer Vorwahl, die mit einer 0 beginnt, und einer Teilnehmerrufnummer. Die Vorwahl kann zwischen 3 und 6 Stellen haben, die Teilnehmerrufnummer im Festznetz zwischen 3 und 8 Stellen. Zur Trennung von Vorwahl und Teilnehmerrufnummer gibt es unterschiedliche Konventionen}{A German phone number normally consists of an area code beginning with 0 and a subscriber number. The area code can have 3 to 6 digits, a landline subscriber number 3 to 8 digits. There are different conventions for the separation of the area code from the subscriber number} -(\cf\ \DeEn{Abschnitt}{section} \ref{optionen-DE}). +\vglAbschnitt{optionen-DE}. \DeEn{Standardmäßig verwendet das Paket \phone\ einen Schrägstrich.}{The default separator used by the \phone\ package is a slash.} -\begin{example} +\begin{sidebyside} \phonenumber{02517654321} -\end{example} +\end{sidebyside} + \DeEn{Die Ortsvorwahl kann bei Anrufen innerhalb eines Ortsnetzes weggelassen werden.}{The area code is not required for calls within the local exchange area.} -\begin{example} +\begin{sidebyside} \phonenumber{7654321} -\end{example} +\end{sidebyside} +\KeineVerlinkung\ \DeEn{Als Alternative empfiehlt sich die Verwendung der Option \option{home-area-code}}{As an alternative the use of the \option{home-area-code} option} +\vglAbschnitt{optionen}, +\DeEn{die in Deutschland überall verwendet werden kann.}{which can be used everywhere in Germany, is recommended.} + \DeEn{Am Ende der Teilnehmerrufnummer kann eine abgetrennte Durchwahlnummer stehen.}{The subscriber number can end in a separate extension.} -\begin{example} +\begin{sidebyside} \phonenumber{0251123456}[78] -\end{example} +\end{sidebyside} + \DeEn{Bei Anrufen aus dem Ausland wird die Auslandsvorwahl mit Landeskennzahl 49 vorangestellt und die führende 0 der Ortsvorwahl weggelassen.}{For calls from abroad the country code 49 has to be used and the leading 0 of the area code has to be left out.} -\begin{example} +\begin{sidebyside} \phonenumber[foreign]{02517654321} -\end{example} +\end{sidebyside} \DeEn{In der Regel werden alle Teilnummern von hinten in Zweiergruppen gegliedert. Eine Ausnahme besteht für Vorwahlen, deren letzte Ziffer den Tarif angibt. Dies betrifft sogenannte MABEZ-Nummern (\emph{Massenverkehr zu bestimmten Zielen}, verwendet z.\,B. für Fernsehsendungen mit Zuschauerabstimmung, Vorwahl 01\,37\,X) und Service-Nummern (Vorwahl 01\,80\,X). Hier steht die letzte Ziffer der Vorwahl allein}{All number components are divided into groups of two digits beginning from the end as a rule. Area codes whose last digit represents the charge are an exception. This concerns so-called MABEZ numbers (\emph{Massenverkehr zu bestimmten Zielen}, \enquote{mass traffic to certain destinations}, used \eg\ for televoting, area code 01\,37\,X) and service numbers (area code 01\,80\,X). In this case the last digit of the area code stands alone} \cite[110]{duden}. -\begin{example} +\begin{sidebyside} \phonenumber{01374654832} -\end{example} +\end{sidebyside} \DeEn{Der zugehörige Tarif kann mit Hilfe der Option}{The relevant charge can be output using the} \code{area-code=place-and-number}\DeEn{}{ option} -(\DeEn{siehe Abschnitt}{see section} \ref{optionen-DE})\DeEn{ ausgegeben werden.}{.} +\sieheAbschnitt{optionen-DE}\DeEn{ ausgegeben werden.}{.} \subsection{\DeEn{Optionen}{Options}} \label{optionen-DE} \begin{options} \keychoice{area-code-sep}{slash,brackets,space,hyphen} \Default{slash} \DeEn{Legt fest, wie die Vorwahl von der Teilnehmerrufnummer abgetrennt wird.}{Sets the seperator between area code and subscriber number.} -\begin{example} +\begin{sidebyside} \phonenumber[area-code-sep=space]{02581639737} -\end{example} +\end{sidebyside} \DeEn{Die Variante \code{brackets} setzt bei Festnetznummern Klammern um die Vorwahl. Bei Mobilfunk- und Sondernummern wird sie wie \code{space} behandelt, da bei solchen Nummern die Vorwahl stets mitgewählt werden muss.}{The choice \code{brackets} will cause the area code of landline numbers to be typeset in brackets. For mobile phone and special numbers this choice will be treated like \code{space}, since the area code has always to be dialled for these numbers.} -\begin{example} +\begin{sidebyside} \setphonenumbers{area-code-sep=brackets} \phonenumber{02581639737} \\ \phonenumber{01738642753} \\ \phonenumber[foreign]{04414363524} -\end{example} +\end{sidebyside} \DeEn{Die Varianten \code{slash} und \code{hyphen} werden bei Ausgabe der Auslandsvorwahl wie \code{space} behandelt, da die Schreibung mit Schrägstrich oder Bindestrich in diesem Fall nicht üblich ist.}{The choices \code{slash} and \code{hyphen} will be treated like \code{space} if the country calling code is output, since typesetting numbers with a slash or a hyphen is not common in this case.} -\begin{example} +\begin{sidebyside} \setphonenumbers{area-code-sep=hyphen} \phonenumber{02581639737} \\ \phonenumber{01738642753} \\ \phonenumber[foreign]{04414363524} -\end{example} +\end{sidebyside} \keychoice{area-code}{number,place,place-and-number} \Default{number} \OptionsbeschreibungAreaCode \WertbeschreibungPlace -\begin{example} +\begin{sidebyside} \setphonenumbers{area-code=place} \phonenumber{08942630845} \\ \phonenumber{01738642753} \\ \phonenumber[foreign]{04414363524} -\end{example} +\end{sidebyside} \WertbeschreibungPlaceAndNumber -\begin{example} +\begin{sidebyside} \setphonenumbers{area-code=place-and-number} \phonenumber{08942630845} \\ \phonenumber{01738642753} \\ \phonenumber{01803635341} \\ \phonenumber[foreign]{04414363524} -\end{example} +\end{sidebyside} \end{options} \DeEn{\pagebreak}{} @@ -304,12 +355,11 @@ US & \DeEn{Vereinigte Staaten, Kanada und weitere Länder} \DeEn{Außerdem wird eine Warnung ausgegeben, wenn}{Furthermore, a warning will be issued if} \begin{itemize} \item \DeEn{eine MABEZ-Nummer (\emph{Massenverkehr zu bestimmten Zielen}, Vorwahl 01\,37\,X) nicht genau 11 Stellen hat}{a MABEZ number (\emph{Massenverkehr zu bestimmten Zielen}, \enquote{mass traffic to certain destinations}, area code 01\,37\,X) does not have exactly 11 digits} \cite[2]{BNA-mabez}, +\item \DeEn{eine Funkrufnummer (Nummer eines sogenannten Pagers) mit der Vorwahl 01\,64 mehr als 14 Stellen oder eine Funkrufnummer mit der Vorwahl 01\,68 oder 01\,69 mehr als 15 Stellen hat}{a pager number with the area code 01\,64 has more than 14 digits or a pager number with the area code 01\,68 or 01\,69 has more than 15 digits} \cite[2]{BNA-nummernplan}, \item \DeEn{eine Servicenummer (Vorwahl 01\,80\,X) nicht genau 11 Stellen hat}{a service number (area code 01\,80\,X) does not have exactly 11 digits} \cite[71]{BNA-konzept}, \item \DeEn{eine IVPN-Nummer (\emph{internationales virtuelles privates Netz}, Vorwahl 01\,81) weniger als 8 oder mehr als 15 Stellen hat}{an IVPN number (\emph{international virtual private network}, area code 01\,81) has less than 8 or more than 15 digits} \cite[55]{BNA-konzept}, \item \DeEn{eine VPN-Nummer (\emph{virtuelles privates Netz}, Vorwahl 01\,8X) nicht genau 12 Stellen hat}{a VPN number (\emph{virtual private network}, area code 01\,8X) does not have exactly 12 digits} \cite[53]{BNA-konzept}, -\item \DeEn{eine Online-Dienst-Nummer mit der Vorwahl 01\,91 nicht genau 5 Stellen hat}{an online service number with the area code 01\,91 does not have exactly 5 digits} \cite[86]{BNA-konzept}, -\item \DeEn{eine Online-Dienst-Nummer mit der Vorwahl 01\,92 oder 01\,93 nicht genau 5 oder 7 Stellen hat}{an online service number with the area code 01\,92 or 01\,93 does not have exactly 5 or 7 digits} \cite[86]{BNA-konzept}, -\item \DeEn{eine Online-Dienst-Nummer mit der Vorwahl 01\,94 nicht genau 7 Stellen hat}{an online service number with the area code 01\,94 does not have exactly 7 digits} \cite[86]{BNA-konzept}, +\item \DeEn{eine Online-Dienst-Nummer mit der Vorwahl 01\,91 nicht genau 5 Stellen hat, eine Online-Dienst-Nummer mit der Vorwahl 01\,92 oder 01\,93 nicht genau 5 oder 7 Stellen hat oder eine Online-Dienst-Nummer mit der Vorwahl 01\,94 nicht genau 7 Stellen hat}{an online service number with the area code 01\,91 does not have exactly 5 digits, an online service number with the area code 01\,92 or 01\,93 does not have exactly 5 or 7 digits, an online service number with the area code 01\,94 does not have exactly 7 digits} \cite[86]{BNA-konzept}, \item \DeEn{eine nationale Teilnehmerrufnummer (Vorwahl 0\,32) nicht genau 12 Stellen hat}{a national subscriber number (area code 0\,32) does not have exactly 12 digits} \cite[45]{BNA-konzept}, \item \DeEn{eine persönliche Rufnummer (Vorwahl 07\,00) nicht genau 12 Stellen hat}{a personal phone number (area code 07\,00) does not have exactly 12 digits} \cite[74]{BNA-konzept}, \item \DeEn{eine kostenlose Rufnummer (Vorwahl 08\,00) nicht genau 11 Stellen hat}{a toll-free number (area code 08\,00) does not have exactly 11 digits} \cite[68]{BNA-konzept}, @@ -317,6 +367,7 @@ US & \DeEn{Vereinigte Staaten, Kanada und weitere Länder} \item \DeEn{eine Dialer-Nummer (Vorwahl 0\,90\,09) nicht genau 12 Stellen hat}{a dialer number (area code 0\,90\,09) does not have exactly 12 digits} \cite[78]{BNA-konzept}. \end{itemize} +\DeEn{}{\newpage} \section{\DeEn{Französische Telefonnummern}{French Phone Numbers}} \subsection{\DeEn{Geltungsbereich}{Scope}} \label{FR-bereich} \DeEn{Der französische Nummerierungsplan}{The French numbering plan} @@ -337,27 +388,29 @@ US & \DeEn{Vereinigte Staaten, Kanada und weitere Länder} \subsection{\UeberschriftAufbau} \DeEn{Französische Telefonnummern sind generell zehnstellig und werden in Zweiergruppen gegliedert. Die erste Ziffer ist immer eine 0.}{French phone numbers generally have ten digits and are structured in groups of two digits. The first digit is always 0.} -\begin{example} +\begin{sidebyside} \phonenumber[country=FR]{0123456789} -\end{example} +\end{sidebyside} \DeEn{Die zweite Ziffer ermöglicht die Zuordnung der Nummer zu einem von fünf geographischen Bereichen bzw. einer besonderen Verwendung (z.\,B. Mobilfunk). Die folgenden Stellen erlauben prinzipiell eine genauere geographische Zuordnung der Nummer, doch macht das Paket \phone\ hiervon nur zur Identifikation von Nummern aus Überseegebieten Gebrauch}{The second digit makes it possible to assign a number to one of five geographic zones or to a special purpose (\eg\ mobile telephony), respectively. The following digits theoretically allow a more precise geographic assignment of the number, but the \phone\ package uses them only to identify numbers from the overseas territories} (\cf\ \DeEn{Anhang}{appendix}~\ref{vorwahlen-FR}). -\begin{example} +\begin{sidebyside} \setphonenumbers{country=FR,area-code=place-and-number} \phonenumber{0123456789} \\ \phonenumber{0512345678} \\ \phonenumber{0596123456} -\end{example} - -\DeEn{Einige Firmen und Institutionen haben vierstellige Kurznummern, die stets mit einer 3 beginnen.}{Some companies and institutions have four-digit short numbers, which always begin with 3.} -\begin{example} - \phonenumber[country=FR]{3245} -\end{example} +\end{sidebyside} \DeEn{Bei Anrufen aus dem Ausland entfällt die führende 0 der Rufnummer.}{The leading 0 is omitted for calls from abroad.} -\begin{example} +\begin{sidebyside} \phonenumber[country=FR,foreign]{0123456789} -\end{example} +\end{sidebyside} + +\DeEn{Einige Firmen und Institutionen haben vierstellige Kurznummern, die stets mit einer 3 beginnen.}{Some companies and institutions have four-digit short numbers, which always begin with 3.} +\begin{sidebyside} + \phonenumber[country=FR]{3245} +\end{sidebyside} +\DeEn{Kurznummern werden ohne Auslandvorwahl verlinkt}{Short numbers are linked} +\vglAbschnitt{verlinkung}\DeEn{, da sie aus dem Ausland nicht erreichbar sind.}{ without the foreign country code since they cannot be reached from abroad.} \DeEn{Obwohl die in Abschnitt \ref{FR-bereich} genannten Gebiete intern wie ein einziges Netz behandelt werden, gibt es im Bereich des französichen Nummerierungsplans verschiedene Landeskennzahlen:}{Despite the fact that the areas mentioned in section \ref{FR-bereich} are treated as one single net internally, there are different country codes within the French numbering plan:} %\begin{table} @@ -380,20 +433,27 @@ US & \DeEn{Vereinigte Staaten, Kanada und weitere Länder} %\end{table} \end{center} \DeEn{Die erste Nummer im folgenden Beispiel stammt aus Mayotte und verwendet daher die Landeskennzahl 262, die zweite stammt aus dem Mutterland mit der Landeskennzahl 33.}{The first number of the following example is from Mayotte and thus using the country code 262, the second one from metropolitan France with the country code 33.} -\begin{example} +\begin{sidebyside} \setphonenumbers{country=FR,foreign} \phonenumber{0269123456} \\ \phonenumber{0296123456} -\end{example} +\end{sidebyside} \DeEn{Die Auslandsvorwahl führt für einige Gebiete zu einer Verdopplung der ersten drei Ziffern, z.\,B. in Martinique (Regionalvorwahl 05\,96).}{For some areas the country code leads to doubling the first three digits, \eg\ Martinique (area code 05\,96).} -\begin{example} +\begin{sidebyside} \phonenumber[country=FR,foreign]{0596123456} -\end{example} -\DeEn{Dagegen entfällt für Saint-Pierre und Miquelon die Regionalvorwahl 05\,08 bei Auslandsanrufen vollständig.}{However, for Saint Pierre and Miquelon the area code 05\,08 is entirely omitted for calls from abroad.} -\begin{example} +\end{sidebyside} +\DeEn{Dagegen entfällt für Saint-Pierre und Miquelon die Regionalvorwahl 05\,08 bei Auslandsanrufen vollständig}{However, for Saint Pierre and Miquelon the area code 05\,08 is entirely omitted for calls from abroad} \cite[4]{ARCEP}. +\begin{sidebyside} \phonenumber[country=FR,foreign]{0508123456} -\end{example} +\end{sidebyside} + +\DeEn{In Saint-Pierre und Miquelon ist es außerdem möglich, bei lokalen Gesprächen die Vorwahl wegzulassen und nur sechs Ziffern zu wählen}{In Saint Pierre and Miquelon it is possible as well to omit the area code for local calls and to dial six digits only} \cite[4]{ARCEP}. +\begin{sidebyside} + \setphonenumbers{country=FR,home-area-code=0508} + \phonenumber{0508123456} +\end{sidebyside} +\DeEn{Da dies in anderen Gebieten Frankreichs nicht möglich ist, ist \code{0508} der einzige erlaubte Wert für die Option \option{home-area-code}}{Since this is not possible in other areas of France, \code{0508} is the only legal value for the \option{home-area-code} option} \vglAbschnitt{optionen}. \subsection{\DeEn{Optionen}{Options}} \begin{options} @@ -402,23 +462,23 @@ US & \DeEn{Vereinigte Staaten, Kanada und weitere Länder} \OptionsbeschreibungAreaCode \WertbeschreibungPlaceAndNumber -\begin{example} +\begin{sidebyside} \setphonenumbers{country=FR,area-code=place-and-number} \phonenumber{0123456789} \\ \phonenumber{0596123456} \\ \phonenumber{0612345678} \\ \phonenumber[foreign]{0123456789} -\end{example} +\end{sidebyside} \WertbeschreibungPlace \ \DeEn{Da die Vorwahl in Frankreich stets mitgewählt werden muss, ist von der Verwendung dieser Option abzuraten.}{The use of this option is deprecated because the area code has always to be dialled in France.} -\begin{example} +\begin{sidebyside} \setphonenumbers{country=FR,area-code=place} \phonenumber{0123456789} \\ \phonenumber{0596123456} \\ \phonenumber{0612345678} \\ \phonenumber[foreign]{0123456789} -\end{example} +\end{sidebyside} \end{options} \subsection{\UeberschriftUngueltig} @@ -430,12 +490,13 @@ US & \DeEn{Vereinigte Staaten, Kanada und weitere Länder} \item \DeEn{eine Nummer mit 10 Stellen keine gültige Vorwahl beinhaltet}{a 10-digit number does not contain a valid area code}. \end{itemize} +\DeEn{}{\newpage} \section{\DeEn{Nordamerikanische Telefonnummern}{North American Phone Numbers}} \subsection{\DeEn{Geltungsbereich}{Scope}} \label{US-bereich} \DeEn{Der nordamerikanische Nummerierungsplan}{The \emph{North American Numbering Plan}} \cite{wikipedia-NANP} \DeEn{gilt in den Vereinigten Staaten, Kanada, mehreren Karibikstaaten und weiteren Gebieten. Es handelt sich im Einzelnen um}{encompasses the United States, Canada, several Carribean states, and further territories. In detail these are} -\begin{itemize}[itemsep=0.7ex plus0.3ex minus0.2ex] +\begin{itemize} \item \DeEn{Amerikanisch-Samoa}{American Samoa} (US), \item Anguilla (GB), \item Antigua \DeEn{und}{and} Barbuda, @@ -455,7 +516,8 @@ US & \DeEn{Vereinigte Staaten, Kanada und weitere Länder} \item \DeEn{St. Kitts und Nevis}{Saint Kitts and Nevis}, \item \DeEn{St. Lucia}{Saint Lucia}, \item \DeEn{St. Vincent und die Grenadinen}{Saint Vincent and the Grenadines}, -\item Sint Maarten (NL)\footnote{\DeEn{Der nördliche Teil der Insel gehört unter dem Namen \emph{Saint-Martin} zum französischen Nummerierungsplan, siehe Abschnitt}{The northern part of the island belongs to the French numbering plan under the name of \emph{Saint Martin}, see section} \ref{FR-bereich}.}, +\item Sint Maarten (NL)\footnote{\DeEn{Der nördliche Teil der Insel gehört unter dem Namen \emph{Saint-Martin} zum französischen Nummerierungsplan}{The northern part of the island belongs to the French numbering plan under the name of \emph{Saint Martin}} +\sieheAbschnitt{FR-bereich}.}, \item Trinidad \DeEn{und}{and} Tobago, \item \DeEn{die Turks- und Caicosinseln}{the Turks and Caicos Islands} (GB), \item \DeEn{die Amerikanischen Jungferninseln (\emph{United States Virgin Islands}, US)}{the United States Virgin Islands (US)}. @@ -463,29 +525,31 @@ US & \DeEn{Vereinigte Staaten, Kanada und weitere Länder} \subsection{\UeberschriftAufbau} \DeEn{Telefonnummern in den Gebieten des nordamerikanischen Nummerierungsplans sind zehnstellig. Sie bestehen aus einer dreistelligen Regionalvorwahl (\emph{area code}), einer dreistelligen Vermittlungsstellennummer (\emph{central office code}) und einer vierstelligen Teilnehmerrufnummer (\emph{subscriber number}) und werden entsprechend gegliedert.}{Phone numbers in the territories of the North American Numbering Plan have ten digits. They consist of a three-digit \emph{area code}, a three-digit \emph{central office code}, and a four-digit \emph{subscriber number} and are structured accordingly.} -\begin{example} +\begin{sidebyside} \phonenumber[country=US]{2125550123} -\end{example} +\end{sidebyside} \DeEn{Neben der Gliederung durch zwei Bindestriche gibt es noch andere Konventionen}{Besides the structuring with two hyphens there are also other conventions} -(\cf\ \DeEn{Abschnitt}{section} \ref{US-optionen}). +\vglAbschnitt{US-optionen}. -\DeEn{Bei Regionalgesprächen ist es vielerorts möglich, die Vorwahl wegzulassen und nur die letzten 7 Ziffern der Nummer zu wählen.}{For local calls it is possible to leave out the area code in many places (seven-digit dialling).} -\begin{example} +\DeEn{Bei Regionalgesprächen ist es vielerorts möglich, die Vorwahl wegzulassen und nur die letzten sieben Ziffern der Nummer zu wählen.}{For local calls it is possible to leave out the area code in many places (seven-digit dialling).} +\begin{sidebyside} \phonenumber[country=US]{5550123} -\end{example} -\DeEn{Dies gilt jedoch nicht überall \cite{NANPA-ten-digit}, da manchen Regionen aufgrund von Nummernknappheit mehrere Vorwahlen zugeteilt wurden (sogenannte \emph{overlays}).}{However, this is not possible everywhere \cite{NANPA-ten-digit} since some areas had to be given multiple area codes (called \emph{overlays}) because of number exhaustion.} +\end{sidebyside} +\KeineVerlinkung\ \DeEn{Alternativ ist in den entsprechenden Gebieten die Verwendung der Option \option{home-area-code}}{As an alternative the \option{home-area-code} option} +\vglAbschnitt{optionen} +\DeEn{möglich. Dies gilt jedoch nicht überall \cite{NANPA-ten-digit}, da manchen Regionen aufgrund von Nummernknappheit mehrere Vorwahlen zugeteilt wurden (sogenannte \emph{overlays}).}{can be used in the corresponding areas. However, this is not possible everywhere \cite{NANPA-ten-digit} since some areas had to be given multiple area codes (called \emph{overlays}) because of number exhaustion.} \DeEn{Bei Ferngesprächen muss in der Regel die Verkehrsausscheidungsziffer 1 (\emph{trunk prefix}) vorgewählt werden.}{For long-distance calls the \emph{trunk prefix} 1 has to be dialled first as a rule.} -\begin{example} +\begin{sidebyside} \phonenumber[country=US,trunk-prefix]{2125550123} -\end{example} +\end{sidebyside} \DeEn{Für den Mobilfunk gibt es im nordamerikanischen Nummerierungsplan keine eigenen Vorwahlen. Mobiltelefonnummern erhalten gewöhnliche Regionalvorwahlen.}{There are no seperate area codes for mobile telephony in the North American Numbering Plan. Mobile phones get regular geographic area codes.} \DeEn{Alle Gebiete des nordamerikanischen Nummerierungsplans sind aus dem Ausland unter der Vorwahl +1 zu erreichen.}{All territories of the North American Numbering Plan can be reached from abroad with the country calling code +1.} -\begin{example} +\begin{sidebyside} \phonenumber[country=US,foreign]{2125550123} -\end{example} +\end{sidebyside} \subsection{\DeEn{Optionen}{Options}} \label{US-optionen} \begin{options} @@ -493,56 +557,56 @@ US & \DeEn{Vereinigte Staaten, Kanada und weitere Länder} \Default{hyphen} \DeEn{Legt fest, wie die Vorwahl von der Vermittlungsstellennummer abgetrennt wird.}{Sets, how the area code will be separated from the central office code.} -\DeEn{Da die Vorwahl in manchen Gebieten entfallen kann, kann diese in Klammern gesetzt werden, jedoch nur, wenn keine Verkehrsausscheidungsziffer und keine Auslandsvorwahl vorangeht.}{Since the area code can be omitted in some areas, it can be typeset in brackets, but only if no trunk code and no country calling code precedes.} -\begin{example} +\DeEn{Da die Vorwahl in manchen Gebieten entfallen kann, kann diese in Klammern gesetzt werden, jedoch nur, wenn keine Verkehrsausscheidungsziffer und keine Auslandsvorwahl vorangeht.}{Since the area code can be omitted in some areas, it can be typeset in brackets, but only if no trunk prefix and no country calling code precedes.} +\begin{sidebyside} \setphonenumbers{country=US,area-code-sep=brackets} \phonenumber{2075550123} \\ \phonenumber[trunk-prefix]{2075550123} \\ \phonenumber[foreign]{2075550123} -\end{example} +\end{sidebyside} \DeEn{In Quebec wird die Vorwahl durch Leerschritte abgetrennt}{In Quebec the area code is separated by spaces} \cite{wikipedia-conventions}. -\begin{example} +\begin{sidebyside} \setphonenumbers{country=US,area-code-sep=space} \phonenumber{4185550123} \\ \phonenumber[trunk-prefix]{4185550123} \\ -\end{example} +\end{sidebyside} \keychoice{area-code}{number,place,place-and-number} \Default{number} \OptionsbeschreibungAreaCode \DeEn{Die Variante \code{place-and-number} gibt für Nummern ohne Auslandsvorwahl und Verkehrsausscheidungsziffer die Region bzw. die Bedeutung der Vorwahl zusätzlich zur Vorwahlnummer aus.}{The choice \code{place-and-number} will cause the place name or the meaning of the area code, respectively, to be output in addition to the area code for numbers without country calling code and trunk prefix.} -\begin{example} +\begin{sidebyside} \setphonenumbers{country=US,area-code=place-and-number} \phonenumber{2125550123} \\ \phonenumber{4415550123} \\ \phonenumber{8005550123} \\ \phonenumber[trunk-prefix]{2125550123} \\ \phonenumber[foreign]{2125550123} -\end{example} +\end{sidebyside} \DeEn{Die Variante \code{place} gibt bei geographischen Nummern ohne Auslandsvorwahl und Verkehrsausscheidungsziffer den Ortsnamen anstelle der Vorwahlnummer aus. In anderen Fällen bleibt es bei der Ausgabe der Nummer.}{The choice \code{place} will typeset geographic numbers without country calling code and trunk prefix with the place name instead of the area code. In other cases the area code will remain.} -\begin{example} +\begin{sidebyside} \setphonenumbers{country=US,area-code=place} \phonenumber{2125550123} \\ \phonenumber{4415550123} \\ \phonenumber{8005550123} \\ \phonenumber[trunk-prefix]{2125550123} \\ \phonenumber[foreign]{2125550123} -\end{example} +\end{sidebyside} \DeEn{Da aufgrund der Vergabe mehrer Vorwahlen für manche Regionen die Vorwahl nicht sicher aus dem Namen der Region rekonstruiert werden kann, wird die Verwendung der Option \code{area-code=place} nicht empfohlen.}{Since the area code cannot be reconstructed from the name of the region in some areas because of overlays, the use of the \code{area-code=place} option is deprecated.} \keychoice{trunk-prefix}{on,off} \Default{off} \DeEn{Gibt an, ob die Verkehrsausscheidungsziffer 1 für Ferngespräche ausgegeben werden soll. Statt \code{trunk-prefix=on} kann einfach \code{trunk-prefix} angegeben werden.}{Specifies whether the trunk prefix 1 for long-distance calls will be output. Instead of \code{trunk-prefix=on} you can simply type \code{trunk-prefix}.} -\begin{example} +\begin{sidebyside} \setphonenumbers{country=US,trunk-prefix=on} \phonenumber{2125550123} \\ \phonenumber{4415550123} \\ \phonenumber[trunk-prefix=off]{2125550123} \\ \phonenumber[foreign]{2125550123} -\end{example} +\end{sidebyside} \end{options} \subsection{\UeberschriftUngueltig} @@ -558,13 +622,23 @@ US & \DeEn{Vereinigte Staaten, Kanada und weitere Länder} \end{itemize} \section{\DeEn{Technische Hinweise}{Technical Remarks}} -\DeEn{Das Paket \phone\ verwendet die experimentellen \LaTeX-3-Pakete}{The \phone\ package uses the experimental \LaTeX\ 3 packages} \texttt{expl3}, \texttt{xparse}\DeEn{ und}{, and} \texttt{l3keys2e}. +\DeEn{Das Paket \phone\ verwendet das Paket}{The \phone\ package uses the} +\texttt{ltxcmds} +\DeEn{sowie die experimentellen \LaTeX-3-Pakete}{package as well as the experimental \LaTeX\ 3 packages} \texttt{expl3}, \texttt{xparse}\DeEn{ und}{, and} \texttt{l3keys2e}. \DeEn{Bindestriche innerhalb von Telefonnummern werden durch}{Hyphens within phone numbers are realized by} \verbcode:\kern1pt-\kern1pt:\DeEn{ realisiert, das heißt sie werden mit einem Zusatzabstand von einem Punkt zu den umgebenden Ziffern gesetzt. Schrägstriche werden als}{, \ie\ they are typeset with an additional distance of one point from the surrounding digits. Slashes are output as} \verbcode:\slash:\DeEn{ ausgegeben, was einen Zeilenumbruch nach dem Schrägstrich ermöglicht. Die Gliederung deutscher und französischer Nummern erfolgt durch kleine Leerzeichen}{, allowing a line break after the slash. The structuring of German and French numbers is done by small spaces} \verbcode:\,:. +\DeEn{Für die Verlinkung von Telefonnummern wird der \hyper-Befehl \cs{href} verwendet. Sofern \hyper\ geladen ist, wird der Befehl}{The \hyper\ command \cs{href} is used to link phone numbers. If \hyper\ is loaded, the command} +\verbcode:\phonenumber{0441654321}: +\DeEn{zu}{will be expanded to} +\begin{center} +\verbcode=\href{tel:+49441654321}{04\,41\slash65\,43\,21}=\DeEn{}{\,.} +\end{center} +\DeEn{expandiert.}{} + \section{\DeEn{Lizenz}{License}} \DeEn{Das Paket \phone\ unterliegt der \LPPL, Version 1.3 oder Nachfolgeversion.}{The \phone\ package is subject to the \LPPL, version 1.3 or later.}% \footnote{\url{http://www.latex-project.org/lppl.txt}} @@ -577,7 +651,6 @@ US & \DeEn{Vereinigte Staaten, Kanada und weitere Länder} \small \setlength{\columnseprule}{0pt} -\DeEn{}{\newpage} \section{\DeEn{Deutsche Vorwahlen}{German Area Codes}} \subsection{\DeEn{Ortsvorwahlen}{Geographic Area Codes}} \begin{multicols}{2} @@ -589,25 +662,40 @@ US & \DeEn{Vereinigte Staaten, Kanada und weitere Länder} \begin{multicols}{2} \AreaCodesNonGeographic[country=DE] \end{multicols} -\Quelle \cite[3--5]{BNA-nummernplan} +\Quellen \cite[3--5]{BNA-nummernplan}, \cite{BNA-mobil} +\DeEn{}{\newpage} \section{\DeEn{Französische Vorwahlen}{French Area Codes}} \label{vorwahlen-FR} \subsection{\DeEn{Regionalvorwahlen}{Geographic Area Codes}} \AreaCodesGeographic[country=FR] +\Quellen \cite[5]{ARCEP}, \cite{wikipedia-FR-fr}, \cite{wikipedia-FR-de} \subsection{\UeberschriftSondervorwahlen} \AreaCodesNonGeographic[country=FR] -\Quellen \cite{wikipedia-FR-fr}, \cite{wikipedia-FR-de} +\Quellen \cite[6--15]{ARCEP}, \cite{wikipedia-FR-fr}, \cite{wikipedia-FR-de} +\DeEn{\newpage}{} \section{\DeEn{Vorwahlen des nordamerikanischen Nummerierungsplans}{Area codes of the North American Numbering Plan}} \subsection{\DeEn{Regionalvorwahlen}{Geographic Area Codes}} \begin{multicols}{2} \AreaCodesGeographic[country=US] \end{multicols} -\Quelle \cite{NANPA-geographic} +\Quellen \cite{NANPA-geographic}, \cite{NANPA-not-yet} \subsection{\UeberschriftSondervorwahlen} \AreaCodesNonGeographic[country=US] \Quelle \cite{NANPA-non-geographic} +\section{\DeEn{Versionsprotokoll}{Version History}} +\begin{description} +\item[1.0] \DeEn{22. August 2016}{August 22nd, 2016} +\item[1.1] \DeEn{6. November 2016}{November 6th, 2016} +\begin{itemize} +\item \DeEn{Verlinkung von Telefonnummern mit \hyper}{Linking of phone numbers with \hyper} +\item \DeEn{Einführung der Option \option{home-area-code} für die Heimatvorwahl}{Introduction of the \option{home-area-code} option} +\item \DeEn{Ergänzung der Mobilfunkvorwahlen der französischen Überseegebiete}{Addition of the mobile phone area codes of the French overseas territories} +\item \DeEn{Ergänzung der neuen nordamerikanischen Vorwahlen}{Addition of the new North American area codes} 332, 463, 564, 680, 726, 838\DeEn{ und}{, and} 986 +\end{itemize} +\end{description} + \end{document} diff --git a/Master/texmf-dist/doc/latex/phonenumbers/phonenumbers-en.pdf b/Master/texmf-dist/doc/latex/phonenumbers/phonenumbers-en.pdf Binary files differindex 4d7a44f5b53..c7fe3440751 100644 --- a/Master/texmf-dist/doc/latex/phonenumbers/phonenumbers-en.pdf +++ b/Master/texmf-dist/doc/latex/phonenumbers/phonenumbers-en.pdf diff --git a/Master/texmf-dist/doc/latex/phonenumbers/phonenumbers-en.tex b/Master/texmf-dist/doc/latex/phonenumbers/phonenumbers-en.tex index 8c61153e467..1643f4b79fd 100644 --- a/Master/texmf-dist/doc/latex/phonenumbers/phonenumbers-en.tex +++ b/Master/texmf-dist/doc/latex/phonenumbers/phonenumbers-en.tex @@ -1,38 +1,50 @@ -% phonenumbers package: English documentation -% Datum: 22. August 2016 +% phonenumbers package: English manual +% Version: 1.1 +% Datum: 6. November 2016 \documentclass{cnltx-doc} \usepackage[T1]{fontenc} \usepackage[utf8]{inputenc} \usepackage[french,english]{babel} -\usepackage{phonenumbers} +\usepackage[link=off]{phonenumbers} \usepackage[backend=biber]{biblatex} \usepackage{array} \usepackage{translations} \usepackage{enumitem} +\setlist[itemize]{itemsep=0.7ex plus0.3ex minus0.2ex} + \KOMAoption{numbers}{noendperiod} \addbibresource{Literatur.bib} -\newcommand{\DeEn}[2]{\ifcurrentbaselanguage{German}{#1}{#2}} +\renewcommand{\labelnamepunct}{\addcolon\space} + +\newcommand*{\DeEn}[2]{\ifcurrentbaselanguage{German}{#1}{#2}} + +\newcommand*{\UeberschriftAufbau}{\DeEn{Aufbau der Nummern}{Structure of the Numbers}} + +\newcommand*{\UeberschriftUngueltig}{\DeEn{Ungültige Nummern}{Invalid Numbers}} -\newcommand{\UeberschriftAufbau}{\DeEn{Aufbau der Nummern}{Structure of the Numbers}} +\newcommand*{\UeberschriftSondervorwahlen}{\DeEn{Sondervorwahlen}{Non-Geographic Area Codes}} -\newcommand{\UeberschriftUngueltig}{\DeEn{Ungültige Nummern}{Invalid Numbers}} +\newcommand*{\OptionsbeschreibungAreaCode}{\DeEn{Legt fest, wie die Vorwahl dargestellt werden soll: als Nummer, als Ortsname oder als Ortsname mit Nummer.}{Sets, how the area code will be typeset: as number, as place name, or as place name with number.}} -\newcommand{\UeberschriftSondervorwahlen}{\DeEn{Sondervorwahlen}{Non-Geographic Area Codes}} +\newcommand*{\WertbeschreibungPlaceAndNumber}{\DeEn{Die Variante \code{place-and-number} gibt für Nummern ohne Auslandsvorwahl den Ortsnamen bzw. die Bedeutung der Vorwahl zusätzlich zur Vorwahlnummer aus.}{The choice \code{place-and-number} will cause the place name or the meaning of the area code, respectively, to be output in addition to the area code for numbers without country calling code.}} -\newcommand{\OptionsbeschreibungAreaCode}{\DeEn{Legt fest, wie die Vorwahl dargestellt werden soll: als Nummer, als Ortsname oder als Ortsname mit Nummer.}{Sets, how the area code will be typeset: as number, as place name, or as place name with number.}} +\newcommand*{\WertbeschreibungPlace}{\DeEn{Die Variante \code{place} gibt bei Festnetznummern ohne Auslandsvorwahl den Ortsnamen anstelle der Vorwahlnummer aus. In anderen Fällen bleibt es bei der Ausgabe der Nummer.}{The choice \code{place} will typeset landline numbers without country calling code with the place name instead of the area code. In other cases the area code will remain.}} -\newcommand{\WertbeschreibungPlaceAndNumber}{\DeEn{Die Variante \code{place-and-number} gibt für Nummern ohne Auslandsvorwahl den Ortsnamen bzw. die Bedeutung der Vorwahl zusätzlich zur Vorwahlnummer aus.}{The choice \code{place-and-number} will cause the place name or the meaning of the area code, respectively, to be output in addition to the area code for numbers without country calling code.}} +\newcommand*{\KeineVerlinkung}{\DeEn{Nummern ohne Vorwahl können allerdings nicht verlinkt werden}{Numbers without an area code cannot be linked though} +\vglAbschnitt{verlinkung}.} -\newcommand{\WertbeschreibungPlace}{\DeEn{Die Variante \code{place} gibt bei Festnetznummern ohne Auslandsvorwahl den Ortsnamen anstelle der Vorwahlnummer aus. In anderen Fällen bleibt es bei der Ausgabe der Nummer.}{The choice \code{place} will typeset landline numbers without country calling code with the place name instead of the area code. In other cases the area code will remain.}} +\newcommand*{\WarnungWenn}{\DeEn{Eine Warnung wird ausgegeben, wenn}{A warning will be issued if}} -\newcommand{\WarnungWenn}{\DeEn{Eine Warnung wird ausgegeben, wenn}{A warning will be issued if}} +\newcommand*{\vglAbschnitt}[1]{(\cf\ \DeEn{Abschnitt}{section} \ref{#1})} -\newcommand{\Quelle}{\emph{\DeEn{Quelle: }{Source: }}} +\newcommand*{\sieheAbschnitt}[1]{(\DeEn{siehe Abschnitt}{see section} \ref{#1})} -\newcommand{\Quellen}{\emph{\DeEn{Quellen: }{Sources: }}} +\newcommand*{\Quelle}{\emph{\DeEn{Quelle: }{Source: }}} + +\newcommand*{\Quellen}{\emph{\DeEn{Quellen: }{Sources: }}} \definecolorscheme{phonecolor}{ cs => cnltxformalblue, @@ -42,20 +54,20 @@ \setcnltx{ package = phonenumbers, - version = Version 1.0, - date = \DeEn{22. August 2016}{August 22nd, 2016}, + version = Version 1.1, + date = \DeEn{6. November 2016}{November 6th, 2016}, authors = Keno Wehr, email = keno.wehr@uni-oldenburg.de, info = \DeEn{Setzen von Telefonnummern mit \LaTeX}{Typesetting telephone numbers with \LaTeX}, - add-cmds = {setphonenumbers,phonenumber}, + add-cmds = {setphonenumbers,phonenumber,href}, abstract = \DeEn{Dieses Paket ermöglicht es, Telefonnummern unterschiedlichen nationalen Konventionen entsprechend zu setzen. Zur Zeit werden deutsche, französische und nordamerikanische Telefonnummern unterstützt.}{This package makes it possible to typeset telephone numbers according to different national conventions. Currently, German, French, and North American phone numbers are supported.}, color-scheme = phonecolor, add-listings-options = {numbers=none}, - side-by-side = true, pre-output = {\raggedright} } \newpackagename{\phone}{phonenumbers} +\newpackagename{\hyper}{hyperref} \makeatletter \setlength{\cnltx@before@skip}{5pt plus1pt minus1pt} @@ -66,49 +78,48 @@ \setlength{\columnseprule}{0,4pt} \begin{document} -\newpage \section{\DeEn{Schnelleinstieg}{Quick Start}} \subsection{\DeEn{Deutschland}{Germany}} -\begin{example} +\begin{sidebyside} \phonenumber{0441343396}[83] -\end{example} -\begin{example} +\end{sidebyside} +\begin{sidebyside} \phonenumber[area-code-sep=brackets]{020432632194} -\end{example} -\begin{example} +\end{sidebyside} +\begin{sidebyside} \phonenumber[area-code=place,area-code-sep=space]{0409188423} -\end{example} -\begin{example} +\end{sidebyside} +\begin{sidebyside} \phonenumber[foreign]{0209576342} -\end{example} +\end{sidebyside} \subsection{\DeEn{Frankreich}{France}} -\begin{example} +\begin{sidebyside} \phonenumber[country=FR]{0123456789} -\end{example} -\begin{example} +\end{sidebyside} +\begin{sidebyside} \phonenumber[country=FR,area-code=place-and-number]{0123456789} -\end{example} -\begin{example} +\end{sidebyside} +\begin{sidebyside} \phonenumber[country=FR,foreign]{0123456789} -\end{example} +\end{sidebyside} \subsection{\DeEn{Nordamerika}{North America}} -\begin{example} +\begin{sidebyside} \phonenumber[country=US]{2125550123} -\end{example} -\begin{example} +\end{sidebyside} +\begin{sidebyside} \phonenumber[country=US,area-code-sep=space]{2125550123} -\end{example} -\begin{example} +\end{sidebyside} +\begin{sidebyside} \phonenumber[country=US,area-code=place-and-number]{2125550123} -\end{example} -\begin{example} +\end{sidebyside} +\begin{sidebyside} \phonenumber[country=US,trunk-prefix]{2125550123} -\end{example} -\begin{example} +\end{sidebyside} +\begin{sidebyside} \phonenumber[country=US,foreign]{2125550123} -\end{example} +\end{sidebyside} \section{\DeEn{Allgemeine Prinzipien}{General Principles}} \subsection{\DeEn{Grundideen des Pakets}{Basic Ideas of the Package}} @@ -117,14 +128,14 @@ \DeEn{Beispielsweise werden in den meisten Ländern Vorwahlen graphisch von der Rufnummer getrennt. Für die Darstellung der Telefonnummer mit dem Paket \phone\ braucht der Nutzer nicht zu wissen, welche Ziffern zur Vorwahl und welche zur Rufnummer gehören. Das Paket kennt alle Vorwahlen der unterstützten Länder und stellt diese automatisch richtig dar.} {For instance, area codes are separated from the subscriber number in most countries. To typeset the phone number with the aid of the \phone\ package the user does not need to know which digits belong to the area code and which to the subscriber number. The package knows all area codes of the supported countries and will automatically typeset them correctly.} -\begin{example} +\begin{sidebyside} \phonenumber{0305226789} -\end{example} +\end{sidebyside} \DeEn{Hier wurden die ersten drei Ziffern als Vorwahl von Berlin erkannt. Dagegen können im folgenden Beispiel die ersten sechs Ziffern als Vorwahl von Bad Schandau identifiziert werden.} {The first three digits of this German phone number are recognized as the area code of Berlin, whereas in the following example the first six digits can be identified as the area code of the German spa town of Bad Schandau.} -\begin{example} +\begin{sidebyside} \phonenumber{0350226789} -\end{example} +\end{sidebyside} \DeEn{Das Paket hat nicht das Ziel, eine bestimmte Norm umzusetzen; es orientiert sich an den üblichen Gepflogenheiten zur Darstellung von Telefonnummern. Durch das Setzen von Optionen kann der Anwender das Land festlegen, aus dem die Telefonnummer stammt, sowie zwischen mehreren Formatierungsvarianten wählen. Hierzu zählt auch die zusätzliche Ausgabe der Auslandsvorwahl.} {The package does not aim to implement a particular norm. Rather, it follows the usual conventions for typesetting phone numbers. By setting options the user can determine the country the number is belonging to and select from various formatting options. This includes the additional output of the country calling code.} @@ -142,8 +153,8 @@ \DeEn{Setzt die \meta{Optionen} global für alle folgenden Telefonnummern, für die nichts anderes festgelegt ist. Kann in der Präambel oder im Dokumentenkörper verwendet werden.} {Sets the \meta{options} globally for all following phone numbers not having contradictory options of their own. Can be used in the preamble or in the document body.} -\command{phonenumber}[\oarg{\DeEn{Optionen}{options}}\marg{\DeEn{Nummer}{number}}\oarg{\DeEn{Durchwahl}{extension}}] -\DeEn{Setzt eine Telefonnummer. Die \meta{Nummer} darf dabei nur aus Ziffern und Leerzeichen bestehen; Leerzeichen werden ignoriert. Bei deutschen Telefonnummern kann außerdem eine \meta{Durchwahl} angegeben werden, die an die Nummer angehängt wird. Die \meta{Optionen} gelten nur für diese Telefonnummer.} +\command{phonenumber}[\oarg{\DeEn{Optionen}{options}}\marg{\DeEn{Nummer}{number}}\oarg{\DeEn{Durchwahl\kern1pt}{extension}}] +\DeEn{Setzt eine Telefonnummer. Die \meta{Nummer} darf dabei nur aus Ziffern und Leerzeichen bestehen; Leerzeichen werden ignoriert. Bei deutschen Telefonnummern kann außerdem eine \meta{Durchwahl\kern1pt} angegeben werden, die an die Nummer angehängt wird. Die \meta{Optionen} gelten nur für diese Telefonnummer.} {Typesets a telephone number. The \meta{number} has to consist of digits and spaces only; the spaces will be ignored. For German phone numbers an \meta{extension} can be given additionally, since extensions are often highlighted in German typography. The \meta{options} are only valid for this phone number.} \command{AreaCodesGeographic}[\oarg{\DeEn{Optionen}{options}}] @@ -155,7 +166,21 @@ {Typesets a list of non-geographic area codes (area codes for mobile phones and for other special purposes) for the selected country.} \end{commands} -\subsection{\DeEn{Optionen}{Options}} +\subsection{\DeEn{Verlinkung von Telefonnummern}{Linking of Phone Numbers}} \label{verlinkung} +\DeEn{Auf modernen Geräten mit Telefoniefähigkeiten können Links auf Telefonnummern verwendet werden, um die Nummern anzurufen, ohne sie eintippen zu müssen. Das Paket \phone\ erzeugt solche Links, sofern das Paket \hyper\ \cite{hyperref} zusätzlich geladen wird.}{On modern devices with telephony capabilities links on phone numbers can be used to call a number without having it to type in. The \phone\ package generates such links if the \hyper\ package is loadad additionally.} + +\DeEn{Unabhängig davon, wie sie im Text erscheinen, werden die Telefonnummern unter Einschluss der Auslandsvorwahl (beginnend mit +) verlinkt, damit sie von überall aus erreichbar sind.}{Independantly of their appearing in the text the phone numbers are linked including the country calling code (beginning with +) so that they can be reached from everywhere.} + +\DeEn{Das Erscheinungsbild der Links kann über \hyper-Optionen eingestellt werden. Beispielsweise könnte die folgende Zeile in die Präambel eingefügt werden, um alle Links auf Telefonnummern in blauer Farbe darzustellen.}{The appearing of the links can be set using \hyper\ options. You could for example add the following line to the preamble to display all links on phone numbers in blue.} + +\begin{sourcecode} + \usepackage[colorlinks=true,urlcolor=blue]{hyperref} +\end{sourcecode} + +\DeEn{Auf klassischen Arbeitsplatzrechnern sind solche Links allerdings nicht brauchbar. Für den Fall, dass \hyper\ benötigt wird, ohne dass Telefonnummern verlinkt werden sollen, steht die Option \option{link}}{On classical personal computers such links are not usable though. If you need \hyper, but do not want to link phone numbers, use the \option{link} option} +\sieheAbschnitt{optionen}\DeEn{ zur Verfügung.}{.} + +\subsection{\DeEn{Optionen}{Options}} \label{optionen} \DeEn{Alle Optionen können global mit Hilfe der Befehle \cs{usepackage} und \cs{setphonenumbers} oder lokal für einzelne Telefonnummern festgelegt werden.} {All options can be set globally with the aid of the \cs{usepackage} and the \cs{setphonenumbers} commands or locally for single phone numbers.} \begin{options} @@ -169,7 +194,7 @@ DE & \DeEn{Deutschland}{Germany} \\ FR & \DeEn{Frankreich}{France} \\ US & \DeEn{Vereinigte Staaten, Kanada und weitere Länder} {United States, Canada and further countries} -(\cf\ \DeEn{Abschnitt}{section} \ref{US-bereich}) +\vglAbschnitt{US-bereich} \end{tabular} \end{center} \DeEn{Bitte kontaktieren Sie den Paketautor, falls Sie Unterstützung für weitere Länder benötigen.} @@ -182,24 +207,44 @@ US & \DeEn{Vereinigte Staaten, Kanada und weitere Länder} \DeEn{Mit \code{foreign=international} oder einfach \code{foreign} erhält man eine Auslandsvorwahl, die aus einem Pluszeichen gefolgt von der Landeskennzahl (z.\,B. 49 für deutsche Nummern) besteht. In dieser Form kann sie auf Mobiltelefonen direkt verwendet werden. Im Festnetz muss das + durch die am Ort des Anrufers verwendeten internationalen Verkehrsausscheidungsziffern ersetzt werden.} {With \code{foreign=international} or simply \code{foreign} you will get a country calling code consisting of a plus sign followed by the country code (\eg\ 49 for German numbers). In this form the country calling code can be directly used on mobile phones. For landline calls the + has to be replaced by the international call prefix used in the country of the caller.} -\begin{example} +\begin{sidebyside} \phonenumber[foreign=international]{0305226789} -\end{example} +\end{sidebyside} \DeEn{Die Variante \code{american} lässt die Auslandsvorwahl mit 011 beginnen, den in Nordamerika gebräuchlichen internationalen Verkehrsausscheidungsziffern.} {The choice \code{american} lets the country calling code begin with 011, the international call prefix used in North America.} -\begin{example} +\begin{sidebyside} \phonenumber[foreign=american]{0305226789} -\end{example} +\end{sidebyside} \DeEn{Bei Auswahl von \code{european} beginnt die Nummer mit einer Doppelnull, wie sie in den meisten Ländern Europas und weiteren Teilen der Welt verwendet wird.} {With the choice \code{european} the number will begin with a double zero, used in most of Europe and further parts of the world.} -\begin{example} +\begin{sidebyside} \phonenumber[foreign=european]{0305226789} -\end{example} +\end{sidebyside} + +\keychoice{link}{on,off} +\Default{on} +\DeEn{Gibt an, ob Telefonnummern verlinkt werden sollen, falls das Paket \hyper\ geladen ist}{Specifies whether phone numbers shall be linked if the \hyper\ package is loaded} +\vglAbschnitt{verlinkung}. + +\keychoice{home-area-code}{\DeEn{\meta{Heimatvorwahl\kern1pt}}{home area code},empty} +\Default{empty} +\DeEn{Legt die Vorwahl Ihres Heimatgebietes fest. Bei Nummern mit dieser Vorwahl wird nur die Teilnehmerrufnummer ausgegeben. Die Verlinkung}{Sets the area code of your home area. Only the subscriber number will be output for numbers with this area code. Links} +\vglAbschnitt{verlinkung} +\DeEn{erfolgt immer einschließlich der Vorwahl.}{will always include the area code.} +\begin{sidebyside} + \setphonenumbers{country=US,home-area-code=242} + \phonenumber{2425550123} +\end{sidebyside} +\begin{sidebyside} + \setphonenumbers{country=DE,home-area-code=02581} + \phonenumber{02581639737} +\end{sidebyside} +\DeEn{Die Angabe einer Heimatvorwahl ist nur für Gebiete zulässig, in denen die Vorwahl bei Ortsgesprächen weggelassen werden kann. Vor der Heimatvorwahl muss das Land festgelegt werden.}{Setting a home area code is allowed only for areas where the area code can be left out for local calls. The country has to be set before the home area code.} \end{options} \subsection{\UeberschriftUngueltig} \DeEn{Um Robustheit gegenüber Fehlern zu gewährleisten, wird die Kompilierung niemals mit einer Fehlermeldung abgebrochen, wenn dem Befehl \cs{phonenumber} eine ungültige Nummer übergeben wird. Stattdessen schreibt das Paket \phone\ Warnmeldungen in die Log-Datei.} -{To ensure robustness against errors, the compilation will never be aborted with an error message if an invalid number is given to the \cs{phonenumber} command. Rather, the package \phone\ will write warnings to the log file.} +{To ensure robustness against errors, the compilation will never be aborted with an error message if an invalid number is given to the \cs{phonenumber} command. Rather, the \phone\ package will write warnings to the log file.} \DeEn{Dies ist der Fall, wenn}{This will occur if} \begin{itemize} \item \DeEn{die Eingabe leer ist}{the input is empty}, @@ -211,76 +256,82 @@ US & \DeEn{Vereinigte Staaten, Kanada und weitere Länder} \section{\DeEn{Deutsche Telefonnummern}{German Phone Numbers}} \subsection{\UeberschriftAufbau} \DeEn{Eine deutsche Telefonnummer besteht in der Regel aus einer Vorwahl, die mit einer 0 beginnt, und einer Teilnehmerrufnummer. Die Vorwahl kann zwischen 3 und 6 Stellen haben, die Teilnehmerrufnummer im Festznetz zwischen 3 und 8 Stellen. Zur Trennung von Vorwahl und Teilnehmerrufnummer gibt es unterschiedliche Konventionen}{A German phone number normally consists of an area code beginning with 0 and a subscriber number. The area code can have 3 to 6 digits, a landline subscriber number 3 to 8 digits. There are different conventions for the separation of the area code from the subscriber number} -(\cf\ \DeEn{Abschnitt}{section} \ref{optionen-DE}). +\vglAbschnitt{optionen-DE}. \DeEn{Standardmäßig verwendet das Paket \phone\ einen Schrägstrich.}{The default separator used by the \phone\ package is a slash.} -\begin{example} +\begin{sidebyside} \phonenumber{02517654321} -\end{example} +\end{sidebyside} + \DeEn{Die Ortsvorwahl kann bei Anrufen innerhalb eines Ortsnetzes weggelassen werden.}{The area code is not required for calls within the local exchange area.} -\begin{example} +\begin{sidebyside} \phonenumber{7654321} -\end{example} +\end{sidebyside} +\KeineVerlinkung\ \DeEn{Als Alternative empfiehlt sich die Verwendung der Option \option{home-area-code}}{As an alternative the use of the \option{home-area-code} option} +\vglAbschnitt{optionen}, +\DeEn{die in Deutschland überall verwendet werden kann.}{which can be used everywhere in Germany, is recommended.} + \DeEn{Am Ende der Teilnehmerrufnummer kann eine abgetrennte Durchwahlnummer stehen.}{The subscriber number can end in a separate extension.} -\begin{example} +\begin{sidebyside} \phonenumber{0251123456}[78] -\end{example} +\end{sidebyside} + \DeEn{Bei Anrufen aus dem Ausland wird die Auslandsvorwahl mit Landeskennzahl 49 vorangestellt und die führende 0 der Ortsvorwahl weggelassen.}{For calls from abroad the country code 49 has to be used and the leading 0 of the area code has to be left out.} -\begin{example} +\begin{sidebyside} \phonenumber[foreign]{02517654321} -\end{example} +\end{sidebyside} \DeEn{In der Regel werden alle Teilnummern von hinten in Zweiergruppen gegliedert. Eine Ausnahme besteht für Vorwahlen, deren letzte Ziffer den Tarif angibt. Dies betrifft sogenannte MABEZ-Nummern (\emph{Massenverkehr zu bestimmten Zielen}, verwendet z.\,B. für Fernsehsendungen mit Zuschauerabstimmung, Vorwahl 01\,37\,X) und Service-Nummern (Vorwahl 01\,80\,X). Hier steht die letzte Ziffer der Vorwahl allein}{All number components are divided into groups of two digits beginning from the end as a rule. Area codes whose last digit represents the charge are an exception. This concerns so-called MABEZ numbers (\emph{Massenverkehr zu bestimmten Zielen}, \enquote{mass traffic to certain destinations}, used \eg\ for televoting, area code 01\,37\,X) and service numbers (area code 01\,80\,X). In this case the last digit of the area code stands alone} \cite[110]{duden}. -\begin{example} +\begin{sidebyside} \phonenumber{01374654832} -\end{example} +\end{sidebyside} \DeEn{Der zugehörige Tarif kann mit Hilfe der Option}{The relevant charge can be output using the} \code{area-code=place-and-number}\DeEn{}{ option} -(\DeEn{siehe Abschnitt}{see section} \ref{optionen-DE})\DeEn{ ausgegeben werden.}{.} +\sieheAbschnitt{optionen-DE}\DeEn{ ausgegeben werden.}{.} \subsection{\DeEn{Optionen}{Options}} \label{optionen-DE} \begin{options} \keychoice{area-code-sep}{slash,brackets,space,hyphen} \Default{slash} \DeEn{Legt fest, wie die Vorwahl von der Teilnehmerrufnummer abgetrennt wird.}{Sets the seperator between area code and subscriber number.} -\begin{example} +\begin{sidebyside} \phonenumber[area-code-sep=space]{02581639737} -\end{example} +\end{sidebyside} \DeEn{Die Variante \code{brackets} setzt bei Festnetznummern Klammern um die Vorwahl. Bei Mobilfunk- und Sondernummern wird sie wie \code{space} behandelt, da bei solchen Nummern die Vorwahl stets mitgewählt werden muss.}{The choice \code{brackets} will cause the area code of landline numbers to be typeset in brackets. For mobile phone and special numbers this choice will be treated like \code{space}, since the area code has always to be dialled for these numbers.} -\begin{example} +\begin{sidebyside} \setphonenumbers{area-code-sep=brackets} \phonenumber{02581639737} \\ \phonenumber{01738642753} \\ \phonenumber[foreign]{04414363524} -\end{example} +\end{sidebyside} \DeEn{Die Varianten \code{slash} und \code{hyphen} werden bei Ausgabe der Auslandsvorwahl wie \code{space} behandelt, da die Schreibung mit Schrägstrich oder Bindestrich in diesem Fall nicht üblich ist.}{The choices \code{slash} and \code{hyphen} will be treated like \code{space} if the country calling code is output, since typesetting numbers with a slash or a hyphen is not common in this case.} -\begin{example} +\begin{sidebyside} \setphonenumbers{area-code-sep=hyphen} \phonenumber{02581639737} \\ \phonenumber{01738642753} \\ \phonenumber[foreign]{04414363524} -\end{example} +\end{sidebyside} \keychoice{area-code}{number,place,place-and-number} \Default{number} \OptionsbeschreibungAreaCode \WertbeschreibungPlace -\begin{example} +\begin{sidebyside} \setphonenumbers{area-code=place} \phonenumber{08942630845} \\ \phonenumber{01738642753} \\ \phonenumber[foreign]{04414363524} -\end{example} +\end{sidebyside} \WertbeschreibungPlaceAndNumber -\begin{example} +\begin{sidebyside} \setphonenumbers{area-code=place-and-number} \phonenumber{08942630845} \\ \phonenumber{01738642753} \\ \phonenumber{01803635341} \\ \phonenumber[foreign]{04414363524} -\end{example} +\end{sidebyside} \end{options} \DeEn{\pagebreak}{} @@ -304,12 +355,11 @@ US & \DeEn{Vereinigte Staaten, Kanada und weitere Länder} \DeEn{Außerdem wird eine Warnung ausgegeben, wenn}{Furthermore, a warning will be issued if} \begin{itemize} \item \DeEn{eine MABEZ-Nummer (\emph{Massenverkehr zu bestimmten Zielen}, Vorwahl 01\,37\,X) nicht genau 11 Stellen hat}{a MABEZ number (\emph{Massenverkehr zu bestimmten Zielen}, \enquote{mass traffic to certain destinations}, area code 01\,37\,X) does not have exactly 11 digits} \cite[2]{BNA-mabez}, +\item \DeEn{eine Funkrufnummer (Nummer eines sogenannten Pagers) mit der Vorwahl 01\,64 mehr als 14 Stellen oder eine Funkrufnummer mit der Vorwahl 01\,68 oder 01\,69 mehr als 15 Stellen hat}{a pager number with the area code 01\,64 has more than 14 digits or a pager number with the area code 01\,68 or 01\,69 has more than 15 digits} \cite[2]{BNA-nummernplan}, \item \DeEn{eine Servicenummer (Vorwahl 01\,80\,X) nicht genau 11 Stellen hat}{a service number (area code 01\,80\,X) does not have exactly 11 digits} \cite[71]{BNA-konzept}, \item \DeEn{eine IVPN-Nummer (\emph{internationales virtuelles privates Netz}, Vorwahl 01\,81) weniger als 8 oder mehr als 15 Stellen hat}{an IVPN number (\emph{international virtual private network}, area code 01\,81) has less than 8 or more than 15 digits} \cite[55]{BNA-konzept}, \item \DeEn{eine VPN-Nummer (\emph{virtuelles privates Netz}, Vorwahl 01\,8X) nicht genau 12 Stellen hat}{a VPN number (\emph{virtual private network}, area code 01\,8X) does not have exactly 12 digits} \cite[53]{BNA-konzept}, -\item \DeEn{eine Online-Dienst-Nummer mit der Vorwahl 01\,91 nicht genau 5 Stellen hat}{an online service number with the area code 01\,91 does not have exactly 5 digits} \cite[86]{BNA-konzept}, -\item \DeEn{eine Online-Dienst-Nummer mit der Vorwahl 01\,92 oder 01\,93 nicht genau 5 oder 7 Stellen hat}{an online service number with the area code 01\,92 or 01\,93 does not have exactly 5 or 7 digits} \cite[86]{BNA-konzept}, -\item \DeEn{eine Online-Dienst-Nummer mit der Vorwahl 01\,94 nicht genau 7 Stellen hat}{an online service number with the area code 01\,94 does not have exactly 7 digits} \cite[86]{BNA-konzept}, +\item \DeEn{eine Online-Dienst-Nummer mit der Vorwahl 01\,91 nicht genau 5 Stellen hat, eine Online-Dienst-Nummer mit der Vorwahl 01\,92 oder 01\,93 nicht genau 5 oder 7 Stellen hat oder eine Online-Dienst-Nummer mit der Vorwahl 01\,94 nicht genau 7 Stellen hat}{an online service number with the area code 01\,91 does not have exactly 5 digits, an online service number with the area code 01\,92 or 01\,93 does not have exactly 5 or 7 digits, an online service number with the area code 01\,94 does not have exactly 7 digits} \cite[86]{BNA-konzept}, \item \DeEn{eine nationale Teilnehmerrufnummer (Vorwahl 0\,32) nicht genau 12 Stellen hat}{a national subscriber number (area code 0\,32) does not have exactly 12 digits} \cite[45]{BNA-konzept}, \item \DeEn{eine persönliche Rufnummer (Vorwahl 07\,00) nicht genau 12 Stellen hat}{a personal phone number (area code 07\,00) does not have exactly 12 digits} \cite[74]{BNA-konzept}, \item \DeEn{eine kostenlose Rufnummer (Vorwahl 08\,00) nicht genau 11 Stellen hat}{a toll-free number (area code 08\,00) does not have exactly 11 digits} \cite[68]{BNA-konzept}, @@ -317,6 +367,7 @@ US & \DeEn{Vereinigte Staaten, Kanada und weitere Länder} \item \DeEn{eine Dialer-Nummer (Vorwahl 0\,90\,09) nicht genau 12 Stellen hat}{a dialer number (area code 0\,90\,09) does not have exactly 12 digits} \cite[78]{BNA-konzept}. \end{itemize} +\DeEn{}{\newpage} \section{\DeEn{Französische Telefonnummern}{French Phone Numbers}} \subsection{\DeEn{Geltungsbereich}{Scope}} \label{FR-bereich} \DeEn{Der französische Nummerierungsplan}{The French numbering plan} @@ -337,27 +388,29 @@ US & \DeEn{Vereinigte Staaten, Kanada und weitere Länder} \subsection{\UeberschriftAufbau} \DeEn{Französische Telefonnummern sind generell zehnstellig und werden in Zweiergruppen gegliedert. Die erste Ziffer ist immer eine 0.}{French phone numbers generally have ten digits and are structured in groups of two digits. The first digit is always 0.} -\begin{example} +\begin{sidebyside} \phonenumber[country=FR]{0123456789} -\end{example} +\end{sidebyside} \DeEn{Die zweite Ziffer ermöglicht die Zuordnung der Nummer zu einem von fünf geographischen Bereichen bzw. einer besonderen Verwendung (z.\,B. Mobilfunk). Die folgenden Stellen erlauben prinzipiell eine genauere geographische Zuordnung der Nummer, doch macht das Paket \phone\ hiervon nur zur Identifikation von Nummern aus Überseegebieten Gebrauch}{The second digit makes it possible to assign a number to one of five geographic zones or to a special purpose (\eg\ mobile telephony), respectively. The following digits theoretically allow a more precise geographic assignment of the number, but the \phone\ package uses them only to identify numbers from the overseas territories} (\cf\ \DeEn{Anhang}{appendix}~\ref{vorwahlen-FR}). -\begin{example} +\begin{sidebyside} \setphonenumbers{country=FR,area-code=place-and-number} \phonenumber{0123456789} \\ \phonenumber{0512345678} \\ \phonenumber{0596123456} -\end{example} - -\DeEn{Einige Firmen und Institutionen haben vierstellige Kurznummern, die stets mit einer 3 beginnen.}{Some companies and institutions have four-digit short numbers, which always begin with 3.} -\begin{example} - \phonenumber[country=FR]{3245} -\end{example} +\end{sidebyside} \DeEn{Bei Anrufen aus dem Ausland entfällt die führende 0 der Rufnummer.}{The leading 0 is omitted for calls from abroad.} -\begin{example} +\begin{sidebyside} \phonenumber[country=FR,foreign]{0123456789} -\end{example} +\end{sidebyside} + +\DeEn{Einige Firmen und Institutionen haben vierstellige Kurznummern, die stets mit einer 3 beginnen.}{Some companies and institutions have four-digit short numbers, which always begin with 3.} +\begin{sidebyside} + \phonenumber[country=FR]{3245} +\end{sidebyside} +\DeEn{Kurznummern werden ohne Auslandvorwahl verlinkt}{Short numbers are linked} +\vglAbschnitt{verlinkung}\DeEn{, da sie aus dem Ausland nicht erreichbar sind.}{ without the foreign country code since they cannot be reached from abroad.} \DeEn{Obwohl die in Abschnitt \ref{FR-bereich} genannten Gebiete intern wie ein einziges Netz behandelt werden, gibt es im Bereich des französichen Nummerierungsplans verschiedene Landeskennzahlen:}{Despite the fact that the areas mentioned in section \ref{FR-bereich} are treated as one single net internally, there are different country codes within the French numbering plan:} %\begin{table} @@ -380,20 +433,27 @@ US & \DeEn{Vereinigte Staaten, Kanada und weitere Länder} %\end{table} \end{center} \DeEn{Die erste Nummer im folgenden Beispiel stammt aus Mayotte und verwendet daher die Landeskennzahl 262, die zweite stammt aus dem Mutterland mit der Landeskennzahl 33.}{The first number of the following example is from Mayotte and thus using the country code 262, the second one from metropolitan France with the country code 33.} -\begin{example} +\begin{sidebyside} \setphonenumbers{country=FR,foreign} \phonenumber{0269123456} \\ \phonenumber{0296123456} -\end{example} +\end{sidebyside} \DeEn{Die Auslandsvorwahl führt für einige Gebiete zu einer Verdopplung der ersten drei Ziffern, z.\,B. in Martinique (Regionalvorwahl 05\,96).}{For some areas the country code leads to doubling the first three digits, \eg\ Martinique (area code 05\,96).} -\begin{example} +\begin{sidebyside} \phonenumber[country=FR,foreign]{0596123456} -\end{example} -\DeEn{Dagegen entfällt für Saint-Pierre und Miquelon die Regionalvorwahl 05\,08 bei Auslandsanrufen vollständig.}{However, for Saint Pierre and Miquelon the area code 05\,08 is entirely omitted for calls from abroad.} -\begin{example} +\end{sidebyside} +\DeEn{Dagegen entfällt für Saint-Pierre und Miquelon die Regionalvorwahl 05\,08 bei Auslandsanrufen vollständig}{However, for Saint Pierre and Miquelon the area code 05\,08 is entirely omitted for calls from abroad} \cite[4]{ARCEP}. +\begin{sidebyside} \phonenumber[country=FR,foreign]{0508123456} -\end{example} +\end{sidebyside} + +\DeEn{In Saint-Pierre und Miquelon ist es außerdem möglich, bei lokalen Gesprächen die Vorwahl wegzulassen und nur sechs Ziffern zu wählen}{In Saint Pierre and Miquelon it is possible as well to omit the area code for local calls and to dial six digits only} \cite[4]{ARCEP}. +\begin{sidebyside} + \setphonenumbers{country=FR,home-area-code=0508} + \phonenumber{0508123456} +\end{sidebyside} +\DeEn{Da dies in anderen Gebieten Frankreichs nicht möglich ist, ist \code{0508} der einzige erlaubte Wert für die Option \option{home-area-code}}{Since this is not possible in other areas of France, \code{0508} is the only legal value for the \option{home-area-code} option} \vglAbschnitt{optionen}. \subsection{\DeEn{Optionen}{Options}} \begin{options} @@ -402,23 +462,23 @@ US & \DeEn{Vereinigte Staaten, Kanada und weitere Länder} \OptionsbeschreibungAreaCode \WertbeschreibungPlaceAndNumber -\begin{example} +\begin{sidebyside} \setphonenumbers{country=FR,area-code=place-and-number} \phonenumber{0123456789} \\ \phonenumber{0596123456} \\ \phonenumber{0612345678} \\ \phonenumber[foreign]{0123456789} -\end{example} +\end{sidebyside} \WertbeschreibungPlace \ \DeEn{Da die Vorwahl in Frankreich stets mitgewählt werden muss, ist von der Verwendung dieser Option abzuraten.}{The use of this option is deprecated because the area code has always to be dialled in France.} -\begin{example} +\begin{sidebyside} \setphonenumbers{country=FR,area-code=place} \phonenumber{0123456789} \\ \phonenumber{0596123456} \\ \phonenumber{0612345678} \\ \phonenumber[foreign]{0123456789} -\end{example} +\end{sidebyside} \end{options} \subsection{\UeberschriftUngueltig} @@ -430,12 +490,13 @@ US & \DeEn{Vereinigte Staaten, Kanada und weitere Länder} \item \DeEn{eine Nummer mit 10 Stellen keine gültige Vorwahl beinhaltet}{a 10-digit number does not contain a valid area code}. \end{itemize} +\DeEn{}{\newpage} \section{\DeEn{Nordamerikanische Telefonnummern}{North American Phone Numbers}} \subsection{\DeEn{Geltungsbereich}{Scope}} \label{US-bereich} \DeEn{Der nordamerikanische Nummerierungsplan}{The \emph{North American Numbering Plan}} \cite{wikipedia-NANP} \DeEn{gilt in den Vereinigten Staaten, Kanada, mehreren Karibikstaaten und weiteren Gebieten. Es handelt sich im Einzelnen um}{encompasses the United States, Canada, several Carribean states, and further territories. In detail these are} -\begin{itemize}[itemsep=0.7ex plus0.3ex minus0.2ex] +\begin{itemize} \item \DeEn{Amerikanisch-Samoa}{American Samoa} (US), \item Anguilla (GB), \item Antigua \DeEn{und}{and} Barbuda, @@ -455,7 +516,8 @@ US & \DeEn{Vereinigte Staaten, Kanada und weitere Länder} \item \DeEn{St. Kitts und Nevis}{Saint Kitts and Nevis}, \item \DeEn{St. Lucia}{Saint Lucia}, \item \DeEn{St. Vincent und die Grenadinen}{Saint Vincent and the Grenadines}, -\item Sint Maarten (NL)\footnote{\DeEn{Der nördliche Teil der Insel gehört unter dem Namen \emph{Saint-Martin} zum französischen Nummerierungsplan, siehe Abschnitt}{The northern part of the island belongs to the French numbering plan under the name of \emph{Saint Martin}, see section} \ref{FR-bereich}.}, +\item Sint Maarten (NL)\footnote{\DeEn{Der nördliche Teil der Insel gehört unter dem Namen \emph{Saint-Martin} zum französischen Nummerierungsplan}{The northern part of the island belongs to the French numbering plan under the name of \emph{Saint Martin}} +\sieheAbschnitt{FR-bereich}.}, \item Trinidad \DeEn{und}{and} Tobago, \item \DeEn{die Turks- und Caicosinseln}{the Turks and Caicos Islands} (GB), \item \DeEn{die Amerikanischen Jungferninseln (\emph{United States Virgin Islands}, US)}{the United States Virgin Islands (US)}. @@ -463,29 +525,31 @@ US & \DeEn{Vereinigte Staaten, Kanada und weitere Länder} \subsection{\UeberschriftAufbau} \DeEn{Telefonnummern in den Gebieten des nordamerikanischen Nummerierungsplans sind zehnstellig. Sie bestehen aus einer dreistelligen Regionalvorwahl (\emph{area code}), einer dreistelligen Vermittlungsstellennummer (\emph{central office code}) und einer vierstelligen Teilnehmerrufnummer (\emph{subscriber number}) und werden entsprechend gegliedert.}{Phone numbers in the territories of the North American Numbering Plan have ten digits. They consist of a three-digit \emph{area code}, a three-digit \emph{central office code}, and a four-digit \emph{subscriber number} and are structured accordingly.} -\begin{example} +\begin{sidebyside} \phonenumber[country=US]{2125550123} -\end{example} +\end{sidebyside} \DeEn{Neben der Gliederung durch zwei Bindestriche gibt es noch andere Konventionen}{Besides the structuring with two hyphens there are also other conventions} -(\cf\ \DeEn{Abschnitt}{section} \ref{US-optionen}). +\vglAbschnitt{US-optionen}. -\DeEn{Bei Regionalgesprächen ist es vielerorts möglich, die Vorwahl wegzulassen und nur die letzten 7 Ziffern der Nummer zu wählen.}{For local calls it is possible to leave out the area code in many places (seven-digit dialling).} -\begin{example} +\DeEn{Bei Regionalgesprächen ist es vielerorts möglich, die Vorwahl wegzulassen und nur die letzten sieben Ziffern der Nummer zu wählen.}{For local calls it is possible to leave out the area code in many places (seven-digit dialling).} +\begin{sidebyside} \phonenumber[country=US]{5550123} -\end{example} -\DeEn{Dies gilt jedoch nicht überall \cite{NANPA-ten-digit}, da manchen Regionen aufgrund von Nummernknappheit mehrere Vorwahlen zugeteilt wurden (sogenannte \emph{overlays}).}{However, this is not possible everywhere \cite{NANPA-ten-digit} since some areas had to be given multiple area codes (called \emph{overlays}) because of number exhaustion.} +\end{sidebyside} +\KeineVerlinkung\ \DeEn{Alternativ ist in den entsprechenden Gebieten die Verwendung der Option \option{home-area-code}}{As an alternative the \option{home-area-code} option} +\vglAbschnitt{optionen} +\DeEn{möglich. Dies gilt jedoch nicht überall \cite{NANPA-ten-digit}, da manchen Regionen aufgrund von Nummernknappheit mehrere Vorwahlen zugeteilt wurden (sogenannte \emph{overlays}).}{can be used in the corresponding areas. However, this is not possible everywhere \cite{NANPA-ten-digit} since some areas had to be given multiple area codes (called \emph{overlays}) because of number exhaustion.} \DeEn{Bei Ferngesprächen muss in der Regel die Verkehrsausscheidungsziffer 1 (\emph{trunk prefix}) vorgewählt werden.}{For long-distance calls the \emph{trunk prefix} 1 has to be dialled first as a rule.} -\begin{example} +\begin{sidebyside} \phonenumber[country=US,trunk-prefix]{2125550123} -\end{example} +\end{sidebyside} \DeEn{Für den Mobilfunk gibt es im nordamerikanischen Nummerierungsplan keine eigenen Vorwahlen. Mobiltelefonnummern erhalten gewöhnliche Regionalvorwahlen.}{There are no seperate area codes for mobile telephony in the North American Numbering Plan. Mobile phones get regular geographic area codes.} \DeEn{Alle Gebiete des nordamerikanischen Nummerierungsplans sind aus dem Ausland unter der Vorwahl +1 zu erreichen.}{All territories of the North American Numbering Plan can be reached from abroad with the country calling code +1.} -\begin{example} +\begin{sidebyside} \phonenumber[country=US,foreign]{2125550123} -\end{example} +\end{sidebyside} \subsection{\DeEn{Optionen}{Options}} \label{US-optionen} \begin{options} @@ -493,56 +557,56 @@ US & \DeEn{Vereinigte Staaten, Kanada und weitere Länder} \Default{hyphen} \DeEn{Legt fest, wie die Vorwahl von der Vermittlungsstellennummer abgetrennt wird.}{Sets, how the area code will be separated from the central office code.} -\DeEn{Da die Vorwahl in manchen Gebieten entfallen kann, kann diese in Klammern gesetzt werden, jedoch nur, wenn keine Verkehrsausscheidungsziffer und keine Auslandsvorwahl vorangeht.}{Since the area code can be omitted in some areas, it can be typeset in brackets, but only if no trunk code and no country calling code precedes.} -\begin{example} +\DeEn{Da die Vorwahl in manchen Gebieten entfallen kann, kann diese in Klammern gesetzt werden, jedoch nur, wenn keine Verkehrsausscheidungsziffer und keine Auslandsvorwahl vorangeht.}{Since the area code can be omitted in some areas, it can be typeset in brackets, but only if no trunk prefix and no country calling code precedes.} +\begin{sidebyside} \setphonenumbers{country=US,area-code-sep=brackets} \phonenumber{2075550123} \\ \phonenumber[trunk-prefix]{2075550123} \\ \phonenumber[foreign]{2075550123} -\end{example} +\end{sidebyside} \DeEn{In Quebec wird die Vorwahl durch Leerschritte abgetrennt}{In Quebec the area code is separated by spaces} \cite{wikipedia-conventions}. -\begin{example} +\begin{sidebyside} \setphonenumbers{country=US,area-code-sep=space} \phonenumber{4185550123} \\ \phonenumber[trunk-prefix]{4185550123} \\ -\end{example} +\end{sidebyside} \keychoice{area-code}{number,place,place-and-number} \Default{number} \OptionsbeschreibungAreaCode \DeEn{Die Variante \code{place-and-number} gibt für Nummern ohne Auslandsvorwahl und Verkehrsausscheidungsziffer die Region bzw. die Bedeutung der Vorwahl zusätzlich zur Vorwahlnummer aus.}{The choice \code{place-and-number} will cause the place name or the meaning of the area code, respectively, to be output in addition to the area code for numbers without country calling code and trunk prefix.} -\begin{example} +\begin{sidebyside} \setphonenumbers{country=US,area-code=place-and-number} \phonenumber{2125550123} \\ \phonenumber{4415550123} \\ \phonenumber{8005550123} \\ \phonenumber[trunk-prefix]{2125550123} \\ \phonenumber[foreign]{2125550123} -\end{example} +\end{sidebyside} \DeEn{Die Variante \code{place} gibt bei geographischen Nummern ohne Auslandsvorwahl und Verkehrsausscheidungsziffer den Ortsnamen anstelle der Vorwahlnummer aus. In anderen Fällen bleibt es bei der Ausgabe der Nummer.}{The choice \code{place} will typeset geographic numbers without country calling code and trunk prefix with the place name instead of the area code. In other cases the area code will remain.} -\begin{example} +\begin{sidebyside} \setphonenumbers{country=US,area-code=place} \phonenumber{2125550123} \\ \phonenumber{4415550123} \\ \phonenumber{8005550123} \\ \phonenumber[trunk-prefix]{2125550123} \\ \phonenumber[foreign]{2125550123} -\end{example} +\end{sidebyside} \DeEn{Da aufgrund der Vergabe mehrer Vorwahlen für manche Regionen die Vorwahl nicht sicher aus dem Namen der Region rekonstruiert werden kann, wird die Verwendung der Option \code{area-code=place} nicht empfohlen.}{Since the area code cannot be reconstructed from the name of the region in some areas because of overlays, the use of the \code{area-code=place} option is deprecated.} \keychoice{trunk-prefix}{on,off} \Default{off} \DeEn{Gibt an, ob die Verkehrsausscheidungsziffer 1 für Ferngespräche ausgegeben werden soll. Statt \code{trunk-prefix=on} kann einfach \code{trunk-prefix} angegeben werden.}{Specifies whether the trunk prefix 1 for long-distance calls will be output. Instead of \code{trunk-prefix=on} you can simply type \code{trunk-prefix}.} -\begin{example} +\begin{sidebyside} \setphonenumbers{country=US,trunk-prefix=on} \phonenumber{2125550123} \\ \phonenumber{4415550123} \\ \phonenumber[trunk-prefix=off]{2125550123} \\ \phonenumber[foreign]{2125550123} -\end{example} +\end{sidebyside} \end{options} \subsection{\UeberschriftUngueltig} @@ -558,13 +622,23 @@ US & \DeEn{Vereinigte Staaten, Kanada und weitere Länder} \end{itemize} \section{\DeEn{Technische Hinweise}{Technical Remarks}} -\DeEn{Das Paket \phone\ verwendet die experimentellen \LaTeX-3-Pakete}{The \phone\ package uses the experimental \LaTeX\ 3 packages} \texttt{expl3}, \texttt{xparse}\DeEn{ und}{, and} \texttt{l3keys2e}. +\DeEn{Das Paket \phone\ verwendet das Paket}{The \phone\ package uses the} +\texttt{ltxcmds} +\DeEn{sowie die experimentellen \LaTeX-3-Pakete}{package as well as the experimental \LaTeX\ 3 packages} \texttt{expl3}, \texttt{xparse}\DeEn{ und}{, and} \texttt{l3keys2e}. \DeEn{Bindestriche innerhalb von Telefonnummern werden durch}{Hyphens within phone numbers are realized by} \verbcode:\kern1pt-\kern1pt:\DeEn{ realisiert, das heißt sie werden mit einem Zusatzabstand von einem Punkt zu den umgebenden Ziffern gesetzt. Schrägstriche werden als}{, \ie\ they are typeset with an additional distance of one point from the surrounding digits. Slashes are output as} \verbcode:\slash:\DeEn{ ausgegeben, was einen Zeilenumbruch nach dem Schrägstrich ermöglicht. Die Gliederung deutscher und französischer Nummern erfolgt durch kleine Leerzeichen}{, allowing a line break after the slash. The structuring of German and French numbers is done by small spaces} \verbcode:\,:. +\DeEn{Für die Verlinkung von Telefonnummern wird der \hyper-Befehl \cs{href} verwendet. Sofern \hyper\ geladen ist, wird der Befehl}{The \hyper\ command \cs{href} is used to link phone numbers. If \hyper\ is loaded, the command} +\verbcode:\phonenumber{0441654321}: +\DeEn{zu}{will be expanded to} +\begin{center} +\verbcode=\href{tel:+49441654321}{04\,41\slash65\,43\,21}=\DeEn{}{\,.} +\end{center} +\DeEn{expandiert.}{} + \section{\DeEn{Lizenz}{License}} \DeEn{Das Paket \phone\ unterliegt der \LPPL, Version 1.3 oder Nachfolgeversion.}{The \phone\ package is subject to the \LPPL, version 1.3 or later.}% \footnote{\url{http://www.latex-project.org/lppl.txt}} @@ -577,7 +651,6 @@ US & \DeEn{Vereinigte Staaten, Kanada und weitere Länder} \small \setlength{\columnseprule}{0pt} -\DeEn{}{\newpage} \section{\DeEn{Deutsche Vorwahlen}{German Area Codes}} \subsection{\DeEn{Ortsvorwahlen}{Geographic Area Codes}} \begin{multicols}{2} @@ -589,25 +662,40 @@ US & \DeEn{Vereinigte Staaten, Kanada und weitere Länder} \begin{multicols}{2} \AreaCodesNonGeographic[country=DE] \end{multicols} -\Quelle \cite[3--5]{BNA-nummernplan} +\Quellen \cite[3--5]{BNA-nummernplan}, \cite{BNA-mobil} +\DeEn{}{\newpage} \section{\DeEn{Französische Vorwahlen}{French Area Codes}} \label{vorwahlen-FR} \subsection{\DeEn{Regionalvorwahlen}{Geographic Area Codes}} \AreaCodesGeographic[country=FR] +\Quellen \cite[5]{ARCEP}, \cite{wikipedia-FR-fr}, \cite{wikipedia-FR-de} \subsection{\UeberschriftSondervorwahlen} \AreaCodesNonGeographic[country=FR] -\Quellen \cite{wikipedia-FR-fr}, \cite{wikipedia-FR-de} +\Quellen \cite[6--15]{ARCEP}, \cite{wikipedia-FR-fr}, \cite{wikipedia-FR-de} +\DeEn{\newpage}{} \section{\DeEn{Vorwahlen des nordamerikanischen Nummerierungsplans}{Area codes of the North American Numbering Plan}} \subsection{\DeEn{Regionalvorwahlen}{Geographic Area Codes}} \begin{multicols}{2} \AreaCodesGeographic[country=US] \end{multicols} -\Quelle \cite{NANPA-geographic} +\Quellen \cite{NANPA-geographic}, \cite{NANPA-not-yet} \subsection{\UeberschriftSondervorwahlen} \AreaCodesNonGeographic[country=US] \Quelle \cite{NANPA-non-geographic} +\section{\DeEn{Versionsprotokoll}{Version History}} +\begin{description} +\item[1.0] \DeEn{22. August 2016}{August 22nd, 2016} +\item[1.1] \DeEn{6. November 2016}{November 6th, 2016} +\begin{itemize} +\item \DeEn{Verlinkung von Telefonnummern mit \hyper}{Linking of phone numbers with \hyper} +\item \DeEn{Einführung der Option \option{home-area-code} für die Heimatvorwahl}{Introduction of the \option{home-area-code} option} +\item \DeEn{Ergänzung der Mobilfunkvorwahlen der französischen Überseegebiete}{Addition of the mobile phone area codes of the French overseas territories} +\item \DeEn{Ergänzung der neuen nordamerikanischen Vorwahlen}{Addition of the new North American area codes} 332, 463, 564, 680, 726, 838\DeEn{ und}{, and} 986 +\end{itemize} +\end{description} + \end{document} diff --git a/Master/texmf-dist/tex/latex/phonenumbers/FR_Ortsnamen.tex b/Master/texmf-dist/tex/latex/phonenumbers/FR_Ortsnamen.tex index 5c8e6f0c719..a402c0a2a61 100644 --- a/Master/texmf-dist/tex/latex/phonenumbers/FR_Ortsnamen.tex +++ b/Master/texmf-dist/tex/latex/phonenumbers/FR_Ortsnamen.tex @@ -1,5 +1,5 @@ % phonenumbers package: French place names -% Datum: 22. August 2016 +% Datum: 6. November 2016 \tl_const:cn {c_phone_FR_ortsname_01_tl} {\^{I}le-de-France} \tl_const:cn {c_phone_FR_ortsname_02_tl} {Nord-ouest} \tl_const:cn {c_phone_FR_ortsname_0262_tl} {La~R\a'{e}union} @@ -13,6 +13,14 @@ \tl_const:cn {c_phone_FR_ortsname_0594_tl} {Guyane} \tl_const:cn {c_phone_FR_ortsname_0596_tl} {Martinique} \tl_const:cn {c_phone_FR_ortsname_06_tl} {t\a'{e}l\a'{e}phone~mobile} +\tl_const:cn {c_phone_FR_ortsname_0639_tl} {t\a'{e}l\a'{e}phone~mobile~(Mayotte)} +\tl_const:cn {c_phone_FR_ortsname_0690_tl} {t\a'{e}l\a'{e}phone~mobile~(Guadeloupe)} +\tl_const:cn {c_phone_FR_ortsname_0691_tl} {t\a'{e}l\a'{e}phone~mobile~(Guadeloupe)} +\tl_const:cn {c_phone_FR_ortsname_0692_tl} {t\a'{e}l\a'{e}phone~mobile~(La~R\a'{e}union)} +\tl_const:cn {c_phone_FR_ortsname_0693_tl} {t\a'{e}l\a'{e}phone~mobile~(La~R\a'{e}union)} +\tl_const:cn {c_phone_FR_ortsname_0694_tl} {t\a'{e}l\a'{e}phone~mobile~(Guyane)} +\tl_const:cn {c_phone_FR_ortsname_0696_tl} {t\a'{e}l\a'{e}phone~mobile~(Martinique)} +\tl_const:cn {c_phone_FR_ortsname_0697_tl} {t\a'{e}l\a'{e}phone~mobile~(Martinique)} \tl_const:cn {c_phone_FR_ortsname_07_tl} {t\a'{e}l\a'{e}phone~mobile} \tl_const:cn {c_phone_FR_ortsname_08_tl} {Service~\a`{a}~valeur~ajout\a'{e}e} -\tl_const:cn {c_phone_FR_ortsname_09_tl} {Service~t\a'{e}l\a'{e}fonique~en~VoIP} +\tl_const:cn {c_phone_FR_ortsname_09_tl} {Service~t\a'{e}l\a'{e}phonique~en~VoIP} diff --git a/Master/texmf-dist/tex/latex/phonenumbers/FR_Vorwahlen.tex b/Master/texmf-dist/tex/latex/phonenumbers/FR_Vorwahlen.tex index 5ef0238ca23..c9541379d9c 100644 --- a/Master/texmf-dist/tex/latex/phonenumbers/FR_Vorwahlen.tex +++ b/Master/texmf-dist/tex/latex/phonenumbers/FR_Vorwahlen.tex @@ -1,5 +1,5 @@ % phonenumbers package: French area codes -% Datum: 22. August 2016 +% Datum: 6. November 2016 \clist_const:Nn \c_phone_FR_ortsvorwahlliste_clist {01, 02, 0262, @@ -13,6 +13,14 @@ 0594, 0596} \clist_const:Nn \c_phone_FR_sondervorwahlliste_clist {06, +0639, +0690, +0691, +0692, +0693, +0694, +0696, +0697, 07, 08, 09} diff --git a/Master/texmf-dist/tex/latex/phonenumbers/US_Ortsnamen.tex b/Master/texmf-dist/tex/latex/phonenumbers/US_Ortsnamen.tex index 96c1c134f67..ae590826a51 100644 --- a/Master/texmf-dist/tex/latex/phonenumbers/US_Ortsnamen.tex +++ b/Master/texmf-dist/tex/latex/phonenumbers/US_Ortsnamen.tex @@ -1,5 +1,5 @@ % phonenumbers package: place names of the North American Numbering Plan -% Datum: 22. August 2016 +% Datum: 6. November 2016 \tl_const:cn {c_phone_US_ortsname_201_tl} {New~Jersey} \tl_const:cn {c_phone_US_ortsname_202_tl} {Washington,~D.\,C.} \tl_const:cn {c_phone_US_ortsname_203_tl} {Connecticut} @@ -75,6 +75,7 @@ \tl_const:cn {c_phone_US_ortsname_325_tl} {Texas} \tl_const:cn {c_phone_US_ortsname_330_tl} {Ohio} \tl_const:cn {c_phone_US_ortsname_331_tl} {Illinois} +\tl_const:cn {c_phone_US_ortsname_332_tl} {New~York} \tl_const:cn {c_phone_US_ortsname_334_tl} {Alabama} \tl_const:cn {c_phone_US_ortsname_336_tl} {North~Carolina} \tl_const:cn {c_phone_US_ortsname_337_tl} {Louisiana} @@ -127,6 +128,7 @@ \tl_const:cn {c_phone_US_ortsname_443_tl} {Maryland} \tl_const:cn {c_phone_US_ortsname_450_tl} {Quebec} \tl_const:cn {c_phone_US_ortsname_458_tl} {Oregon} +\tl_const:cn {c_phone_US_ortsname_463_tl} {Indiana} \tl_const:cn {c_phone_US_ortsname_469_tl} {Texas} \tl_const:cn {c_phone_US_ortsname_470_tl} {Georgia} \tl_const:cn {c_phone_US_ortsname_473_tl} {Grenada} @@ -166,6 +168,7 @@ \tl_const:cn {c_phone_US_ortsname_561_tl} {Florida} \tl_const:cn {c_phone_US_ortsname_562_tl} {California} \tl_const:cn {c_phone_US_ortsname_563_tl} {Iowa} +\tl_const:cn {c_phone_US_ortsname_564_tl} {Washington} \tl_const:cn {c_phone_US_ortsname_567_tl} {Ohio} \tl_const:cn {c_phone_US_ortsname_570_tl} {Pennsylvania} \tl_const:cn {c_phone_US_ortsname_571_tl} {Virginia} @@ -221,6 +224,7 @@ \tl_const:cn {c_phone_US_ortsname_670_tl} {Northern~Mariana~Islands} \tl_const:cn {c_phone_US_ortsname_671_tl} {Guam} \tl_const:cn {c_phone_US_ortsname_678_tl} {Georgia} +\tl_const:cn {c_phone_US_ortsname_680_tl} {New~York} \tl_const:cn {c_phone_US_ortsname_681_tl} {West~Virginia} \tl_const:cn {c_phone_US_ortsname_682_tl} {Texas} \tl_const:cn {c_phone_US_ortsname_684_tl} {American~Samoa} @@ -245,6 +249,7 @@ \tl_const:cn {c_phone_US_ortsname_721_tl} {Sint~Maarten} \tl_const:cn {c_phone_US_ortsname_724_tl} {Pennsylvania} \tl_const:cn {c_phone_US_ortsname_725_tl} {Nevada} +\tl_const:cn {c_phone_US_ortsname_726_tl} {Texas} \tl_const:cn {c_phone_US_ortsname_727_tl} {Florida} \tl_const:cn {c_phone_US_ortsname_731_tl} {Tennessee} \tl_const:cn {c_phone_US_ortsname_732_tl} {New~Jersey} @@ -300,6 +305,7 @@ \tl_const:cn {c_phone_US_ortsname_830_tl} {Texas} \tl_const:cn {c_phone_US_ortsname_831_tl} {California} \tl_const:cn {c_phone_US_ortsname_832_tl} {Texas} +\tl_const:cn {c_phone_US_ortsname_838_tl} {New~York} \tl_const:cn {c_phone_US_ortsname_843_tl} {South~Carolina} \tl_const:cn {c_phone_US_ortsname_845_tl} {New~York} \tl_const:cn {c_phone_US_ortsname_847_tl} {Illinois} @@ -371,6 +377,7 @@ \tl_const:cn {c_phone_US_ortsname_980_tl} {North~Carolina} \tl_const:cn {c_phone_US_ortsname_984_tl} {North~Carolina} \tl_const:cn {c_phone_US_ortsname_985_tl} {Louisiana} +\tl_const:cn {c_phone_US_ortsname_986_tl} {Idaho} \tl_const:cn {c_phone_US_ortsname_989_tl} {Michigan} \tl_const:cn {c_phone_US_ortsname_456_tl} {Inbound~International} \tl_const:cn {c_phone_US_ortsname_500_tl} {Non-Geographic~Service} diff --git a/Master/texmf-dist/tex/latex/phonenumbers/US_Vorwahlen.tex b/Master/texmf-dist/tex/latex/phonenumbers/US_Vorwahlen.tex index 7fce68ef7d7..6eaea3a6b7f 100644 --- a/Master/texmf-dist/tex/latex/phonenumbers/US_Vorwahlen.tex +++ b/Master/texmf-dist/tex/latex/phonenumbers/US_Vorwahlen.tex @@ -1,5 +1,5 @@ % phonenumbers package: area codes of the North American Numbering Plan -% Datum: 22. August 2016 +% Datum: 6. November 2016 \clist_const:Nn \c_phone_US_ortsvorwahlliste_clist {201, 202, 203, @@ -75,6 +75,7 @@ 325, 330, 331, +332, 334, 336, 337, @@ -127,6 +128,7 @@ 443, 450, 458, +463, 469, 470, 473, @@ -166,6 +168,7 @@ 561, 562, 563, +564, 567, 570, 571, @@ -221,6 +224,7 @@ 670, 671, 678, +680, 681, 682, 684, @@ -245,6 +249,7 @@ 721, 724, 725, +726, 727, 731, 732, @@ -300,6 +305,7 @@ 830, 831, 832, +838, 843, 845, 847, @@ -371,7 +377,193 @@ 980, 984, 985, +986, 989} +\clist_const:Nn \c_phone_US_ortsvorwahlliste_ten_digits_clist {201, +203, +204, +% 208, Bisher 7D, 10D ab 5. September 2017 (Einführung von 986 in Idaho) +% 210, Bisher 7D, 10D ab 23. Oktober 2017 (Einführung von 726 in Texas) +212, +214, +215, +220, +224, +226, +234, +236, +240, +248, +249, +250, +256, +267, +270, +272, +281, +289, +301, +303, +304, +305, +310, +312, +% 315, Bisher 7D, 10D ab 11. März 2017 (Einführung von 680 in New York) +317, +% 321, "Home NPA local calls are 7D in Brevard County" +330, +331, +332, +336, +339, +343, +346, +347, +351, +% 360, Bisher 7D, 10D ab 28. August 2017 (Einführung von 564 in Washington) +364, +365, +380, +385, +402, +403, +404, +407, +408, +410, +412, +415, +416, +418, +419, +424, +430, +431, +437, +438, +442, +443, +450, +458, +463, +469, +470, +475, +484, +503, +508, +512, +514, +% 518, Bisher 7D, 10D ab 19. September 2017 (Einführung von 838 in New York) +519, +531, +534, +539, +541, +548, +551, +564, +567, +570, +571, +579, +581, +587, +601, +604, +610, +613, +614, +615, +617, +628, +629, +630, +631, +639, +646, +647, +657, +667, +669, +678, +680, +681, +682, +702, +703, +704, +706, +713, +714, +715, +718, +720, +724, +725, +726, +732, +737, +740, +743, +747, +754, +760, +762, +769, +770, +773, +774, +778, +779, +780, +781, +782, +786, +787, +801, +809, +812, +815, +817, +818, +819, +825, +829, +832, +838, +843, +847, +848, +849, +854, +857, +860, +862, +872, +873, +878, +902, +903, +905, +917, +918, +919, +929, +930, +934, +938, +939, +947, +954, +959, +971, +972, +973, +978, +980, +984, +986} \clist_const:Nn \c_phone_US_sondervorwahlliste_clist {456, 500, 522, diff --git a/Master/texmf-dist/tex/latex/phonenumbers/phonenumbers.sty b/Master/texmf-dist/tex/latex/phonenumbers/phonenumbers.sty index 745638121a4..4d8b3e5fc92 100644 --- a/Master/texmf-dist/tex/latex/phonenumbers/phonenumbers.sty +++ b/Master/texmf-dist/tex/latex/phonenumbers/phonenumbers.sty @@ -1,9 +1,9 @@ % phonenumbers.sty % LaTeX-Paket zur Formatierung von Telefonnummern % LaTeX package for formatting telephone numbers -% Version 1.0 -% Autor: Keno Wehr -% 22. August 2016 +% Autor: K. Wehr +% Version: 1.1 +% Datum: 6. November 2016 % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either version 1.3 @@ -15,75 +15,48 @@ \RequirePackage{expl3} -\ProvidesExplPackage {phonenumbers} {2016/07/01} {1.0} {Telephone number package} +\ProvidesExplPackage {phonenumbers} {2016/11/06} {1.1} {Telephone number package} \RequirePackage{xparse} \RequirePackage{l3keys2e} +\RequirePackage{ltxcmds} + +\clist_const:Nn \c_phone_ziffern_clist {0,1,2,3,4,5,6,7,8,9} + +\tl_const:Nn \c_phone_bindestrich_tl {\kern1pt - \kern1pt} \str_new:N \l_phone_land_str +\str_new:N \l_phone_heimatland_str \str_new:N \l_phone_auslandsvorwahltyp_str \str_new:N \l_phone_vorwahldarstellung_str \str_new:N \l_phone_vorwahltrennung_str - -\keys_define:nn {phonenumbers} - { - country .choices:nn = {DE,FR,US} - { - \str_set_eq:NN \l_phone_land_str \l_keys_choice_tl - }, - country .initial:n = DE, - country .value_required:n = true - } - -\keys_define:nn {phonenumbers} - { - foreign .choices:nn = {off,european,american,international} - { - \str_set_eq:NN \l_phone_auslandsvorwahltyp_str \l_keys_choice_tl - }, - foreign .initial:n = off, - foreign .default:n = international - } - -\keys_define:nn {phonenumbers} - { - area-code .choices:nn = {number,place,place-and-number} - { - \str_set_eq:NN \l_phone_vorwahldarstellung_str \l_keys_choice_tl - }, - area-code .initial:n = number, - area-code .value_required:n = true - } - -\keys_define:nn {phonenumbers} - { - area-code-sep .choices:nn = {space,slash,brackets,hyphen} - { - \str_set_eq:NN \l_phone_vorwahltrennung_str \l_keys_choice_tl - }, - area-code-sep .initial:n = slash, - area-code-sep .value_required:n = true - } - -\clist_const:Nn \c_phone_ziffern_clist {0,1,2,3,4,5,6,7,8,9} - -\tl_const:Nn \c_phone_bindestrich_tl {\kern1pt - \kern1pt} +\str_new:N \l_phone_heimatvorwahl_str +\str_new:N \l_phone_bereinigte_eingabe_str +\str_new:N \l_phone_linktext_str \int_new:N \l_phone_ziffernzahl_int -\str_new:N \l_phone_bereinigte_eingabe_str + +\tl_new:N \l_phone_ausgabetext_tl \tl_new:N \l_phone_formatierte_nummer_tl -\clist_new:N \l_phone_erlaubte_zeichen_clist + \bool_new:N \l_phone_vorwahl_gefunden_bool \bool_new:N \l_phone_zeilenumbruch_bool \bool_new:N \l_phone_eingabe_leer_bool \bool_new:N \l_phone_durchwahl_leer_bool +\bool_new:N \l_phone_nummer_verlinken_bool -\cs_generate_variant:Nn \tl_if_eq:nnTF {xnTF} -\cs_generate_variant:Nn \tl_if_eq:nnTF {VnTF} -\cs_generate_variant:Nn \tl_if_eq:nnT {VnT} \cs_generate_variant:Nn \str_if_eq:nnT {xnT} \cs_generate_variant:Nn \str_if_eq:nnTF {xnTF} -\cs_generate_variant:Nn \str_case:nnTF {xnTF} +\cs_generate_variant:Nn \str_case:nn {Vn,xn} +\cs_generate_variant:Nn \str_case:nnF {VnF,xnF} +\cs_generate_variant:Nn \str_case:nnTF {VnTF,xnTF} +\cs_generate_variant:Nn \str_put_right:Nn {NV} +\cs_generate_variant:Nn \tl_put_right:Nn {Nv} +\cs_generate_variant:Nn \msg_new:nnn {nnx} +\cs_generate_variant:Nn \msg_info:nnn {nnV} +\cs_generate_variant:Nn \msg_info:nnnn {nnnv} +\cs_generate_variant:Nn \msg_warning:nnnn {nnnx} + \msg_new:nnn {phonenumbers} {illegal~character} { @@ -107,7 +80,7 @@ \msg_new:nnn {phonenumbers} {invalid~area~code} { - unknown~area~code~(Ortsvorwahl)~in~#1~phone~number~\msg_line_context: + unknown~area~code~(Vorwahl)~in~#1~phone~number~\msg_line_context: } \msg_new:nnn {phonenumbers} {number~too~short} @@ -125,43 +98,133 @@ #1~phone~number~has~no~legal~number~of~digits~\msg_line_context: } -\msg_new:nnn {phonenumbers} {subscriber~number~too~short} +\msg_new:nnn {phonenumbers} {illegal~extension} { - subscriber~number~(Teilnehmerrufnummer)~has~less~than~#2~digits~in~#1~phone~number~\msg_line_context: + extension~(Durchwahl)~of~#1~phone~number~ignored~\msg_line_context: } -\msg_new:nnn {phonenumbers} {subscriber~number~too~long} +\msg_new:nnn {phonenumbers} {home~area~code~set} { - subscriber~number~(Teilnehmerrufnummer)~has~more~than~#2~digits~in~#1~phone~number~\msg_line_context: + Your~home~is~in~#2~(area~code~#1)~according~to~line~\msg_line_number:. } -\msg_new:nnn {phonenumbers} {illegal~start~of~subscriber~number} +\msg_new:nnn {phonenumbers} {home~area~code~cleared} { - subscriber~number~(Teilnehmerrufnummer)~starts~with~'#2'~in~#1~phone~number~\msg_line_context: - } + home~area~code~#1~was~deleted~\msg_line_context: + } -\msg_new:nnn {phonenumbers} {illegal~extension} +\msg_new:nnn {phonenumbers} {invalid~home~area~code} { - extension~(Durchwahl)~of~#1~phone~number~ignored~\msg_line_context: + #1~unknown~as~#2~geographic~area~code~(Ortsvorwahl)~\msg_line_context: } -\cs_new:Npn \phone_nummernlaenge_ueberpruefen:Nnnn #1#2#3#4 - { - \int_set:Nn \l_tmpa_int {\str_count:N #1} - \int_compare:nNnTF {\l_tmpa_int} < {#2} +\cs_new:Npn \phone_landesadjektiv:n #1 + { + \str_case:nn {#1} { - \msg_warning:nnnn {phonenumbers} {number~too~short} {#4} {#2} + {DE} {German} + {FR} {French} + {US} {American} } + } + +\cs_generate_variant:Nn \phone_landesadjektiv:n {V} + + +\keys_define:nn {phonenumbers} + { + country .choices:nn = {DE,FR,US} + { + \str_set_eq:NN \l_phone_land_str \l_keys_choice_tl + }, + country .initial:n = DE, + country .value_required:n = true + } + +\keys_define:nn {phonenumbers} + { + foreign .choices:nn = {off,european,american,international} + { + \str_set_eq:NN \l_phone_auslandsvorwahltyp_str \l_keys_choice_tl + }, + foreign .initial:n = off, + foreign .default:n = international + } + +\keys_define:nn {phonenumbers} + { + area-code .choices:nn = {number,place,place-and-number} + { + \str_set_eq:NN \l_phone_vorwahldarstellung_str \l_keys_choice_tl + }, + area-code .initial:n = number, + area-code .value_required:n = true + } + +\keys_define:nn {phonenumbers} + { + area-code-sep .choices:nn = {space,slash,brackets,hyphen} + { + \str_set_eq:NN \l_phone_vorwahltrennung_str \l_keys_choice_tl + }, + area-code-sep .initial:n = slash, + area-code-sep .value_required:n = true + } + +\keys_define:nn {phonenumbers} + { + link .choices:nn = {on,off} { - \int_compare:nNnT {\l_tmpa_int} > {#3} + \str_if_eq:VnTF \l_keys_choice_tl {on} { - \msg_warning:nnnn {phonenumbers} {number~too~long} {#4} {#3} + \bool_set_true:N \l_phone_nummer_verlinken_bool } - } + { + \bool_set_false:N \l_phone_nummer_verlinken_bool + } + }, + link .initial:n = on, + link .value_required:n = true + } + +\keys_define:nn {phonenumbers} + { + home-area-code .code:n = + { + \str_if_eq:nnTF {#1}{none} + { + \str_if_empty:NF \l_phone_heimatvorwahl_str + { + \msg_info:nnV {phonenumbers} {home~area~code~cleared} \l_phone_heimatvorwahl_str + \str_clear:N \l_phone_heimatvorwahl_str + } + } + { + \str_case:VnF {\l_phone_land_str} + { + {FR} {\phone_FR_heimatvorwahl_festlegen:n {#1}} + {US} {\phone_US_heimatvorwahl_festlegen:n {#1}} + } + { + \clist_if_in:cnTF {c_phone_\l_phone_land_str _ortsvorwahlliste_clist} {#1} + { + \str_set_eq:NN \l_phone_heimatland_str \l_phone_land_str + \str_set:Nn \l_phone_heimatvorwahl_str {#1} + \msg_info:nnnv {phonenumbers} {home~area~code~set} {#1} {c_phone_\l_phone_land_str _ortsname_#1_tl} + } + { + \msg_warning:nnnx {phonenumbers} {invalid~home~area~code} {#1} {\phone_landesadjektiv:V \l_phone_land_str} + } + } + } + }, + home-area-code .initial:n = none, + home-area-code .value_required:n = true } -\cs_new:Npn \phone_gruppiere_ziffernfolge:n #1 + +\cs_new:Npn \phone_gruppierte_ziffernfolge_ausgeben:n #1 { \int_set:Nn \l_phone_ziffernzahl_int {\tl_count:n {#1}} \tl_clear:N \l_phone_formatierte_nummer_tl @@ -177,38 +240,42 @@ } } - \tl_use:N \l_phone_formatierte_nummer_tl + \tl_put_right:NV \l_phone_ausgabetext_tl \l_phone_formatierte_nummer_tl } -\cs_generate_variant:Nn \phone_gruppiere_ziffernfolge:n {V} -\cs_generate_variant:Nn \phone_gruppiere_ziffernfolge:n {x} +\cs_generate_variant:Nn \phone_gruppierte_ziffernfolge_ausgeben:n {V,x} + \cs_new:Npn \phone_auslandsvorwahl_ausgeben:n #1 { - \str_case:onTF {\l_phone_land_str} + \str_case:VnTF \l_phone_land_str { {DE} { } {FR} { } } { - \str_case:on {\l_phone_auslandsvorwahltyp_str} + \str_case:Vn \l_phone_auslandsvorwahltyp_str { - {international} {+ #1} - {european} {\phone_gruppiere_ziffernfolge:n {00#1}} - {american} {\phone_gruppiere_ziffernfolge:n {011#1}} + {international} {\tl_put_right:Nn \l_phone_ausgabetext_tl {+#1}} + {european} {\phone_gruppierte_ziffernfolge_ausgeben:n {00#1}} + {american} {\phone_gruppierte_ziffernfolge_ausgeben:n {011#1}} } } { - \str_case:on {\l_phone_auslandsvorwahltyp_str} + \tl_put_right:Nx \l_phone_ausgabetext_tl { - {international} {+ #1} - {european} {00 #1} - {american} {011 #1} + \str_case:Vn \l_phone_auslandsvorwahltyp_str + { + {international} {+ #1} + {european} {00 #1} + {american} {011 #1} + } } } } -\cs_generate_variant:Nn \phone_auslandsvorwahl_ausgeben:n {V} +\cs_generate_variant:Nn \phone_auslandsvorwahl_ausgeben:n {x} + % #1: eingebene Nummer, #2: Handelt es sich um eine Durchwahl? \cs_new:Npn \phone_eingabe_ueberpruefen:nN #1#2 @@ -249,37 +316,59 @@ } } -\cs_new:Npn \phone_nummer_ausgeben:n #1 +\cs_new:Npn \phone_nummerntext_ausgeben: + { + \bool_if:nTF {\l_phone_nummer_verlinken_bool && !\str_if_empty_p:N \l_phone_linktext_str} + { + \ltx@ifpackageloaded {hyperref} + { + \href{tel\c_colon_str\l_phone_linktext_str}{\l_phone_ausgabetext_tl} + } + { + \l_phone_ausgabetext_tl + } + } + { + \l_phone_ausgabetext_tl + } + } + +\cs_new:Npn \phone_nummer_ohne_durchwahl_ausgeben:n #1 { \phone_eingabe_ueberpruefen:nN {#1} \c_false_bool \bool_if:NF \l_phone_eingabe_leer_bool { - \str_case:on {\l_phone_land_str} + \str_case:Vn \l_phone_land_str { {DE} {\phone_DE_nummer_ausgeben:V \l_phone_bereinigte_eingabe_str} {FR} {\phone_FR_nummer_ausgeben:V \l_phone_bereinigte_eingabe_str} {US} {\phone_US_nummer_ausgeben:V \l_phone_bereinigte_eingabe_str} } } + + \phone_nummerntext_ausgeben: } +% #1: Nummer, #2: Durchwahl \cs_new:Npn \phone_nummer_mit_durchwahl_ausgeben:nn #1#2 { - \str_if_eq:VnTF {\l_phone_land_str} {DE} + \str_if_eq:VnTF \l_phone_land_str {DE} { \phone_eingabe_ueberpruefen:nN {#1} \c_false_bool \str_set_eq:NN \l_tmpa_str \l_phone_bereinigte_eingabe_str \phone_eingabe_ueberpruefen:nN {#2} \c_true_bool - \str_set_eq:NN \l_tmpb_str \l_phone_bereinigte_eingabe_str + \str_set_eq:NN \l_phone_DE_durchwahl_str \l_phone_bereinigte_eingabe_str + + \phone_DE_nummer_ausgeben:V \l_tmpa_str - \phone_DE_nummer_mit_durchwahl_ausgeben:VV \l_tmpa_str \l_tmpb_str + \phone_nummerntext_ausgeben: } { \str_set:Nx \l_tmpa_str { - \str_case:on {\l_phone_land_str} + \str_case:Vn \l_phone_land_str { {FR} {French} {US} {American} @@ -293,14 +382,14 @@ \msg_warning:nnx {phonenumbers} {illegal~extension} {\l_tmpa_str} } - \phone_nummer_ausgeben:n {#1} + \phone_nummer_ohne_durchwahl_ausgeben:n {#1} } } \cs_new:Npn \phone_vorwahlliste_ausgeben:n #1 { \begin{tabbing} - \str_case:onF \l_phone_land_str + \str_case:VnF \l_phone_land_str { {US} {\hspace{3em}} } @@ -311,7 +400,7 @@ \bool_set_false:N \l_phone_zeilenumbruch_bool - \clist_map_inline:cn {c_phone_\str_use:N \l_phone_land_str _#1_clist} + \clist_map_inline:cn {c_phone_\l_phone_land_str _#1_clist} { \bool_if:NTF \l_phone_zeilenumbruch_bool { @@ -321,10 +410,13 @@ \bool_gset_true:N \l_phone_zeilenumbruch_bool } - \str_case:onF \l_phone_land_str + \str_case:VnTF \l_phone_land_str { - {DE} {\phone_DE_gruppiere_vorwahl:nN {##1} \c_true_bool} - {FR} {\phone_gruppiere_ziffernfolge:n {##1}} + {DE} {\phone_DE_gruppierte_vorwahl_ausgeben:nN {##1} \c_true_bool} + {FR} {\phone_gruppierte_ziffernfolge_ausgeben:n {##1}} + } + { + \tl_use:N \l_phone_ausgabetext_tl } { ##1 @@ -359,7 +451,7 @@ \phone_nummer_mit_durchwahl_ausgeben:nn {#2} {#3} } { - \phone_nummer_ausgeben:n {#2} + \phone_nummer_ohne_durchwahl_ausgeben:n {#2} } \group_end: } @@ -400,9 +492,26 @@ \str_new:N \l_phone_DE_vorwahl_str \str_new:N \l_phone_DE_durchwahl_str \int_new:N \l_phone_DE_hauptnummerlaenge_int +\bool_new:N \l_phone_DE_teilnehmerrufnummer_gueltig_bool + +\msg_new:nnn {phonenumbers} {DE/subscriber~number~too~short} + { + subscriber~number~(Teilnehmerrufnummer)~has~less~than~#1~digits~in~German~phone~number~\msg_line_context: + } + +\msg_new:nnn {phonenumbers} {DE/subscriber~number~too~long} + { + subscriber~number~(Teilnehmerrufnummer)~has~more~than~#1~digits~in~German~phone~number~\msg_line_context: + } + +\msg_new:nnn {phonenumbers} {DE/illegal~start~of~subscriber~number} + { + subscriber~number~(Teilnehmerrufnummer)~starts~with~0~in~German~phone~number~\msg_line_context: + } + % #1: Vorwahl, #2: Soll die führende null ausgegeben werden? -\cs_new:Npn \phone_DE_gruppiere_vorwahl:nN #1#2 +\cs_new:Npn \phone_DE_gruppierte_vorwahl_ausgeben:nN #1#2 { \int_compare:nNnTF {\str_count:n {#1}} = {5} { @@ -411,44 +520,50 @@ \bool_if:nTF {\str_if_eq_p:Vn \l_tmpa_str {0137} || \str_if_eq_p:Vn \l_tmpa_str {0180}} { - \phone_gruppiere_ziffernfolge:V \l_tmpa_str - \, - \str_use:N \l_tmpb_str + \bool_if:nTF {#2} + { + \phone_gruppierte_ziffernfolge_ausgeben:V \l_tmpa_str + } + { + \phone_gruppierte_ziffernfolge_ausgeben:x {\str_tail:N \l_tmpa_str} + } + + \tl_put_right:Nn \l_phone_ausgabetext_tl {\,} + \tl_put_right:NV \l_phone_ausgabetext_tl \l_tmpb_str } { \bool_if:nTF {#2} { - \phone_gruppiere_ziffernfolge:n {#1} + \phone_gruppierte_ziffernfolge_ausgeben:n {#1} } { - \phone_gruppiere_ziffernfolge:x {\str_range:nnn {#1} {2} {-1}} + \phone_gruppierte_ziffernfolge_ausgeben:x {\str_tail:n {#1}} } } } { \bool_if:nTF {#2} { - \phone_gruppiere_ziffernfolge:n {#1} + \phone_gruppierte_ziffernfolge_ausgeben:n {#1} } { - \phone_gruppiere_ziffernfolge:x {\str_range:nnn {#1} {2} {-1}} + \phone_gruppierte_ziffernfolge_ausgeben:x {\str_tail:n {#1}} } } } % #1: Vorwahl, #2: Soll die führende null ausgegeben werden? -\cs_new:Npn \phone_DE_klammere_vorwahl:nN #1#2 +\cs_new:Npn \phone_DE_geklammerte_vorwahl_ausgeben:nN #1#2 { - \tl_set:Nn \l_tmpa_tl {\phone_DE_gruppiere_vorwahl:nN {#1} #2} - + % Klammern werden nur bei Ortsvorwahlen gesetzt \clist_if_in:NnTF \c_phone_DE_ortsvorwahlliste_clist {#1} { - ( - \l_tmpa_tl - ) + \tl_put_right:Nn \l_phone_ausgabetext_tl {(} + \phone_DE_gruppierte_vorwahl_ausgeben:nN {#1} #2 + \tl_put_right:Nn \l_phone_ausgabetext_tl {)} } { - \l_tmpa_tl + \phone_DE_gruppierte_vorwahl_ausgeben:nN {#1} #2 } } @@ -465,98 +580,112 @@ } } - \str_case:on \l_phone_vorwahldarstellung_str + \bool_if:nF {\str_if_eq_p:Vn \l_phone_heimatland_str {DE} && \str_if_eq_p:Vn \l_phone_heimatvorwahl_str {#1}} { - {number} + \str_case:Vn \l_phone_vorwahldarstellung_str { - \bool_if:NTF #2 + {number} { - \str_if_eq:VnTF \l_phone_vorwahltrennung_str {brackets} - { - \phone_DE_klammere_vorwahl:nN {#1} \c_true_bool - - \c_space_tl - } + \bool_if:NTF #2 { - \phone_DE_gruppiere_vorwahl:nN {#1} \c_true_bool - - \str_case:onF {\l_phone_vorwahltrennung_str} + \str_if_eq:VnTF \l_phone_vorwahltrennung_str {brackets} { - {space} {\c_space_tl} - {hyphen} {\c_phone_bindestrich_tl} + \phone_DE_geklammerte_vorwahl_ausgeben:nN {#1} \c_true_bool + \tl_put_right:NV \l_phone_ausgabetext_tl \c_space_tl } { - \slash + \phone_DE_gruppierte_vorwahl_ausgeben:nN {#1} \c_true_bool + + \tl_put_right:Nx \l_phone_ausgabetext_tl + { + \str_case:VnF \l_phone_vorwahltrennung_str + { + {space} {\c_space_tl} + {hyphen} {\c_phone_bindestrich_tl} + } + { + \slash + } + } } } - } - { - \phone_DE_gruppiere_vorwahl:nN {#1} \c_true_bool - } - } - {place} - { - \bool_if:NTF #2 - { - \str_if_eq:VnT \l_phone_vorwahltrennung_str {brackets} - { - ( - } - - \tl_if_exist:cTF {c_phone_DE_ortsname_#1_tl} - { - \tl_use:c {c_phone_DE_ortsname_#1_tl} - } - { - \phone_DE_gruppiere_vorwahl:nN {#1} \c_true_bool - } - - \str_case:onF \l_phone_vorwahltrennung_str - { - {brackets} {) \c_space_tl} - {space} {\c_space_tl} - {hyphen} {\c_phone_bindestrich_tl} - } { - \slash + \phone_DE_gruppierte_vorwahl_ausgeben:nN {#1} \c_true_bool } } + {place} { - \tl_if_exist:cTF {c_phone_DE_ortsname_#1_tl} + \bool_if:NTF #2 { - \tl_use:c {c_phone_DE_ortsname_#1_tl} + \str_if_eq:VnT \l_phone_vorwahltrennung_str {brackets} + { + \tl_put_right:Nn \l_phone_ausgabetext_tl {(} + } + + \tl_if_exist:cTF {c_phone_DE_ortsname_#1_tl} + { + \tl_put_right:Nv \l_phone_ausgabetext_tl {c_phone_DE_ortsname_#1_tl} + } + { + \phone_DE_gruppierte_vorwahl_ausgeben:nN {#1} \c_true_bool + } + + \tl_put_right:Nx \l_phone_ausgabetext_tl + { + \str_case:VnF \l_phone_vorwahltrennung_str + { + {brackets} {) \c_space_tl} + {space} {\c_space_tl} + {hyphen} {\c_phone_bindestrich_tl} + } + { + \slash + } + } } { - \phone_DE_gruppiere_vorwahl:nN {#1} \c_true_bool + \tl_if_exist:cTF {c_phone_DE_ortsname_#1_tl} + { + \tl_put_right:Nv \l_phone_ausgabetext_tl {c_phone_DE_ortsname_#1_tl} + } + { + \phone_DE_gruppierte_vorwahl_ausgeben:nN {#1} \c_true_bool + } } } - } - {place-and-number} - { - \tl_if_exist:cT {c_phone_DE_ortsname_#1_tl} - { - \tl_use:c {c_phone_DE_ortsname_#1_tl} - \c_space_tl - } - - \str_if_eq:VnTF \l_phone_vorwahltrennung_str {brackets} - { - \phone_DE_klammere_vorwahl:nN {#1} \c_true_bool - - \bool_if:NT #2 {\c_space_tl} - } + {place-and-number} { - \phone_DE_gruppiere_vorwahl:nN {#1} \c_true_bool - - \bool_if:NT #2 + \tl_if_exist:cT {c_phone_DE_ortsname_#1_tl} { - \str_case:onF {\l_phone_vorwahltrennung_str} + \tl_put_right:Nv \l_phone_ausgabetext_tl {c_phone_DE_ortsname_#1_tl} + \tl_put_right:NV \l_phone_ausgabetext_tl \c_space_tl + } + + \str_if_eq:VnTF \l_phone_vorwahltrennung_str {brackets} + { + \phone_DE_geklammerte_vorwahl_ausgeben:nN {#1} \c_true_bool + + \bool_if:NT #2 { - {space} {\c_space_tl} - {hyphen} {\c_phone_bindestrich_tl} + \tl_put_right:NV \l_phone_ausgabetext_tl \c_space_tl } + } + { + \phone_DE_gruppierte_vorwahl_ausgeben:nN {#1} \c_true_bool + + \bool_if:NT #2 { - \slash + \tl_put_right:Nx \l_phone_ausgabetext_tl + { + \str_case:VnF \l_phone_vorwahltrennung_str + { + {space} {\c_space_tl} + {hyphen} {\c_phone_bindestrich_tl} + } + { + \slash + } + } } } } @@ -565,68 +694,107 @@ } { \phone_auslandsvorwahl_ausgeben:n {49} - \c_space_tl + + \tl_put_right:NV \l_phone_ausgabetext_tl \c_space_tl \str_if_eq:VnTF \l_phone_vorwahltrennung_str {brackets} { - \phone_DE_klammere_vorwahl:nN {#1} \c_false_bool + \phone_DE_geklammerte_vorwahl_ausgeben:nN {#1} \c_false_bool } { - \phone_DE_gruppiere_vorwahl:nN {#1} \c_false_bool + \phone_DE_gruppierte_vorwahl_ausgeben:nN {#1} \c_false_bool } \bool_if:NT #2 { - \c_space_tl + \tl_put_right:NV \l_phone_ausgabetext_tl \c_space_tl } } + + % Linktext schreiben, falls eine Rufnummer folgt + \bool_if:NT #2 + { + \str_put_right:Nn \l_phone_linktext_str {+49} + \str_put_right:Nx \l_phone_linktext_str {\str_tail:n {#1}} + } } \cs_generate_variant:Nn \phone_DE_vorwahl_ausgeben:nN {Vx} + +% #1: Nummer, #2: Mindestlänge, #3: Höchstlänge, #4: Nummernart +\cs_new:Npn \phone_DE_nummernlaenge_ueberpruefen:Nnnn #1#2#3#4 + { + \int_set:Nn \l_tmpa_int {\str_count:N #1} + + \int_compare:nNnTF {\l_tmpa_int} < {#2} + { + \msg_warning:nnnn {phonenumbers} {number~too~short} {German~#4} {#2} + } + { + \int_compare:nNnTF {\l_tmpa_int} > {#3} + { + \msg_warning:nnnn {phonenumbers} {number~too~long} {German~#4} {#3} + } + { + \bool_set_true:N \l_phone_DE_teilnehmerrufnummer_gueltig_bool + } + } + } + +% #1: Vorwahl, #2: Teilnehmerrufnummer +\cs_new:Npn \phone_DE_teilnehmerrufnummernlaenge_ueberpruefen:Nn #1#2 + { + \int_set:Nn \l_tmpa_int {\str_count:N #1} + \int_add:Nn \l_tmpa_int {\str_count:n {#2}} + \int_add:Nn \l_tmpa_int {\str_count:N \l_phone_DE_durchwahl_str} + + \int_compare:nNnTF {\l_tmpa_int} > {12} + { + \msg_warning:nnnn {phonenumbers} {number~too~long} {German} {12} + } + { + \int_set:Nn \l_tmpa_int {\str_count:n {#2}} + \int_add:Nn \l_tmpa_int {\str_count:N \l_phone_DE_durchwahl_str} + + \int_compare:nNnTF {\l_tmpa_int} < {3} + { + \msg_warning:nnn {phonenumbers/DE} {subscriber~number~too~short} {3} + } + { + \int_compare:nNnTF {\l_tmpa_int} > {8} + { + \msg_warning:nnn {phonenumbers/DE} {subscriber~number~too~long} {8} + } + { + \bool_set_true:N \l_phone_DE_teilnehmerrufnummer_gueltig_bool + } + } + } + } + % #1: Vorwahl, #2: Teilnehmerrufnummer \cs_new:Npn \phone_DE_teilnehmerrufnummer_ausgeben:Nn #1 #2 { - \str_if_empty:NTF {#1} + % Überprüfen der Nummernlänge + \str_if_empty:NTF #1 { % Festnetznummer ohne Vorwahl - \str_set:Nn \l_tmpa_str {#2} - \str_put_right:Nx \l_tmpa_str {\l_phone_DE_durchwahl_str} - \bool_if:NF \l_phone_eingabe_leer_bool { - \phone_nummernlaenge_ueberpruefen:Nnnn \l_tmpa_str {3} {8} {German} + \phone_DE_teilnehmerrufnummernlaenge_ueberpruefen:Nn #1 {#2} } } { \clist_if_in:NVTF \c_phone_DE_ortsvorwahlliste_clist #1 { % Festnetznummer - \str_if_eq:xnTF {\str_range:nnn {#2} {1} {1}} {0} + \str_if_eq:xnTF {\str_head:n {#2}} {0} { - \msg_warning:nnnn {phonenumbers} {illegal~start~of~subscriber~number} {German} {0} + \msg_warning:nn {phonenumbers/DE} {illegal~start~of~subscriber~number} } { - \int_set:Nn \l_tmpa_int {\str_count:n {#2} + \str_count:N \l_phone_DE_durchwahl_str} - - \int_compare:nNnTF {\l_tmpa_int} > {8} - { - \msg_warning:nnnn {phonenumbers} {subscriber~number~too~long} {German} {8} - } - { - \int_compare:nNnTF {\l_tmpa_int} < {3} - { - \msg_warning:nnnn {phonenumbers} {subscriber~number~too~short} {German} {3} - } - { - \int_set:Nn \l_tmpb_int {\str_count:N #1 + \l_tmpa_int} - - \int_compare:nNnT {\l_tmpb_int} > {12} - { - \msg_warning:nnnn {phonenumbers} {number~too~long} {German} {12} - } - } - } + \phone_DE_teilnehmerrufnummernlaenge_ueberpruefen:Nn #1 {#2} } } { @@ -636,67 +804,81 @@ \str_if_eq:xnTF {\str_range:Nnn #1 {1} {5}} {09009} { - \phone_nummernlaenge_ueberpruefen:Nnnn \l_tmpa_str {12} {12} {German~09009} + \phone_DE_nummernlaenge_ueberpruefen:Nnnn \l_tmpa_str {12} {12} {09009} } { - \str_case_x:nnF {\str_range:Nnn #1 {1} {4}} + \str_case:xnF {\str_range:Nnn #1 {1} {4}} { - {0137} {\phone_nummernlaenge_ueberpruefen:Nnnn \l_tmpa_str {11} {11} {German~0137}} - {0160} {\phone_nummernlaenge_ueberpruefen:Nnnn \l_tmpa_str {11} {12} {German~mobile}} - {0162} {\phone_nummernlaenge_ueberpruefen:Nnnn \l_tmpa_str {11} {12} {German~mobile}} - {0163} {\phone_nummernlaenge_ueberpruefen:Nnnn \l_tmpa_str {11} {12} {German~mobile}} - {0180} {\phone_nummernlaenge_ueberpruefen:Nnnn \l_tmpa_str {11} {11} {German~0180}} - {0181} {\phone_nummernlaenge_ueberpruefen:Nnnn \l_tmpa_str {8} {15} {German~0181}} - {0191} {\phone_nummernlaenge_ueberpruefen:Nnnn \l_tmpa_str {5} {5} {German~0191}} - {0194} {\phone_nummernlaenge_ueberpruefen:Nnnn \l_tmpa_str {7} {7} {German~0194}} - {0700} {\phone_nummernlaenge_ueberpruefen:Nnnn \l_tmpa_str {12} {12} {German~0700}} - {0800} {\phone_nummernlaenge_ueberpruefen:Nnnn \l_tmpa_str {11} {11} {German~0800}} - {0900} {\phone_nummernlaenge_ueberpruefen:Nnnn \l_tmpa_str {11} {11} {German~0900}} + {0137} {\phone_DE_nummernlaenge_ueberpruefen:Nnnn \l_tmpa_str {11} {11} {0137}} + {0160} {\phone_DE_nummernlaenge_ueberpruefen:Nnnn \l_tmpa_str {11} {12} {mobile}} + {0162} {\phone_DE_nummernlaenge_ueberpruefen:Nnnn \l_tmpa_str {11} {12} {mobile}} + {0163} {\phone_DE_nummernlaenge_ueberpruefen:Nnnn \l_tmpa_str {11} {12} {mobile}} + {0164} {\phone_DE_nummernlaenge_ueberpruefen:Nnnn \l_tmpa_str {5} {14} {0164}} % Funkruf + {0168} {\phone_DE_nummernlaenge_ueberpruefen:Nnnn \l_tmpa_str {5} {15} {0168}} % Funkruf + {0169} {\phone_DE_nummernlaenge_ueberpruefen:Nnnn \l_tmpa_str {5} {15} {0169}} % Funkruf + {0180} {\phone_DE_nummernlaenge_ueberpruefen:Nnnn \l_tmpa_str {11} {11} {0180}} + {0181} {\phone_DE_nummernlaenge_ueberpruefen:Nnnn \l_tmpa_str {8} {15} {0181}} + {0191} {\phone_DE_nummernlaenge_ueberpruefen:Nnnn \l_tmpa_str {5} {5} {0191}} + {0194} {\phone_DE_nummernlaenge_ueberpruefen:Nnnn \l_tmpa_str {7} {7} {0194}} + {0700} {\phone_DE_nummernlaenge_ueberpruefen:Nnnn \l_tmpa_str {12} {12} {0700}} + {0800} {\phone_DE_nummernlaenge_ueberpruefen:Nnnn \l_tmpa_str {11} {11} {0800}} + {0900} {\phone_DE_nummernlaenge_ueberpruefen:Nnnn \l_tmpa_str {11} {11} {0900}} } { - \str_case_x:nn {\str_range:Nnn #1 {1} {3}} + \str_case:xn {\str_range:Nnn #1 {1} {3}} { - {015} {\phone_nummernlaenge_ueberpruefen:Nnnn \l_tmpa_str {12} {12} {German~mobile}} - {017} {\phone_nummernlaenge_ueberpruefen:Nnnn \l_tmpa_str {11} {12} {German~mobile}} - {018} {\phone_nummernlaenge_ueberpruefen:Nnnn \l_tmpa_str {12} {12} {German~018}} + {015} {\phone_DE_nummernlaenge_ueberpruefen:Nnnn \l_tmpa_str {12} {12} {mobile}} + {017} {\phone_DE_nummernlaenge_ueberpruefen:Nnnn \l_tmpa_str {11} {12} {mobile}} + {018} {\phone_DE_nummernlaenge_ueberpruefen:Nnnn \l_tmpa_str {12} {12} {018}} {019} { - \phone_nummernlaenge_ueberpruefen:Nnnn \l_tmpa_str {5} {7} {German~019} + \phone_DE_nummernlaenge_ueberpruefen:Nnnn \l_tmpa_str {5} {7} {019} \int_compare:nNnT {\str_count:N \l_tmpa_str} = {6} { - \msg_warning:nnn {phonenumbers} {illegal~length} {German~019} + \msg_warning:nnn {phonenumbers} {illegal~length} {019} + \bool_set_false:N \l_phone_DE_teilnehmerrufnummer_gueltig_bool } } - {032} {\phone_nummernlaenge_ueberpruefen:Nnnn \l_tmpa_str {12} {12} {German~032}} + {032} {\phone_DE_nummernlaenge_ueberpruefen:Nnnn \l_tmpa_str {12} {12} {032}} } } } } + + \bool_if:NTF \l_phone_DE_teilnehmerrufnummer_gueltig_bool + { + % Für gültige Nummern mit Vorwahl Linktext schreiben: + \str_put_right:Nn \l_phone_linktext_str {#2} + \str_put_right:NV \l_phone_linktext_str \l_phone_DE_durchwahl_str + } + { + % Für ungültige Nummern mit Vorwahl Linktext löschen: + \str_clear:N \l_phone_linktext_str + } } - \phone_gruppiere_ziffernfolge:n {#2} + \bool_if:NTF \l_phone_DE_teilnehmerrufnummer_gueltig_bool + { + \phone_gruppierte_ziffernfolge_ausgeben:n {#2} + } + { + \str_put_right:Nn \l_phone_ausgabetext_tl {#2} + } \str_if_empty:NF \l_phone_DE_durchwahl_str { - \c_phone_bindestrich_tl \phone_gruppiere_ziffernfolge:V \l_phone_DE_durchwahl_str + \tl_put_right:NV \l_phone_ausgabetext_tl \c_phone_bindestrich_tl + \phone_gruppierte_ziffernfolge_ausgeben:V \l_phone_DE_durchwahl_str } } \cs_generate_variant:Nn \phone_DE_teilnehmerrufnummer_ausgeben:Nn {Nx} -\cs_new:Npn \phone_DE_nummer_mit_durchwahl_ausgeben:nn #1#2 - { - \str_set:Nn \l_phone_DE_durchwahl_str {#2} - - \phone_DE_nummer_ausgeben:n {#1} - } - -\cs_generate_variant:Nn \phone_DE_nummer_mit_durchwahl_ausgeben:nn {VV} -\cs_new:Npn \phone_DE_nummer_ausgeben:n #1 +\cs_new_protected:Npn \phone_DE_nummer_ausgeben:n #1 { - \str_if_eq_x:nnTF {\str_head:n {#1}} {0} + \str_if_eq:xnTF {\str_head:n {#1}} {0} { \int_set:Nn \l_phone_DE_hauptnummerlaenge_int {\str_count:n {#1}} @@ -753,12 +935,66 @@ \int_new:N \l_phone_FR_nummerlaenge_int +\msg_new:nnn {phonenumbers} {FR/illegal~home~area~code} + { + The~only~legal~home~area~code~in~France~is~0508~(Saint-Pierre-et-Miquelon).~#1~cannot~be~set~as~home~area~code~\msg_line_context:. + } + \msg_new:nnn {phonenumbers} {FR/missing~zero} { French~phone~number~has~no~zero~in~the~beginning~\msg_line_context: } -% #1: Vorwahl, #2: Folgt eine Rufnummer? + +% #1: Heimatvorwahl +\cs_new:Npn \phone_FR_heimatvorwahl_festlegen:n #1 + { + \clist_if_in:NnTF {\c_phone_FR_ortsvorwahlliste_clist} {#1} + { + % In Frankreich ist nur 0508 für Saint-Pierre-et-Miquelon als Heimatvorwahl erlaubt: + \str_if_eq:nnTF {#1} {0508} + { + \str_set:Nn \l_phone_heimatland_str {FR} + \str_set:Nn \l_phone_heimatvorwahl_str {#1} + \msg_info:nnnv {phonenumbers} {home~area~code~set} {#1} {c_phone_FR_ortsname_#1_tl} + } + { + \msg_warning:nnn {phonenumbers/FR} {illegal~home~area~code} {#1} + } + } + { + % keine gültige Ortsvorwahl: + \msg_warning:nnnn {phonenumbers} {invalid~home~area~code} {#1} {French} + } + } + +% #1: Vorwahl +\cs_new:Npn \phone_FR_ermittle_landeskennzahl:n #1 + { + \str_case:nnF {#1} + { + {0262} {262} + {026200} {262} + {0269} {262} + {0508} {508} + {0590} {590} + {0594} {594} + {0596} {596} + {0639} {262} + {0690} {590} + {0691} {590} + {0692} {262} + {0693} {262} + {0694} {594} + {0696} {596} + {0697} {596} + } + { + 33 + } + } + +% #1: Vorwahl \cs_new:Npn \phone_FR_vorwahl_ausgeben:n #1 { \str_if_eq:VnTF \l_phone_auslandsvorwahltyp_str {off} @@ -771,65 +1007,58 @@ } } - \str_case:on \l_phone_vorwahldarstellung_str + \bool_if:nF {\str_if_eq_p:Vn \l_phone_heimatland_str {FR} && \str_if_eq_p:Vn \l_phone_heimatvorwahl_str {#1}} { - {number} - { - \phone_gruppiere_ziffernfolge:n {#1} - \, - } - {place} + \str_case:Vn \l_phone_vorwahldarstellung_str { - \tl_if_exist:cTF {c_phone_FR_ortsname_#1_tl} + {number} { - \tl_use:c {c_phone_FR_ortsname_#1_tl} - \c_space_tl + \phone_gruppierte_ziffernfolge_ausgeben:n {#1} + \tl_put_right:Nn \l_phone_ausgabetext_tl {\,} } + {place} { - \phone_gruppiere_ziffernfolge:n {#1} - \, + \tl_if_exist:cTF {c_phone_FR_ortsname_#1_tl} + { + \tl_put_right:Nv \l_phone_ausgabetext_tl {c_phone_FR_ortsname_#1_tl} + \tl_put_right:NV \l_phone_ausgabetext_tl \c_space_tl + } + { + \phone_gruppierte_ziffernfolge_ausgeben:n {#1} + \tl_put_right:Nn \l_phone_ausgabetext_tl {\,} + } } - } - {place-and-number} - { - \tl_if_exist:cT {c_phone_FR_ortsname_#1_tl} + {place-and-number} { - \tl_use:c {c_phone_FR_ortsname_#1_tl} - \c_space_tl + \tl_if_exist:cT {c_phone_FR_ortsname_#1_tl} + { + \tl_put_right:Nv \l_phone_ausgabetext_tl {c_phone_FR_ortsname_#1_tl} + \tl_put_right:NV \l_phone_ausgabetext_tl \c_space_tl + } + + \phone_gruppierte_ziffernfolge_ausgeben:n {#1} + \tl_put_right:NV \l_phone_ausgabetext_tl {\,} } - - \phone_gruppiere_ziffernfolge:n {#1} - \, } } } { - \str_set:Nx \l_tmpa_str - { - \str_case:nnF {#1} - { - {0262} {262} - {026200} {262} - {0269} {262} - {0508} {508} - {0590} {590} - {0594} {594} - {0596} {596} - } - { - 33 - } - } - - \phone_auslandsvorwahl_ausgeben:V {\l_tmpa_str} - \c_space_tl + \phone_auslandsvorwahl_ausgeben:x {\phone_FR_ermittle_landeskennzahl:n {#1}} + \tl_put_right:NV \l_phone_ausgabetext_tl \c_space_tl \str_if_eq:nnF {#1} {0508} % in Saint-Pierre-et-Miquelon entfällt die Ortsvorwahl { - \phone_gruppiere_ziffernfolge:x {\str_tail:n {#1}} - \, + \phone_gruppierte_ziffernfolge_ausgeben:x {\str_tail:n {#1}} + \tl_put_right:Nn \l_phone_ausgabetext_tl {\,} } } + + \str_put_right:Nx \l_phone_linktext_str {+\phone_FR_ermittle_landeskennzahl:n {#1}} + + \str_if_eq:nnF {#1} {0508} % in Saint-Pierre-et-Miquelon entfällt die Ortsvorwahl + { + \str_put_right:Nx \l_phone_linktext_str {\str_tail:n {#1}} + } } \cs_generate_variant:Nn \phone_FR_vorwahl_ausgeben:n {V} @@ -841,37 +1070,38 @@ \int_compare:nNnTF {\l_phone_FR_nummerlaenge_int} < {10} { - \str_if_eq_x:nnTF {\str_head:n {#1}} {3} + \str_if_eq:xnTF {\str_head:n {#1}} {3} { \int_compare:nNnTF {\l_phone_FR_nummerlaenge_int} < {4} { \msg_warning:nnnn {phonenumbers} {number~too~short} {French~short} {4} - #1 + \tl_put_right:Nn \l_phone_ausgabetext_tl {#1} } { \int_compare:nNnTF {\l_phone_FR_nummerlaenge_int} > {4} { \msg_warning:nnnn {phonenumbers} {number~too~long} {French~short} {4} - #1 + \tl_put_right:Nn \l_phone_ausgabetext_tl {#1} } { - \phone_gruppiere_ziffernfolge:n {#1} + \phone_gruppierte_ziffernfolge_ausgeben:n {#1} + \str_put_right:Nn \l_phone_linktext_str {#1} } } } { \msg_warning:nnnn {phonenumbers} {number~too~short} {French} {10} - #1 + \tl_put_right:Nn \l_phone_ausgabetext_tl {#1} } } { \int_compare:nNnTF {\l_phone_FR_nummerlaenge_int} > {10} { \msg_warning:nnnn {phonenumbers} {number~too~long} {French} {10} - #1 + \tl_put_right:Nn \l_phone_ausgabetext_tl {#1} } { - \str_if_eq_x:nnTF {\str_head:n {#1}} {0} + \str_if_eq:xnTF {\str_head:n {#1}} {0} { \bool_set_false:N \l_phone_vorwahl_gefunden_bool @@ -889,10 +1119,9 @@ \phone_FR_vorwahl_ausgeben:V \l_tmpa_str - \phone_gruppiere_ziffernfolge:x - { - \str_range:nnn {#1} {##1 + 1} {-1} - } + \str_set:Nx \l_tmpb_str {\str_range:nnn {#1} {##1 + 1} {-1}} + \phone_gruppierte_ziffernfolge_ausgeben:V \l_tmpb_str + \str_put_right:NV \l_phone_linktext_str \l_tmpb_str } } } @@ -901,12 +1130,12 @@ \bool_if:nF {\l_phone_vorwahl_gefunden_bool} { \msg_warning:nnn {phonenumbers} {invalid~area~code} {French} - #1 + \tl_put_right:Nn \l_phone_ausgabetext_tl {#1} } } { \msg_warning:nn {phonenumbers/FR} {missing~zero} - #1 + \tl_put_right:Nn \l_phone_ausgabetext_tl {#1} } } } @@ -923,14 +1152,19 @@ \clist_new:N \c_phone_US_vorwahlliste_clist \clist_concat:NNN \c_phone_US_vorwahlliste_clist \c_phone_US_ortsvorwahlliste_clist \c_phone_US_sondervorwahlliste_clist +\msg_new:nnn {phonenumbers} {US/illegal~home~area~code} + { + 10-digit~dialling~is~required~in~\tl_use:c {c_phone_US_ortsname_#1_tl}.~#1~cannot~be~set~as~home~area~code~\msg_line_context:. + } + \msg_new:nnn {phonenumbers} {US/invalid~area~code} { - unknown~area~code~"#1"~in~American~phone~number~\msg_line_context: + unknown~area~code~#1~in~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~American~phone~number~\msg_line_context: } \bool_new:N \l_phone_US_ferngespraechspraefix_bool @@ -951,70 +1185,121 @@ trunk-prefix .default:n = on } + +% #1: Heimatvorwahl +\cs_new:Npn \phone_US_heimatvorwahl_festlegen:n #1 + { + \clist_if_in:NnTF {\c_phone_US_ortsvorwahlliste_clist} {#1} + { + \clist_if_in:NnTF {\c_phone_US_ortsvorwahlliste_ten_digits_clist} {#1} + { + % 10-Ziffern-Wählen erforderlich: + \msg_warning:nnn {phonenumbers/US} {illegal~home~area~code} {#1} + } + { + % 7-Ziffern-Wählen möglich, Heimatvorwahl setzen: + \str_set:Nn \l_phone_heimatland_str {US} + \str_set:Nn \l_phone_heimatvorwahl_str {#1} + \msg_info:nnnv {phonenumbers} {home~area~code~set} {#1} {c_phone_US_ortsname_#1_tl} + } + } + { + % keine gültige Ortsvorwahl: + \msg_warning:nnnn {phonenumbers} {invalid~home~area~code} {#1} {American} + } + } + % #1: Vorwahl, #2: Folgt eine Rufnummer? \cs_new:Npn \phone_US_vorwahl_ausgeben:nN #1 #2 { \str_if_eq:VnTF \l_phone_auslandsvorwahltyp_str {off} { - \bool_if:NTF \l_phone_US_ferngespraechspraefix_bool + \bool_if:nF {\str_if_eq_p:Vn \l_phone_heimatland_str {US} && \str_if_eq_p:Vn \l_phone_heimatvorwahl_str {#1}} { - \bool_if:NTF #2 - { - \str_if_eq:onTF {\l_phone_vorwahltrennung_str} {space} - { - 1 \c_space_tl #1 \c_space_tl - } - { - 1 \c_phone_bindestrich_tl #1 \c_phone_bindestrich_tl - } - } + \bool_if:NTF \l_phone_US_ferngespraechspraefix_bool { - \str_if_eq:onTF {\l_phone_vorwahltrennung_str} {space} - { - 1 \c_space_tl #1 - } + \bool_if:NTF #2 { - 1 \c_phone_bindestrich_tl #1 + \str_if_eq:VnTF \l_phone_vorwahltrennung_str {space} + { + \tl_put_right:Nn \l_phone_ausgabetext_tl {1 \c_space_tl #1 \c_space_tl} + } + { + \tl_put_right:Nn \l_phone_ausgabetext_tl {1 \c_phone_bindestrich_tl #1 \c_phone_bindestrich_tl} + } } - } - } - { - \clist_if_in:NnT \c_phone_US_sondervorwahlliste_clist {#1} - { - \str_if_eq:VnT \l_phone_vorwahldarstellung_str {place} { - \str_set:Nn \l_phone_vorwahldarstellung_str {number} + \str_if_eq:VnTF \l_phone_vorwahltrennung_str {space} + { + \tl_put_right:Nn \l_phone_ausgabetext_tl {1 \c_space_tl #1} + } + { + \tl_put_right:Nn \l_phone_ausgabetext_tl {1 \c_phone_bindestrich_tl #1} + } } } - - \str_case:on \l_phone_vorwahldarstellung_str { - {number} + \clist_if_in:NnT \c_phone_US_sondervorwahlliste_clist {#1} { - \bool_if:NTF #2 - { - \str_case:onF \l_phone_vorwahltrennung_str - { - {brackets} {(#1) \c_space_tl} - {space} {#1 \c_space_tl} - } - { - #1 \c_phone_bindestrich_tl - } - } + \str_if_eq:VnT \l_phone_vorwahldarstellung_str {place} { - #1 + \str_set:Nn \l_phone_vorwahldarstellung_str {number} } } - {place} + + \tl_put_right:Nx \l_phone_ausgabetext_tl { - \bool_if:NTF #2 + \str_case:Vn \l_phone_vorwahldarstellung_str { - \str_case:onF \l_phone_vorwahltrennung_str + {number} + { + \bool_if:NTF #2 + { + \str_case:VnF \l_phone_vorwahltrennung_str + { + {brackets} {(#1) \c_space_tl} + {space} {#1 \c_space_tl} + } + { + #1 \c_phone_bindestrich_tl + } + } + { + #1 + } + } + {place} { - {brackets} + \bool_if:NTF #2 + { + \str_case:VnF \l_phone_vorwahltrennung_str + { + {brackets} + { + ( + \tl_if_exist:cTF {c_phone_US_ortsname_#1_tl} + { + \tl_use:c {c_phone_US_ortsname_#1_tl} + } + { + #1 + } + ) + \c_space_tl + } + } + { + \tl_if_exist:cTF {c_phone_US_ortsname_#1_tl} + { + \tl_use:c {c_phone_US_ortsname_#1_tl} + \c_space_tl + } + { + #1 \c_phone_bindestrich_tl + } + } + } { - ( \tl_if_exist:cTF {c_phone_US_ortsname_#1_tl} { \tl_use:c {c_phone_US_ortsname_#1_tl} @@ -1022,57 +1307,36 @@ { #1 } - ) - \c_space_tl } } + {place-and-number} { - \tl_if_exist:cTF {c_phone_US_ortsname_#1_tl} + \tl_if_exist:cT {c_phone_US_ortsname_#1_tl} { \tl_use:c {c_phone_US_ortsname_#1_tl} \c_space_tl } + + \bool_if:NTF #2 { - #1 \c_phone_bindestrich_tl + \str_case:VnF \l_phone_vorwahltrennung_str + { + {brackets} {(#1) \c_space_tl} + {space} {#1 \c_space_tl} + } + { + #1 \c_phone_bindestrich_tl + } + } + { + \str_if_eq:VnTF \l_phone_vorwahltrennung_str {brackets} + { + (#1) + } + { + #1 + } } - } - } - { - \tl_if_exist:cTF {c_phone_US_ortsname_#1_tl} - { - \tl_use:c {c_phone_US_ortsname_#1_tl} - } - { - #1 - } - } - } - {place-and-number} - { - \tl_if_exist:cT {c_phone_US_ortsname_#1_tl} - { - \tl_use:c {c_phone_US_ortsname_#1_tl} - \c_space_tl - } - - \bool_if:NTF #2 - { - \str_case:onF \l_phone_vorwahltrennung_str - { - {brackets} {(#1) \c_space_tl} - {space} {#1 \c_space_tl} - } - { - #1 \c_phone_bindestrich_tl - } - } - { - \str_if_eq:onTF \l_phone_vorwahltrennung_str {brackets} - { - (#1) - } - { - #1 } } } @@ -1081,18 +1345,25 @@ } { \phone_auslandsvorwahl_ausgeben:n {1} - \c_space_tl - #1 + + \tl_put_right:Nn \l_phone_ausgabetext_tl {\c_space_tl #1} \bool_if:NT #2 { - \c_space_tl + \tl_put_right:NV \l_phone_ausgabetext_tl \c_space_tl } } + + % Linktext schreiben, falls eine Rufnummer folgt + \bool_if:NT #2 + { + \str_put_right:Nn \l_phone_linktext_str {+1 #1} + } } \cs_generate_variant:Nn \phone_US_vorwahl_ausgeben:nN {VN} + % #1: Ortsvorwahl, #2: Vermittlungsstellennummer \cs_new:Npn \phone_US_vermittlungsstellennummer_ausgeben:nn #1 #2 { @@ -1133,18 +1404,32 @@ } } - #2 + \tl_put_right:Nn \l_phone_ausgabetext_tl {#2} + \str_if_eq:VnTF \l_phone_auslandsvorwahltyp_str {off} { - \c_phone_bindestrich_tl + \tl_put_right:NV \l_phone_ausgabetext_tl \c_phone_bindestrich_tl } { - \tl_if_empty:nTF {#1} {\c_phone_bindestrich_tl} {\c_space_tl} + \tl_if_empty:nTF {#1} + { + \tl_put_right:NV \l_phone_ausgabetext_tl \c_phone_bindestrich_tl + } + { + \tl_put_right:NV \l_phone_ausgabetext_tl \c_space_tl + } + } + + % Linktext schreiben, falls eine Vorwahl vorangeht + \tl_if_empty:nF {#1} + { + \str_put_right:Nn \l_phone_linktext_str {#2} } } \cs_generate_variant:Nn \phone_US_vermittlungsstellennummer_ausgeben:nn {Vx} + \cs_new:Npn \phone_US_nummer_ausgeben:n #1 { \int_case:nnF {\str_count:n {#1}} @@ -1164,7 +1449,8 @@ {7} { \phone_US_vermittlungsstellennummer_ausgeben:Vx \c_empty_tl {\str_range:nnn {#1} {1} {3}} - \str_range:nnn {#1} {4} {7} + + \tl_put_right:Nx \l_phone_ausgabetext_tl {\str_range:nnn {#1} {4} {7}} } {10} { @@ -1179,7 +1465,8 @@ \phone_US_vermittlungsstellennummer_ausgeben:Vx \l_tmpa_str {\str_range:nnn {#1} {4} {6}} - \str_range:nnn {#1} {7} {10} + \tl_put_right:Nx \l_phone_ausgabetext_tl {\str_range:nnn {#1} {7} {10}} + \str_put_right:Nx \l_phone_linktext_str {\str_range:nnn {#1} {7} {10}} } } { @@ -1191,7 +1478,7 @@ \msg_warning:nnnn {phonenumbers} {number~too~long} {American} {10} } - #1 + \tl_put_right:Nn \l_phone_ausgabetext_tl {#1} } } |