diff options
author | Karl Berry <karl@freefriends.org> | 2012-03-29 23:18:26 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2012-03-29 23:18:26 +0000 |
commit | 61c935045d7f29c0ecc205b878306598bb596c1b (patch) | |
tree | 3ddd78941a80d7568b28b982b78664afd5e614ce /Master/texmf-dist/source/latex/tikzpfeile | |
parent | 3c29bba3b1087cea47fa30393f5ff6a4300b48a3 (diff) |
new tikz package tikzpfeile (29mar12)
git-svn-id: svn://tug.org/texlive/trunk@25777 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/tikzpfeile')
-rw-r--r-- | Master/texmf-dist/source/latex/tikzpfeile/tikzpfeile.dtx | 240 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/tikzpfeile/tikzpfeile.ins | 4 |
2 files changed, 244 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/tikzpfeile/tikzpfeile.dtx b/Master/texmf-dist/source/latex/tikzpfeile/tikzpfeile.dtx new file mode 100644 index 00000000000..de7ed7112af --- /dev/null +++ b/Master/texmf-dist/source/latex/tikzpfeile/tikzpfeile.dtx @@ -0,0 +1,240 @@ +% \iffalse meta-coment: +% +% The tikzpfeile package. +% +% \fi +% +% ^^A Driver stuff: +% \iffalse not to be used in package .... +%<*driver> +\documentclass[a4paper]{ltxdoc} +\usepackage{ifxetex} +\usepackage{doc} +\ifxetex + \usepackage[no-math]{fontspec} + \usepackage{polyglossia} + \setmainfont[Mapping=tex-text,Numbers=OldStyle,Ligatures=Rare]{Linux Libertine O} + \setsansfont[Mapping=tex-text,Numbers=OldStyle,Ligatures=Rare]{Linux Biolinum O} + \setdefaultlanguage{english} +\else + \usepackage[utf8]{inputenc} + \usepackage[T1]{fontenc} + \usepackage[english]{babel} +\fi +\EnableCrossrefs +\CodelineIndex +\RecordChanges +\usepackage{hyperref} +\usepackage{tikzpfeile} +\begin{document} + \DocInput{tikzpfeile.dtx} +\end{document} +%</driver> +% \fi +% +% \iffalse package preamble +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{tikzpfeile}[2012/03/28 v1.0 A LaTeX package for drawing arrows using PGF/TikZ] +% \fi +% +% \MakeShortVerb{\"} +% +% \newcommand{\tpf}{\texttt{tikzpfeile}} +% \newcommand{\pgftikz}{\texttt{PGF/TikZ}} +% \newenvironment{syntax}{\medskip\hspace*{1em}}{\par\medskip} +% +% \GetFileInfo{tikzpfeile.sty} +% +% \title{The \tpf{} Package} +% \author{Jonathan Zachhuber\thanks{\url{jonathan.zachhuber@gmail.com}} \and Michael Fütterer\thanks{\url{michaelfuetterer@gmail.com}}} +% \date{Version \fileversion, \filedate} +% +% \maketitle +% +% \begin{abstract} +% This package defines commands for drawing arrows using \pgftikz{} which should be used instead of the regular \LaTeX{} arrows. +% \end{abstract} +% +% \section{Introduction} +% +% In mathematical texts that contain commutative diagrams created with \pgftikz{}, it might be disturbing that regular arrows (such as "\rightarrow": $\rightarrow$) and the \pgftikz{} arrows in the diagrams have different heads. This package defines commands that draw arrows using \pgftikz{}. Using these instead of the regular arrows makes your document look more consistent. Moreover, using \pgftikz{}, a lot more different arrow types can be drawn. +% +% \section{Arrow commands} +% +% This package provides the following commands for drawing arrows: +% +% \medskip +% +% \begin{tabular}{l l} +% "\ra"&\ra\\ +% "\la"&\la\\ +% "\mapsto"&\mapsto\\ +% "\lmapsto"&\lmapsto\\ +% "\inj"&\inj\\ +% "\linj"&\linj\\ +% "\surj"&\surj\\ +% "\lsurj"&\lsurj\\ +% "\isom"&\isom\\ +% "\lisom"&\lisom\\ +% "\lra"&\lra\\ +% "\ppf"&\ppf\\ +% "\lppf"&\lppf\\ +% "\smapsto"&\smapsto\\ +% "\lsmapsto"&\lsmapsto\\ +% "\oldmapsto"&$\oldmapsto$ +% \end{tabular} +% +% \medskip +% +% \noindent By giving an optional argument, the arrows can be labeled. This does not work for the "\isom" and "\lisom" arrows. +% +% \medskip +% +% \begin{tabular}{l l} +% "\ra[$\psi$]"&\ra[$\psi$]\\ +% "\inj[$\iota$]"&\inj[$\iota$]\\ +% "\surj[$\pi$]"&\surj[$\pi$]\\ +% "\lra[$\tau$]"&\lra[$\tau$]\\ +% "\ppf[$f$]"&\ppf[$f$]\\ +% \end{tabular} +% +% \section{Package options} +% +% The package recognizes one option, "length". Usually, the arrows are $1\mathrm{cm}$ long. This length is scaled by the value given by the "length" option. Its default value is, of course, $1$. +% +% \section{Implementation} +% +% Of course, we need the "tikz" package with the "arrows" library. For the length option we need "kvoptions". +% \begin{macrocode} +\RequirePackage{tikz} +\usetikzlibrary{arrows} +\RequirePackage{kvoptions} +% \end{macrocode} +% Define the length option: +% \begin{macrocode} +\DeclareStringOption[1]{length} +\DeclareLocalOptions{length} +\ProcessKeyvalOptions* +% \end{macrocode} +% Now define the arrow commands using \pgftikz{}. +% \begin{macro}{\smapsto} +% \begin{macrocode} +\newcommand*{\smapsto}{\raisebox{-1pt}{\tikz{% + \draw[xscale=\tikzpfeile@length,thin,shorten >=3pt, |->] (0,0)% + node{\hspace*{0pt}}% + -- node{} (0.7,0);}}\penalty1000\relax} +% \end{macrocode} +% \end{macro}\begin{macro}{\lsmapsto} +% \begin{macrocode} +\newcommand*{\lsmapsto}{\raisebox{-1pt}{\tikz{% + \draw[xscale=\tikzpfeile@length,thin,shorten >=3pt, <-|] (0,0)% + node{\hspace*{0pt}}% + -- node{} (0.7,0);}}\penalty1000\relax} +% \end{macrocode} +% \end{macro}\begin{macro}{\ra} +% \begin{macrocode} +\newcommand*{\ra}[1][]{\raisebox{-1pt}{\tikz{% + \draw[xscale=\tikzpfeile@length,thin,shorten >=3pt, ->,font=\scriptsize] (0,0)% + node{\hspace*{-2pt}} -- (0.5,0) node[above] {#1}% + -- node{} (1,0);}}\penalty1000\relax} +% \end{macrocode} +% \end{macro}\begin{macro}{\la} +% \begin{macrocode} +\newcommand*{\la}[1][]{\raisebox{-1pt}{\tikz{% + \draw[xscale=\tikzpfeile@length,thin,shorten >=3pt, <-,font=\scriptsize] (0,0)% + node{\hspace*{-2pt}} -- (0.5,0) node[above] {#1}% + -- node{} (1,0);}}\penalty1000\relax} +% \end{macrocode} +% \end{macro}\begin{macro}{\mapsto} +% \end{macro}\begin{macro}{\oldmapsto} +% We save the old "\mapsto" arrow in "\oldmapsto". +% \begin{macrocode} +\let\oldmapsto\mapsto +\renewcommand*{\mapsto}{\raisebox{-1pt}{\tikz{% + \draw[xscale=\tikzpfeile@length,thin,shorten >=3pt, |->] (0,0)% + node{\hspace*{0pt}}% + -- node{} (1,0);}}\penalty1000\relax} +% \end{macrocode} +% \end{macro}\begin{macro}{\lmapsto} +% \begin{macrocode} +\newcommand*{\lmapsto}{\raisebox{-1pt}{\tikz{% + \draw[xscale=\tikzpfeile@length,thin,shorten >=3pt, <-|] (0,0)% + node{\hspace*{0pt}}% + -- node{} (1,0);}}\penalty1000\relax} +% \end{macrocode} +% \end{macro}\begin{macro}{\inj} +% \begin{macrocode} +\newcommand*{\inj}[1][]{\raisebox{-1pt}{\tikz{% + \draw[xscale=\tikzpfeile@length,thin,shorten >=3pt, right hook->,% + font=\scriptsize] (0,0)% + node{\hspace*{0pt}} -- (0.5,0) node[above] {#1} --% + node{} (1,0);}}\penalty1000\relax} +% \end{macrocode} +% \end{macro}\begin{macro}{\linj} +% \begin{macrocode} +\newcommand*{\linj}[1][]{\raisebox{-1pt}{\tikz{% + \draw[xscale=\tikzpfeile@length,thin,shorten >=3pt, <-left hook,% + font=\scriptsize] (0,0)% + node{\hspace*{0pt}} -- (0.5,0) node[above] {#1} --% + node{} (1,0);}}\penalty1000\relax} +% \end{macrocode} +% \end{macro}\begin{macro}{\surj} +% \begin{macrocode} +\newcommand*{\surj}[1][]{\raisebox{-1pt}{\tikz{% + \draw[xscale=\tikzpfeile@length,thin,shorten >=3pt, ->>,font=\scriptsize] (0,0)% + node{\hspace*{0pt}} -- (0.5,0) node[above] {#1}% + -- node{} (1,0);}}\penalty1000\relax} +% \end{macrocode} +% \end{macro}\begin{macro}{\lsurj} +% \begin{macrocode} +\newcommand*{\lsurj}[1][]{\raisebox{-1pt}{\tikz{% + \draw[xscale=\tikzpfeile@length,thin,shorten >=3pt, <<-,font=\scriptsize] (0,0)% + node{\hspace*{0pt}} -- (0.5,0) node[above] {#1}% + -- node{} (1,0);}}\penalty1000\relax} +% \end{macrocode} +% \end{macro}\begin{macro}{\isom} +% \begin{macrocode} +\newcommand*{\isom}{\raisebox{-1pt}{\tikz{% + \draw[xscale=\tikzpfeile@length,thin,shorten >=3pt, ->] % + (0,0) node{\hspace*{0pt}} -- node{} (1,0);% + \draw[xscale=\tikzpfeile@length] (0.4,0.1) node {$\sim$};}}% + \penalty1000\relax} +% \end{macrocode} +% \end{macro}\begin{macro}{\lisom} +% \begin{macrocode} +\newcommand*{\lisom}{\raisebox{-1pt}{\tikz{% + \draw[xscale=\tikzpfeile@length,thin,shorten >=3pt, <-] % + (0,0) node{\hspace*{0pt}} -- node{} (1,0);% + \draw[xscale=\tikzpfeile@length] (0.4,0.1) node {$\sim$};}}% + \penalty1000\relax} +% \end{macrocode} +% \end{macro}\begin{macro}{\lra} +% \begin{macrocode} +\newcommand*{\lra}[1][]{\raisebox{-1pt}{\tikz{% + \draw[xscale=\tikzpfeile@length,thin,shorten >=3pt, <->,font=\scriptsize] (0,0) % + node{\hspace*{-2pt}} -- (0.5,0) node[above] {#1} --% + node{} (1,0);}}\penalty1000\relax} +% \end{macrocode} +% \end{macro}\begin{macro}{\ppf} +% \begin{macrocode} +\newcommand*{\ppf}[1][]{\raisebox{-1pt}{\tikz{% + \draw[xscale=\tikzpfeile@length,densely dashed,thin,shorten >=3pt,% + ->,font=\scriptsize] (0,0) % + node{\hspace*{0pt}} -- (0.5,0) node[above] {#1}% + -- node{} (1,0);}}\penalty1000\relax} +% \end{macrocode} +% \end{macro}\begin{macro}{\lppf} +% \begin{macrocode} +\newcommand*{\lppf}[1][]{\raisebox{-1pt}{\tikz{% + \draw[xscale=\tikzpfeile@length,densely dashed,thin,shorten >=3pt,% + <-,font=\scriptsize] (0,0) % + node{\hspace*{0pt}} -- (0.5,0) node[above] {#1}% + -- node{} (1,0);}}\penalty1000\relax} + +\endinput +% \end{macrocode} +% \end{macro} +% \changes{v0.1}{2011/08/03}{Started project} +% \changes{v1.0}{2012/03/28}{First public version} +% \PrintChanges +% \PrintIndex diff --git a/Master/texmf-dist/source/latex/tikzpfeile/tikzpfeile.ins b/Master/texmf-dist/source/latex/tikzpfeile/tikzpfeile.ins new file mode 100644 index 00000000000..2ae9a1e48a1 --- /dev/null +++ b/Master/texmf-dist/source/latex/tikzpfeile/tikzpfeile.ins @@ -0,0 +1,4 @@ +\input docstrip.tex +\askforoverwritefalse +\generate{\file{tikzpfeile.sty}{\from{tikzpfeile.dtx}{}}} +\end |