Namen einer Referenz dynamisch in Code einfügen

Fragen und Probleme, die nicht den obigen Kategorien zugeordnet werden können


Seban
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 89
Registriert: Do 10. Jan 2013, 13:31

Namen einer Referenz dynamisch in Code einfügen

Beitrag von Seban »

Hallo,

Im Dokument, das ich gerade bearbeite, existieren mehrere Anhänge mit Pagestyles, die sich jetzt nur noch durch die Angabe der Seitenzahl (in der Form 'Seite X von Y') unterscheiden. Alle anderen Angaben konnte ich durch dynamische* Befehle wie \thepage, \thepart etc. automatisieren.

Wenn ich jetzt noch die Ausgabe des Y automatisieren könnte, würde ich nicht mehr für jeden Anhang den Pagestyle vorgeben müssen, sondern dieser wäre für alle Anhänge gleich (im Code; im Dokument unterscheiden sie sich ja aufgrund der dynamischen Befehle).

Die Ausgabe der "von-Seite" Y realisiere ich momentan mit \label am Ende der Anhänge und entsprechend einem \pageref im Pagestyle, hier ein Bsp.:
\fancypagestyle{Anhang_A}{
	\fancyhf{}
	
	% Kopfzeile
	\fancyhead[L]{
		\fontsize{12pt}{15pt}
		\selectfont
			\begin{tabular}[b]{l}
				% ...
				Anhang {\thepart}, Seite {\thepage} von {\pageref*{Anhang_A_Ende}}
			\end{tabular}
	}

	% ...
}
Ideal wäre aus meiner Sicht, wenn man den Begriff Anhang_A_Ende durch etwas der Art Anhang_\thepart_Ende ersetzen könnte oder wenn man irgendwie abfragen könnte, welcher Begriff ( Anhang_A_Ende, Anhang_B_Ende, ...) abh. vom aktuellen Part (\thepart) eingesetzt werden soll.

Ist so etwas in Latex möglich oder gibt es andere Möglichkeiten so etwas zu implementieren?

Beste Grüße & Dank,
Seban


* Ich hoffe dynamisch ist der richtige Begriff oder zumindest eine verständliche Umschreibung. [/code]

Benutzeravatar
Johannes_B
Moderator
Moderator
Beiträge: 5079
Registriert: Do 1. Nov 2012, 14:55
Kontaktdaten:

Beitrag von Johannes_B »

Du kannst part umdefinieren, sodass der Aufruf ein label vor sich selbst einfügt. Allerdings, warum?
TeXwelt - Fragen und Antworten Schaut vorbei und stellt Fragen.
LaTeX-Vorlagen?

Der Weg zum Ziel: Ruhe bewahren und durchatmen, Beiträge und unterstützende Links aufmerksam lesen, Lösungsansätze verstehen und ggf. nachfragen.

Seban
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 89
Registriert: Do 10. Jan 2013, 13:31

Beitrag von Seban »

Danke für deine Hilfe, Johannes.

So müsste man nicht mehr für jeden Teil des Anhangs den Pagestyle angeben, sondern nur noch ein mal vor den Anhängen. Je Pagestyle sind es ~30 Zeilen Code, das vier mal. Würde also auch ein wenig zur Übersichtlichkeit (oder zumindest Größe) der Layout-Datei beitragen.
Sind das aus Sicht eines Latex-Profis Gründe Befehle umzudefinieren oder schieße ich hier mit Kanonen auf Spatzen?

Zu guter Letzt hatte es mich auch einfach interessiert, ob und wie es möglich sein könnte.

Benutzeravatar
Johannes_B
Moderator
Moderator
Beiträge: 5079
Registriert: Do 1. Nov 2012, 14:55
Kontaktdaten:

Beitrag von Johannes_B »

LaTeX ist eine makro Sprache, du kannst die Befehle so oft umdefinieren, wie du möchtest. Allerdings noch mal die Frage. Wie erkennt der Leser, wo er nachlesen muss, wenn irgendwo steht: »Wie auf Seite 12 zu sehen ist ...«
TeXwelt - Fragen und Antworten Schaut vorbei und stellt Fragen.
LaTeX-Vorlagen?

Der Weg zum Ziel: Ruhe bewahren und durchatmen, Beiträge und unterstützende Links aufmerksam lesen, Lösungsansätze verstehen und ggf. nachfragen.

Seban
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 89
Registriert: Do 10. Jan 2013, 13:31

Beitrag von Seban »

Danke Johannes.
Johannes_B hat geschrieben:Allerdings noch mal die Frage. Wie erkennt der Leser, wo er nachlesen muss, wenn irgendwo steht: »Wie auf Seite 12 zu sehen ist ...«
Indem er auf Seite 12 wechselt.

Die Seitennummerierung sieht so aus:
Haupteil: S.1 bis X
Haupt-Deckblatt zum Anhang: ohne Seitenangabe
TOC zum Anhang: ohne Seitenangabe
Deckblatt zu Anhang A: ohne Seitenangabe
Anhang A: S. A1 bis An
Deckblatt zu Anhang B: ohne Seitenangabe
Anhang B: S. B1 bis Bn
Deckblatt zu Anhang C: ohne Seitenangabe
Anhang C: S. C1 bis Cn
Deckblatt zu Anhang D: ohne Seitenangabe
Anhang D: S. D1 bis Dn

Benutzeravatar
Johannes_B
Moderator
Moderator
Beiträge: 5079
Registriert: Do 1. Nov 2012, 14:55
Kontaktdaten:

Beitrag von Johannes_B »

kleines Bastelprojekt!
Meine Expertise auf diesem Gebiet reicht bei weitem nicht aus. Momentan bin ich mir nicht sicher, ob der addtocounter nach dem finalen clearpage in \end{document} obligatorisch ist, oder nur ein Relikt ungenügenden Testens.
\documentclass{scrreprt}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}

\usepackage{scrlayer-scrpage}
\usepackage{blindtext}
\usepackage{showframe}
\usepackage{xpatch,scrlfile}
\makeatletter
\apptocmd{\appendix}{
	\setcounter{part}{0}
\newcommand{\pagecountline}{Anhang~\Alph{part},
\thepage~von~\pageref{\thepart PartPages}}
\apptocmd{\partheadstartvskip}{%
\cfoot[\pagecountline]{\pagecountline}
	\setcounter{page}{1}
}{}{}
\xpretocmd{\part}{
	\immediate\write\@auxout{\string\newlabel{\thepart PartPages}{{}{\thepage}}}
}{}{}
\BeforeClosingMainAux{
	\addtocounter{page}{-1}
	\immediate\write\@auxout{\string\newlabel{\thepart PartPages}{{}{\thepage}}}}
}{}{}
\makeatother
\begin{document}
\part{Hauptdokument}
\blindtext[12]
\appendix
\part{Erster Teil}
\blindtext[16]

\part{Zeiter Teil}      
\blindtext[11]

\part{Dritter Teil}
\blindtext[12]
\end{document} 
TeXwelt - Fragen und Antworten Schaut vorbei und stellt Fragen.
LaTeX-Vorlagen?

Der Weg zum Ziel: Ruhe bewahren und durchatmen, Beiträge und unterstützende Links aufmerksam lesen, Lösungsansätze verstehen und ggf. nachfragen.

Antworten