PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Sonderformatierung bei erstmaligem Vorkommen eines Worts



gabber
19-07-2010, 22:43
Hallo.

Ich habe folgendes Automatisierungsanliegen:

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


\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

bobmalaria
19-07-2010, 22:51
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

ctansearch
19-07-2010, 23:52
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.

slowfox
20-07-2010, 08:49
Probiers damit mal:


\newcommand{\Einstein}{\textsc{Einstein}\renewcomm and{\Einstein}{Einstein}}

sommerfee
20-07-2010, 09:34
Probiers damit mal:

\newcommand{\Einstein}{\textsc{Einstein}\renewcomm and{\Einstein}{Einstein}}

Klappt nur, wenn das erste Auftreten außerhalb einer Umgebung ist. IMHO daher besser:



\newcommand\Einstein{\textsc{Einstein}\gdef\Einste in{Einstein}}


bzw.



\newcommand\Einstein{%
\textsc{Einstein}\xspace
\gdef\Einstein{Einstein\xspace}}


(benötigt das xspace-Paket)

Liebe Grüße,
Axel

gabber
20-07-2010, 10:39
Hallo, Axel,

vielen Dank, deine Lösung funktioniert ausgezeichnet!

Grüße

gabber