From e0c6872cf40896c7be36b11dcc744620f10adf1d Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Mon, 2 Sep 2019 13:46:59 +0900 Subject: Initial commit --- macros/latex/contrib/dotarrow/DotArrow.dtx | 265 +++++++++++++++++++++++++++++ macros/latex/contrib/dotarrow/DotArrow.ins | 43 +++++ macros/latex/contrib/dotarrow/DotArrow.pdf | Bin 0 -> 89675 bytes macros/latex/contrib/dotarrow/README | 32 ++++ 4 files changed, 340 insertions(+) create mode 100644 macros/latex/contrib/dotarrow/DotArrow.dtx create mode 100644 macros/latex/contrib/dotarrow/DotArrow.ins create mode 100644 macros/latex/contrib/dotarrow/DotArrow.pdf create mode 100644 macros/latex/contrib/dotarrow/README (limited to 'macros/latex/contrib/dotarrow') 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} +% + +%<*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 + \;% +}% +% \ 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 Binary files /dev/null and b/macros/latex/contrib/dotarrow/DotArrow.pdf 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. -- cgit v1.2.3