summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/crossreftools/crossreftools_driver.tex
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/crossreftools/crossreftools_driver.tex')
-rw-r--r--macros/latex/contrib/crossreftools/crossreftools_driver.tex161
1 files changed, 161 insertions, 0 deletions
diff --git a/macros/latex/contrib/crossreftools/crossreftools_driver.tex b/macros/latex/contrib/crossreftools/crossreftools_driver.tex
new file mode 100644
index 0000000000..973bdf676b
--- /dev/null
+++ b/macros/latex/contrib/crossreftools/crossreftools_driver.tex
@@ -0,0 +1,161 @@
+%% LaTeX package crossreftools - version 0.9 (2019/01/03 -- 15:57:43)
+%% Driver file for crossreftools.sty
+%%
+%%
+%% -------------------------------------------------------------------------------------------
+%% Copyright (c) 2017 -- 2019 by Dr. Christian Hupfer <typography dot with dot latex at gmail dot com>
+%% -------------------------------------------------------------------------------------------
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%
+%%
+%% This work has the LPPL maintenance status `author-maintained`
+%%
+%%
+
+\documentclass{book}
+
+\usepackage{hyperref}
+\usepackage{nameref}
+\usepackage[user]{zref}
+\usepackage{cleveref}
+
+\usepackage{crossreftools}
+
+
+\setlength{\parindent}{0em}
+
+\def\labeltoshow{foochapterlabel}
+
+\def\equationlabeltoshow{fooequationlabel}
+
+
+\crtlistoflabelsstructurelevel{section}
+\begin{document}
+
+\tableofcontents
+
+\crtlistoflabels*
+
+\clearpage
+
+\chapter{Some easy usages of crossreftools}
+%\setcounter{chapter}{16}% Just for checking
+
+Let us refer the usual way: \Cref{\labeltoshow}
+
+\edef\foocntr{\crtcrefcounter{\labeltoshow}}
+
+The counter for \fbox{\labeltoshow} is \foocntr\ or \crtcrefcounter{\labeltoshow}. It is used on page \crtcrefpage{\labeltoshow}. The value for the misspelled label name is \crtcrefnumber{labeltoshowstuff}, whereas the correct value is \crtcrefnumber{\labeltoshow}.
+
+
+Let us check for a subsection label: \crtcrefcounter{foosubsectionlabel}
+
+The result is \fbox{\crtcrefresult{\labeltoshow}}
+
+\edef\labeltoshowname{\crtcrefname{chapter}}
+
+\section{Extracting usual reference information}
+
+Extracting content with \verb!\crtextractref!
+ \begin{itemize}
+ \item reference: \crtextractcref{reference}{\labeltoshow}
+ \item page: \crtextractcref{page}{\labeltoshow}
+\end{itemize}
+
+If the \fbox{hyperref} package is loaded, further properties are retrievable:
+
+\begin{itemize}
+ \item name: \crtextractref{name}{\labeltoshow}
+ \item hyperanchor: \crtextractref{anchor}{\labeltoshow}
+ \item unused: \crtextractref{unused}{\labeltoshow}
+ \end{itemize}
+
+The 5th (and usually empty) label property introduced by hyperref is unused as of version v6.85a of that package -- \crtextractref{unused}{labelname} will return nothing here, i.e. the expansion is empty.
+
+
+This works only if there is usual hyper anchor for the counter: \crtrefcounter{fooequationlabel}.
+
+\section{Extracting the cleveref names}
+
+\begin{itemize}
+
+\item The lower case cross reference name for \fbox{\equationlabeltoshow} is \crtcrefnamebylabel{\equationlabeltoshow}, this time using \verb!\crtcrefnamebylabel!; the upper case name is \crtCrefnamebylabel{\equationlabeltoshow}.
+\item Extracting content with \verb!\crtextractcref!
+ \begin{itemize}
+ \item counter: \crtextractcref{counter}{\labeltoshow}
+ \item number: \crtextractcref{number}{\labeltoshow}
+ \item result: \crtextractcref{result}{\labeltoshow}
+ \item reference: \crtextractcref{reference}{\labeltoshow}
+ \item page: \crtextractcref{page}{\labeltoshow}
+ \end{itemize}
+\end{itemize}
+
+The macro \verb!\crtextractcref! is expandable!\edef\counterof{\crtextractcref{counter}{\labeltoshow}} Using the stored value for counter: \counterof!
+
+
+See \crthyperCref{fooequationlabel} and \cref{pythagoreantheorem}.
+
+
+
+\chapter{Placing more generic labels}
+
+\clearpage
+\crtcrossreflabel[Let us place a label without a counter]{Let us plant a label not being connected to a counter:}[somelabel] and \crtcrossreflabel*{some visible text that is invisibly placed here}[invisiblelabel]
+
+
+
+
+\clearpage
+
+See \ref{somelabel} or \crtnameref{somelabel} on \cpageref{somelabel}, but \crtlnameref{somelabel}. \crtunameref{invisiblelabel}
+
+
+\chapter{This is foo}\label{foochapterlabel}
+
+\setcounter{section}{5}
+\section{Foo}\label{foosectionlabel} \zlabel{foosectionlabel}
+
+\subsection{Foo subsection} \label{foosubsectionlabel}
+
+\begin{equation}
+ E=mc^{2}\label{firstequationlabel}
+\end{equation}
+
+\begin{equation}
+ E=mc^{2}\label{fooequationlabel}
+\end{equation}
+
+
+\clearpage
+
+\section{Another foo bar section}
+\begin{equation}
+ a^{2} + b^{2}=c^{2}\label[section]{pythagoreantheorem}% Explicitly use a wrong counter type here for testing
+\end{equation}
+
+
+\chapter{Checking for label existence}
+
+\crtifdefinedlabel{firstfooequationlabel}{%
+ Yes, that label exists%
+}{
+ No, that label does not exist%
+}
+
+\crtcrefifdefinedlabel{fooequationlabel}{%
+ Yes, that cleveref label exists%
+}{
+ No, that cleveref label does not exist%
+}
+
+
+
+
+\end{document} \ No newline at end of file