Neudefinition von \autoref für Paragraph ohne Nummer Thema ist als GELÖST markiert

Redefinition von Makros, Definition eigener Befehle sowie neuer Umgebungen


Frankthetank
Forum-Anfänger
Forum-Anfänger
Beiträge: 12
Registriert: So 19. Jun 2022, 17:54

Neudefinition von \autoref für Paragraph ohne Nummer

Beitrag von Frankthetank »

Hallo zusammen,

ich habe umnummerierte \paragraph in meinem Dokument.

Wenn man nun mit \autoref diese referenziert, wird die Nummer der vorangehenden \subsubsection ausgegeben. Ich suche nun nach einer Lösung, wo ich den Befehl für \autoref für unnummerierte \paragraph umbauen/neu definieren kann, sodass nicht die Nummerierung der subsubsection ausgegeben wird, sondern der Name des \paragraph, also

"Absatz *Name des referenzierten paragraph*"

und nicht wie aktuell

"Absatz *Nummer subsubsection".

Derselbe Sachverhalt wurde mehr oder weniger auch schon hier vorgetragen:

https://tex.stackexchange.com/questions/476396/redefine-autoref-for-paragraphs/649446?noredirect=1#comment1618574_649446

Über Hilfe hierzu würde ich mich sehr freuen :)
Zuletzt geändert von Frankthetank am Do 30. Jun 2022, 21:43, insgesamt 1-mal geändert.

ich meine ja nur

Re: Neudefinition von \autoref für Paragraph ohne Nummer

Beitrag von ich meine ja nur »

Du suchst nicht \autoref, sondern \nameref. Das dafür benötigte Paket nameref, in dessen Anleitung der Befehl dokumentiert ist, wird von hyperref automatisch geladen:
\documentclass[ngerman]{article}
\usepackage{babel}
\usepackage[svgnames]{xcolor}
\usepackage{mwe}
\usepackage{hyperref}
\begin{document}
\tableofcontents
\section{Ein Verweis}
\dots{} auf: \nameref{dashier}
\blinddocument
\paragraph{Ein Paragraph}
\label{dashier}
\end{document}

Frankthetank
Forum-Anfänger
Forum-Anfänger
Beiträge: 12
Registriert: So 19. Jun 2022, 17:54

Re: Neudefinition von \autoref für Paragraph ohne Nummer

Beitrag von Frankthetank »

Vielen Dank für den Hinweis,

\nameref ist mir bekannt, da ich jedoch von Abbildungen, Tabellen, Überschriften über Gleichungen alles mit \autoref bereits referenziere, würde ich ungern für den Paragraph \nameref nehmen. Zumal dort nur der Titel/Name des Paragraph wiedergegeben wird und kein "Absatz" vorangestellt wird, was ich dann händisch davor schreiben müsste, damit der Titel des Paragraph als Wort nicht alleine im Fließtext steht.

Es sei denn, ich kann \nameref so umdefinieren, dass es mir immer das Wort "Absatz" voranstellen tut, was man dann aber wieder mit \autoref für den Paragraph ebenfalls machen könnte. Ich weiß nur nicht wie ich \renewcaptionname für \paragraphautorefname anpassen müsste.

Benutzeravatar
u_fischer
Forum-Meister
Forum-Meister
Beiträge: 4139
Registriert: Do 22. Nov 2012, 11:09
Kontaktdaten:

Re: Neudefinition von \autoref für Paragraph ohne Nummer

Beitrag von u_fischer »

\autoref ist an den Counternamen gebunden (den es aus dem Destinationname extrahiert). Da dein Paragraph keinen Counter erhöht, hat \autoref keine Chance. Außerdem gibt \autoref die Nummer aus. Das alles umzubiegen, ist ausnehmend mühselig. Definiere dir einen \pararef Befehl oder so was.

ich meine ja nur

Re: Neudefinition von \autoref für Paragraph ohne Nummer

Beitrag von ich meine ja nur »

Frankthetank hat geschrieben:
Do 30. Jun 2022, 21:43
Es sei denn, ich kann \nameref so umdefinieren, dass es mir immer das Wort "Absatz" voranstel[…]t
\documentclass[ngerman]{article}
\usepackage{babel}
\usepackage{mwe}
\usepackage{hyperref}
\newcommand*{\pararef}{%
  Paragraph \nameref%
}
\begin{document}
\tableofcontents
\section{Ein Verweis}
\dots{} auf: \pararef{dashier}, oder ohne Link: \pararef*{dashier}.
\blinddocument
\paragraph{Ein Beispielparagraph}\label{dashier}
\blindtext
\end{document}
Wie Ulrike schon sagte, \autoref umbiegen wäre extrem aufwändig. Den Präfix (im Beispiel „Paragraph”) kann man mit Hilfe von cleveref ggf. auch noch automatisieren:
\documentclass[ngerman]{article}
\usepackage{babel}
\usepackage[svgnames]{xcolor}
\usepackage{mwe}
\usepackage{hyperref}
\usepackage{cleveref}% Nach hyperref laden!
\NewDocumentCommand{\cnameref}{sm}{%
  \namecref{#2} \IfBooleanTF{#1}{\nameref*{#2}}{\nameref{#2}}%
}
\begin{document}
\tableofcontents
\section{Ein Verweis}
\dots{} auf: \cnameref{dashier}, oder ohne Link: \cnameref*{dashier}
\blinddocument
\paragraph{Ein Paragraph}
\label{dashier}
\end{document}
Wie man dabei die Ausgabe von \namecref ändern kann, ist der cleveref-Anleitung zu entnehmen.

Frankthetank
Forum-Anfänger
Forum-Anfänger
Beiträge: 12
Registriert: So 19. Jun 2022, 17:54

Re: Neudefinition von \autoref für Paragraph ohne Nummer

Beitrag von Frankthetank »

Danke nochmals für den Input. Angesichts der Tatsache, dass der Umbau von \autoref zu umständlich wäre, habe ich mich an den Vorschlägen orientiert und einen eigenen Befehl \pararef kreiert:
\newcommand{\pararef}[1]{Absatz \textit{\nameref{#1}}}
Um die Autovervollständigung in Verbindung mit Labels nutzen zu können, habe ich hierfür eine .cwl-Datei erstellt mit dem Inhalt
\pararef{key}#r

Antworten