Variable in Latex nutzen
Hallo, um mir Schreibarbeit zu sparen, versuche ich mir fuer meine Latex-Dateien immer newcommands zu definieren. Folge funktioniert wie gewuenscht, d.h. ich kann im Text schreiben \G{tgl. 9--17~Uhr}: \makeatletter \newcommand{\G}[1]{% \textsf{% für serifenlos Geöffnet\ {#1}% Das Argument als Öffnungszeit }\ % Ein normalgroßes Leerzeichen, % wichtig bei nonfrenchspacing % \ignorespaces % Keine weiteren Leerzeichen ausgeben. } \makeatother Der folgende abgewandelte Code funktioniert aber nicht mehr, wenn ich schreiben will \geb 1950: \makeatletter \newcommand{\geb}[1]{% (\textasteriskcentered {#1})% } \makeatother Dann erhalte ich im Text ein (* 1)950. Mit \makeatletter \newcommand{\geb}[4]{% (\textasteriskcentered {#1#2#3#4})% } \makeatother funktioniert es, aber nur bei vierstelligen Jahreszahlen. Bei drei Stellen landet die vierte hinter der Klammer. Im Prinzip ist mir schon klar, dass der Unterschied in den fehlenden geschweiften Klammern liegt. Die kann ich natuerlich schreiben, aber eigentlich kann ich mir nicht vorstellen, dass es nicht auch anders gehen sollte. Beste Gruesse, Heinz. -- Reisefuehrer Bulgarien u.a: http://www.erlebnis-bulgarien.de Reiseberichte Osteuropa: http://www.pahlke-online.de Barrierefreies Webdesign: http://www.Pahlke-KunstWebDesign.de
Hallo, Am Mon, 09 Okt 2006, Heinz W. Pahlke schrieb:
Der folgende abgewandelte Code funktioniert aber nicht mehr, wenn ich schreiben will \geb 1950:
\makeatletter \newcommand{\geb}[1]{% (\textasteriskcentered {#1})% } \makeatother
Dann erhalte ich im Text ein (* 1)950.
Na klar, \geb frisst nur ein Argument. Und das ist eben die 1.
\makeatletter \newcommand{\geb}[4]{% (\textasteriskcentered {#1#2#3#4})% } \makeatother
funktioniert es, aber nur bei vierstelligen Jahreszahlen. Bei drei Stellen landet die vierte hinter der Klammer.
Im Prinzip ist mir schon klar, dass der Unterschied in den fehlenden geschweiften Klammern liegt. Die kann ich natuerlich schreiben, aber eigentlich kann ich mir nicht vorstellen, dass es nicht auch anders gehen sollte.
Es geht anders, aber nur sehr kompliziert. Man muesste jedes Zeichen bis zu einer nicht-Ziffer lesen. Verwende bitte \geb{1950} wie bei den meisten anderen Befehlen eben auch. -dnh -- "Napoleon trug immer Rot, damit seine Soldaten nicht sehen konnten, wenn er verwundet wurde. Die Nazis trugen braune Hosen..." -- unbekannt
Hallo, On 10-Oct-2006 David Haller wrote:
Am Mon, 09 Okt 2006, Heinz W. Pahlke schrieb:
Der folgende abgewandelte Code funktioniert aber nicht mehr, wenn ich schreiben will \geb 1950:
\makeatletter \newcommand{\geb}[1]{% (\textasteriskcentered {#1})% } \makeatother
Dann erhalte ich im Text ein (* 1)950.
Na klar, \geb frisst nur ein Argument. Und das ist eben die 1.
Das habe ich mir auch schon gedacht, deswegen auch der folgende Versuch.
\makeatletter \newcommand{\geb}[4]{% (\textasteriskcentered {#1#2#3#4})% } \makeatother
funktioniert es, aber nur bei vierstelligen Jahreszahlen. Bei drei Stellen landet die vierte hinter der Klammer.
Im Prinzip ist mir schon klar, dass der Unterschied in den fehlenden geschweiften Klammern liegt. Die kann ich natuerlich schreiben, aber eigentlich kann ich mir nicht vorstellen, dass es nicht auch anders gehen sollte.
Es geht anders, aber nur sehr kompliziert. Man muesste jedes Zeichen bis zu einer nicht-Ziffer lesen. Verwende bitte \geb{1950} wie bei den meisten anderen Befehlen eben auch.
Ist ja auch kein Problem. Aber es haette ja sein koennen, dass es eine ganz simple Loesung gibt, auf die ich bloss nicht selbst komme. Ein Forschungsprojekt will ich fuer mich daraus jedenfalls nicht machen. Beste Gruesse, Heinz. -- Reisefuehrer Bulgarien u.a: http://www.erlebnis-bulgarien.de Reiseberichte Osteuropa: http://www.pahlke-online.de Barrierefreies Webdesign: http://www.Pahlke-KunstWebDesign.de
Heinz W. Pahlke schrieb:
Hallo,
On 10-Oct-2006 David Haller wrote:
Am Mon, 09 Okt 2006, Heinz W. Pahlke schrieb:
Der folgende abgewandelte Code funktioniert aber nicht mehr, wenn ich schreiben will \geb 1950:
\makeatletter \newcommand{\geb}[1]{% (\textasteriskcentered {#1})% } \makeatother
Dann erhalte ich im Text ein (* 1)950.
Na klar, \geb frisst nur ein Argument. Und das ist eben die 1.
Das habe ich mir auch schon gedacht, deswegen auch der folgende Versuch.
\makeatletter \newcommand{\geb}[4]{% (\textasteriskcentered {#1#2#3#4})% } \makeatother
funktioniert es, aber nur bei vierstelligen Jahreszahlen. Bei drei Stellen landet die vierte hinter der Klammer.
Im Prinzip ist mir schon klar, dass der Unterschied in den fehlenden geschweiften Klammern liegt. Die kann ich natuerlich schreiben, aber eigentlich kann ich mir nicht vorstellen, dass es nicht auch anders gehen sollte.
Es geht anders, aber nur sehr kompliziert. Man muesste jedes Zeichen bis zu einer nicht-Ziffer lesen. Verwende bitte \geb{1950} wie bei den meisten anderen Befehlen eben auch.
Ist ja auch kein Problem. Aber es haette ja sein koennen, dass es eine ganz simple Loesung gibt, auf die ich bloss nicht selbst komme. Ein Forschungsprojekt will ich fuer mich daraus jedenfalls nicht machen.
Beste Gruesse,
Heinz.
Falls den Argument immer mit ein und dasselbe Zeichen folgt oder darauf endet, kannst du es auf mit der schlichte TeX-Variante versuchen: \def\fct#1.{% hier das, was mit dem auf "." endenden Argument geschehen soll } Leider ist in der Regel derart einheitliche Begrenzung nicht sichergestellt. Uwe
Hallo, On 10-Oct-2006 Uwe Diederich wrote:
Falls den Argument immer mit ein und dasselbe Zeichen folgt oder darauf endet, kannst du es auf mit der schlichte TeX-Variante versuchen:
\def\fct#1.{% hier das, was mit dem auf "." endenden Argument geschehen soll }
Leider ist in der Regel derart einheitliche Begrenzung nicht sichergestellt.
Eben, das ist es. Naja, die beiden Klammern sind ja nun wirklich nicht das Problem. Es waere nur nett gewesen. Beste Gruesse, Heinz. -- Reisefuehrer Bulgarien u.a: http://www.erlebnis-bulgarien.de Reiseberichte Osteuropa: http://www.pahlke-online.de Barrierefreies Webdesign: http://www.Pahlke-KunstWebDesign.de
participants (3)
-
David Haller
-
Heinz W. Pahlke
-
Uwe Diederich