% phonenumbers package: English manual % Version 2.3 % Datum: 20. August 2021 \documentclass[numbers=noenddot]{scrreprt} \usepackage[french,UKenglish]{babel} \usepackage{fontspec} \usepackage[link=off]{phonenumbers} \usepackage{biblatex} \usepackage{csquotes} \usepackage{array} \usepackage{enumitem} \usepackage{scrlayer-scrpage} \usepackage{multicol} \usepackage{metalogo} \usepackage[UKenglish]{isodate} \usepackage{cnltx-example} \usepackage{cnltx-tools} \usepackage[colorlinks=true, allcolors=black, bookmarksopen=true, bookmarksopenlevel=0, bookmarksnumbered=true, pdfencoding=auto, pdftitle={Typesetting telephone numbers with LaTeX}, pdfsubject={Manual for the PHONENUMBERS package}, pdfkeywords={latex phonenumbers telephone numbers}, pdfauthor={K. Wehr}]{hyperref} \setmainfont{TeX Gyre Bonum} \setmonofont{Latin Modern Mono}[Scale=MatchLowercase] \setlogokern{La}{-0.25em} \setlogokern{aT}{-0.05em} \setlogodrop{0.52ex} \addtokomafont{disposition}{\rmfamily} \addtokomafont{descriptionlabel}{\rmfamily} \setlist[itemize]{itemsep=0.7ex plus0.3ex minus0.2ex} \setlength{\columnsep}{1,5em} \setlength{\columnseprule}{0,4pt} \makeatletter \renewcommand\@pnumwidth{2em} \makeatother \addbibresource{Literatur.bib} \renewcommand{\labelnamepunct}{\addcolon\space} \definecolorscheme{phonecolor}{ cs => cnltxformalblue, option => cnltxbrown, cnltx => cnltxgreen } \setcnltx{ add-cmds = {setphonenumbers,phonenumber,href}, color-scheme = phonecolor, add-listings-options = {numbers=none}, pre-output = {\raggedright} } \makeatletter \setlength{\cnltx@before@skip}{5pt plus1pt minus1pt} \setlength{\cnltx@after@skip}{1pt plus1pt minus1pt} \makeatother \DeclareNewLayer[background,bottommargin,mode=picture,hoffset=7cm, contents={\includegraphics{Telefonhoerer}}]{Telefonebene} \AddLayersToPageStyle{plain}{Telefonebene} \AddLayersToPageStyle{scrheadings}{Telefonebene} \ExplSyntaxOn \NewDocumentEnvironment {Befehlsliste} { } { \begin{list}{ } { \setlength{\leftmargin}{0pt} \setlength{\itemindent}{-1em} \setlength{\parsep}{0pt} \setlength{\listparindent}{\parindent} \setlength{\itemsep}{\topsep} } } { \end{list} } \NewDocumentCommand \Befehlsbeschreibung {m o} { \item \cs{#1} \IfValueT{#2}{#2} \\ } \NewDocumentCommand \Optionsbeschreibung {m m m} { \item \option{#1}~=~\choices{#2} \hfill Default:~\code{#3} \\ } \ExplSyntaxOff \newcommand*{\Paket}[1]{\textsc{#1}} \newcommand{\phone}{\textcolor{cnltx}{\Paket{phone\-numbers}}} \newcommand{\UeberschriftGeltungsbereich}{\section{Scope}} \newcommand{\UeberschriftAufbau}{\section{Structure of the Numbers}} \newcommand*{\UeberschriftOptionen}[1]{\section{Options}\label{optionen-#1}} \newcommand{\UeberschriftUngueltig}{\section{Invalid Numbers}} \newcommand{\UeberschriftOrtsvorwahlen}{\section{Geographic Area Codes}} \newcommand{\UeberschriftRegionalvorwahlen}{\section{Geographic Area Codes}} \newcommand{\UeberschriftSondervorwahlen}{\section{Non-Geographic Area Codes}} \newcommand{\OptionsvariantenAreaCodeSep}{\Optionsbeschreibung{area-code-sep}{slash,brackets,space,hyphen}{slash}} \newcommand{\OptionsbeschreibungAreaCodeSep}{Sets the seperator between area code and subscriber number.} \newcommand{\HinweisForeignAreaCodeSep}{For numbers with country calling code use the \option{foreign-area-code-sep} option \sieheAbschnitt{optionen-allgemein}.} \newcommand{\OptionsvariantenAreaCode}{\Optionsbeschreibung{area-code}{number,place,place-and-number}{number}} \newcommand{\OptionsbeschreibungAreaCode}{Sets, how the area code will be typeset: as number, as place name, or as place name with number.} \newcommand{\WertbeschreibungBrackets}{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.} \newcommand{\WertbeschreibungPlaceAndNumber}{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{\WertbeschreibungPlace}{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{\KeineVerlinkung}{Numbers without an area code cannot be linked though \vglAbschnitt{verlinkung}.} \newcommand{\WarnungWenn}{A warning will be issued if} \newcommand*{\vglAbschnitt}[1]{(\cf\ section \ref{#1})} \newcommand*{\sieheAbschnitt}[1]{(see section \ref{#1})} \newcommand*{\vglAnhang}[1]{(\cf\ appendix~\ref{#1})} \newcommand{\Quelle}{\noindent\emph{Source: }} \newcommand*{\Quellen}{\noindent\emph{Sources: }} \newcommand{\Schmalschrift}{\small\fontspec{Libertinus Serif}[Ligatures=TeX]} \newcommand*{\AufbauDEATA}[6]{A #1 phone number normally consists of an area code beginning with 0 and a subscriber number. The area code can have #2 to #3 digits, a landline subscriber number #4 to #5 digits. There are different conventions for the separation of the area code from the subscriber number \vglAbschnitt{#6}. The default separator used by the \phone\ package is a slash.} \newcommand{\AufbauDEATB}{The area code is not required for calls within the local exchange area.} \newcommand{\AufbauDEATC}[1]{\KeineVerlinkung\ As an alternative the use of the \option{home-area-code} option \vglAbschnitt{optionen-allgemein}, which can be used everywhere in #1, is recommended.\par The subscriber number can end in a separate extension, which can be input by an optional argument or a hyphen.} \newcommand*{\AufbauDEATD}[1]{For calls from abroad the country code #1 has to be used and the leading 0 of the area code has to be left out.} \begin{document} \begin{titlepage} \begin{center} \includegraphics{Titelbild-en} \vfill \large \textit{Package author} \smallskip Keno Wehr \bigskip \textit{Bug reports} \smallskip \normalsize \url{https://github.com/wehro/phonenumbers/issues} \end{center} \bigskip \noindent This package makes it possible to typeset telephone numbers according to different national conventions and to link them when required. German, Austrian, French, British, and North American phone numbers are supported. Phone numbers from other countries are supported rudimentarily. \bigskip \noindent A German version of this manual is available in the file \texttt{phonenumbers-de.pdf}. \end{titlepage} \tableofcontents \addfontfeature{Numbers=Proportional} \chapter{Quick Start} \section{Germany} \begin{sidebyside} \phonenumber{0441343396}[83] \end{sidebyside} \begin{sidebyside} \phonenumber[area-code-sep=brackets]{020432632194} \end{sidebyside} \begin{sidebyside} \phonenumber[area-code=place,area-code-sep=space]{04066969123} \end{sidebyside} \begin{sidebyside} \phonenumber[foreign]{0209576342} \end{sidebyside} \section{Austria} \begin{sidebyside} \phonenumber[country=AT]{0176543}[210] \end{sidebyside} \begin{sidebyside} \phonenumber[country=AT,area-code-sep=brackets]{0225854321} \end{sidebyside} \begin{sidebyside} \phonenumber[country=AT,area-code=place,area-code-sep=space]{0662654321} \end{sidebyside} \begin{sidebyside} \phonenumber[country=AT,foreign]{0316456789} \end{sidebyside} \section{France} \begin{sidebyside} \phonenumber[country=FR]{0199006789} \end{sidebyside} \begin{sidebyside} \phonenumber[country=FR,area-code=place-and-number]{0199006789} \end{sidebyside} \begin{sidebyside} \phonenumber[country=FR,foreign]{0199006789} \end{sidebyside} \section{United Kingdom} \begin{sidebyside} \phonenumber[country=UK]{01514960123} \end{sidebyside} \begin{sidebyside} \phonenumber[country=UK,area-code-sep=space]{01184960234} \end{sidebyside} \begin{sidebyside} \phonenumber[country=UK,area-code=place,area-code-sep=space]{02079460345} \end{sidebyside} \begin{sidebyside} \phonenumber[country=UK,foreign]{02920180456} \end{sidebyside} \section{North America} \begin{sidebyside} \phonenumber[country=US]{2125550123} \end{sidebyside} \begin{sidebyside} \phonenumber[country=US,area-code-sep=space]{2125550123} \end{sidebyside} \begin{sidebyside} \phonenumber[country=US,area-code=place-and-number]{2125550123} \end{sidebyside} \begin{sidebyside} \phonenumber[country=US,trunk-prefix]{2125550123} \end{sidebyside} \begin{sidebyside} \phonenumber[country=US,foreign]{2125550123} \end{sidebyside} \section{Other Countries} \begin{sidebyside} \phonenumber{+3905523776} % 39 = Italy \end{sidebyside} \begin{sidebyside} \phonenumber{0035923456789} % 359 = Bulgaria \end{sidebyside} \chapter{General Principles} \section{Basic Ideas of the Package} The \phone\ package aims to enable the user to typeset telephone numbers without any knowledge of the internal structure of the number or the national typographic conventions for typesetting phone numbers. 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{sidebyside} \phonenumber{03023125789} \end{sidebyside} 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{sidebyside} \phonenumber{03502225789} \end{sidebyside} 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. Furthermore, the package is able to check if a phone number is valid according to the national rules. Invalid numbers will lead to warnings during compilation. \section{Commands} \begin{Befehlsliste} \Befehlsbeschreibung{usepackage}[\oarg{options}\Marg{phonenumbers}] Loads the package and sets the \meta{options} globally, so that they will affect all phone numbers not having contradictory options of their own. Has to be used in the preamble. \Befehlsbeschreibung{setphonenumbers}[\marg{options}] Sets the \meta{options} for all following phone numbers not having contradictory options of their own. Can be used in the preamble or in the document body. \Befehlsbeschreibung{phonenumber}[\oarg{options}\marg{number}\oarg{extension}] Typesets a telephone number. The \meta{options} are valid only for this phone number. The \meta{number} can be input in the local or in the international format. The local format is possible for supported countries only; the country has to be set by the \option{country} option \vglAbschnitt{optionen-allgemein}. The international format always begins with \code{+} or \code{00} followed by the country code \vglAnhang{landeskennzahlen}. Apart from a leading plus sign the \meta{number} has to consist of digits only. To structure the number spaces, brackets (round and square), slashes and hyphens may be input; these will be ignored. For German and Austrian phone numbers an \meta{extension} can be given additionally, since extensions are often highlighted in German typography. If the optional argument is missing and the \meta{number} contains a hyphen, the part of the number after the (last) hyphen is recognized as extension if not only an area code precedes. Numbers from supported countries are typeset according to the national conventions. Numbers from unsupported countries are structured in groups of two digits after the country calling code. \Befehlsbeschreibung{AreaCodesGeographic}[\oarg{options}] Typesets a list of geographic area codes for the country set globally or by a local option. \Befehlsbeschreibung{AreaCodesNonGeographic}[\oarg{options}]{Typesets a list of non-geographic area codes (area codes for mobile phones and for other special purposes) for the selected country.} \Befehlsbeschreibung{CountryCodes} Typesets a list of valid country codes. \end{Befehlsliste} \section{Linking of Phone Numbers} \label{verlinkung} On modern devices with telephony capabilities links on phone numbers can be used to call a number without having it to type. The \phone\ package generates such links if the \Paket{hyperref} package \cite{hyperref} is loaded additionally. Independantly of their appearance in the text the phone numbers are linked including the country calling code (beginning with +) so that they can be reached from everywhere. The appearance of the links can be set using \Paket{hyperref} options. For example, you could 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} On classical personal computers such links are not usable though. If you need \Paket{hyperref}, but do not want to link phone numbers, use the \option{link} option \sieheAbschnitt{optionen-allgemein}. \UeberschriftOptionen{allgemein} 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{Befehlsliste} \Optionsbeschreibung{country}{AT,DE,FR,UK,US}{DE} Sets the country the number is belonging to. \begin{center} \begin{tabular}{>{\ttfamily}ll} AT & Austria \\ DE & Germany \\ FR & France \\ UK & United Kingdom \\ US & United States, Canada and further countries \vglAbschnitt{US-bereich} \end{tabular} \end{center} Please contact the package author if you need support for further countries. This option is ignored if the number is input in the international format. In this case the country is determined by the country code. \Optionsbeschreibung{link}{on,off}{on} Specifies whether phone numbers shall be linked if the \Paket{hyperref} package is loaded \vglAbschnitt{verlinkung}. \Optionsbeschreibung{foreign}{international,american,european,off}{off} Specifies whether and in which form the country calling code will be output. 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{sidebyside} \phonenumber[foreign=international]{03023125789} \end{sidebyside} The choice \code{american} lets the country calling code begin with 011, the international call prefix used in North America. \begin{sidebyside} \phonenumber[foreign=american]{03023125789} \end{sidebyside} 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{sidebyside} \phonenumber[foreign=european]{03023125789} \end{sidebyside} For numbers from unsupported countries the choice \code{foreign=off} is treated like \code{foreign=\linebreak[0]international}, which means that the country calling code will always be output for these numbers. \Optionsbeschreibung{foreign-area-code-sep}{space,brackets}{space} Sets the area code separator for numbers with country calling code. The International Telecommunication Union recommends not to use brackets in international numbers \cite[3]{ITU-123}. \begin{sidebyside} \setphonenumbers{foreign,foreign-area-code-sep=brackets} \phonenumber[country=DE]{0441343396} \\ \phonenumber[country=UK]{01514960123} \\ \phonenumber[country=US]{2125550123} \end{sidebyside} The choice of \code{brackets} has no effect on French phone numbers, since in France brackets are never used in phone numbers. \Optionsbeschreibung{home-country}{AT,DE,FR,UK,US,none}{none} Sets the home country. Numbers from this country will be typeset without the country calling code independantly of the value of the \option{foreign} option. \begin{sidebyside} \setphonenumbers{foreign,home-country=FR} \phonenumber[country=DE]{0441343396} \\ \phonenumber[country=FR]{0199006789} \\ \phonenumber[country=US]{2125550123} \end{sidebyside} \Optionsbeschreibung{home-area-code}{\meta{home area code},none}{none} Sets the area code of your home area. Only the subscriber number will be output for numbers with this area code. Links \vglAbschnitt{verlinkung} will always include the area code. The \option{home-country} option should to be set before the home area code. If this does not happen, the home country is set to the current value of the \option{country} option when you set a home area code. \begin{sidebyside} \setphonenumbers{home-country=US,home-area-code=242,foreign} \phonenumber[country=US]{2125550123} \\ \phonenumber[country=US]{2425550124} \\ \phonenumber[country=DE]{0258163970} \end{sidebyside} Setting a home area code is allowed only for areas where the area code can be left out for local calls. \end{Befehlsliste} \UeberschriftUngueltig 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. This will occur if \begin{itemize} \item the input is empty or contains other characters than digits and spaces (apart from a plus sign as first character), \item an extension is given for a non-German and non-Austrian phone number, \item a number input in the international format consists of a country calling code only or does not contain a valid country code, \item the number is not in accordance with the national rules of the selected country (only for supported countries). \end{itemize} \section{Licence} The \phone\ package is subject to the \emph{\LaTeX\ Project Public License}, version 1.3 or later.% \footnote{\url{http://www.latex-project.org/lppl.txt}} \chapter{German Phone Numbers} \UeberschriftAufbau \AufbauDEATA{German}{3}{6}{3}{10}{optionen-DE} \begin{sidebyside} \phonenumber{02517654321} \end{sidebyside} \AufbauDEATB \begin{sidebyside} \phonenumber{7654321} \end{sidebyside} \AufbauDEATC{Germany} \begin{sidebyside} \phonenumber{0251123456}[78] \\ \phonenumber{02286543-210} \\ \phonenumber{8765}[432] \\ \phonenumber{964278-53} \end{sidebyside} \AufbauDEATD{49} \begin{sidebyside} \phonenumber[foreign]{02517654321} \end{sidebyside} All number components are divided into groups of two digits beginning from the end as a rule. Area codes whose last digit represents the tariff 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{sidebyside} \phonenumber{01374654832} \end{sidebyside} The relevant tariff can be output using the \code{area-code=place-and-number} option \sieheAbschnitt{optionen-DE}. \UeberschriftOptionen{DE} \begin{Befehlsliste} \OptionsvariantenAreaCodeSep \OptionsbeschreibungAreaCodeSep \begin{sidebyside} \phonenumber[area-code-sep=space]{0258163970} \\ \phonenumber[area-code-sep=hyphen]{01749091317} \end{sidebyside} \WertbeschreibungBrackets \begin{sidebyside} \setphonenumbers{area-code-sep=brackets} \phonenumber{02581639737} \\ \phonenumber{01749091317} \end{sidebyside} \HinweisForeignAreaCodeSep \OptionsvariantenAreaCode \OptionsbeschreibungAreaCode \WertbeschreibungPlace \begin{sidebyside} \setphonenumbers{area-code=place} \phonenumber{08942630845} \\ \phonenumber{01749091317} \\ \phonenumber[foreign]{04414363524} \end{sidebyside} \WertbeschreibungPlaceAndNumber \begin{sidebyside} \setphonenumbers{area-code=place-and-number} \phonenumber{08942630845} \\ \phonenumber{01749091317} \\ \phonenumber{01803635341} \\ \phonenumber[foreign]{04414363524} \end{sidebyside} \end{Befehlsliste} \UeberschriftUngueltig \WarnungWenn \begin{itemize} \item a number beginning with 0 does not contain a valid area code, \item the given number consists of an area code only, \item a non-geographic number contains an extension (except for MABEZ numbers). \end{itemize} For landline numbers a warning will be issued if \begin{itemize} \item the subscriber number begins with a 0 \cite[6]{BNA-nummernplan}, \item the subscriber number including the extension has less than 3 digits \cite[6]{BNA-nummernplan}, \item the subscriber number including the extension has more than 10 digits \cite[2]{BNA-Struktur}, \item the number including the area code has more than 13 digits \cite[2]{BNA-Struktur}. \end{itemize} For mobile phone numbers a warning will be issued if \begin{itemize} \item the number begins with 015 and does not have exactly 12 digits \cite[49\psq]{BNA-konzept}, \item the number begins with 016 or 017 and has less than 11 or more than 12 digits \cite[50]{BNA-konzept}, \end{itemize} Furthermore, a warning will be issued if \begin{itemize} \item 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 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 a service number (area code 01\,80\,X) does not have exactly 11 digits \cite[71]{BNA-konzept}, \item 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 a VPN number (\emph{virtual private network}, area code 01\,8X) does not have exactly 12 digits \cite[53]{BNA-konzept}, \item an online service number with the area code 01\,91, 01\,92, or 01\,93 has less than 5 or more than 14 digits or an online service number with the area code 01\,94 has less than 7 or more than 14 digits \cite[\ppno\ 1 and 4]{BNA-019}, \item a national subscriber number (area code 0\,32) does not have exactly 12 digits \cite[45]{BNA-konzept}, \item a personal phone number (area code 07\,00) does not have exactly 12 digits \cite[74]{BNA-konzept}, \item a toll-free number (area code 08\,00) has less than 11 or more than 14 digits \cite[\ppno\ 1 and 5\psq]{BNA-0800}, \item a premium service number (area code 0\,90\,0X) does not have exactly 11 digits \cite[76]{BNA-konzept}, \item a dialer number (area code 0\,90\,09) does not have exactly 12 digits \cite[78]{BNA-konzept}. \end{itemize} \chapter{Austrian Phone Numbers} \UeberschriftAufbau \AufbauDEATA{Austrian}{2}{5}{5}{9}{optionen-AT} All number components are divided into groups of two digits beginning from the end. \begin{sidebyside} \phonenumber[country=AT]{0225854321} \end{sidebyside} \AufbauDEATB \begin{sidebyside} \phonenumber[country=AT]{456789} \end{sidebyside} \AufbauDEATC{Austria} \begin{sidebyside} \setphonenumbers{country=AT} \phonenumber{03622345}[67] \\ \phonenumber{0176543-210} \\ \phonenumber{8765}[432] \\ \phonenumber{964278-53} \end{sidebyside} \AufbauDEATD{43} \begin{sidebyside} \phonenumber[country=AT,foreign]{0316456789} \end{sidebyside} \UeberschriftOptionen{AT} \begin{Befehlsliste} \OptionsvariantenAreaCodeSep \OptionsbeschreibungAreaCodeSep \begin{sidebyside} \setphonenumbers{country=AT} \phonenumber[area-code-sep=space]{0225854321} \\ \phonenumber[area-code-sep=hyphen]{065086754231} \end{sidebyside} \WertbeschreibungBrackets \begin{sidebyside} \setphonenumbers{country=AT,area-code-sep=brackets} \phonenumber{0225854321} \\ \phonenumber{065086754231} \end{sidebyside} \HinweisForeignAreaCodeSep \OptionsvariantenAreaCode \OptionsbeschreibungAreaCode \WertbeschreibungPlace \begin{sidebyside} \setphonenumbers{country=AT,area-code=place} \phonenumber{0316456789} \\ \phonenumber{065086754231} \\ \phonenumber[foreign]{0225854321} \end{sidebyside} \WertbeschreibungPlaceAndNumber \begin{sidebyside} \setphonenumbers{country=AT,area-code=place-and-number} \phonenumber{0316456789} \\ \phonenumber{065086754231} \\ \phonenumber[foreign]{0225854321} \end{sidebyside} \end{Befehlsliste} \UeberschriftUngueltig \WarnungWenn \begin{itemize} \item a number beginning with 0 does not contain a valid area code, \item the given number consists of an area code only, \item a non-geographic number contains an extension. \end{itemize} For landline numbers a warning will be issued if \begin{itemize} \item the subscriber number begins with a 0 or a 1 \cite[§\,50 (9)]{RTR-Verordnung}, \item the subscriber number has less than 5 or more than 9 digits \cite[§\,50 (3) and (5)]{RTR-Verordnung}, \item a subscriber number with the area code 01 (Vienna) has less than 7 digits \cite[§\,50 (4)]{RTR-Verordnung}, \item a subscriber number with the area code 0\,22\,36 (Mödling), 0\,22\,52 (Baden), 03\,16 (Graz), 04\,63 (Klagenfurt), 05\,12 (Innsbruck), 0\,55\,72 (Dornbirn), 06\,62 (Salzburg), 0\,72\,42 (Wels) or 07\,32 (Linz) has less than 6 digits \cite[§\,50 (4)]{RTR-Verordnung}, \item the number including the area code has more than 13 digits \cite[§\,50 (5)]{RTR-Verordnung}. \end{itemize} Furthermore, a warning will be issued if \begin{itemize} \item a mobile phone number has less than 11 or more than 13 digits \cite[§\,61 (1)]{RTR-Verordnung}, \item a VPN number (\emph{virtual private network}, area code 05\,0X, 05\,17, 0\,57 or 0\,59) has less than 9 or more than 13 digits \cite[§\,56 (1) and §\,4 (4)]{RTR-Verordnung}, \item a dial up number (area code 07\,18 or 08\,04) has less than 10 or more than 13 digits \cite[§\,66]{RTR-Verordnung}, \item a location independant number (area code 07\,20) has less than 10 or more than 13 digits \cite[§\,71]{RTR-Verordnung}, \item a number for convergent services (area code 07\,80) has less than 10 or more than 13 digits \cite[§\,76]{RTR-Verordnung}, \item a number for services with regulated maximum tariffs (area code 08\,00, 08\,10, 08\,20, 08\,21 or 08\,28) has less than 9 or more than 13 digits \cite[§\,81]{RTR-Verordnung}, \item a number for premium rate services (area code 09\,00, 09\,01, 09\,30, 09\,31 or 09\,39) has less than 10 or more than 13 digits \cite[§\,87]{RTR-Verordnung}. \end{itemize} \chapter{French Phone Numbers} \UeberschriftGeltungsbereich \label{FR-bereich} The French numbering plan \cite{ARCEP} is not only used for metropolitan France, but also for the most French overseas territories. This concerns \begin{itemize} \item Guadeloupe (Caribbean), \item Martinique (Caribbean), \item French Guiana (South America), \item R\'eunion (Indian Ocean), \item Mayotte (Indian Ocean), \item Saint Pierre and Miquelon (off the east coast of Canada), \item Saint Barth\'elemy (Caribbean), \item Saint Martin (Caribbean), \item the French Southern and Antarctic Lands (\emph{\foreignlanguage{french}{Terres australes et antarctiques françaises}}, Indian Ocean/Antarctica). \end{itemize} However, it is not used for the Pacific territories Wallis and Futuna, French Polynesia, and New Caledonia. \UeberschriftAufbau French phone numbers generally have ten digits and are structured in groups of two digits. The first digit is always 0. \begin{sidebyside} \phonenumber[country=FR]{0199006789} \end{sidebyside} The second digit makes it possible to assign a number to one of five geographic zones or to a special purpose (\eg\ mobile telephony). Certain number ranges are reserved for overseas territories \vglAnhang{vorwahlen-FR}. \begin{sidebyside} \setphonenumbers{country=FR,area-code=place-and-number} \phonenumber{0199006789} \\ \phonenumber{0536495678} \\ \phonenumber{0596123456} \end{sidebyside} The leading 0 is omitted for calls from abroad. \begin{sidebyside} \phonenumber[country=FR,foreign]{0199006789} \end{sidebyside} Numbers for machine to machine communication beginning with 07\,00 have more than ten digits. They have 14 digits in metropolitan France and 13 digits in the overseas territories \cite[19]{ARCEP}. \begin{sidebyside} \phonenumber[country=FR]{07000123456789} \\ \phonenumber[country=FR]{0700512345678} \end{sidebyside} Some companies and institutions have four-digit short numbers, which always begin with 3. \begin{sidebyside} \phonenumber[country=FR]{3245} \end{sidebyside} Short numbers are linked \vglAbschnitt{verlinkung} without the country calling code since they cannot be reached from abroad. 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{center} \begin{tabular}{rl} 33 & Metropolitan France \\ 262 & R\'eunion, Mayotte, French Southern and Antarctic Lands \\ 508 & Saint Pierre and Miquelon \\ 590 & Guadeloupe, Saint Barth\'elemy, Saint Martin \\ 594 & French Guiana \\ 596 & Martinique \\ \end{tabular} \end{center} 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{sidebyside} \setphonenumbers{country=FR,foreign} \phonenumber{0269123456} \\ \phonenumber{0261913456} \end{sidebyside} For some areas the country code leads to doubling the first three digits, \eg\ in the case of Martinique (area code 05\,96). \begin{sidebyside} \phonenumber[country=FR,foreign]{0596123456} \end{sidebyside} However, for Saint Pierre and Miquelon the area code 05\,08 is entirely omitted for calls from abroad \cite[13]{ARCEP}. \begin{sidebyside} \phonenumber[country=FR,foreign]{0508123456} \end{sidebyside} 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[13]{ARCEP}. \begin{sidebyside} \setphonenumbers{country=FR,home-area-code=0508} \phonenumber{0508123456} \end{sidebyside} 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-allgemein}. \UeberschriftOptionen{FR} \begin{Befehlsliste} \OptionsvariantenAreaCode \OptionsbeschreibungAreaCode \WertbeschreibungPlaceAndNumber \begin{sidebyside} \setphonenumbers{country=FR,area-code=place-and-number} \phonenumber{0199006789} \\ \phonenumber{0596123456} \\ \phonenumber{0612345678} \\ \phonenumber[foreign]{0199006789} \end{sidebyside} \WertbeschreibungPlace \ The use of this option is deprecated because the area code has always to be dialled in France. \begin{sidebyside} \setphonenumbers{country=FR,area-code=place} \phonenumber{0199006789} \\ \phonenumber{0596123456} \\ \phonenumber{0612345678} \\ \phonenumber[foreign]{0199006789} \end{sidebyside} \end{Befehlsliste} \UeberschriftUngueltig \WarnungWenn \begin{itemize} \item the number does not have exactly 10 or 4 digits (except for numbers beginning with 07\,00), \item a 10-digit number does not begin with 0, \item a 4-digit number does not begin with 3, \item a 10-digit number does not contain a valid area code, \item a number beginning with 07\,00 does not have 14 or 13 digits. \end{itemize} \chapter{British Phone Numbers} \nocite{wikipedia-UK} \nocite{UK-formatting} \edef\myindent{\the\parindent} \begin{minipage}{12cm}\setlength{\parindent}{\myindent} \UeberschriftGeltungsbereich The British \emph{National Telephone Numbering Plan} \cite{Ofcom-plan} applies to England, Scotland, Wales, Northern Ireland, the Isle of Man and the Channel Islands Jersey and Guernsey. The following British overseas territories are part of the \emph{North American Numbering Plan} \sieheAbschnitt{US}: Anguilla, Bermuda, the British Virgin Islands, the Cayman Islands, Montserrat, the Turks and Caicos Islands. Numbers from the other overseas territories are not supported. \end{minipage} \hfill \adjustimage{valign=c}{Britische_Zelle} \UeberschriftAufbau A British phone number normally consists of an area code beginning with 0 and a subscriber number. Apart from some shorter numbers British phone numbers have 11 digits. Geographic area codes are usually typeset in brackets. \begin{sidebyside} \phonenumber[country=UK]{01514960123} \end{sidebyside} The area code is not required for local calls within the most local exchange areas. \begin{sidebyside} \phonenumber[country=UK]{7654321} \end{sidebyside} \KeineVerlinkung\ As an alternative the use of the \option{home-area-code} option \vglAbschnitt{optionen-allgemein} is recommended. \AufbauDEATD{44} \begin{sidebyside} \phonenumber[country=UK,foreign]{01184960234} \end{sidebyside} Area codes with 6 digits a structured by a space before the second digit from the end, subscriber numbers with 7 or 8 digits by a space before the fourth digit from the end. Shorter numbers are not split. \begin{sidebyside} \setphonenumbers{country=UK} \phonenumber{02079460345} \\ \phonenumber{01697312345} \\ \phonenumber{07700900123} \end{sidebyside} \UeberschriftOptionen{UK} \begin{Befehlsliste} \Optionsbeschreibung{area-code-sep}{brackets,space}{brackets} \OptionsbeschreibungAreaCodeSep \begin{sidebyside} \phonenumber[country=UK,area-code-sep=space]{01514960123} \end{sidebyside} \WertbeschreibungBrackets \begin{sidebyside} \setphonenumbers{country=UK,area-code-sep=brackets} \phonenumber{02079460345} \\ \phonenumber{07700900123} \\ \phonenumber{08081570678} \end{sidebyside} \HinweisForeignAreaCodeSep \OptionsvariantenAreaCode \OptionsbeschreibungAreaCode \WertbeschreibungPlace \begin{sidebyside} \setphonenumbers{country=UK,area-code=place} \phonenumber{02079460345} \\ \phonenumber{07700900123} \\ \phonenumber[foreign]{01184960234} \end{sidebyside} \WertbeschreibungPlaceAndNumber \begin{sidebyside} \setphonenumbers{country=UK,area-code=place-and-number} \phonenumber{02079460345} \\ \phonenumber{07700900123} \\ \phonenumber{08081570678} \\ \phonenumber[foreign]{01184960234} \end{sidebyside} \end{Befehlsliste} \UeberschriftUngueltig \WarnungWenn \begin{itemize} \item a phonenumber starting with 0 does not contain a valid area code, \item a subscriber number without an area code has less than 4 or more than 8 digits, \item a subscriber number without an area code starts with 1, \item a phone number consists of an area code only, \item a landline number with the area code 0169\,77 or 01XXX has less than 10 or more than 11 digits, \item a landline number with another area code does not have exactly 11 digits, \item a freephone number (area code 0800) has less than 10 or more than 11 digits (exception: \phonenumber[country=UK]{08001111}), \item a non-geographic number with another area code does not have exactly 11 digits. \end{itemize} \chapter{North American Phone Numbers} \label{US} \UeberschriftGeltungsbereich \label{US-bereich} The \emph{North American Numbering Plan} \cite{wikipedia-NANP} encompasses the United States, Canada, several Carribean states, and further territories. In detail these are \begin{itemize} \item American Samoa (US), \item Anguilla (GB), \item Antigua and Barbuda, \item the Bahamas, \item Barbados, \item Bermuda (GB), \item the British Virgin Islands (GB), \item the Cayman Islands (GB), \item Dominica, \item the Dominican Republic, \item Grenada, \item Guam (US), \item Jamaica, \item Montserrat (GB), \item the Northern Mariana Islands (US), \item Puerto Rico (US), \item Saint Kitts and Nevis, \item Saint Lucia, \item Saint Vincent and the Grenadines, \item Sint Maarten (NL)\footnote{The northern part of the island belongs to the French numbering plan under the name of \emph{Saint Martin} \sieheAbschnitt{FR-bereich}.}, \item Trinidad and Tobago, \item the Turks and Caicos Islands (GB), \item the United States Virgin Islands (US). \end{itemize} \UeberschriftAufbau 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{sidebyside} \phonenumber[country=US]{2125550123} \end{sidebyside} Besides the structuring with two hyphens there are also other conventions \vglAbschnitt{optionen-US}. 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{sidebyside} \KeineVerlinkung\ As an alternative the \option{home-area-code} option \vglAbschnitt{optionen-allgemein} 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. For long-distance calls the \emph{trunk prefix} 1 has to be dialled first as a rule. \begin{sidebyside} \phonenumber[country=US,trunk-prefix]{2125550123} \end{sidebyside} There are no seperate area codes for mobile telephony in the North American Numbering Plan. Mobile phones get regular geographic area codes. All territories of the North American Numbering Plan can be reached from abroad with the country calling code +\kern1pt1. \begin{sidebyside} \phonenumber[country=US,foreign]{2125550123} \end{sidebyside} \UeberschriftOptionen{US} \begin{Befehlsliste} \Optionsbeschreibung{area-code-sep}{brackets,space,hyphen}{hyphen} Sets, how the area code will be separated from the central office code. Since the area code can be omitted in some areas, it may be typeset in brackets. \begin{sidebyside} \setphonenumbers{country=US,area-code-sep=brackets} \phonenumber{2075550123} \\ \phonenumber[trunk-prefix]{2075550123} \end{sidebyside} In Quebec the area code is separated by spaces \cite{wikipedia-conventions}. \begin{sidebyside} \setphonenumbers{country=US,area-code-sep=space} \phonenumber{4185550123} \\ \phonenumber[trunk-prefix]{4185550123} \\ \end{sidebyside} \HinweisForeignAreaCodeSep \OptionsvariantenAreaCode \OptionsbeschreibungAreaCode 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. \begin{sidebyside} \setphonenumbers{country=US,area-code=place-and-number} \phonenumber{4415550125} \\ \phonenumber{8005550126} \\ \phonenumber[trunk-prefix]{2125550123} \\ \phonenumber[foreign]{2125550123} \end{sidebyside} 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{sidebyside} \setphonenumbers{country=US,area-code=place} \phonenumber{2125550123} \\ \phonenumber{4415550125} \\ \phonenumber{8005550126} \\ \phonenumber[trunk-prefix]{2125550123} \\ \phonenumber[foreign]{2125550123} \end{sidebyside} 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. \Optionsbeschreibung{trunk-prefix}{on,off}{off} 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{sidebyside} \setphonenumbers{country=US,trunk-prefix=on} \phonenumber{2125550123} \\ \phonenumber{4415550125} \\ \phonenumber[trunk-prefix=off]{2125550123} \\ \phonenumber[foreign]{2125550123} \end{sidebyside} \end{Befehlsliste} \UeberschriftUngueltig \WarnungWenn \begin{itemize} \item a number does not have exactly 7 or 10 digits, \item a ten-digit number does not contain a valid area code, \item the central office code begins with 0 or 1, \item the central office code of a geographic number ends with 11, \item the central office code of a non-geographic number is 911. \end{itemize} \chapter{Technical Remarks} The \phone\ package uses the \Paket{ltxcmds} package as well as the \LaTeX\ 3 package \Paket{l3keys2e}. Hyphens within phone numbers are realized by \verbcode:\kern1pt-\kern1pt:, \ie\ they are typeset with an additional distance of 1 point from the surrounding digits. The same goes for slashes too, which are output as \verbcode:\kern1pt\slash\kern1pt:, allowing a line break after the slash. After a plus sign an additional distance is inserted as well (\verbcode:+\kern1pt:). The structuring of German, Austrian, French, British, and unsupported numbers is done by small spaces \verbcode:\,:. The \Paket{hyperref} command \cs{href} is used to link phone numbers. If \Paket{hyperref} is loaded, the command \verbcode:\phonenumber{0441654321}: will be expanded to \begin{center} \verbcode=\href{tel:+49441654321}{04\,41\kern1pt\slash\kern1pt65\,43\,21}=\,. \end{center} \appendix \setlength{\columnseprule}{0pt} \bgroup \small \raggedright \printbibliography[heading=bibnumbered] \egroup \chapter{German Area Codes} \UeberschriftOrtsvorwahlen \begin{multicols}{2} \Schmalschrift \AreaCodesGeographic[country=DE] \end{multicols} \Quelle \cite{BNA-ortsvorwahlen} \UeberschriftSondervorwahlen \begin{multicols}{2} \Schmalschrift \AreaCodesNonGeographic[country=DE] \end{multicols} \Quellen \cite[3--5]{BNA-nummernplan}, \cite{BNA-mobil}, \cite{BNA-0137}, \cite{BNA-01801}, \cite{BNA-01806} \chapter{Austrian Area Codes} \UeberschriftOrtsvorwahlen \begin{multicols}{2} \Schmalschrift \AreaCodesGeographic[country=AT] \end{multicols} \Quellen \cite{RTR-Liste}, \cite{wikipedia-AT} \UeberschriftSondervorwahlen \begin{multicols}{2} \Schmalschrift \AreaCodesNonGeographic[country=AT] \end{multicols} \Quellen \cite{RTR-Liste}, \cite{wikipedia-AT} \chapter{French Area Codes} \label{vorwahlen-FR} \UeberschriftRegionalvorwahlen \bgroup \Schmalschrift \AreaCodesGeographic[country=FR] \egroup \Quellen \cite[14\psq]{ARCEP}, \cite{wikipedia-FR-fr}, \cite{wikipedia-FR-de} \UeberschriftSondervorwahlen \bgroup \Schmalschrift \AreaCodesNonGeographic[country=FR] \egroup \Quellen \cite[17--25]{ARCEP}, \cite{wikipedia-FR-fr}, \cite{wikipedia-FR-de} \chapter{British Area Codes} \UeberschriftOrtsvorwahlen \begin{multicols}{2} \Schmalschrift \AreaCodesGeographic[country=UK] \end{multicols} \Quellen \cite{Ofcom-plan}, \cite{UK-area-codes} \UeberschriftSondervorwahlen \begin{multicols}{2} \Schmalschrift \AreaCodesNonGeographic[country=UK] \end{multicols} \Quellen \cite{Ofcom-plan}, \cite{Ofcom-numbering}, \cite{UK-area-codes} \chapter{Area codes of the North American Numbering Plan} \UeberschriftRegionalvorwahlen \begin{multicols}{2} \Schmalschrift \AreaCodesGeographic[country=US] \end{multicols} \Quellen \cite{NANPA-geographic}, \cite{NANPA-ten-years}, \cite{NANPA-not-yet} \UeberschriftSondervorwahlen \bgroup \Schmalschrift \AreaCodesNonGeographic[country=US] \egroup \Quellen \cite{NANPA-non-geographic}, \cite{NANPA-ten-years} \chapter{Valid Country Codes} \label{landeskennzahlen} \begin{multicols}{7} \Schmalschrift \noindent \CountryCodes \end{multicols} \Quelle \cite{ITU-164} \chapter{Version History} \small \begin{description} \item[1.0] \printdate{22.8.2016} \item[1.1] \printdate{6.11.2016} \begin{itemize} \item Linking of phone numbers with \Paket{hyperref} \item Introduction of the \option{home-area-code} option \item Addition of the mobile phone area codes of the French overseas territories \item Addition of the new North American area codes 332, 463, 564, 680, 726, 838, and 986 \end{itemize} \item[1.1.1] \printdate{13.11.2016} \begin{itemize} \item Error correction in the manual concerning the \option{home-area-code} option \end{itemize} \item[1.2] \printdate{5.3.2017} \begin{itemize} \item Introduction of the \option{home-country} option \item Use of the \option{home-country} option instead of \option{country} to set the country of the home area code \item Introduction of the \cs{CountryCodes} command \item Number input in the international format \item Rudimentary support of phone numbers from unsupported countries \item Additional distance (kerning) of 1 point before and after a slash as well as after a plus sign \item Addition of the new North American area codes 223 and 445 \end{itemize} \item[1.2.1] \printdate{12.3.2017} \begin{itemize} \item Permission for 9-digit German landline subscriber numbers with extension \item Bug fix in the package code \item Change of some file names \end{itemize} \item[2.0] \printdate{22.10.2017} \begin{itemize} \item Support of British and Austrian phone numbers \item Introduction of the \option{foreign-area-code-sep} option for the area code separator in numbers with country calling code \item Input of international numbers beginning with \code{00} \item Ignoring brackets, slashes und hyphens in the input \item Recognition of a hyphen in German and Austrian numbers as extension separator if an optional argument is missing \item Permission for up to 10-digit (instead of 8-digit) German landline subscriber numbers and up to 13-digit (instead of 12-digit) German landline numbers \item Permission for up to 14-digit (instead of 5- or 7-digit) German 019 numbers \item Permission for up to 14-digit (instead of 11-digit) German 0800 numbers \item Addition of the new North American area codes 279, 367, 640, 820, 833, and 879 \item Structuring of unsupported numbers in groups of two digits \end{itemize} \item[2.0.1] \printdate{3.12.2017} \begin{itemize} \item Slight improvement of the manual \end{itemize} \item[2.0.2] \printdate{2.1.2018} \begin{itemize} \item Error correction in the package code \end{itemize} \item[2.1] \printdate{5.8.2018} \begin{itemize} \item Permission for extensions in German MABEZ numbers (area code~01\,37\,X) \item Addition of the new German mobile phone area code 01\,55\,66 \item Addition of the new British mobile phone area codes 07307, 07308, 07309, 07310, 07311, and 07312 \item Removal of the British area codes 07007, 07571, 07643, and 07662 \item Addition of the new North American area codes 326, 521, 658, and 672 \item Removal of the North American area code 456 \end{itemize} \item[2.2] \printdate{18.8.2019} \begin{itemize} \item Making macros possible as command arguments \item Slight change of the warning messages \end{itemize} \item[2.3] \today \begin{itemize} \item Addition of the new German mobile phone area code 01\,50\,19 \item Removal of the German mobile phone area codes 01\,50\,20, 01\,50\,50, 01\,50\,80, 01\,55\,55 \item Taking into account French machine to machine numbers beginning with 07\,00 (including those from the overseas territories) having 14 or 13 digits \item Taking into account the numbers from the French overseas territories beginning with 09\,47 and 09\,76 \item Addition of the new British area codes 05604, 07354, 07355, 07357, 07359, 07360, 07361, 07362, 07363, 07364, and 0897 \item Removal of the British area code 07439 \item Addition of the new North American area codes 227, 274, 341, 368, 428, 447, 448, 464, 474, 523, 524, 525, 526, 572, 582, 656, 659, 689, 730, 742, 771, 826, 839, 840, 943, 945, and 948 \item Revision of the package code \end{itemize} \end{description} \end{document}