Google 网上论坛不再支持新的 Usenet 帖子或订阅项。历史内容仍可供查看。

Generisches Markup für Telefonnummern?

已查看 58 次
跳至第一个未读帖子

Plamen Tanovski

未读,
2000年8月29日 03:00:002000/8/29
收件人
Hallo!

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

Oliver Jennrich

未读,
2000年8月29日 03:00:002000/8/29
收件人
* 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?

--
Oliver Jennrich JILA, University of Colorado at Boulder

Gravity. It's not just a good idea, it's the law!

Heiko Oberdiek

未读,
2000年8月29日 20:22:302000/8/29
收件人
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.
>

>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

未读,
2000年8月30日 00:39:052000/8/30
收件人
Oliver Jennrich <oliver....@colorado.edu> wrote:

>* 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>

Holger Uhr

未读,
2000年8月30日 03:00:002000/8/30
收件人
Heiko Oberdiek schrieb:

>
> Oliver Jennrich <oliver....@colorado.edu> wrote:
>
> >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 :-(
>

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.

Gernot Katzer

未读,
2000年8月30日 03:00:002000/8/30
收件人
Oliver Jennrich wrote:
>
>
> Sag mal Heiko, ich frag mich schon seit längerem: Träumst Du schon in
> TeX?

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

Plamen Tanovski

未读,
2000年8月30日 03:00:002000/8/30
收件人
Hi,

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ß.

Heiko Oberdiek

未读,
2000年8月30日 03:00:002000/8/30
收件人
Plamen Tanovski <ptan...@nikocity.de> wrote:

>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>

Ralf Soergel

未读,
2000年8月30日 03:00:002000/8/30
收件人
Heiko Oberdiek <ober...@ruf.uni-freiburg.de> writes:

> 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

Nico Hoffmann

未读,
2000年8月30日 03:00:002000/8/30
收件人
"Ralf Soergel" <ralf.s...@t-online.de> meint:

>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/

Dirk Vetter

未读,
2000年8月31日 03:55:132000/8/31
收件人
Ralf Soergel <ralf.s...@t-online.de> wrote:
[Telefonnummern]
: Jetzt fehlt doch eigentlich nur noch das Telefonsymbol wie es manchmal

: auf Firmenbögen oder Visitenkarten zu finden ist.
: Gibt's das irgendwo?

\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/

0 个新帖子