Seite 1 von 1
Eigene "Variable" wie author erstellen?
Verfasst: So 18. Apr 2010, 22:36
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!
Verfasst: Mo 19. Apr 2010, 08:34
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.
Verfasst: Mo 19. Apr 2010, 10:29
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
\newcommand{\Anmerkung}[1]{\marginpar{Anmerkung: #1}}
erst nach \begin{document} definiert, während das bei
\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!
Verfasst: Mo 19. Apr 2010, 13:06
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
Verfasst: Sa 24. Apr 2010, 12:05
von Zwackelmann
Hi,
eine Titelseite kannst du z.B. mit:
\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:
\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.
Re: Eigene "Variable" wie author erstellen?
Verfasst: Sa 24. Apr 2010, 14:34
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