diff options
author | Karl Berry <karl@freefriends.org> | 2006-01-09 00:49:07 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2006-01-09 00:49:07 +0000 |
commit | 007f67a693e4d031fd3d792df8e4d5f43e2cb2e7 (patch) | |
tree | 90d17e00e572ecb1e24764b6f29c80e098b08d29 /Master/texmf-dist/doc/latex/fancyref | |
parent | 950209b26f70aa87ed07c54f82a95b6f03b7c3a0 (diff) |
doc/latex
git-svn-id: svn://tug.org/texlive/trunk@84 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/latex/fancyref')
-rw-r--r-- | Master/texmf-dist/doc/latex/fancyref/freftest.tex | 206 |
1 files changed, 206 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/fancyref/freftest.tex b/Master/texmf-dist/doc/latex/fancyref/freftest.tex new file mode 100644 index 00000000000..dba80fcef44 --- /dev/null +++ b/Master/texmf-dist/doc/latex/fancyref/freftest.tex @@ -0,0 +1,206 @@ +%% +%% This is file `freftest.tex', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% fancyref.dtx (with options: `testfile') +%% +%% LaTeX package for fancy cross-referencing. +%% +%% Copyright (C) 1999 Axel Reichert +%% See the files README and COPYING. +%% +%% \CharacterTable +%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +%% Digits \0\1\2\3\4\5\6\7\8\9 +%% Exclamation \! Double quote \" Hash (number) \# +%% Dollar \$ Percent \% Ampersand \& +%% Acute accent \' Left paren \( Right paren \) +%% Asterisk \* Plus \+ Comma \, +%% Minus \- Point \. Solidus \/ +%% Colon \: Semicolon \; Less than \< +%% Equals \= Greater than \> Question mark \? +%% Commercial at \@ Left bracket \[ Backslash \\ +%% Right bracket \] Circumflex \^ Underscore \_ +%% Grave accent \` Left brace \{ Vertical bar \| +%% Right brace \} Tilde \~} +\documentclass[12pt,a4paper]{ltxdoc} +\usepackage{fancyref} +\fancyrefaddcaptions{english}{% + \newcommand*{\Frefthmname}{Theorem}% + \newcommand*{\frefthmname}{\MakeLowercase{\Frefthmname}}% +}% +\newcommand*{\booktitle}[1]{``#1''} +\newcommand*{\format}[1]{\texttt{#1}} +\newcommand*{\labelname}[1]{\texttt{#1}} +\newcommand*{\option}[1]{\texttt{#1}} +\newcommand*{\package}[1]{\texttt{#1}} +\newcommand*{\person}[1]{\textsc{#1}} +\newcommand*{\prefix}[1]{\texttt{#1}} +\newcommand*{\stringdef}[1]{``#1''} +\newtheorem{theorem}{Theorem} +\begin{document} +Let us start with a famous equation: +\begin{equation} + \label{eq:pythagoras} + a^2 + b^2 = c^2 +\end{equation} +\Fref{eq:pythagoras} has been proven by \person{Pythagoras}. And this +cross-reference was made with |\Fref{eq:pythagoras}|. Note that I +really wrote: +\begin{verbatim} + \Fref{eq:pythagoras} has ... +\end{verbatim} +I did not use: +\begin{verbatim} + Equation~(\Fref{eq:pythagoras}) has ... +\end{verbatim} + +See the next page for further features of the \package{fancyref} +package, I need this page break for demonstration purposes. + +\clearpage +The cross-reference works also in the middle of a sentence: +\person{Pythagoras} has proven \fref{eq:pythagoras}. And this +cross-reference was made with |\fref{eq:pythagoras}|. You can see the +fancy output from the \package{varioref} package. + +Oh, you do not like this package and want normal \cmd{\ref} output +instead? No problem, just redefine the default format: +\renewcommand*{\fancyrefdefaultformat}{plain} +\begin{verbatim} + \renewcommand*{\fancyrefdefaultformat}{plain} +\end{verbatim} +Now the cross-reference looks like this: \Fref{eq:pythagoras}. There +is also a package option called \option{plain} for this purpose. + +Oh, you do not like \stringdef{Equation} and want \stringdef{Eq.} +instead? No problem, just redefine the string: +\renewcommand*{\Frefeqname}{Eq.} +\begin{verbatim} + \renewcommand*{\Frefeqname}{Eq.} +\end{verbatim} +\Fref{eq:pythagoras} and \fref{eq:pythagoras} will be the result, +respectively. Note that there is no need to redefine +\cmd{\frefeqname} to \stringdef{eq.}. The \package{fancyref} package +will do this automatically for you. But of course you can use +\stringdef{eqn.} instead, if you really want to. + +Oh, you are not using the colon as a delimitor but rather the dash? No +problem, just redefine the character: +\renewcommand*{\fancyrefargdelim}{-} +\begin{verbatim} + \renewcommand*{\fancyrefargdelim}{-} +\end{verbatim} +The new test equation with label \labelname{eq-trivial} will be: +\begin{equation} + \label{eq-trivial} + a = a +\end{equation} +The cross-reference |\fref{eq-trivial}| will give \fref{eq-trivial} as +output, as expected. + +All that stuff may be nice, but you are using \prefix{eqn} instead of +\prefix{eq}? No problem, just redefine the prefix: +\fancyrefchangeprefix{\fancyrefeqlabelprefix}{eqn} +\begin{verbatim} + \fancyrefchangeprefix{\fancyrefeqlabelprefix}{eqn} +\end{verbatim} +We need a new, fantastic test equation with label +\labelname{eqn-fantastic}: +\begin{equation} + \label{eqn-fantastic} + b = b +\end{equation} +The cross-reference |\fref{eqn-fantastic}| will give +\fref{eqn-fantastic} as output, as expected. + +Maybe the spacing between \stringdef{eq.} and ``3'' is too generous, +let us tighten things a bit, with +\renewcommand*{\fancyrefdefaultspacing}{\fancyreftightspacing} +\begin{verbatim} + \renewcommand*{\fancyrefdefaultspacing}{% + \fancyreftightspacing + } +\end{verbatim} +the spacing looks like \fref{eqn-fantastic}. If you think this is +better, just use the \option{tight} option of this package. +\fancyrefchangeprefix{\fancyrefeqlabelprefix}{eq} + +Perhaps you want parentheses around the cross-reference? No problem, +just redefine the appropriate hook: +\renewcommand*{\fancyrefhook}[1]{(#1)} +\begin{verbatim} + \renewcommand*{\fancyrefhook}[1]{(#1)} +\end{verbatim} +The result from |\fref{eq-trivial}| is \fref{eq-trivial}. In fact +this could have been obtained easier, as I provided an package option +just for this purpose: +\begin{verbatim} + \usepackage[paren]{fancyref} +\end{verbatim} + +Now let us try something really cool. What about introducing a new +type of objects, e.\,g.\ theorems, with \prefix{thm} prefixed, new +strings like \stringdef{Theorem} added and the cross-reference in huge +italics? Also, as you have read in that bargain textbook on +typography (\booktitle{cAN U rEaD It} by \person{John Badmountain}), +cross-references to theorems should be typeset as footnotes. No +problem: First, we need a new prefix: +\newcommand*{\fancyrefthmlabelprefix}{thm} +\begin{verbatim} + \newcommand*{\fancyrefthmlabelprefix}{thm} +\end{verbatim} +Then we declare a new \package{fancyref} format called \format{foot}: +\frefformat{foot}{\fancyrefthmlabelprefix}{% + \unskip\footnote{% + \huge\itshape\Frefthmname\fancyrefdefaultspacing#1#3% + }% +} +\Frefformat{foot}{\fancyrefthmlabelprefix}{% + \unskip\footnote{% + \huge\itshape\Frefthmname\fancyrefdefaultspacing#1#3% + }% +} +\begin{verbatim} + \frefformat{foot}{\fancyrefthmlabelprefix}{% + \unskip\footnote{% + \huge\itshape\Frefthmname\fancyrefdefaultspacing#1#3% + }% + } + \Frefformat{foot}{\fancyrefthmlabelprefix}{% + \unskip\footnote{% + \huge\itshape\Frefthmname\fancyrefdefaultspacing#1#3% + }% + } +\end{verbatim} +The strings have to be setup in the preamble of the document, I did +this already, because I knew it would be necessary. The code I used +was: +\begin{verbatim} + \fancyrefaddcaptions{english}{% + \newcommand*{\Frefthmname}{Theorem}% + \newcommand*{\frefthmname}{% + \MakeLowercase{\Frefthmname}% + }% + }% +\end{verbatim} +And finally this is the test theorem: +\begin{theorem}[Murphy] + \label{thm-murphy} + If something \emph{can} go wrong, it \emph{will} go wrong. +\end{theorem} +Now let us try it. |\Fref[foot]{thm-murphy}| comes out +as \Fref[foot]{thm-murphy}. Oops, the hook is still at work, I will +just reset it to its default value: +\renewcommand*{\fancyrefhook}[1]{#1}% +\begin{verbatim} + \renewcommand*{\fancyrefhook}[1]{#1} +\end{verbatim} +And now? \Fref[foot]{thm-murphy} Gotcha! +\end{document} +\endinput +%% +%% End of file `freftest.tex'. |