Eigene "Variable" wie author erstellen?

Redefinition von Makros, Definition eigener Befehle sowie neuer Umgebungen


Gast

Eigene "Variable" wie author erstellen?

Beitrag von Gast »

Hallo zusammen,

ich möchte gerne eine eigene "Variable" wie z.B. Author deklarieren. Ich finde dazu allerdings keinerlei Informationen bzw. keine genaue Angabe, was die author-Angabe z.B. aus der scrreprt Klasse ist. Ist das ein Kommando, ein Makro (ich weiß soviel, dass es schonmal kein Environment ist).

Ich hab versucht mir das über den newcommand-Befehl zu erstellen. Allerdings bekomme ich einen Fehler, wenn ich dann meinen Befehl vor begin{document} angebe.

Ich hab mir auch mal die scrrprt.cls angesehen, um dort irgendwelche Definitionen für z.B. subject zu suchen, habe aber leider nichts gefunden.

Was mich dann noch interessiert ist, wie ich dann später im Dokument auf diese "Variable" zugreifen kann. In der scrrprt.cls ist z.B. öfter die Ausgabe "@author" zu sehen, das wohl auf den Inhalt von author zurückgreift.

Ich bin dankbar für jeden Hinweis!

Benutzeravatar
KOMA
TeX-Entwickler
TeX-Entwickler
Beiträge: 2641
Registriert: Fr 4. Jul 2008, 17:28
Kontaktdaten:

Beitrag von KOMA »

Ich denke wir können Dir besser helfen, wenn Du angibst, was Du genau vor hast. Wenn Du beispielsweise eine Titelseite gestalten willst, dann könnte das titlepage-Projekt für Dich von Interesse sein.

Ansonsten sei darauf hingewiesen, dass es bei Text-Makros immer sinnvoll ist, diese erst nach \begin{document} anzugeben, weil erst dann alle Text-Anweisungen definiert sind.

Gast

Beitrag von Gast »

Ansonsten sei darauf hingewiesen, dass es bei Text-Makros immer sinnvoll ist, diese erst nach \begin{document} anzugeben, weil erst dann alle Text-Anweisungen definiert sind.
Was ist damit gemeint? Dass man ein Makro namens

Code: Alles auswählen

\newcommand{\Anmerkung}[1]{\marginpar{Anmerkung: #1}}
erst nach \begin{document} definiert, während das bei

Code: Alles auswählen

\newcommand{\Anmerkung}[1]{\marginpar{#1}}
unerheblich wäre? Das hörte sich nach einem Ratschlag für ein Anfängerlehrbuch an, den ich noch nirgendwo gelesen haben. Für sowas ist man als User natürlich immer dankbar!

Gast

Beitrag von Gast »

KOMA hat geschrieben:Ich denke wir können Dir besser helfen, wenn Du angibst, was Du genau vor hast. Wenn Du beispielsweise eine Titelseite gestalten willst, dann könnte das titlepage-Projekt für Dich von Interesse sein.

Ansonsten sei darauf hingewiesen, dass es bei Text-Makros immer sinnvoll ist, diese erst nach \begin{document} anzugeben, weil erst dann alle Text-Anweisungen definiert sind.
Danke erstmal für die Antwort. Konkret arbeiten wir an einer eigenen Dokumentenklasse für unsere internen Dokumentationen. Jede Dokumentatin hat dabei ein Titelblatt und eine extra Seite mit den Projektinformationen und den Dokumentationsinformationen, z.B. Version, Projektname, Art, etc. pp.

Für diese Angaben wollen wir die gleichen Bedingungen schaffen wie z.B. für author (soweit ich das jetzt immer gesehen habe, werden die Angaben wie Autor, Titel, Datum usw. immer vor begin{document} gemacht. Ist das nun korrekt oder nicht?).

Wie gesagt, ich habe mir schon die Standardklassen angesehen, konnte da aber nirgends eine Definition von Author usw. finden!

Danke & viele Grüße
Martin

Zwackelmann
Forum-Newbie
Forum-Newbie
Beiträge: 4
Registriert: Sa 24. Apr 2010, 08:55

Beitrag von Zwackelmann »

Hi,
eine Titelseite kannst du z.B. mit:

Code: Alles auswählen

\begin{titlepage}
	\author{Bert Meier} 
	\title{Der Titel} 
	\date{\today} 
	\maketitle
\end{titlepage}
(wenn das Datum in deutschem Format stehen soll, brauchst du noch das Paket german)

Wenn du deine Titelseite selbst gestalten willst, könntest du dir eine "Variable" erstellen, indem dir für alle Parameter, die du so brauchst Befehle der Form:

Code: Alles auswählen

\newcommand{\getAuthor}{undefined Author}
\newcommand{\setAuthor}[1]{\renewcommand{\getAuthor}{#1}}
erstellst.
Dann kannst du dir einen Befehl \mytitlepage erstellen, und über \getXXX alle relevanten Informationen auslesen.

Das Auslesen von Variablen über präfix@key kenne ich nur bei key-value paketen. z.B. keyvalue oder kvoptions.

Benutzeravatar
Stefan Kottwitz
Admin
Admin
Beiträge: 1997
Registriert: Di 8. Jul 2008, 00:39
Kontaktdaten:

Re: Eigene "Variable" wie author erstellen?

Beitrag von Stefan Kottwitz »

Hallo,
Anonymous hat geschrieben: Ich hab versucht mir das über den newcommand-Befehl zu erstellen. Allerdings bekomme ich einen Fehler, wenn ich dann meinen Befehl vor begin{document} angebe.
\newcommand ist schon richtig. Wenn Du einen Fehler erhältst, dann nenne ihn uns doch, damit wir nicht raten brauchen. Obendrein könntest Du Deine Definition zeigen, damit wir sagen können, wo der Fehler steckt.

Vor \begin{document} kannst Du keinen Text ausgeben. Du kannst \newcommand aufrufen und damit etwa \autor definieren, doch noch nicht \autor aufrufen, da das Textausgabe versuchen würde.
U.a. babel weist gewisse Textvariablen erst bei \begin{document} zu.

Viele Grüße,

Stefan

Antworten