diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/coordsys/logsys.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/coordsys/logsys.sty | 335 |
1 files changed, 335 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/coordsys/logsys.sty b/Master/texmf-dist/tex/latex/coordsys/logsys.sty new file mode 100644 index 00000000000..0bdd97daa09 --- /dev/null +++ b/Master/texmf-dist/tex/latex/coordsys/logsys.sty @@ -0,0 +1,335 @@ +%% +%% This is file `logsys.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% coordsys.dtx (with options: `logsys') +%% +%% +%% This is the coordsys and logsys packages +%% Copyright 2000-04 by Mogens Lemvig Hansen, +%% mlhansen@uniserve.com +%% +%% This program 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.2 or later is part of all distributions of LaTeX +%% version 2003/12/01 or later. +%% +%% This program consists of the files coordsys.dtx and coordsys.ins +%% +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{logsys}[2004/11/15 version 1.3] +\DeclareOption{centred}{\PassOptionsToPackage{centred}{coordsys}} +\DeclareOption{outside}{\PassOptionsToPackage{outside}{coordsys}} +\DeclareOption{inside}{\PassOptionsToPackage{inside}{coordsys}} +\ProcessOptions +\RequirePackage{coordsys}[2004/11/15] +\newcommand{\loglabel}[1]{% + \ifnum #1=-2\relax \frac{1}{100}% + \else\ifnum #1=-1\relax \frac{1}{10}% + \else\ifnum #1= 0\relax 1% + \else\ifnum #1= 1\relax 10% + \else\ifnum #1= 2\relax 100% + \else 10^{#1}% + \fi\fi\fi\fi\fi} +\newcommand{\v@logbox}[2]{% + \vbox to #1\unitlength{% + \offinterlineskip + \vskip \z@ plus 458fil\relax + \vbox to \z@{\vss\hbox{#2}\vss}% 9 + \vskip \z@ plus 512fil\relax + \vbox to \z@{\vss\hbox{#2}\vss}% 8 + \vskip \z@ plus 580fil\relax + \vbox to \z@{\vss\hbox{#2}\vss}% 7 + \vskip \z@ plus 669fil\relax + \vbox to \z@{\vss\hbox{#2}\vss}% 6 + \vskip \z@ plus 792fil\relax + \vbox to \z@{\vss\hbox{#2}\vss}% 5 + \vskip \z@ plus 969fil\relax + \vbox to \z@{\vss\hbox{#2}\vss}% 4 + \vskip \z@ plus 1249fil\relax + \vbox to \z@{\vss\hbox{#2}\vss}% 3 + \vskip \z@ plus 1761fil\relax + \vbox to \z@{\vss\hbox{#2}\vss}% 2 + \vskip \z@ plus 3010fil\relax + }} +\newcommand{\h@logbox}[2]{% + \hbox to #1\unitlength{% + \hskip \z@ plus 3010fill\relax + \hbox to \z@{\hss #2\hss}% 2 + \hskip \z@ plus 1761fill\relax + \hbox to \z@{\hss #2\hss}% 3 + \hskip \z@ plus 1249fill\relax + \hbox to \z@{\hss #2\hss}% 4 + \hskip \z@ plus 969fill\relax + \hbox to \z@{\hss #2\hss}% 5 + \hskip \z@ plus 792fill\relax + \hbox to \z@{\hss #2\hss}% 6 + \hskip \z@ plus 669fill\relax + \hbox to \z@{\hss #2\hss}% 7 + \hskip \z@ plus 580fill\relax + \hbox to \z@{\hss #2\hss}% 8 + \hskip \z@ plus 512fill\relax + \hbox to \z@{\hss #2\hss}% 9 + \hskip \z@ plus 458fill\relax + }} +\newcommand{\@sethlogticks}[5]{% + \thin@ticks + \@tempcnta=#2\relax + \ifnum\@tempcnta>0\advance\@tempcnta -1\relax\fi + \divide\@tempcnta #1\relax + \ifnum #2>0\advance\@tempcnta 1\relax\fi + \multiply\@tempcnta #1\relax + \edef\coordsys@a{\the\@tempcnta}% + \@tempcntb=#3\relax + \ifnum\@tempcnta<\@tempcntb\relax + \advance\@tempcntb -\@tempcnta\relax + \divide\@tempcntb #1\relax + \edef\coordsys@b{\the\@tempcntb}% + \multiput(\coordsys@a,#4)(#1,0)\coordsys@b + {\h@logbox{#1}{#5}}% + \thick@ticks + \@tempcntb=\coordsys@b\relax + \advance\@tempcntb 1\relax + \edef\coordsys@b{\the\@tempcntb}% + \multiput(\coordsys@a,#4)(#1,0)\coordsys@b + {#5}% + \if@numbline + \setcounter{@coord}{\coordsys@a}% + \divide\c@@coord #1\relax + \multiput(\coordsys@a,#4)(#1,0)\coordsys@b{% + \sethlabel{\loglabel{\arabic{@coord}}}% + \stepcounter{@coord}}% + \fi + \fi +} +\newcommand{\@setvlogticks}[5]{% + \thin@ticks + \@tempcnta=#2\relax + \ifnum\@tempcnta>0\advance\@tempcnta -1\relax\fi + \divide\@tempcnta #1\relax + \ifnum #2>0\advance\@tempcnta 1\relax\fi + \multiply\@tempcnta #1\relax + \edef\coordsys@a{\the\@tempcnta}% + \@tempcntb=#3\relax + \ifnum\@tempcnta<\@tempcntb\relax + \advance\@tempcntb -\@tempcnta\relax + \divide\@tempcntb #1\relax + \edef\coordsys@b{\the\@tempcntb}% + \multiput(#4,\coordsys@a)(0,#1)\coordsys@b + {\v@logbox{#1}{#5}}% + \thick@ticks + \@tempcntb=\coordsys@b\relax + \advance\@tempcntb 1\relax + \edef\coordsys@b{\the\@tempcntb}% + \multiput(#4,\coordsys@a)(0,#1)\coordsys@b + {#5}% + \if@numbline + \setcounter{@coord}{\coordsys@a}% + \divide\c@@coord #1\relax + \multiput(#4,\coordsys@a)(0,#1)\coordsys@b{% + \setvlabel{\loglabel{\arabic{@coord}}}% + \stepcounter{@coord}}% + \fi + \fi +} +\newcommand{\logline}{% + \@ifstar{\@numblinefalse\hlogline@i} + {\@numblinetrue \hlogline@i}} +\newcommand{\hlogline@i}[1][50]{\leavevmode\hlogline@ii{#1}} +\newcommand{\hlogline@ii}[3]{{\color@begingroup + \thinlines + \@tempcnta=#3\relax + \advance\@tempcnta -#2\relax + \edef\coordsys@w{\the\@tempcnta}% + \put(#2,0){\vector(1,0){\coordsys@w}}% + \@sethlogticks{#1}{#2}{#3}{0}{\vtickmark} + \color@endgroup}% + \def\coordsys@w{0}% +} +\newcommand{\vlogline}{% + \@ifstar{\@numblinefalse\vlogline@i} + {\@numblinetrue \vlogline@i}} +\newcommand{\vlogline@i}[1][50]{\leavevmode\vlogline@ii{#1}} +\newcommand{\vlogline@ii}[3]{{\color@begingroup + \thinlines + \@tempcnta=#3\relax + \advance\@tempcnta -#2\relax + \edef\coordsys@h{\the\@tempcnta}% + \put(0,#2){\vector(0,1){\coordsys@h}}% + \@setvlogticks{#1}{#2}{#3}{0}{\htickmark} + \color@endgroup}% + \def\coordsys@h{0}% +} +\newcommand{\logsys}{% + \def\coordsys@c{\logsys@i}% + \def\@hticksep{10}% + \def\@vticksep{50}% + \@ifstar{\@numblinefalse\logsys@args@i} + {\@numblinetrue \logsys@args@i}} +\newcommand{\logsys@args@i}[1][\@hticksep]{\leavevmode + \edef\@hticksep{#1}% + \logsys@args@ii} +\newcommand{\logsys@args@ii}[1][\@vticksep]{% + \edef\@vticksep{#1}% + \coordsys@args@iii} +\def\logsys@i#1#2(#3,#4){{\color@begingroup + \thinlines + \@tempcnta=#3\relax + \advance\@tempcnta -#1\relax + \edef\coordsys@w{\the\@tempcnta}% + \put(#1,#2){\vector(1,0){\coordsys@w}}% + \@tempcnta=#4\relax + \advance\@tempcnta -#2\relax + \edef\coordsys@h{\the\@tempcnta}% + \put(#1,#2){\vector(0,1){\coordsys@h}}% + \@set@ticks{\hthickratio}{\@hticksep}{#1}{#3}{6\p@}{% + \multiput(\coordsys@a,#2)(\coordsys@c,0)\coordsys@b\vtickmark}% + \if@numbline + \setcounter{@coord}{\coordsys@a}% + \multiput(\coordsys@a,#2)(\coordsys@c,0)\coordsys@b{% + \edef\coordsys@a{\arabic{@coord}}% + \sethlabel{\hlabel{\coordsys@a}}% + \addtocounter{@coord}{\coordsys@c}}% + \fi + \@setvlogticks{\@vticksep}{#2}{#4}{#1}{\htickmark}% + \color@endgroup}% + \def\coordsys@h{#1}% + \def\coordsys@w{#2}% +} +\newcommand{\semilogsys}{% + \def\coordsys@c{\semilogsys@i}% + \def\@hticksep{50}% + \def\@vticksep{10}% + \@ifstar{\@numblinefalse\logsys@args@i} + {\@numblinetrue \logsys@args@i}} +\def\semilogsys@i#1#2(#3,#4){{\color@begingroup + \thinlines + \@tempcnta=#3\relax + \advance\@tempcnta -#1\relax + \edef\coordsys@w{\the\@tempcnta}% + \put(#1,#2){\vector(1,0){\coordsys@w}}% + \@tempcnta=#4\relax + \advance\@tempcnta -#2\relax + \edef\coordsys@h{\the\@tempcnta}% + \put(#1,#2){\vector(0,1){\coordsys@h}}% + \@sethlogticks{\@hticksep}{#1}{#3}{#2}{\vtickmark}% + \@set@ticks{\vthickratio}{\@vticksep}{#2}{#4}{6\p@}{% + \multiput(#1,\coordsys@a)(0,\coordsys@c)\coordsys@b\htickmark}% + \if@numbline + \setcounter{@coord}{\coordsys@a}% + \multiput(#1,\coordsys@a)(0,\coordsys@c)\coordsys@b{% + \edef\coordsys@a{\arabic{@coord}}% + \setvlabel{\vlabel{\coordsys@a}}% + \addtocounter{@coord}{\coordsys@c}}% + \fi + \color@endgroup}% + \def\coordsys@h{#1}% + \def\coordsys@w{#2}% +} +\newcommand{\loglogsys}{% + \def\coordsys@c{\loglogsys@i}% + \def\@hticksep{50}% + \def\@vticksep{50}% + \@ifstar{\@numblinefalse\logsys@args@i} + {\@numblinetrue \logsys@args@i}} +\def\loglogsys@i#1#2(#3,#4){{\color@begingroup + \thinlines + \@tempcnta=#3\relax + \advance\@tempcnta -#1\relax + \edef\coordsys@w{\the\@tempcnta}% + \put(#1,#2){\vector(1,0){\coordsys@w}}% + \@tempcnta=#4\relax + \advance\@tempcnta -#2\relax + \edef\coordsys@h{\the\@tempcnta}% + \put(#1,#2){\vector(0,1){\coordsys@h}}% + \@sethlogticks{\@hticksep}{#1}{#3}{#2}{\vtickmark}% + \@setvlogticks{\@vticksep}{#2}{#4}{#1}{\htickmark}% + \color@endgroup}% + \def\coordsys@h{#1}% + \def\coordsys@w{#2}% +} +\newcommand{\loggrid}{% + \def\@hticksep{10}% + \def\@vticksep{50}% + \@numblinefalse + \@ifstar{\def\coordsys@c{\loggrid@ii}\logsys@args@i} + {\def\coordsys@c{\loggrid@i}\logsys@args@i}} +\def\loggrid@i#1#2(#3,#4){{\color@begingroup + \coordgrid@calc + \grid@style + \@set@ticks{\hthickratio}{\@hticksep}{#1}{#3}{\z@}{% + \multiput(\coordsys@a,0)(\coordsys@c,0)\coordsys@b + {\vgridfromto{#2}{#4}}}% + \@setvlogticks{\@vticksep}{#2}{#4}{0}{\hgridfromto{#1}{#3}}% + \color@endgroup}} +\def\loggrid@ii#1#2(#3,#4){{\color@begingroup + \grid@style + \@tempcnta=#3\relax + \advance\@tempcnta -#1\relax + \edef\coordsys@w{\the\@tempcnta}% + \@tempcnta=#4\relax + \advance\@tempcnta -#2\relax + \edef\coordsys@h{\the\@tempcnta}% + \@set@ticks{\hthickratio}{\@hticksep}{#1}{#3}{\z@}{% + \multiput(\coordsys@a,#2)(\coordsys@c,0)\coordsys@b + {\vgridlength{\coordsys@h}}}% + \@setvlogticks{\@vticksep}{#2}{#4}{#1}{\hgridlength{\coordsys@w}}% + \color@endgroup}} +\newcommand{\semiloggrid}{% + \def\@hticksep{50}% + \def\@vticksep{10}% + \@numblinefalse + \@ifstar{\def\coordsys@c{\semiloggrid@ii}\logsys@args@i} + {\def\coordsys@c{\semiloggrid@i}\logsys@args@i}} +\def\semiloggrid@i#1#2(#3,#4){{\color@begingroup + \coordgrid@calc + \grid@style + \@sethlogticks{\@hticksep}{#1}{#3}{0}{\vgridfromto{#2}{#4}}% + \@set@ticks{\vthickratio}{\@vticksep}{#2}{#4}{\z@}{% + \multiput(0,\coordsys@a)(0,\coordsys@c)\coordsys@b + {\hgridfromto{#1}{#3}}}% + \color@endgroup}} +\def\semiloggrid@ii#1#2(#3,#4){{\color@begingroup + \grid@style + \@tempcnta=#3\relax + \advance\@tempcnta -#1\relax + \edef\coordsys@w{\the\@tempcnta}% + \@tempcnta=#4\relax + \advance\@tempcnta -#2\relax + \edef\coordsys@h{\the\@tempcnta}% + \@sethlogticks{\@hticksep}{#1}{#3}{#2}{\vgridlength{\coordsys@h}}% + \@set@ticks{\vthickratio}{\@vticksep}{#2}{#4}{\z@}{% + \multiput(#1,\coordsys@a)(0,\coordsys@c)\coordsys@b + {\hgridlength{\coordsys@w}}}% + \color@endgroup}} +\newcommand{\logloggrid}{% + \def\@hticksep{50}% + \def\@vticksep{50}% + \@numblinefalse + \@ifstar{\def\coordsys@c{\logloggrid@ii}\logsys@args@i} + {\def\coordsys@c{\logloggrid@i}\logsys@args@i}} +\def\logloggrid@i#1#2(#3,#4){{\color@begingroup + \coordgrid@calc + \grid@style + \@sethlogticks{\@hticksep}{#1}{#3}{0}{\vgridfromto{#2}{#4}}% + \@setvlogticks{\@vticksep}{#2}{#4}{0}{\hgridfromto{#1}{#3}}% + \color@endgroup}} +\def\logloggrid@ii#1#2(#3,#4){{\color@begingroup + \grid@style + \@tempcnta=#3\relax + \advance\@tempcnta -#1\relax + \edef\coordsys@w{\the\@tempcnta}% + \@tempcnta=#4\relax + \advance\@tempcnta -#2\relax + \edef\coordsys@h{\the\@tempcnta}% + \@sethlogticks{\@hticksep}{#1}{#3}{#2}{\vgridlength{\coordsys@h}}% + \@setvlogticks{\@vticksep}{#2}{#4}{#1}{\hgridlength{\coordsys@w}}% + \color@endgroup}} +\endinput +%% +%% End of file `logsys.sty'. |