Archiv verlassen und diese Seite im Standarddesign anzeigen : cleveref - Referenzen auf Formeln ohne Klammern?
Hallo zusammen,
wie erreiche ich, dass "cleveref" bei Referenzen auf Formeln die Klammern weglässt (und zwar - und das ist das Hauptproblem -auch bei Mehrfachreferenzen)?
Sprich wenn ich schreibe
Siehe \cref{eq:Gl123}, sowie \cref{eq:Gl234,eq:Gl235}...
möchte ich statt der Standardausgabe
Siehe Gleichung (1.2.3), sowie Gleichungen (2.3.4) und (2.3.5)...
eine Ausgabe ohne Klammern erhalten:
Siehe Gleichung 1.2.3, sowie Gleichungen 2.3.4 und 2.3.5...
Versucht habe ich schon
\crefformat{equation}{Gleichung~#2#1#3}
was in meinen Augen erstens unschön ist (weil ich explizit "Gleichung" schreiben muss und damit alle Babel-Funktionalität verliere) und zweitens nur bei einfachen, jedoch nicht bei Mehrfachreferenzen funktioniert.
Danke und Gruß
Ede
cgnieder
08-08-2013, 15:43
Da die Frage ohne VM (http://texwelt.de/wissen/fragen/569/was-ist-ein-vollstandiges-minimalbeispiel-oder-kurz-vm-und-wie-erstelle-ich-dieses) auskommt ist meine Anwort auch ohne eins. Wie wär's hiermit:
% eine Gleichung:
\crefformat{equation}{Gleichung~#2#1#3}
% mehrere Gleichungen:
\crefrangeformat{equation}{Gleichungen~#3#1#4 und~#5#2#6}
Grüße
Nein leider nicht, da das "\crefrangeformat" dem Namen entsprechend "\crefrange" Referenzen beeinflusst. Allerdings tut das entprechende "\crefmultiformat" prinzipiell was es soll. Zusammengefasst müsste es also heißen
\crefformat{equation}{Gleichung~#2#1#3}
\crefrangeformat{equation}{Gleichungen~#3#1#4 bis~#5#2#6}
\crefmultiformat{equation}{Gleichungen~#2#1#3}{ und~#2#1#3}{, #2#1#3}{ und~#2#1#3}
Mit dieser Lösung kann ich zwar erstmal leben, allerdings löst das immer noch nicht das Problem der fehlenden Lokalisierung. Wenn ich das ganze in ein englisches Dokument kopiere muss ich erst alle Labels händisch anpassen. Auch die Wahlfreiheit zwischen abgekürzten und ausgeschriebenen Labels entfällt. Geht das wirklich nicht einfacher und/oder besser?
P.S. Ich weiß was ein Minimalbeispiel ist und kann auch gern eins erstellen falls nötig. Ich dachte jedoch, dass das in diesem Fall nicht nötig ist, da es ja um ein allgemeines Problem geht, dass mit meinem konkreten Quelltext nichts zu tun hat.
cgnieder
08-08-2013, 18:07
Ein VM erpart auch immer, potentiellen Helfern eines basteln zu müssen und erhöht damit deren Motivation ;) Es soll schon Leute gegeben haben, die nur deshalb nicht geantwortet haben, weil es gefehlt hat...
Ein Vorschlag:
\documentclass{article}
\usepackage[british,ngerman]{babel}
\usepackage{translations}
\DeclareTranslation{English}{equation}{equation}
\DeclareTranslation{German} {equation}{Gleichung}
\DeclareTranslation{English}{equations}{equations}
\DeclareTranslation{German} {equations}{Gleichungen}
\DeclareTranslation{English}{Equation}{Equation}
\DeclareTranslation{German} {Equation}{Gleichung}
\DeclareTranslation{English}{Equations}{Equations}
\DeclareTranslation{German} {Equations}{Gleichungen}
\DeclareTranslation{English}{to (range)}{to}
\DeclareTranslation{German} {to (range)}{bis}
\usepackage{amsmath}
\usepackage[nosort]{cleveref}
\crefformat{equation}{\GetTranslation{equation}~#2 #1#3}
\crefrangeformat{equation}{%
\GetTranslation{equations}~#3#1#4 \GetTranslation{to (range)}~#5#2#6}
\crefmultiformat{equation}
{\GetTranslation{equations}~#2#1#3}{ \GetTranslation{and}~#2#1#3}
{, #2#1#3}
{ \GetTranslation{and}~#2#1#3}
\Crefformat{equation}{\GetTranslation{Equation}~#2 #1#3}
\Crefrangeformat{equation}{%
\GetTranslation{Equations}~#3#1#4 \GetTranslation{to (range)}~#5#2#6}
\Crefmultiformat{equation}
{\GetTranslation{Equations}~#2#1#3}{ \GetTranslation{and}~#2#1#3}
{, #2#1#3}
{ \GetTranslation{and}~#2#1#3}
\begin{document}
\begin{align}
a \label{eq:a}\\
b \label{eq:b}\\
c \label{eq:c}
\end{align}
\cref{eq:b}\par
\cref{eq:a,eq:b}\par
\cref{eq:a,eq:b,eq:c}\par
\crefrange{eq:a}{eq:c}
\Cref{eq:b}\par
\Cref{eq:a,eq:b}\par
\Cref{eq:a,eq:b,eq:c}\par
\Crefrange{eq:a}{eq:c}
\selectlanguage{British}
\cref{eq:b}\par
\cref{eq:a,eq:b}\par
\cref{eq:a,eq:b,eq:c}\par
\crefrange{eq:a}{eq:c}
\Cref{eq:b}\par
\Cref{eq:a,eq:b}\par
\Cref{eq:a,eq:b,eq:c}\par
\Crefrange{eq:a}{eq:c}
\end{document}
http://www.mrunix.de/forums/attachment.php?attachmentid=5808&stc=1&d=1375978031
Grüße
Oh Mann, manchmal übersieht man echt die einfachsten Lösungen...
Es genügt ein einfaches
\creflabelformat{equation}{#2#1#3}
um das Problem vollständig zu lösen.
Ich hatte das total links liegen gelassen, weil "\crefdefaultlabelformat" bei Gleichungsreferenzen nicht funktioniert hat und ich danach unbewusst irgendwie der Meinung war, dass auch "\creflabelformat" bei Gleichungen nicht funktionieren kann.
Naja, wenigstens war ich nicht der einzige der das übersehen hat. :D
cgnieder
08-08-2013, 18:54
Es genügt ein einfaches
\creflabelformat{equation}{#2#1#3}
um das Problem vollständig zu lösen.
Da kann man mal sehen...
Naja, wenigstens war ich nicht der einzige der das übersehen hat. :D
Naja, ich habe cleveref quasi noch nie benutzt, da kann so was leicht passieren ;)
Grüße
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.