kaorefs.sty (11156B)
1 \ProvidesPackage{kaorefs} 2 3 %---------------------------------------------------------------------------------------- 4 % PACKAGE OPTIONS AND DEPENDENCIES 5 %---------------------------------------------------------------------------------------- 6 7 % Easily label and reference elements with this package 8 % Note that, in figures and tables, \label must appear after \caption 9 % Load this package last 10 11 % Pass this package's options to hyperref and varioref 12 \DeclareOption*{\PassOptionsToPackage{\CurrentOption}{varioref}} 13 \DeclareOption*{\PassOptionsToPackage{\CurrentOption}{hyperref}} 14 \DeclareOption*{\PassOptionsToPackage{\CurrentOption}{cleveref}} 15 \ProcessOptions\relax 16 17 \let\thmname\relax % Workaround to get rid of an annoying error 18 \RequirePackage{amsthm} % Needed by cleveref 19 \RequirePackage{varioref} 20 \RequirePackage{hyperref} 21 \RequirePackage[capitalise,nameinlink,noabbrev]{cleveref} 22 23 24 %---------------------------------------------------------------------------------------- 25 % LANGUAGE-SPECIFIC STRINGS 26 %---------------------------------------------------------------------------------------- 27 28 % #LANGUAGE 29 \newcommand{\chapternameshort}{} 30 \newcommand{\sectionname}{} 31 \newcommand{\sectionnameshort}{} 32 \newcommand{\subsectionname}{} 33 \newcommand{\subsectionnameplural}{} 34 \newcommand{\subsectionnameshort}{} 35 \newcommand{\figurenameshort}{} 36 \newcommand{\tablenameshort}{} 37 \newcommand{\eqname}{} 38 \newcommand{\eqnameshort}{} 39 \newcommand{\defname}{} 40 \newcommand{\assumname}{} 41 \newcommand{\thmname}{} 42 \newcommand{\propname}{} 43 \newcommand{\lemmaname}{} 44 \newcommand{\remarkname}{} 45 \newcommand{\examplename}{} 46 \newcommand{\exercisename}{} 47 48 \addto\captionsgerman{% 49 \renewcommand{\chapternameshort}{Kap.} 50 \renewcommand{\sectionname}{Abschnitt} 51 \renewcommand{\sectionnameshort}{Abschn.} 52 \renewcommand{\subsectionname}{Unterabschnitt} 53 \renewcommand{\subsectionnameplural}{Unterabschnitte} 54 \renewcommand{\subsectionnameshort}{Unterabschn.} 55 \renewcommand{\figurenameshort}{Abb.} 56 \renewcommand{\tablenameshort}{Tab.} 57 \renewcommand{\eqname}{Gleichung} 58 \renewcommand{\eqnameshort}{Gl.} 59 \renewcommand{\defname}{Definition} 60 \renewcommand{\assumname}{Hypothese} 61 \renewcommand{\thmname}{Satz} 62 \renewcommand{\propname}{Proposition} 63 \renewcommand{\lemmaname}{Lemma} 64 \renewcommand{\remarkname}{Bemerkung} 65 \renewcommand{\examplename}{Beispiel} 66 \renewcommand{\exercisename}{Übung} 67 } 68 \addto\captionsdanish{% 69 \renewcommand{\chapternameshort}{Kap.} 70 \renewcommand{\sectionname}{Sektion} 71 \renewcommand{\sectionnameshort}{Sek.} 72 \renewcommand{\subsectionname}{Undersektion} 73 \renewcommand{\subsectionnameplural}{Undersectioner} 74 \renewcommand{\subsectionnameshort}{Undersek.} 75 \renewcommand{\figurenameshort}{Fig.} 76 \renewcommand{\tablenameshort}{Tab.} 77 \renewcommand{\eqname}{Formel} 78 \renewcommand{\eqnameshort}{Frml.} 79 \renewcommand{\defname}{Definition} 80 \renewcommand{\assumname}{Hypotese} 81 \renewcommand{\thmname}{Sætning} 82 \renewcommand{\propname}{Postulat} 83 \renewcommand{\lemmaname}{Hjælpesætning} 84 \renewcommand{\remarkname}{Bemærkning} 85 \renewcommand{\examplename}{Eksempel} 86 \renewcommand{\exercisename}{Øvelse} 87 } 88 \addto\captionsenglish{% 89 \renewcommand{\chapternameshort}{Chap.} 90 \renewcommand{\sectionname}{Section} 91 \renewcommand{\sectionnameshort}{Sec.} 92 \renewcommand{\subsectionname}{Subsection} 93 \renewcommand{\subsectionnameplural}{Subsections} 94 \renewcommand{\subsectionnameshort}{Subsec.} 95 \renewcommand{\figurenameshort}{Fig.} 96 \renewcommand{\tablenameshort}{Tab.} 97 \renewcommand{\eqname}{Equation} 98 \renewcommand{\eqnameshort}{Eq.} 99 \renewcommand{\defname}{Definition} 100 \renewcommand{\assumname}{Assumption} 101 \renewcommand{\thmname}{Theorem} 102 \renewcommand{\propname}{Proposition} 103 \renewcommand{\lemmaname}{Lemma} 104 \renewcommand{\remarkname}{Remark} 105 \renewcommand{\examplename}{Example} 106 \renewcommand{\exercisename}{Exercise} 107 } 108 \addto\captionsitalian{% 109 \renewcommand{\chapternameshort}{Cap.} 110 \renewcommand{\sectionname}{Sezione} 111 \renewcommand{\sectionnameshort}{Sez.} 112 \renewcommand{\subsectionname}{Sottosezione} 113 \renewcommand{\subsectionnameplural}{Sottosezioni} 114 \renewcommand{\subsectionnameshort}{Sottosezione} 115 \renewcommand{\figurenameshort}{Fig.} 116 \renewcommand{\tablenameshort}{Tab.} 117 \renewcommand{\eqname}{Equazione} 118 \renewcommand{\eqnameshort}{Eq.} 119 \renewcommand{\defname}{Definizione} 120 \renewcommand{\assumname}{Assunzione} 121 \renewcommand{\thmname}{Teorema} 122 \renewcommand{\propname}{Proposizione} 123 \renewcommand{\lemmaname}{Lemma} 124 \renewcommand{\remarkname}{Osservazione} 125 \renewcommand{\examplename}{Esempio} 126 \renewcommand{\exercisename}{Esercizio} 127 } 128 % Do you speak other languages? Please, feel free to add the captions! 129 130 131 %---------------------------------------------------------------------------------------- 132 % LABELLING COMMANDS 133 %---------------------------------------------------------------------------------------- 134 135 \newcommand{\labpage}[1]{\label{page:#1}} 136 \newcommand{\labpart}[1]{\label{part:#1}} 137 \newcommand{\labch}[1]{\label{ch:#1}} 138 \newcommand{\labsec}[1]{\label{sec:#1}} 139 \newcommand{\labsubsec}[1]{\label{subsec:#1}} 140 \newcommand{\labfig}[1]{\label{fig:#1}} 141 \newcommand{\labtab}[1]{\label{tab:#1}} 142 \newcommand{\labeq}[1]{\label{eq:#1}} 143 \newcommand{\labdef}[1]{\label{def:#1}} 144 \newcommand{\labthm}[1]{\label{thm:#1}} 145 \newcommand{\labassum}[1]{\label{assum:#1}} 146 \newcommand{\labprop}[1]{\label{prop:#1}} 147 \newcommand{\lablemma}[1]{\label{lemma:#1}} 148 \newcommand{\labremark}[1]{\label{remark:#1}} 149 \newcommand{\labexample}[1]{\label{example:#1}} 150 \newcommand{\labexercise}[1]{\label{exercise:#1}} 151 152 153 %---------------------------------------------------------------------------------------- 154 % REFERENCING COMMANDS 155 %---------------------------------------------------------------------------------------- 156 157 \newcommand{\refpage}[1]{\hyperref[#1]{\pagename}\xspace\pageref{page:#1}} % Page 84 158 \newcommand{\vrefpage}[1]{\vpageref*{page:#1}} % on the following page, on page 84 159 160 % For unnumbered parts 161 \newcommand{\arefpart}[1]{\hyperref[part:#1]{\partname}\xspace`\nameref{part:#1}'} % Part `Name of the Part' 162 \newcommand{\avrefpart}[1]{\hyperref[part:#1]{\partname}\xspace`\nameref{part:#1}' \vpageref{part:#1}} % Part `Name of the Part' on page 84 163 164 % For numbered parts 165 \newcommand{\refpart}[1]{\hyperref[part:#1]{\partname}\xspace\ref{part:#1}} % Part IV 166 \newcommand{\vrefpart}[1]{\hyperref[part:#1]{\partname}\xspace\vref{part:#1}} % Part IV, Part IV on the following page, Part IV on page 84 167 \newcommand{\nrefpart}[1]{\hyperref[part:#1]{\partname}\xspace\ref{part:#1} (\nameref{part:#1})} 168 \newcommand{\frefpart}[1]{\hyperref[part:#1]{\partname\xspace\ref{part:#1} (\nameref{part:#1}) \vpageref{part:#1}}} % Part IV (Name of the Part), Part IV (Name of the Part) on the following page, Part IV (Name of the Part) on page 84) 169 170 %\newcommand{\refch}[1]{\hyperref[#1]{\chaptername\xspace\usekomafont{chapter}\normalsize\nameref{ch:#1}}\xspace\vpageref{ch:#1}\,} 171 \newcommand{\refchshort}[1]{\hyperref[ch:#1]{\chapternameshort\xspace\ref{ch:#1}}} 172 \newcommand{\refch}[1]{\hyperref[ch:#1]{\chaptername\xspace\ref{ch:#1}}} 173 \newcommand{\vrefch}[1]{\hyperref[ch:#1]{\chaptername\xspace\ref{ch:#1} \vpageref{ch:#1}}} 174 \newcommand{\nrefch}[1]{\hyperref[ch:#1]{\chaptername\xspace\ref{ch:#1} (\nameref{ch:#1})}} 175 \newcommand{\frefch}[1]{\hyperref[ch:#1]{\chaptername\xspace\ref{ch:#1} (\nameref{ch:#1}) \vpageref{ch:#1}}} 176 177 %\newcommand{\refsec}[1]{Section~{\usekomafont{section}\normalsize\nameref{sec:#1}}\xspace\vpageref{sec:#1}\,} 178 \newcommand{\refsecshort}[1]{\hyperref[sec:#1]{\sectionnameshort\xspace\ref{sec:#1}}} 179 \newcommand{\refsec}[1]{\hyperref[sec:#1]{\sectionname\xspace\ref{sec:#1}}} 180 \newcommand{\vrefsec}[1]{\hyperref[sec:#1]{\sectionname\xspace\vref{sec:#1}}} 181 \newcommand{\nrefsec}[1]{\hyperref[sec:#1]{\sectionname\xspace\ref{sec:#1} (\nameref{sec:#1})}} 182 \newcommand{\frefsec}[1]{\hyperref[sec:#1]{\sectionname\xspace\ref{sec:#1} (\nameref{sec:#1}) \vpageref{sec:#1}}} 183 184 \newcommand{\refsubsecshort}[1]{\hyperref[subsec:#1]{\sectionnameshort\xspace\ref{subsec:#1}}} 185 \newcommand{\refsubsec}[1]{\hyperref[subsec:#1]{\subsectionname\xspace\ref{subsec:#1}}} 186 \newcommand{\vrefsubsec}[1]{\hyperref[subsec:#1]{\subsectionname\xspace\vref{subsec:#1}}} 187 \newcommand{\nrefsubsec}[1]{\hyperref[subsec:#1]{\subsectionname\xspace\ref{subsec:#1} (\nameref{subsec:#1})}} 188 \newcommand{\frefsubsec}[1]{\hyperref[subsec:#1]{\subsectionname\xspace\ref{subsec:#1} (\nameref{subsec:#1}) \vpageref{subsec:#1}}} 189 190 %\newcommand{\reffig}[1]{{\hypersetup{colorlinks=false}\usekomafont{captionlabel}\hyperref[fig:#1]{Figure}\xspace\ref{fig:#1}}} 191 \newcommand{\reffigshort}[1]{\hyperref[fig:#1]{\figurenameshort\xspace\ref{fig:#1}}} 192 \newcommand{\reffig}[1]{\hyperref[fig:#1]{\figurename}\xspace\ref{fig:#1}} 193 \newcommand{\vreffig}[1]{\hyperref[fig:#1]{\figurename\xspace\vref{fig:#1}}} 194 195 %\newcommand{\reftab}[1]{{\hypersetup{colorlinks=false}\usekomafont{captionlabel}\hyperref[tab:#1]{Table}\xspace\ref{tab:#1}}} 196 \newcommand{\reftab}[1]{\hyperref[tab:#1]{\tablename}\xspace\ref{tab:#1}} 197 \newcommand{\vreftab}[1]{\hyperref[tab:#1]{\tablename\xspace\vref{tab:#1}}} 198 199 % \newcommand{\refeqshort}[1]{\hyperref[eq:#1]\eqnameshort\xspace(\ref{eq:#1})} 200 % \newcommand{\refeq}[1]{\hyperref[eq:#1]\eqname\xspace\ref{eq:#1}} 201 % \newcommand{\vrefeq}[1]{\hyperref[eq:#1]\eqname\xspace\vref{eq:#1}} 202 203 \newcommand{\refdef}[1]{\hyperref[def:#1]\defname\xspace\ref{def:#1}} 204 \newcommand{\vrefdef}[1]{\hyperref[def:#1]\defname\xspace\vref{def:#1}} 205 206 \newcommand{\refassum}[1]{\hyperref[assum:#1]\assumname\xspace\ref{assum:#1}} 207 \newcommand{\vrefassum}[1]{\hyperref[assum:#1]\assumname\xspace\vref{assum:#1}} 208 209 \newcommand{\refthm}[1]{\hyperref[thm:#1]\thmname\xspace\ref{thm:#1}} 210 \newcommand{\vrefthm}[1]{\hyperref[thm:#1]\thmname\xspace\vref{thm:#1}} 211 212 \newcommand{\refprop}[1]{\hyperref[prop:#1]\propname\xspace\ref{prop:#1}} 213 \newcommand{\vrefprop}[1]{\hyperref[prop:#1]\propname\xspace\vref{prop:#1}} 214 215 \newcommand{\reflemma}[1]{\hyperref[lemma:#1]\lemmaname\xspace\ref{lemma:#1}} 216 \newcommand{\vreflemma}[1]{\hyperref[lemma:#1]\lemmaname\xspace\vref{lemma:#1}} 217 218 \newcommand{\refremark}[1]{\hyperref[remark:#1]\remarkname\xspace\ref{remark:#1}} 219 \newcommand{\vrefremark}[1]{\hyperref[remark:#1]\remarkname\xspace\vref{remark:#1}} 220 221 \newcommand{\refexample}[1]{\hyperref[example:#1]\examplename\xspace\ref{example:#1}} 222 \newcommand{\vrefexample}[1]{\hyperref[example:#1]\examplename\xspace\vref{example:#1}} 223 224 \newcommand{\refexercise}[1]{\hyperref[exercise:#1]\exercisename\xspace\ref{exercise:#1}} 225 \newcommand{\vrefexercise}[1]{\hyperref[exercise:#1]\exercisename\xspace\vref{exercise:#1}} 226 227 228 %---------------------------------------------------------------------------------------- 229 % CLEVEREF CUSTOMISATION 230 %---------------------------------------------------------------------------------------- 231 232 % Hyperlink the page reference as well 233 \let\oldvpageref\vpageref 234 \renewcommand{\vpageref}[1]{\hyperref[#1]{\oldvpageref{#1}}} 235 236 % Remove parentheses around equations 237 \creflabelformat{equation}{#2\textup{#1}#3} 238 239 % Set the refname for subsections 240 \crefname{subsection}{\subsectionname}{\subsectionnameplural} 241 \Crefname{subsection}{\subsectionname}{\subsectionnameplural}