Eine Telefonnummer oder eine Bankleitzahl korrekt in LaTeX einzugeben
ist etwas umständlich. Am Beispiel von units und abbrev suche ich nach
einem Makro, das die Angaben logisch auszeichnet, so nach der Art
\tel[Vorwahl]{Nummer}[Intern]
und dies dann mit den passenden Klammern und Leerstellen ausgibt.
Leider bin ich nicht soweit, es selbst in TeX zu programmieren, aber
vielleicht hat ja schon jemand eine fertige Lösung?
Gruß
P.
--
Less is a possibility
D. Coupland, Generation X
> Plamen Tanovski <ptan...@nikocity.de> wrote:
>> Leider bin ich nicht soweit, es selbst in TeX zu programmieren, aber
>> vielleicht hat ja schon jemand eine fertige Lösung?
> Ich verwende:
[snip]
Sag mal Heiko, ich frag mich schon seit längerem: Träumst Du schon in
TeX?
--
Oliver Jennrich JILA, University of Colorado at Boulder
Gravity. It's not just a good idea, it's the law!
>Eine Telefonnummer oder eine Bankleitzahl korrekt in LaTeX einzugeben
>ist etwas umständlich. Am Beispiel von units und abbrev suche ich nach
>einem Makro, das die Angaben logisch auszeichnet, so nach der Art
>
>\tel[Vorwahl]{Nummer}[Intern]
>
>und dies dann mit den passenden Klammern und Leerstellen ausgibt.
>
>Leider bin ich nicht soweit, es selbst in TeX zu programmieren, aber
>vielleicht hat ja schon jemand eine fertige Lösung?
Ich verwende:
%%% cut %%% telprint.sty %%% cut %%%
% telprint.sty
% Dokumentation am Ende der Datei
\ifx\telprint\UnDeFiNeD
% \fi in derselben Zeile wie \endinput oder \expandafter verwenden!
\else\endinput\fi
\message{Package `telprint' 1.3, 09.12.1997 %
Copyright (c) 1996, 1997 by Heiko Oberdiek.}
\ifx\DeclareRobustCommand\UnDeFiNeD
\def\DeclareRobustCommand*#1[1]{\def#1##1}
\def\TELreset{\let\DeclareRobustCommand=\UnDeFiNeD}
\immediate\write-1{Package `telprint' warning: %
Macros are not robust!}
\else
\let\TELreset=\relax
\fi
\DeclareRobustCommand*{\telspace}[1]{\def\TELspace{#1}}
\telspace{{}$\,${}}
\DeclareRobustCommand*{\telhyphen}[1]{\def\TELhyphen{#1}}
\telhyphen{\leavevmode\hbox{-}}% \hbox zur Verhinderung der Trennung
\newtoks\TELtoks
\def\TELnumber#1#2\TELnumberEND{%
\begingroup
\def\0{#2}%
\expandafter\endgroup
\ifx\0\empty
\TELtoks=\expandafter{\the\TELtoks#1}%
\ifnum\TELswitch=0
\def\TELx{\TELspace}\def\TELy{}%
\else
\def\TELx{}\def\TELy{\TELspace}%
\fi
\the\TELtoks
\else
\ifnum\TELswitch=0
\TELtoks=\expandafter{\the\TELtoks#1\TELx}%
\def\TELswitch{1}%
\else
\TELtoks=\expandafter{\the\TELtoks#1\TELy}%
\def\TELswitch{0}%
\fi
\TELnumber#2\TELnumberEND
\fi
}
\DeclareRobustCommand*{\telnumber}[1]{%
\TELtoks={}%
\def\TELswitch{0}%
\TELnumber#1{}\TELnumberEND
}
\def\TELsplit{\futurelet\TELfuture\TELdosplit}
\def\TELdosplit#1#2\TELsplitEND
{%
\def\TELsp{ }%
\expandafter\ifx\TELsp\TELfuture
\let\TELfuture=\relax
\expandafter\telnumber\expandafter{\the\TELtoks}~%
\telprint{#1#2}% Das Leerzeichen kann nicht #1 sein!
\else
\def\TELfirst{#1}%
\ifx\TELfirst\empty
\expandafter\telnumber\expandafter{\the\TELtoks}%
\TELtoks={}%
\else\if-\TELfirst
\expandafter\telnumber\expandafter{\the\TELtoks}\TELhyphen
\telprint{#2}%
\else\if/\TELfirst
\expandafter\telnumber\expandafter{\the\TELtoks}#1%
\telprint{#2}%
\else\if(\TELfirst
\expandafter\telnumber\expandafter{\the\TELtoks}#1%
\telprint{#2}%
\else\if)\TELfirst
\expandafter\telnumber\expandafter{\the\TELtoks}#1%
\telprint{#2}%
\else\if+\TELfirst
\expandafter\telnumber\expandafter{\the\TELtoks}#1%
\telprint{#2}%
\else\def\TELtilde{~}\ifx\TELtilde\TELfirst
\expandafter\telnumber\expandafter{\the\TELtoks}#1%
\telprint{#2}%
\else
\TELtoks=\expandafter{\the\TELtoks#1}%
\TELsplit#2{}\TELsplitEND
\fi\fi\fi\fi\fi\fi\fi
\fi
}
\DeclareRobustCommand*{\telprint}[1]{%
\TELtoks={}%
\TELsplit#1{}\TELsplitEND
}
\TELreset\let\TELreset=\UnDeFiNeD
\endinput
% _History_
% * Version 1.3 vom 09.12.1997
% - Temporaere Variable eingespart.
% * Version 1.2 vom 16.10.1997
% - Schutz vor wiederholtem Einlesen.
% - Unter LaTeX2e Nutzung des \DeclareRobustCommand-Features.
% * Version 1.1 vom 16.09.1997
% - Dokumentation und Kommentare (Posting in de.comp.text.tex).
% - Erweiterung um Sonderzeichen '(', ')', '+', '~' und ' '.
% - Trennungsverhinderung am "hyphen".
% * Version 1.0 vom 28.11.1996
% - Erste lauffaehige Version.
% - Nur '-' und '/' als zulaessige Sonderzeichen.
%
% _Dokumentation_
% * \telprint#1
% Der eigentliche Anwenderbefehl zur formatierten Ausgabe von
% Telefonnummern. Diese duerfen dabei nur als Zahlen angegeben
% werden(, da sie tokenweise analysiert werden).
% Als Trenn- oder Sonderzeichen werden unterstuetzt:
% '+', '/', '-', '(', ')', '~', ' '
% Einfache Leerzeichen werden erkannt und durch Tilden ersetzt, um
% Trennungen in der Telefonnummer zu verhindern. (Man beachte aus
% gleichem Grunde die \hbox bei '-'.)
% Beispiele:
% \telprint{0761/12345} ==> 07\,61/1\,23\,45
% \telprint{01234/567-89} ==> 0\,12\,34/5\,67-89
% \telprint{+49 (6221) 29766} ==> +49~(62\,21)~2\,97\,66
%
% Der Rest enthaelt eher Technisches:
% * \telspace#1
% Mit diesem Befehl wird der Abstand zwischen den Zifferngruppen
% angegeben (Default: \,).
% (Durch \telspace{} kann dieser zusaetzliche Abstand abgestellt
% werden.)
% * \telhyphen#1
% Dieser Befehl gibt die Art des Bindestriches, wie er ausgegeben
% werden soll. In der Eingabe darf jedoch nur der einfache
% Bindestrich stehen:
% \telprint{123-45}, jedoch NIE \telprint{123--45}!
% Kopka-Bindestrich-Fans geben an:
% \telhyphen{\leavevmode\hbox{--}}
% * \telnumber#1
% Richtung interner Befehl: Er dient dazu, eine Zifferngruppe
% in Zweiergruppen auszugeben.
% Die einzelnen Zahlen werden im Tokenregister \TELtoks
% gespeichert. Abwechselnd werden dabei zwischen zwei Token
% (Zahlen) \TELx bzw. \TELy eingefuegt, abhaengig von dem
% wechselnden Wert von \TELswitch. Zum Schluss kann dann einfach
% festgestellt werden ob die Nummer nun eine geradzahlige oder
% ungeradzahlige Zahl von Ziffern aufwies. Dem entsprechend wird
% \TELx mit dem Zusatzabstand belegt und \TELy leer definiert
% oder umgekehrt. )
% * \TEL... interne Befehle, Technisches:
% \TELsplit dient zur Aufteilung einer zusammengesetzten
% Telefonnummer (Vorwahl, Hauptnummer, Nebenstelle). In dieser
% Implementation werden als Trennzeichen nur '/' und '-' erkannt.
% Die einzelnen Bestandteile wie Vorwahl werden dann dem Befehl
% \telnumber zur Formatierung uebergeben.
% * Die Erkennung von einfachen Leerzeichen ist um einiges
% schwieriger: Die Tokentrennung ueber Parameter #1#2 funktioniert
% nicht fuer einfache Leerzeichen, da TeX sie _niemals_ als
% eigenstaendige Argumente behandelt!!! (The TeXbook, Chapter 20,
% p. 201)
% (Anmerkung am Rande: Deshalb funktionieren die entsprechenden
% Tokenmakros auf S. 149 des Buches "Einfuehrung in TeX" von
% N. Schwarz (3. Aufl.) nicht, wenn im Tokenregister als erstes
% ein einfaches Leerzeichen steht!)
%
%%% cut %%% telprint.sty %%% cut %%%
Viele Gruesse
Heiko <ober...@ruf.uni-freiburg.de>
>* Heiko Oberdiek writes:
>
>> Plamen Tanovski <ptan...@nikocity.de> wrote:
>
>>> Leider bin ich nicht soweit, es selbst in TeX zu programmieren, aber
>>> vielleicht hat ja schon jemand eine fertige Lösung?
>
>> Ich verwende:
>
>[snip]
>
>Sag mal Heiko, ich frag mich schon seit längerem: Träumst Du schon in
>TeX?
Klar doch: ;-)
* zum Einschlafen verwende ich \relax,
* beim Schaefchenzaehlen denke ich \stepcounter,
* Alptraeume beginnen mit "! ...", wie
"! Undefined control sequence",
* und leider bleibt ein TeX-Debugger nur
auf das Reich der Traeume beschraenkt :-(
Viele Gruesse
Heiko <ober...@ruf.uni-freiburg.de>
ROTFLMAO!
Gruß,
Holger
--
| Holger Uhr
| Universität-GH Paderborn Phone : +49 5251 60-6623
| Fürstenallee 11 Fax : +49 5251 60-6619
| 33102 Paderborn E-Mail: mailto:hu...@upb.de
| Germany http://www.upb.de/cs/Holger.Uhr.html
| How to become immortal: Read this signature tomorrow
| and follow its advice.
Es gibt vieles, was man in TeX machen kann ...
\date \everyjob\protect \leavevmode \lower\body \insert\active\fill \eject \relax \bye
--
Gernot Katzer
Alles ueber Gewuerze im Web: http://www-ang.kfunigraz.ac.at/~katzer/germ
und vielen Dank für die nützlichen Zeilen. Das Makro funktioniert
ausgezeichnet.
Die Möglichkeit, den Schrägstrich als Trennzeichen zu verwenden
irritiert mich ein wenig. Im Duden zumindest ist nur von Klammern die
Rede.
Gruß.
>Die Möglichkeit, den Schrägstrich als Trennzeichen zu verwenden
>irritiert mich ein wenig. Im Duden zumindest ist nur von Klammern die
>Rede.
Ich persoenlich verwende keine Klammern und ziehe
die Schraegstrich-Variante vor.
In der naechsten Version fuege ich einen Abstand nach
der schliessenden Klammer ein und implementiere auch
die Duden-Schweiz-Variante.
Viele Gruesse
Heiko <ober...@ruf.uni-freiburg.de>
> Plamen Tanovski <ptan...@nikocity.de> wrote:
>
> >Eine Telefonnummer oder eine Bankleitzahl korrekt in LaTeX einzugeben
> >ist etwas umständlich. Am Beispiel von units und abbrev suche ich nach
> >einem Makro, das die Angaben logisch auszeichnet, so nach der Art
> >
> >\tel[Vorwahl]{Nummer}[Intern]
> >
> >und dies dann mit den passenden Klammern und Leerstellen ausgibt.
> Ich verwende:
[ snip ]
Jetzt fehlt doch eigentlich nur noch das Telefonsymbol wie es manchmal
auf Firmenbögen oder Visitenkarten zu finden ist.
Gibt's das irgendwo?
Gruß Ralf
--
Linux is like a wigwam: no Windows, no Gates, Apache inside
>Heiko Oberdiek <ober...@ruf.uni-freiburg.de> writes:
>Jetzt fehlt doch eigentlich nur noch das Telefonsymbol wie es manchmal
>auf Firmenbögen oder Visitenkarten zu finden ist.
>Gibt's das irgendwo?
\usepackage{pifont}
\ding{37}
N.
--
Gewalt ist asozial. |
Rechte Gewalt ist dumm und asozial. | http://home.pages.de/~beethoven/
\usepackage{wasysym}
Und dann einfach \phone.
(Benötigt die wasy-Fonts, die sind aber z.B. bei tetex schon dabei.)
Dirk
--
Homepage, PGP: http://www.stud.uni-siegen.de/dirk.vetter/