Überarbeitungsverlauf[Zurück]
Klicke auf Einblenden/Ausblenden von Überarbeitungen 5
mini

15 Feb '18, 17:02

cgnieder's gravatar image

cgnieder
22.1k253463

Automatisierte Erstellung eines umfangreichen verlinkten Anlageverzeichnis unter Verwendung von pdfpages

Liebe Community, anbei zunächst ein MWE zur Verdeutlichung meines Problems: %!TEX TS-program = lualatex %!TEX encoding = UTF-8 Unicode %!TEX spellcheck=de_DE \documentclass{scrreprt}% % ---------------------------------------------------------------------------- \usepackage[tuenc]{fontspec}% \usepackage{scrletter} \usepackage{pdfpages} \usepackage{enumitem} \usepackage{polyglossia} \setdefaultlanguage{german} \usepackage{mwe} \usepackage{hyperref} % ---------------------------------------------------------------------------- \renewcaptionname{ngerman}{\enclname}{Anlage}% Ist in babel falsch. \makeatletter \newcommand*{\encllist}{}% Hierrin sammeln wir die Anlagen \newcounter{encl}% Zähler für die Anlagen \newcounter{suencl}% Zähler für die Anlagen \newcounter{subencl}%[encl] \AtBeginLetter{% Bei jedem Brief neu beginnen … \renewcommand*{\encllist}{}% mit leerer Liste … \setcounter{encl}{0}% und bei Zählerstand 0 \setcounter{suencl}{0}% und bei Zählerstand 0 \setcounter{subencl}{0}% und bei Zählerstand 0 } \newcommand{\addencl}[1]{\g@addto@macro\encllist{\item #1}}% \encllist wird um ein \item erweitert \newcommand{\useencl}[2]{% \refstepcounter{encl}% \refstepcounter{suencl}% #1 als \textbf{\hyperlink{#2}{\enclname~\theencl}}% Anlage direkt im Text aufführen … \addencl{#1}% und der Anlagenliste hinzufügen. } \newcommand{\su}{\thesuencl.1} \makeatother \setkomavar{enclseparator}[\bfseries]{Anlageverzeichnis} %%============================================================================ \begin{document} \begin{letter} Wir haben Ihnen das \useencl{Dokument}{\su} beigefügt. Wir haben Ihnen das \useencl{Dokument 2}{\su} beigefügt. \encl{% Anlagen als Aufzählung ausgeben: \begin{enumerate}[label={\enclname~\arabic*:}]% \encllist% gesammelte Anlagenliste ausgeben \end{enumerate}} \pagebreak %%============================================================================ %% Dieser nachfolgende Teil sollte nach Möglichkeit entfallen \refstepcounter{subencl} Anlage~\thesubencl\\-- Dokument -- \pdfbookmark{Anlage~\thesubencl}{Anlage~\thesubencl} \includepdf[link,linkname=\thesubencl,landscape=false,pages=-]{example-image-a4}% Die jeweils %einzubindenden Pdf-Dateien haben dieselben Namen wie der zugehörige \thesubencl (beginnen also %mit 1.pdf) \refstepcounter{subencl} Anlage~\thesubencl\\-- Dokument 2 -- \pdfbookmark{Anlage~\thesubencl}{Anlage~\thesubencl} \includepdf[link,linkname=\thesubencl,landscape=true,pages=-]{example-image-a4}% Die jeweils %einzubindenden Pdf-Dateien haben dieselben Namen wie der zugehörige \thesubencl (beginnen also %mit 1.pdf) \end{letter} %%============================================================================ \end{document} Ich würde mir nun wünschen, dass ich im Dokument nur noch einen Befehl mit bestenfalls zwei Argumenten verwenden könnte, dessen erstes Argument die jeweilige Anlage beschreibt und dessen optionales Argument darüber entscheidet, ob die eingebundene Anlage mit landscape=true oder landscape=false eingebunden wird. Der Befehl zur Einfügung von Dokument 2 könnte bei Verwendung dann in etwa so aussehen \useencl[true]{Dokument 2} Dieser sollte dann im besten Falle den Code-Teil im MWE nach \end{enumerate} entbehrlich machen. Hierbei ist darauf hinzuweisen, dass die Anlagen jeweils nur einmal im Text referenziert werden und die entsprechenden Pdf-Dokumente aufsteigend numerisch - in der Reihenfolge ihrer Referenzierung im Text - benannt sind, sodass der Wert von \theencl auch dem Namen der einzubindenden Datei entspricht. Dies lies sich ohne Beifügung weiterer Dokumente im MWE nicht darstellen. Ich hoffe jedoch, es ist trotzdem klar geworden, worum es mir geht. Vielen Dank im Voraus.
Klicke auf Einblenden/Ausblenden von Überarbeitungen 4

29 Okt '17, 08:53

TeX-Newb's gravatar image

TeX-Newb
88137

Automatisierte Erstellung eines umfangreichen verlinkten Anlageverzeichnis unter Verwendung von pdfpages

Liebe Community, anbei zunächst ein MWE zur Verdeutlichung meines Problems: %!TEX TS-program = lualatex %!TEX encoding = UTF-8 Unicode %!TEX spellcheck=de_DE \documentclass{scrreprt}% % ---------------------------------------------------------------------------- \usepackage[tuenc]{fontspec}% \usepackage{scrletter} \usepackage{pdfpages} \usepackage{enumitem} \usepackage{polyglossia} \setdefaultlanguage{german} \usepackage{mwe} \usepackage{hyperref} % ---------------------------------------------------------------------------- \renewcaptionname{ngerman}{\enclname}{Anlage}% Ist in babel falsch. \makeatletter \newcommand*{\encllist}{}% Hierrin sammeln wir die Anlagen \newcounter{encl}% Zähler für die Anlagen \newcounter{suencl}% Zähler für die Anlagen \newcounter{subencl}%[encl] \AtBeginLetter{% Bei jedem Brief neu beginnen … \renewcommand*{\encllist}{}% mit leerer Liste … \setcounter{encl}{0}% und bei Zählerstand 0 \setcounter{suencl}{0}% und bei Zählerstand 0 \setcounter{subencl}{0}% und bei Zählerstand 0 } \newcommand{\addencl}[1]{\g@addto@macro\encllist{\item #1}}% \encllist wird um ein \item erweitert \newcommand{\useencl}[2]{% \refstepcounter{encl}% \refstepcounter{suencl}% #1 als \textbf{\hyperlink{#2}{\enclname~\theencl}}% Anlage direkt im Text aufführen … \addencl{#1}% und der Anlagenliste hinzufügen. } \newcommand{\su}{\thesuencl.1} \makeatother \setkomavar{enclseparator}[\bfseries]{Anlageverzeichnis} %%============================================================================ \begin{document} \begin{letter} Wir haben Ihnen das \useencl{Dokument}{\su} beigefügt. Wir haben Ihnen das \useencl{Dokument 2}{\su} beigefügt. \encl{% Anlagen als Aufzählung ausgeben: \begin{enumerate}[label={\enclname~\arabic*:}]% \encllist% gesammelte Anlagenliste ausgeben \end{enumerate}} \pagebreak %%============================================================================ %% Dieser nachfolgende Teil sollte nach Möglichkeit entfallen \refstepcounter{subencl} Anlage~\thesubencl\\-- Dokument -- \pdfbookmark{Anlage~\thesubencl}{Anlage~\thesubencl} \includepdf[link,linkname=\thesubencl,landscape=false,pages=-]{example-image-a4}% Die jeweils %einzubindenden Pdf-Dateien haben dieselben Namen wie der zugehörige \thesubencl (beginnen also %mit 1.pdf) \refstepcounter{subencl} Anlage~\thesubencl\\-- Dokument 2 -- \pdfbookmark{Anlage~\thesubencl}{Anlage~\thesubencl} \includepdf[link,linkname=\thesubencl,landscape=true,pages=-]{example-image-a4}% Die jeweils %einzubindenden Pdf-Dateien haben dieselben Namen wie der zugehörige \thesubencl (beginnen also %mit 1.pdf) \end{letter} %%============================================================================ \end{document} Ich würde mir nun wünschen, dass ich im Dokument nur noch einen Befehl mit bestenfalls zwei Argumenten verwenden könnte, dessen erstes Argument die jeweilige Anlage beschreibt und dessen optionales Argument darüber entscheidet, ob die eingebundene Anlage mit landscape=true oder landscape=false eingebunden wird. Der Befehl zur Einfügung von Dokument 2 könnte bei Verwendung dann in etwa so aussehen \useencl[true]{Dokument 2} Dieser sollte dann im besten Falle den Code-Teil im MWE nach \end{enumerate} entbehrlich machen. Hierbei ist darauf hinzuweisen, dass die Anlagen jeweils nur einmal im Text referenziert werden und die entsprechenden Pdf-Dokumente aufsteigend numerisch - in der Reihenfolge ihrer Referenzierung im Text - benannt sind, sodass der Wert von \theencl auch dem Namen der einzubindenden Datei entspricht. Dies lies sich ohne Beifügung weiterer Dokumente im MWE nicht darstellen. Ich hoffe jedoch, es ist trotzdem klar geworden, worum es mir geht. Vielen Dank im Voraus.
Klicke auf Einblenden/Ausblenden von Überarbeitungen 3

28 Okt '17, 15:57

TeX-Newb's gravatar image

TeX-Newb
88137

Klicke auf Einblenden/Ausblenden von Überarbeitungen 2

28 Okt '17, 15:35

TeX-Newb's gravatar image

TeX-Newb
88137

Klicke auf Einblenden/Ausblenden von Überarbeitungen 1

28 Okt '17, 14:24

TeX-Newb's gravatar image

TeX-Newb
88137

Willkommen, erstes Mal hier? Schau mal unter FAQ!

×