Ich habe meine Präambel in eine Style-Datei (*.sty) ausgelagert. Nun möchte ich aber von meinem Dokument einen dynamischen Wert an die Style-Datei übergeben. In meinem Fall ist es ein Text für die Kopfzeile (für \ohead).

Minimalbeispiel Style-Datei (BadG.sty):

Öffne in Overleaf
Code, hier editierbar zum Übersetzen:
\ProvidesPackage{BadG}[2017/11/03 0.1 Paket XY]
\ProcessOptions\relax
\RequirePackage[utf8]{inputenc}
\RequirePackage[T1]{fontenc}
\RequirePackage[ngerman]{babel}
\RequirePackage[automark,
headsepline,ilines]{scrpage2}
\pagestyle{scrheadings}
\ihead{Bericht zum Antrag auf Verhaltenstherapie}
\chead{}
\ohead{Pat.-Chiffre: X123456}
\ifoot{}
\cfoot{}
\ofoot{\pagemark}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Minimalbeispiel Hauptdokument

Öffne in Overleaf
Code, hier editierbar zum Übersetzen:
\documentclass[11pt,oneside]{scrartcl}
\usepackage{BadG}
\begin{document}
Ich möchte gern, dass in meinem Dokument nicht "`X123456"' in der Kopfzeile steht, sondern ein Wert, den ich in meinem Hauptdokument festlege.
\end{document}
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

gefragt 17 Dez '17, 17:32

Andr%C3%A9's gravatar image

André
986262836
Akzeptiert-Rate: 33%

Du kannst ein ungeborenes Kind nicht taufen. Du kannst aber nach der Geburt den Namen problemlos ändern, sofern das Kind existiert.

(17 Dez '17, 17:52) Johannes

Du kannst in dem Paket einfach eine Anweisung nach dem Vorbild von \title etc. aus den Standardklassen definieren:

Öffne in Overleaf
Code, hier editierbar zum Übersetzen:
\begin{filecontents}{BadG.sty}
\ProvidesPackage{BadG}[2017/11/03 0.1 Paket XY]
\ProcessOptions\relax
\RequirePackage[utf8]{inputenc}
\RequirePackage[T1]{fontenc}
\RequirePackage[ngerman]{babel}
\RequirePackage[automark,
headsepline,ilines]{scrpage2}
\pagestyle{scrheadings}
\newcommand*{\@patchiffre}{%
\PackageWarning{BadG}{Pat.-Chiffre undefined}%
NoN%
}
\newcommand{\patchiffre}[1]{\def\@patchiffre{#1}}
\ihead{Bericht zum Antrag auf Verhaltenstherapie}
\chead{}
\ohead{Pat.-Chiffre: \@patchiffre}
\ifoot{}
\cfoot{}
\ofoot{\pagemark}
\end{filecontents}
\documentclass[11pt,oneside]{scrartcl}
\usepackage{BadG}
\patchiffre{Y78901234}
\begin{document}
Ich möchte gern, dass in meinem Dokument nicht "`X123456"' in der Kopfzeile steht, sondern ein Wert, den ich in meinem Hauptdokument festlege.
\end{document}
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Da du offenbar an den Umgang mit \newcommand noch nicht gewohnt bist, sei darauf hingewiesen, dass man bei eigenen Definitionen unbedingt auf unerwünschte Leerzeichen achten sollte! #1 ist übrigens der Platzhalter für das Argument, das an \patchiffre übergeben wird. Es sind max. 9 Argumente möglich. Eine alternative Schnittstelle zum Definieren neuer Anweisungen bietet xparse. Bei dessen Verwendung würde sich allerdings anbieten auch mit Attributen zu arbeiten, wie sie bei l3 üblich sind. Das wiederum ist eher etwas für Leute, die bereits Erfahrung mit TeX auf Low-Level-Ebene haben.

Falls du wissen willst, wie man das ganze als Option für das Paket lösen kann, sei auf Pakete wie scrbase oder kvoptions etc. hingewiesen. Bevor man sich daran macht, sollte man aber die Grundlagen verstanden haben.

Permanenter link

beantwortet 18 Dez '17, 08:13

gast3's gravatar image

gast3
(ausgesetzt)
Akzeptiert-Rate: 53%

bearbeitet 18 Dez '17, 08:18

Perfekt! Danke!

(18 Dez '17, 17:18) André
Deine Antwort
[Vorschau ausblenden]

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Frage-Themen:

×7
×3

gestellte Frage: 17 Dez '17, 17:32

Frage wurde gesehen: 5,737 Mal

zuletzt geändert: 18 Dez '17, 17:18

Willkommen, erstes Mal hier? Schau mal unter FAQ!

×