Seite 1 von 1

Workaround für Fehler durch Akronyme "hyper reference 'acro:xx' on page undefined

Verfasst: Mi 24. Mai 2023, 15:00
von Corioliskraft
Hallo alle zusammen,

zu meiner aktuellen Lage:
Ich habe eine wissenschaftliche Arbeit in der eine Tabelle verwendet werden soll in der verschiedene Kunststoffe aufgezählt werden. Die Verwendung der vollen Namen möchte ich nicht im Text der Tabelle einfügen, da dies die Größe der Tabelle sprengen würde. Außerhalb dieser Tabelle werden die Abkürzungen nicht verwendet bzw. finden keine vorherige Anwendung.

Natürlich existieren in diesem Dokument noch weitere Akronyme, welche ganz normal auftauchen:
Erste Verwendung -> Polybuten (PB)
Zweite Verwendung PB

Jetzt will ich die nicht im Text verwendeten Polymere trotzdem im Abkürzungsverzeichnis (Akronyme) angezeigt bekommen ohne die Fehlermeldung, dass eben diese ja noch nicht verwendet seien bzw. undefiniert seien.

Meine Idee das Problem zu lösen:
Am Ende des Dokuments eine "Dummy-Seite" einfügen und all jene Akronyme einmal verwenden. Das hat zur Folge, dass sie definiert sind und sollten sie bis zur letzten Seite noch nicht verwendet worden sein, sind sie es spätestens dort.
Danach müsste man in einem PDF-Programm die letzte Seite entfernen und alles wäre gegessen.

Nun zur Frage:

Gibt es eine Möglichkeit sich diesen Workaround zu ersparen und wie erwähnt eine solche Seite anzulegen und sie per Befehl wieder aus dem fertigen Dokument automatisch zu nehmen?
Eine etwas eigenartige Frage, ist mir bewusst, denn normalerweise will man ja all seine geschriebenen Texte auch kompiliert und in dem PDF wiederfinden.

Minimalbeispiel:
(kann bei mir ausgeführt werden auf dem Rechner, hier geht das aus irgendeinem Grund nicht)
\documentclass[11pt,parskip=full,a4paper]{scrartcl}
\usepackage{scrlayer-scrpage}

%______________________________________________________
%%%%------Allgemeine Dokumenteneinstellungen
%zur korrekten Anwendung und Kompillierung der deutschen buchstaben
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
%
\usepackage{lmodern} %für deutsche Sonderzeichen
%______________________________________________________
%%------Mathematik
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{amsthm}

%_________________________
%Seiteneinrichtung
\usepackage{layout}
\usepackage{geometry}
\geometry{
	left=2.5cm,
	right=2.5cm,
	top=2.5cm,
	bottom=2.5cm,
	showframe,% <-----------------------------comment for preproduction version
}
%______________________________________________________
%%%%------Literatur
\usepackage{csquotes}
%_________________________
%Bib
\usepackage[
    backend=biber,
    style=alphabetic,
    sortlocale=de_DE,
    %natbib=false,
    url=true, 
    doi=true,
    eprint=false
]{biblatex}
%______________________________________________________
%%------Links und URLs
\usepackage{hyperref}
%Links 	- 	Sprünge im Dokument
%URL	-	Links ins Internet
\hypersetup{
	colorlinks=false,
	linkcolor=black,	%blue
	urlcolor=black,		%red
	%pdftitle={Titel des Dokumets für den PDF-Reader},
}
%______________________________________________________
%%%%------Tabellen allgemein
\usepackage{tabularx} 
\usepackage{longtable}
\usepackage{multirow}
\usepackage{rotating}
\usepackage{tabularray} %use X terms in longtable
%______________________________________________________
%Anderes
\usepackage{xcolor}			%für Listings und Vektorgrafiken
\usepackage{color}
\definecolor{Cosmos}{rgb}{0.996,0.843,0.843}
\usepackage{acronym}
%______________________________________________________
%______________________________________________________
\begin{document}


\section*{Abkürzungsverzeichnis}
\begin{acronym}[ABSTAND]	
\acro{emod}[E-Modul]{Elastizitätsmodul}
\acro{peek}[PEEK]{Polyetheretherketon}
\acro{pmma}[PMMA]{Polymethylmethacrylat}
%
%______________________________________________
%nicht verwendete Acronyme außerhalb einer Tabelle etc.
\acro{ps}[PS]{Polycarbonat}
\acro{san}[SAN]{Styrol-Acrylnitril}
\acro{pvcu}[PVC-U]{Polyvinylchlorid -hart-}
\acro{pc}[PC]{Polycarbonat}
\acro{abs}[ABS]{Acrylnitril-Butadien-Styrol}
\acro{pet}[PET]{Polyetylenterephthalat}
\acro{pvcp}[PVC-P]{Polyvinylchlorid -weich-}
\acro{pa6}[PA6]{Polyamid 6}
\acro{pa66}[PA66]{Polyamid 66}
\acro{pom}[POM]{Polyoxymethylen}
\acro{pehd}[PE-HD]{Polyethylen -hohe Dichte-}
\acro{pp}[PP]{Polypropylen}
\acro{peld}[PE-LD]{Polyethylen -geringe Dichte-}
\acro{pb}[PB]{Polybuten}
\acro{pur}[PUR]{Polyurethan}
\acro{tpe}[TPE]{Thermoplastische Elastomere}
\acro{tpu}[TPU]{Thermoplastische Polyurethane}
\end{acronym}


\newpage



\begin{table}[htb]
  \centering	
  \centering
\resizebox{\linewidth}{!}{%
\begin{tblr}{
  width = \linewidth,
  colspec = {Q[185]Q[758]},
  row{1} = {Cosmos,c},
  cell{2}{1} = {c},
  cell{3}{1} = {c},
  cell{4}{1} = {c},
  cell{5}{1} = {c},
  hlines,
  vlines,
}
$\nu$         & Werkstoff                                                                                                                       \\
$0,30 - 0,35$ & {Steife, spröde Kunststoffe:\\Duroplaste, amorphe Thermoplaste wie PS, SAN, PMMA, PVC-U}                                        \\
$0,35 - 0,40$ & {Steife, zähe Kunststoffe:\\Thermoplaste und Blends wie PC, ABS, (PC+ABS), (PC+PET), PVC-P, PA6, PA66, POM}                     \\
$0,40 - 0,45$ & {Weichere, zähe Kunststoffe:\\Thermoplaste wie PE-HD, PP}                                                                       \\
$0,45 - 0,50$ & {Weichere, hochelastische Kunststoffe:\\Thermoplaste, Elastomere und thermoplastische Elastomere, wie PE-LD, PB, PUR, TPE, TPU} 
\end{tblr}
}
\caption{Richtwerte der Querkontraktionszahl $ \nu $ versch. Kunststoffgruppen für $ 0\unit{C^{\circ}} \leq \delta \leq 50 \unit{C^{\circ}} $  } \label{tab:querkontraEinteilung}
\end{table}


\newpage
%______________________________________________________
%Dies ist in einem Dokument namens DUMMY.tex

%\acro{ps}[PS]{Polycarbonat}
\ac{ps}
%\acro{san}[SAN]{Styrol-Acrylnitril}
\ac{san}
%\acro{pvcu}[PVC-U]{Polyvinylchlorid -hart-}
\ac{pvcu}
%\acro{pc}[PC]{Polycarbonat}
\ac{pc}
%\acro{abs}[ABS]{Acrylnitril-Butadien-Styrol}
\ac{abs}
%\acro{pet}[PET]{Polyetylenterephthalat}
\ac{pet}
%\acro{pvcp}[PVC-P]{Polyvinylchlorid -weich-}
\ac{pvcp}
%\acro{pa6}[PA6]{Polyamid 6}
\ac{pa6}
%\acro{pa66}[PA66]{Polyamid 66}
\ac{pa66}
%\acro{pom}[POM]{Polyoxymethylen}
\ac{pom}
%\acro{pehd}[PE-HD]{Polyethylen -hohe Dichte-}
\ac{pehd}
%\acro{pp}[PP]{Polypropylen}
\ac{pp}
%\acro{peld}[PE-LD]{Polyethylen -geringe Dichte-}
\ac{peld}
%\acro{pb}[PB]{Polybuten}
\ac{pb}
%\acro{pur}[PUR]{Polyurethan}
\ac{pur}
%\acro{tpe}[TPE]{Thermoplastische Elastomere}
\ac{tpe}
%\acro{tpu}[TPU]{Thermoplastische Polyurethane}
\ac{tpu}







\end{document}
%______________________________________________________

Re: Workaround für Fehler durch Akronyme "hyper reference 'acro:xx' on page undefined

Verfasst: Fr 26. Mai 2023, 19:55
von u_fischer
(kann bei mir ausgeführt werden auf dem Rechner, hier geht das aus irgendeinem Grund nicht)
Nicht aus "irgendeinem Grund". Du bekommst hier eine log-Datei in die du nur mal reinschauen musst:
! Undefined control sequence.
<argument> ...ch. Kunststoffgruppen für $ 0\unit 
                                                  {C^{\circ }} \leq \delta \...
Sowas ist doch wirklich leicht zu korrigieren.
Am Ende des Dokuments eine "Dummy-Seite" einfügen und all jene Akronyme einmal verwenden. Das hat zur Folge, dass sie definiert sind und sollten sie bis zur letzten Seite noch nicht verwendet worden sein, sind sie es spätestens dort.
Danach müsste man in einem PDF-Programm die letzte Seite entfernen und alles wäre gegessen.
Das ist Unsinn, wenn du die Seite entfernst, entfernst du auch die Linkanker, wo sollen denn dann die Links hin?

Sorge dafür, dass es an einem sinnvollen Ort einen Anker gibt:
\documentclass[11pt,parskip=full,a4paper]{scrartcl}
\usepackage{hyperref}
\usepackage{acronym}
\begin{document}

\section*{Abkürzungsverzeichnis}
\begin{acronym}[ABSTAND]	
\acro{emod}[E-Modul]{Elastizitätsmodul}
\acro{peek}[PEEK]{Polyetheretherketon}
\end{acronym}

\newpage 

\ac{emod} %normal

\phantomsection\label{acro:peek}PEEK %manuell

\end{document}

Re: Workaround für Fehler durch Akronyme "hyper reference 'acro:xx' on page undefined

Verfasst: Di 30. Mai 2023, 11:54
von Corioliskraft
Das ist Unsinn, wenn du die Seite entfernst, entfernst du auch die Linkanker, wo sollen denn dann die Links hin?
Ich meinte damit, ob es eine Möglichkeit gibt in einem als *.pdf kompillierten Dokument zum Schluss eine Seite zu entfernen, nicht nach dem Kompilieren. Mir ist durchaus bewusst, dass dann die Verlinkungen verloren gehen. An einer "sinnvollen" Stelle verwende ich sie gerade. Ich habe am Ende meines Dokumentes eine Seite auf der ich alle mal verwende und wenn dann die Abgabe kommt, entferne ich die Seite mit einem Dokumentenbetrachtungsprogramm meiner Wahl.
Diesen nachträglichen Workaround hätte ich gerne unnötig gemacht, also hätte dafür gerne die Latex-Umgebung verwendet, falls möglich.

Re: Workaround für Fehler durch Akronyme "hyper reference 'acro:xx' on page undefined

Verfasst: Di 30. Mai 2023, 13:09
von u_fischer
Hast du denn mein Beispiel ausprobiert? Das kommt ohne jede extra-Seite aus, alle Links sind korrekt, und es gibt auch keine Warnungen.

Re: Workaround für Fehler durch Akronyme "hyper reference 'acro:xx' on page undefined

Verfasst: Di 30. Mai 2023, 13:23
von Corioliskraft
Hast du denn mein Beispiel ausprobiert?
Ich habe in der Main.tex noch eine Seite hinzugefügt und auf der dann deinen Vorschlag ausprobiert.
"Schnipsel" der Anwendung:
%%%%------Bibliothek
\printbibliography
\newpage
\include{Kapitel/DUMMY}
\end{document}
DUMMY.PNG
DUMMY.PNG (6.09 KiB) 2382 mal betrachtet
Es wurde eine weitere Seite erzeugt mit dem Inhalt der *.tex
DUMMY.tex
(1.54 KiB) 55-mal heruntergeladen
Probiert, ja, funtioniert, nein.

Kann es sein, dass ich das alles in die Main.tex schreiben muss?

Re: Workaround für Fehler durch Akronyme "hyper reference 'acro:xx' on page undefined

Verfasst: Di 30. Mai 2023, 13:28
von Corioliskraft
Mal eben alles in die Main.tex kopiert (Hier die entmüllte
DUMMY.tex
(621 Bytes) 59-mal heruntergeladen
).

Funktioniert hat das leider auch nicht. Es führte dazu, dass ich nun am Ende des Literaturverzeichnisses die ganzen Kürzel angezeigt bekomme.

Re: Workaround für Fehler durch Akronyme "hyper reference 'acro:xx' on page undefined

Verfasst: Di 30. Mai 2023, 15:05
von u_fischer
Das heißt, du hast mein Beispiel nicht ausprobiert, sondern kopierst irgendwas in dein Hauptdokument ohne zu verstehen, was es tut.

Re: Workaround für Fehler durch Akronyme "hyper reference 'acro:xx' on page undefined

Verfasst: Di 30. Mai 2023, 15:21
von Corioliskraft
u_fischer hat geschrieben:
Di 30. Mai 2023, 15:05
Das heißt, du hast mein Beispiel nicht ausprobiert, sondern kopierst irgendwas in dein Hauptdokument ohne zu verstehen, was es tut.
Ok, hab das Beispiel verstanden. Der Grundgedanke von dir war es, dass du die Kunststoffbezeichnung in der Tabelle direkt mit dem von dir aufgezeigten Beispiel benennst und dadurch eine Extraseite obsolet wird.

Vielen Dank für Deine Geduld und Hilfe :wink: