PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Zahlenformat



Snowman
21-09-2005, 17:41
hallo...

ich hätte gerne, das meine zahlen ab 1 000 in Latex an der tausenderstelle ein bischen platz haben. mir ist es aber zu umständlich immer tausenderzahlen so zu schreiben 8\,489 um einen kleinen platz nach der 8 zu bekommen.

kann mir jemand helfen?

countbela666
22-09-2005, 14:50
numprint.sty ist dein Helfer.

Grüße,
Marcel

Snowman
24-09-2005, 09:17
Hallo...
danke für die schnelle Hilfe, das erfüllt zwar seine Funktion, außer dass ich nun mehr zeichen eingeben muss.

\numprint{8576} um 8 576 darzustellen als vorher mit 8\,576

Es muss doch eine globale Vereinbarung geben, die Regelt wie die Zahlen dargestellt werden.

edico
24-09-2005, 09:45
schreib dir ein macro oder keine Tausender ;-)
%
\documentclass[12pt,a5paper]{article}
\usepackage{numprint}
\newcommand{\T}[1]{%
\numprint{#1}
}
\begin{document}
\Huge
\numprint{1008576} \par
1\,008\,576 \par
\T{1008576}
\end{document}
%
edico

rais
24-09-2005, 23:57
Moin,
ich weiss ja nicht, ob das Paket noch aktuell ist, aber da gibt´s comma, das man etwa so benutzen koennte (falls Du numprint nicht hast oder erst installieren willst ;)


\usepackage{comma}
\renewcommand{\commaformtoken}{\ }
\newcounter{ccnt}
\newcommand{\ctf}[1]{%
\setcounter{ccnt}{#1}%
\commaform{ccnt}%
}
%%%
\ctf{12345678}

sollte dann "12 345 678" ergeben.
Bei den beiden Commands musst Du nochmal comma selbst befragen, ob sie denn wirklich \commaform und \commaformtoken heissen (hab gerade kein LaTeX unter der Tastatur)

Ausserdem gibt´s noch "icomma", vielleicht klappt´s da ja mit globaler Einstellung? Schau´s Dir doch mal an :D
MfG,

Snowman
25-09-2005, 12:04
Morjen...

hie... keine tausender schreiben... :D

also das sind ja nen paar schöne Möglichkeiten, aber ich muss die Tausender-Zahlen immer noch in eine Umgebung setzen....das ist mir zu viel...

vielleicht sollte ich auch mit zwei Zeichen \, zufrieden sein um Tausender dar zu stellen...

Mir fällt grad ein ne globale Regelung die Tausender darzustellen würde wieder iene Ausnahme beinhalten...Jahreszahlen...

Naja vielleicht will ich zu viel von LaTeX...

Schönen Sonntag noch

etilli33
25-09-2005, 13:31
Genau das ist es halt: zunächst behandelt Latex Zahlen als ganz normale Zeichen. Du kannst nun natürlich, in Abhängigkeit von der Kodierung, wohl definieren, dass Zahlen, also die Zeichen von x bis y in deiner Kodierung, besonders behandelt werden, und dann das ganz in ein Paket schreiben, was dir noch zusätzlich den Abstand einbindet. Aber, wie du schon ganz recht schreibst, willst du das bei Jahreszahlen gar nicht. Es gibt wohl bisher kein Programm auf der Erde, das dir abnimmt, mitzuteilen, ob es sich nun um eine normale oder eine Jahreszahl handelt. Auch das währe natürlich über den Kontext möglich (also suchen: gibt es das Wort Jahr in der Umgebung), aber ich weiß nicht, ob Latex das kann.

Ich finde die Möglichkeit mit dem Makro gar nicht so schlecht, es sind zwei Zeichen mehr als du eintippen musst. ;-) Und du kannst sicher in deinem Editor ein Makro einrichten, das dies übernimmt, etwa bei Kile unter Linux mit Str-Shift und eine Zahl: da schreibst du dann bspw. \T{%C} rein, und immer wenn du diesen Shortcut ausführst, ist auch der cursor gleich zwischen den Klammern. Für TexnicCenter uä. sollte es in recht ähnlicher Weise auch Möglichkeiten geben.

Till

Edit: PS: Eine Umgebung in Latex sitzt zwischen \begin und \end, was du meinst ist ein Argument zu einem Makro/Befehl, das eben in geschweiften Klammern stehen muss, damit es als solches erkannt wird.

countbela666
25-09-2005, 14:19
Moin,

nur als kleine Bemerkung am Rande: mit der Paketoption [np] wird von numprint.sty schon eine Kurzversion des Befehls definiert, nämlich \np{...}. Aber der ist ja noch 'nen ganzen Buchstaben länger als das Makro... :D

Grüße,
Marcel

etilli33
27-09-2005, 09:15
Ich stelle der Vollständigkeit halber noch diesen Kommentar dazu, der vielleicht interessant ist. Das Paket comma gehört zur carlisle-Gruppe, ist m. W. in allen großen Distributionen dabei, die Beschreibung stammt aus der Readme (ftp://ftp.dante.de/tex-archive/macros/latex/contrib/carlisle/00readme.txt) -Datei.


comma.sty
Adds a new possibility for printing counter values in addition
to \arabic, \roman, etc.
\commaform inserts a comma every three digits, as in 12,345.
It may be easily customised to insert any other TeX command
(such as a thin space `\,') instead of a comma.

till

Snowman
27-09-2005, 09:57
Hi...

na das LaTeX für mich die Entscheidung fällt ob Jahreszahl oder nicht, dass stimmt, dass wäre schon ein bischen viel verlangt und ist auch so nicht gemeint gewesen. Ich meinte nur, dass wenn wie von mir gewünscht die Zahlen ohne Befehl mit Tausender-Trennzeichen geschrieben werden, so wie hier angedeutet.

Du kannst nun natürlich, in Abhängigkeit von der Kodierung, wohl definieren, dass Zahlen, also die Zeichen von x bis y in deiner Kodierung, besonders behandelt werden, und dann das ganz in ein Paket schreiben, was dir noch zusätzlich den Abstand einbindet.
Dann wäre die Diskusion über ein zwei Zeichen Überflüssig, da ich ja die Jahreszahlen wieder in ein Argument setzen mußte. (eins von beiden läßt sich eben nicht vermeiden)

Aber ich danke Euch für die vielen Antworten. Schau mir jetzt mal comma.sty an...

Snowman