Anzeige:
Ergebnis 1 bis 6 von 6

Thema: Sonderformatierung bei erstmaligem Vorkommen eines Worts

  1. #1
    Registrierter Benutzer
    Registriert seit
    12.05.2007
    Beiträge
    30

    Sonderformatierung bei erstmaligem Vorkommen eines Worts

    Hallo.

    Ich habe folgendes Automatisierungsanliegen:

    In meinen Texten habe ich es mir zur Gewohnheit gemacht, beim erstmaligen Auftreten eines Namens diesen mit

    Code:
    \textsc{Name}
    durch Kapitälchen zu kennzeichnen, bei jedem weiteren Auftreten dann nicht mehr, also etwa so:

    Albert EINSTEIN war ein theoretischer Physiker. Es lag Einstein nicht, nur formales Wissen zu erlernen, viel mehr regten ihn theoretisch-physikalische Denkprojekte an. Mit seiner Eigenwilligkeit eckte Einstein oftmals an.
    Angenommen, ich definiere mir einen Befehl \Einstein{}, der den Namen Einstein ausgibt. Wie kann ich erreichen, dass nur beim erstmaligen Aufruf des Befehls Kapitälchen verwendet werden?

    Über Tipps freut sich

    --gabber

  2. #2
    Registrierter Benutzer Avatar von bobmalaria
    Registriert seit
    28.11.2006
    Ort
    Düsseldorf
    Beiträge
    4.174
    hi,

    mit einem paket wie glossaries lässt sich meines wissens nach festlegen wie ein wort bei der ersten zitierung aussieht (\gladisplayfirst) einfach mal in die anleitung schauen.

    gruss
    Mein Ball ist umgefallen

  3. #3
    ctansearch
    Gast
    Hallo,
    wenn Du es selbst verfolgst, wann ein Name zuerst auftaucht, dann genügt

    \newcommand{\first}[1]{\textsc{#1}}

    Aufruf durch \first{Einstein}.

    Die Formatierung \textsc kannst Du später beliebig ändern, sie wird im gesamten Text wirksam.

  4. #4
    Registrierter Benutzer
    Registriert seit
    09.08.2007
    Beiträge
    103
    Probiers damit mal:

    Code:
    \newcommand{\Einstein}{\textsc{Einstein}\renewcommand{\Einstein}{Einstein}}

  5. #5
    Registrierter Benutzer Avatar von sommerfee
    Registriert seit
    02.07.2006
    Beiträge
    1.603
    Zitat Zitat von slowfox Beitrag anzeigen
    Probiers damit mal:
    Code:
    \newcommand{\Einstein}{\textsc{Einstein}\renewcommand{\Einstein}{Einstein}}
    Klappt nur, wenn das erste Auftreten außerhalb einer Umgebung ist. IMHO daher besser:

    Code:
    \newcommand\Einstein{\textsc{Einstein}\gdef\Einstein{Einstein}}
    bzw.

    Code:
    \newcommand\Einstein{%
      \textsc{Einstein}\xspace
      \gdef\Einstein{Einstein\xspace}}
    (benötigt das xspace-Paket)

    Liebe Grüße,
    Axel

  6. #6
    Registrierter Benutzer
    Registriert seit
    12.05.2007
    Beiträge
    30
    Hallo, Axel,

    vielen Dank, deine Lösung funktioniert ausgezeichnet!

    Grüße

    gabber

Stichworte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •