Seite 1 von 1

Neudefinition von \autoref für Paragraph ohne Nummer

Verfasst: Do 30. Jun 2022, 13:57
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 :)

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

Verfasst: Do 30. Jun 2022, 19:38
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}

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

Verfasst: Do 30. Jun 2022, 21:43
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.

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

Verfasst: Do 30. Jun 2022, 23:02
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.

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

Verfasst: Fr 1. Jul 2022, 08:51
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.

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

Verfasst: Mi 20. Jul 2022, 16:41
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

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

Verfasst: Do 8. Sep 2022, 17:45
von Frankthetank
Ich muss nochmal nachhaken :D

Wenn ich einen \paragraph referenziere, der ein Symbol/Buchstabe/etc. im Mathemodus enthält, der mit \bm fett hervorgehoben wird wie der Paragraph selbst, wird bei der Referenz der Teil im Mathemodus ebenfalls wieder fett ausgegeben, während der Rest wie gewünscht kursiv geschrieben wird. Wie kann ich dass via \bm fett geschriebene bei der Referenz "deaktivieren", sodass es wie der Rest ausschaut?

Danke vorab schonmal ;)

Beispiel:
\documentclass[ngerman]{article}
\usepackage{babel}
\usepackage{mwe}
\usepackage{hyperref}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{bm}

\newcommand{\pararef}[1]{Absatz \textit{\nameref{#1}}}

\begin{document}

\paragraph{Paragraph mit $\bm{\sigma}$ als Beispiel}
\label{para:Test}

Das ist die Referenz von \pararef{para:Test}, dabei wird $\sigma$ fett ausgegeben, was es nicht soll.

\end{document}

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

Verfasst: Do 8. Sep 2022, 17:55
von KOMA
Verwende das optionale Argument von \paragraph:
\documentclass[ngerman]{article}
\usepackage{babel}
\usepackage{mwe}
\usepackage{hyperref}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{bm}

\newcommand{\pararef}[1]{Absatz \textit{\nameref{#1}}}

\begin{document}

\paragraph[Paragraph mit $\sigma$ als Beispiel]{Paragraph mit $\bm{\sigma}$ als Beispiel}
\label{para:Test}

Das ist die Referenz von \pararef{para:Test}, dabei wird $\sigma$ nicht fett ausgegeben.

\end{document}
Siehe auch: Wie Mathematik in Überschriften fett gesetzt werden kann. Auch, wenn ich das dort mit Bezug auf KOMA-Script erklärt habe, bleibt die grundsätzliche Problematik gleich bzw. ist mit den Standardklassen allenfalls noch unangenehmer.

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

Verfasst: Do 8. Sep 2022, 18:07
von Frankthetank
Stabil, warum kam ich da selbst nicht drauf :roll:

Ich nutze das optionale Argument zu Hauf für \chapter, \section, etc. mit Quellenangaben, sodass diese nicht in Verzeichnisses mit auftauchen. Aber dieses in Verbindung mit explizit fett gedruckten Symbolen zu verwenden kam mir irgendwie nicht in den Sinn. Den Wald vor lauter Bäumen und so...

Daher vielen Dank, vor allem auch für die schnelle Antwort :wink: