summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/dotarrow
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/dotarrow
Initial commit
Diffstat (limited to 'macros/latex/contrib/dotarrow')
-rw-r--r--macros/latex/contrib/dotarrow/DotArrow.dtx265
-rw-r--r--macros/latex/contrib/dotarrow/DotArrow.ins43
-rw-r--r--macros/latex/contrib/dotarrow/DotArrow.pdfbin0 -> 89675 bytes
-rw-r--r--macros/latex/contrib/dotarrow/README32
4 files changed, 340 insertions, 0 deletions
diff --git a/macros/latex/contrib/dotarrow/DotArrow.dtx b/macros/latex/contrib/dotarrow/DotArrow.dtx
new file mode 100644
index 0000000000..b5340a6288
--- /dev/null
+++ b/macros/latex/contrib/dotarrow/DotArrow.dtx
@@ -0,0 +1,265 @@
+%% DotArrow.dtx
+%% Copyright 2008 Sven Schneider
+%
+% 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 `maintained'.
+%
+% The Current Maintainer of this work is Sven Schneider.
+%
+% This work consists of the files DotArrow.dtx, README, DotArrow.pdf and DotArrow.ins
+% and the derived file DotArrow.sty, DotArrow.tex.
+
+% Version 0.02a
+
+%<*driver>
+\documentclass{ltxdoc}
+
+
+\usepackage[utf8]{inputenc}
+\usepackage{epsfig,ifthen,amsmath,url,hyperref}
+
+\usepackage{DotArrow}
+
+\title{The DotArrow-Package\\ -- Dotted Extendable Arrows --}
+\author{Sven Schneider}
+
+\setlength{\parindent}{0pt}
+\begin{document}
+\maketitle
+
+\begin{abstract}
+This package defines a new extendable arrow. This time its a dotted one. Other interesting packages are \verb+extPfeil+\footnote{\url{http://tug.ctan.org/tex-archive/macros/latex/contrib/extpfeil/}} \verb+symbols+\footnote{\url{http://www.ctan.org/tex-archive/info/symbols/comprehensive/}} \verb+extarrows+\footnote{\url{http://tug.ctan.org/tex-archive/macros/latex/contrib/extarrows/}}
+\verb+chemarrow+\footnote{\url{http://tug.ctan.org/tex-archive/macros/latex/contrib/chemarrow/}}.
+\end{abstract}
+\tableofcontents
+\section{Simple Usage}
+\DescribeMacro{\dotarrow}
+ $S\dotarrow{\kappa}S^\prime$\\
+ \verb+$S\dotarrow{\kappa}S^\prime$+
+\section{Package - Options}
+\DescribeMacro{Option:autosep**}
+ These Package-Options can be used to adjust the space on left and right to the label. The default is \verb+autosep03+.
+
+ \begin{center}
+ \begin{tabular}{ll}
+ autosep00 & \DotArrowSetSep{0.0em}$S\dotarrow{\kappa}S^\prime$\\
+ autosep01 & \DotArrowSetSep{0.1em}$S\dotarrow{\kappa}S^\prime$\\
+ autosep02 & \DotArrowSetSep{0.2em}$S\dotarrow{\kappa}S^\prime$\\
+ autosep03 & \DotArrowSetSep{0.3em}$S\dotarrow{\kappa}S^\prime$\\
+ autosep04 & \DotArrowSetSep{0.4em}$S\dotarrow{\kappa}S^\prime$\\
+ autosep05 & \DotArrowSetSep{0.5em}$S\dotarrow{\kappa}S^\prime$\\
+ autosep06 & \DotArrowSetSep{0.6em}$S\dotarrow{\kappa}S^\prime$\\
+ autosep07 & \DotArrowSetSep{0.7em}$S\dotarrow{\kappa}S^\prime$\\
+ autosep08 & \DotArrowSetSep{0.8em}$S\dotarrow{\kappa}S^\prime$\\
+ autosep09 & \DotArrowSetSep{0.9em}$S\dotarrow{\kappa}S^\prime$\\
+ autosep10 & \DotArrowSetSep{1.0em}$S\dotarrow{\kappa}S^\prime$
+ \end{tabular}
+ \end{center}
+
+\DescribeMacro{Option:autoraise**}
+ These Package-Options can be used to adjust the space between label and arrow. The default is \verb+autosep06+.
+
+ \begin{center}
+ \begin{tabular}{ll}
+ autoraise00 & \DotArrowSetRaise{0.0ex}$S\dotarrow{\kappa}S^\prime$\\
+ autoraise01 & \DotArrowSetRaise{0.1ex}$S\dotarrow{\kappa}S^\prime$\\
+ autoraise02 & \DotArrowSetRaise{0.2ex}$S\dotarrow{\kappa}S^\prime$\\
+ autoraise03 & \DotArrowSetRaise{0.3ex}$S\dotarrow{\kappa}S^\prime$\\
+ autoraise04 & \DotArrowSetRaise{0.4ex}$S\dotarrow{\kappa}S^\prime$\\
+ autoraise05 & \DotArrowSetRaise{0.5ex}$S\dotarrow{\kappa}S^\prime$\\
+ autoraise06 & \DotArrowSetRaise{0.6ex}$S\dotarrow{\kappa}S^\prime$\\
+ autoraise07 & \DotArrowSetRaise{0.7ex}$S\dotarrow{\kappa}S^\prime$\\
+ autoraise08 & \DotArrowSetRaise{0.8ex}$S\dotarrow{\kappa}S^\prime$\\
+ autoraise09 & \DotArrowSetRaise{0.9ex}$S\dotarrow{\kappa}S^\prime$\\
+ autoraise10 & \DotArrowSetRaise{1.0ex}$S\dotarrow{\kappa}S^\prime$
+ \end{tabular}
+ \end{center}
+
+\DescribeMacro{Option:head*}
+ These Package-Options can be used to choose a different head. The default is \verb+head1+.
+
+ \begin{center}
+ \begin{tabular}{ll}
+ head1 & \DotArrowSetHead{\ensuremath{\succ}}$S\dotarrow{\kappa}S^\prime$\\
+ head2 & \DotArrowSetHead{\ensuremath{>}}$S\dotarrow{\kappa}S^\prime$\\
+ head3 & \DotArrowSetHead{\ensuremath{\gg}}$S\dotarrow{\kappa}S^\prime$
+ \end{tabular}
+ \end{center}
+
+\section{Commands}
+\DescribeMacro{\DotArrowSetSep}
+ Select a new separation-value. \verb+\DotArrowSetSep{0.3em}+
+
+\DescribeMacro{\DotArrowSetRaise}
+ Select a new raisevalue. \verb+\DotArrowSetRaise{0.6ex}+
+
+\DescribeMacro{\DotArrowSetHead}
+ Select a new arrowhead. \verb+\DotArrowSetHead{\ensuremath{\succ}}+
+
+\end{document}
+%</driver>
+
+%<*package>
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{DotArrow}[2007/02/12 draw dotted arrows]
+
+\RequirePackage{ifthen}
+
+\PackageInfo{DotArrow}{This is the DotArrow-Package-0.02a}
+
+% ####################################################
+% Define Setters
+% ####################################################
+\newcommand{\DotArrowSetRaise}[1]{\setlength{\AUTORAISE}{#1}}
+\newcommand{\DotArrowSetSep}[1]{\setlength{\AUTOSEP}{#1}}
+\newcommand{\DotArrowSetHead}[1]{\renewcommand*{\ARROWHEAD}{\scalebox{.5}[.5]{#1}}}
+
+
+\newlength{\AUTOSEP}
+\setlength{\AUTOSEP}{0.3em}
+\DeclareOption{autosep00}{\DotArrowSetSep{0.0em}}
+\DeclareOption{autosep01}{\DotArrowSetSep{0.1em}}
+\DeclareOption{autosep02}{\DotArrowSetSep{0.2em}}
+\DeclareOption{autosep03}{\DotArrowSetSep{0.3em}}
+\DeclareOption{autosep04}{\DotArrowSetSep{0.4em}}
+\DeclareOption{autosep05}{\DotArrowSetSep{0.5em}}
+\DeclareOption{autosep06}{\DotArrowSetSep{0.6em}}
+\DeclareOption{autosep07}{\DotArrowSetSep{0.7em}}
+\DeclareOption{autosep08}{\DotArrowSetSep{0.8em}}
+\DeclareOption{autosep09}{\DotArrowSetSep{0.9em}}
+\DeclareOption{autosep10}{\DotArrowSetSep{1.0em}}
+
+
+\newlength{\AUTORAISE}
+\setlength{\AUTORAISE}{0.6ex}
+\DeclareOption{autoraise00}{\DotArrowSetRaise{0.0ex}}
+\DeclareOption{autoraise02}{\DotArrowSetRaise{0.2ex}}
+\DeclareOption{autoraise04}{\DotArrowSetRaise{0.4ex}}
+\DeclareOption{autoraise06}{\DotArrowSetRaise{0.6ex}}
+\DeclareOption{autoraise08}{\DotArrowSetRaise{0.8ex}}
+\DeclareOption{autoraise10}{\DotArrowSetRaise{1.0ex}}
+\DeclareOption{autoraise12}{\DotArrowSetRaise{1.2ex}}
+\DeclareOption{autoraise14}{\DotArrowSetRaise{1.4ex}}
+\DeclareOption{autoraise16}{\DotArrowSetRaise{1.6ex}}
+
+\newcommand*{\ARROWHEAD}{\scalebox{.5}[.5]{$\succ$}}
+\DeclareOption{head1}{\DotArrowSetHead{\ensuremath{\succ}}}
+\DeclareOption{head2}{\DotArrowSetHead{\ensuremath{>}}}
+\DeclareOption{head3}{\DotArrowSetHead{\ensuremath{\gg}}}
+
+\ProcessOptions\relax
+
+% ##################################################
+% \newlength - commands
+% ##################################################
+% width of the printed horizontal bars
+\newlength{\actualWidth}
+% the width of one horizontal bar
+\newlength{\oneWidth}
+% the width of the text on top of the arrow
+\newlength{\labelWidth}
+
+% second store for the \labelWidth (the \labelWidth is used for calculation)
+\newlength{\labelWidthBack}
+% the distance to go backwards/forwards to print the
+% label/to print the arrowhead
+\newlength{\captionStart}
+
+% the distance of the bars from the baseline
+\newlength{\moveUpBars}
+% the distance of the label from the baseline
+\newlength{\moveUpLabel}
+
+% the distance the arrowhead is moved up
+\newlength{\moveSuccHeight}
+\newlength{\succHeight}
+% \newcommand*{\ARROWHEAD}{\scalebox{.5}[.5]{$\succ$}}
+
+% ##################################################
+% \onePartX : prints one horizontal bar
+% ##################################################
+\newlength{\WIDTH}
+\setlength{\WIDTH}{.4pt}
+
+% this is one single horizontal bar
+% \newcommand{\onePartX}{\raisebox{\moveUpBars}{\rule{2pt}{\WIDTH}}}
+\newcommand*{\onePartX}{\raisebox{\moveUpBars}{\rule{2pt}{\WIDTH}}}
+% oneWidth is the width of one such bar
+\settowidth{\oneWidth}{\onePartX}
+
+% ##################################################
+% \allPartFront : print the first bar without any space around it
+% ##################################################
+\newcommand{\allPartFront}{
+ % determine the actual width of the horizontal bars:
+ \setlength{\actualWidth}{0pt}
+ \onePartX%
+ \addtolength{\labelWidth}{-\oneWidth}
+ \addtolength{\actualWidth}{\oneWidth}
+}
+
+% ##################################################
+% \allPartFront : prints all further bars with space on the left side
+% ##################################################
+\newcommand{\allPart}{%
+ \ifthenelse{\labelWidth > 0}{%
+ \hspace*{1.5pt}%
+ \addtolength{\labelWidth}{-1.5pt}%
+ \onePartX%
+ \addtolength{\labelWidth}{-\oneWidth}%
+ \addtolength{\actualWidth}{\oneWidth}%
+ \addtolength{\actualWidth}{1.5pt}%
+ \allPart%
+ }{%
+ }%
+}%
+
+% ##################################################
+% \dotarrow : draws the whole arrow
+% ##################################################
+\newcommand{\dotarrow}[1]{%
+ \setlength{\moveUpBars}{.8ex}%
+ \addtolength{\moveUpBars}{-.5\WIDTH}%
+ \setlength{\moveUpLabel}{\AUTORAISE}%
+ \addtolength{\moveUpLabel}{\moveUpBars}%
+ \addtolength{\moveUpLabel}{\WIDTH}%
+ % print a little space at the left side
+ \;%
+ % get the width of the label
+ \settowidth{\labelWidthBack}{\hspace*{\AUTOSEP}\scriptsize\ensuremath{#1}\hspace*{\AUTOSEP}}%
+ \setlength{\labelWidth}{\labelWidthBack}%
+ \setlength{\captionStart}{\labelWidth}%
+ % and print the horizontal bars
+ \allPartFront{}\allPart%
+ % determine the space to go back to print the label
+ \addtolength{\captionStart}{\actualWidth}%
+ \setlength{\captionStart}{.5\captionStart}%
+ % now go back
+ \hspace*{-\captionStart}%
+ % print the label
+ \raisebox{\moveUpLabel}{\hspace*{\AUTOSEP}\scriptsize\ensuremath{#1}\hspace*{\AUTOSEP}}%
+ % determine the space to go forward
+ \setlength{\captionStart}{\actualWidth}%
+ \addtolength{\captionStart}{-\labelWidthBack}%
+ \setlength{\captionStart}{.5\captionStart}%
+ % and go forward
+ \hspace*{\captionStart}%
+ % print the top of the arrow
+ % arrowhead distance-calculation:
+ \settoheight{\succHeight}{\ARROWHEAD}%
+ \setlength{\succHeight}{.5\succHeight}%
+ \setlength{\moveSuccHeight}{\moveUpBars}%
+ \addtolength{\moveSuccHeight}{.5\WIDTH}%
+ \addtolength{\moveSuccHeight}{-\succHeight}%
+ \raisebox{\moveSuccHeight}{\ARROWHEAD}%
+ % print a little space at the right side
+ \;%
+}%
+%</package> \ No newline at end of file
diff --git a/macros/latex/contrib/dotarrow/DotArrow.ins b/macros/latex/contrib/dotarrow/DotArrow.ins
new file mode 100644
index 0000000000..fb5662c8a3
--- /dev/null
+++ b/macros/latex/contrib/dotarrow/DotArrow.ins
@@ -0,0 +1,43 @@
+%% DotArrow.ins
+%% Copyright 2007 Sven Schneider
+%
+% 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 `maintained'.
+%
+% The Current Maintainer of this work is Sven Schneider.
+%
+% This work consists of the files DotArrow.dtx, README, DotArrow.pdf and DotArrow.ins
+% and the derived file DotArrow.sty, DotArrow.tex.
+
+% Version 0.02a
+
+\def\filedate{2007/02/11}
+\input docstrip
+
+\keepsilent
+\askforoverwritefalse
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\generate{
+ \file{DotArrow.sty}{\from{DotArrow.dtx}{package}}
+ \file{DotArrow.tex}{\from{DotArrow.dtx}{driver}}
+}
+
+\Msg{***************************************************************}
+\Msg{*}
+\Msg{* \space To finish the installation you have to copy the file }
+\Msg{*}
+\Msg{* \space DotArrow.sty into a directory searched by TeX}
+\Msg{*}
+\Msg{***************************************************************}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\endbatchfile
diff --git a/macros/latex/contrib/dotarrow/DotArrow.pdf b/macros/latex/contrib/dotarrow/DotArrow.pdf
new file mode 100644
index 0000000000..e717aba64b
--- /dev/null
+++ b/macros/latex/contrib/dotarrow/DotArrow.pdf
Binary files differ
diff --git a/macros/latex/contrib/dotarrow/README b/macros/latex/contrib/dotarrow/README
new file mode 100644
index 0000000000..a4108e5be4
--- /dev/null
+++ b/macros/latex/contrib/dotarrow/README
@@ -0,0 +1,32 @@
+%% README
+%% Copyright 2007 Sven Schneider
+%
+% 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 `maintained'.
+%
+% The Current Maintainer of this work is Sven Schneider.
+%
+% This work consists of the files DotArrow.dtx, README, DotArrow.pdf and DotArrow.ins
+% and the derived file DotArrow.sty, DotArrow.tex.
+
+% Version 0.02a
+
+PURPOSE:
+This package draws extendable arrows whith a dotted line.
+There can be label above the arrow and the arrow stretches as much as necessary.
+
+Example:
+
+ abcd
+------>
+
+INSTALL:
+1) Run "tex DotArrow.ins"
+2) Copy "DotArrow.sty" to a location where tex finds it.