diff options
author | Karl Berry <karl@freefriends.org> | 2013-05-17 22:27:40 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2013-05-17 22:27:40 +0000 |
commit | 7b47572c533451aae0bd41e0480845a715bd3bce (patch) | |
tree | 18c86598d630a1aed49c150fdf584dff9aca521b /Master/texmf-dist/tex/latex/horoscop | |
parent | d5dc9e49d4676082f90ee3e0d3170657f72a5b5f (diff) |
horoscop (17may13)
git-svn-id: svn://tug.org/texlive/trunk@30530 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/horoscop')
-rw-r--r-- | Master/texmf-dist/tex/latex/horoscop/horoscop.sty | 1740 |
1 files changed, 1740 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/horoscop/horoscop.sty b/Master/texmf-dist/tex/latex/horoscop/horoscop.sty new file mode 100644 index 00000000000..aafefbeca9b --- /dev/null +++ b/Master/texmf-dist/tex/latex/horoscop/horoscop.sty @@ -0,0 +1,1740 @@ +%% +%% This is file `horoscop.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% horoscop.dtx (with options: `horoscop.sty,package') +%% This file is released to the public domain by its author, Matthew Skala. +\NeedsTeXFormat{LaTeX2e}[1999/12/01] +\ProvidesPackage{horoscop}% + [2013/05/16 v0.92 Astrological chart macros by Matthew Skala] +\newif\ifhoro@textsym\horo@textsymfalse +\newif\ifhoro@wasysym\horo@wasysymfalse +\newif\ifhoro@marvosym\horo@marvosymfalse +\newif\ifhoro@starfont\horo@starfontfalse +\DeclareOption{textsym}{\horo@textsymtrue} +\DeclareOption{wasysym}{\horo@wasysymtrue} +\DeclareOption{marvosym}{\horo@marvosymtrue} +\DeclareOption{starfont}{\horo@starfonttrue} +\newif\ifhoro@strolog\horo@strologfalse +\newif\ifhoro@swetest\horo@swetesttrue +\DeclareOption{nocalc}{\horo@strologfalse\horo@swetestfalse} +\DeclareOption{astrolog}{\horo@strologtrue\horo@swetestfalse} +\DeclareOption{swetest}{\horo@strologfalse\horo@swetesttrue} +\newif\ifhoro@egrep\horo@egrepfalse +\DeclareOption{egrep}{\horo@egreptrue} +\newif\ifhoro@wheels\horo@wheelstrue +\newif\ifhoro@templates\horo@templatestrue +\DeclareOption{nowheels}{\horo@wheelsfalse\horo@templatesfalse} +\DeclareOption{notemplates}{\horo@templatesfalse} +\ProcessOptions\relax +\ifhoro@textsym\else + \ifhoro@wasysym\else + \ifhoro@marvosym\else + \horo@starfonttrue + \fi + \fi +\fi +\ifhoro@wasysym + \RequirePackage{wasysym}% + \let\horow@sySquare\Square +\fi +\ifhoro@marvosym + \RequirePackage{marvosym}% + \let\horom@rvAries\Aries + \let\horom@rvTaurus\Taurus + \let\horom@rvGemini\Gemini + \let\horom@rvCancer\Cancer + \let\horom@rvLeo\Leo + \let\horom@rvVirgo\Virgo + \let\horom@rvLibra\Libra + \let\horom@rvScorpio\Scorpio + \let\horom@rvSagittarius\Sagittarius + \let\horom@rvCapricorn\Capricorn + \let\horom@rvAquarius\Aquarius + \let\horom@rvPisces\Pisces + \let\horom@rvSun\Sun + \let\horom@rvMoon\Moon + \let\horom@rvMercury\Mercury + \let\horom@rvVenus\Venus + \let\horom@rvMars\Mars + \let\horom@rvJupiter\Jupiter + \let\horom@rvSaturn\Saturn + \let\horom@rvUranus\Uranus + \let\horom@rvNeptune\Neptune + \let\horom@rvPluto\Pluto +\fi +\ifhoro@starfont\RequirePackage{starfont}% + \let\horost@rAries\Aries + \let\horost@rTaurus\Taurus + \let\horost@rGemini\Gemini + \let\horost@rCancer\Cancer + \let\horost@rLeo\Leo + \let\horost@rVirgo\Virgo + \let\horost@rLibra\Libra + \let\horost@rScorpio\Scorpio + \let\horost@rSagittarius\Sagittarius + \let\horost@rCapricorn\Capricorn + \let\horost@rAquarius\Aquarius + \let\horost@rPisces\Pisces + \let\horost@rSun\Sun + \let\horost@rMoon\Moon + \let\horost@rMercury\Mercury + \let\horost@rVenus\Venus + \let\horost@rMars\Mars + \let\horost@rJupiter\Jupiter + \let\horost@rSaturn\Saturn + \let\horost@rUranus\Uranus + \let\horost@rNeptune\Neptune + \let\horost@rPluto\Pluto + \let\horost@rSquare\Square +\fi +\ifhoro@wheels + \RequirePackage{pict2e} + \RequirePackage{trig} +\fi +\def\horodegrees{\ensuremath{^\circ}} +\def\horominutes{\ensuremath{'}} +\def\horoseconds{\ensuremath{''}} +\def\Zodiac#1{\ifcase#1 + \or\AriesSymbol\or\TaurusSymbol\or\GeminiSymbol + \or\CancerSymbol\or\LeoSymbol\or\VirgoSymbol + \or\LibraSymbol\or\ScorpioSymbol\or\SagittariusSymbol + \or\CapricornSymbol\or\AquariusSymbol\or\PiscesSymbol\fi} +\def\MeanNodeSymbol{\NorthNodeSymbol$_M$}% +\def\TrueNodeSymbol{\NorthNodeSymbol$_T$}% +\newcommand{\horotextsym}{% +\gdef\AriesSymbol{Ar}% +\gdef\TaurusSymbol{Ta}% +\gdef\GeminiSymbol{Ge}% +\gdef\CancerSymbol{Cn}% +\gdef\LeoSymbol{Le}% +\gdef\VirgoSymbol{Vi}% +\gdef\LibraSymbol{Li}% +\gdef\ScorpioSymbol{Sc}% +\gdef\SagittariusSymbol{Sg}% +\gdef\CapricornSymbol{Cp}% +\gdef\AquariusSymbol{Aq}% +\gdef\PiscesSymbol{Pi}% +\gdef\SunSymbol{Su}% +\gdef\MoonSymbol{Mo}% +\gdef\MercurySymbol{Me}% +\gdef\VenusSymbol{Ve}% +\gdef\MarsSymbol{Ma}% +\gdef\JupiterSymbol{Ju}% +\gdef\SaturnSymbol{Sa}% +\gdef\UranusSymbol{Ur}% +\gdef\NeptuneSymbol{Ne}% +\gdef\PlutoSymbol{Pl}% +\gdef\ChironSymbol{Chi}% +\gdef\CeresSymbol{Cer}% +\gdef\PallasSymbol{Pal}% +\gdef\JunoSymbol{Jun}% +\gdef\VestaSymbol{Ves}% +\gdef\NorthNodeSymbol{No}% +\gdef\SouthNodeSymbol{SNo}% +\gdef\LilithSymbol{Lil}% +\gdef\CuspISymbol{ASC}% +\gdef\CuspIISymbol{$2^{nd}$}% +\gdef\CuspIIISymbol{$3^{rd}$}% +\gdef\CuspIVSymbol{IC}% +\gdef\CuspVSymbol{$5^{th}$}% +\gdef\CuspVISymbol{$6^{th}$}% +\gdef\CuspVIISymbol{DSC}% +\gdef\CuspVIIISymbol{$8^{th}$}% +\gdef\CuspIXSymbol{$9^{th}$}% +\gdef\CuspXSymbol{MC}% +\gdef\CuspXISymbol{$11^{th}$}% +\gdef\CuspXIISymbol{$12^{th}$}% +\gdef\AscendantSymbol{ASC}% +\gdef\MCSymbol{MC}% +\gdef\VertexSymbol{Vtx}% +\gdef\horoRetrogradeSymbol{Rx}% +\gdef\horoConjunctionSymbol{Con}% +\gdef\horoOppositionSymbol{Opp}% +\gdef\horoTrineSymbol{Tri}% +\gdef\horoSquareSymbol{Sqr}% +\gdef\horoQuintileSymbol{Qnt}% +\gdef\horoBiquintileSymbol{Bqi}% +\gdef\horoSextileSymbol{Sex}% +\gdef\horoQuincunxSymbol{Qcx}% +\gdef\horoSemisextileSymbol{Ssx}% +\gdef\horoSemisquareSymbol{Ssq}% +\gdef\horoSesquiquadrateSymbol{Sqq}% +} +\horotextsym +\ifhoro@wasysym\newcommand{\horowasysym}{% +\gdef\AriesSymbol{\aries}% +\gdef\TaurusSymbol{\taurus}% +\gdef\GeminiSymbol{\gemini}% +\gdef\CancerSymbol{\cancer}% +\gdef\LeoSymbol{\leo}% +\gdef\VirgoSymbol{\virgo}% +\gdef\LibraSymbol{\libra}% +\gdef\ScorpioSymbol{\scorpio}% +\gdef\SagittariusSymbol{\sagittarius}% +\gdef\CapricornSymbol{\capricornus}% +\gdef\AquariusSymbol{\aquarius}% +\gdef\PiscesSymbol{\pisces}% +\gdef\SunSymbol{\astrosun}% +\gdef\MoonSymbol{\rightmoon}% +\gdef\MercurySymbol{\mercury}% +\gdef\VenusSymbol{\venus}% +\gdef\MarsSymbol{\mars}% +\gdef\JupiterSymbol{\jupiter}% +\gdef\SaturnSymbol{\saturn}% +\gdef\UranusSymbol{\uranus}% +\gdef\NeptuneSymbol{\neptune}% +\gdef\PlutoSymbol{\pluto}% +\gdef\horoConjunctionSymbol{\conjunction}% +\gdef\horoOppositionSymbol{\opposition}% +\gdef\horoTrineSymbol{\ensuremath{\bigtriangleup}}% +\gdef\horoSquareSymbol{\horow@sySquare}% +\gdef\horoSextileSymbol{\hexstar}% +} +\horowasysym +\fi +\ifhoro@marvosym\newcommand{\horomarvosym}{% +\gdef\AriesSymbol{\horom@rvAries}% +\gdef\TaurusSymbol{\horom@rvTaurus}% +\gdef\GeminiSymbol{\horom@rvGemini}% +\gdef\CancerSymbol{\horom@rvCancer}% +\gdef\LeoSymbol{\horom@rvLeo}% +\gdef\VirgoSymbol{\horom@rvVirgo}% +\gdef\LibraSymbol{\horom@rvLibra}% +\gdef\ScorpioSymbol{\horom@rvScorpio}% +\gdef\SagittariusSymbol{\horom@rvSagittarius}% +\gdef\CapricornSymbol{\horom@rvCapricorn}% +\gdef\AquariusSymbol{\horom@rvAquarius}% +\gdef\PiscesSymbol{\horom@rvPisces}% +\gdef\SunSymbol{\horom@rvSun}% +\gdef\MoonSymbol{\horom@rvMoon}% +\gdef\MercurySymbol{\horom@rvMercury}% +\gdef\VenusSymbol{\horom@rvVenus}% +\gdef\MarsSymbol{\horom@rvMars}% +\gdef\JupiterSymbol{\horom@rvJupiter}% +\gdef\SaturnSymbol{\horom@rvSaturn}% +\gdef\UranusSymbol{\horom@rvUranus}% +\gdef\NeptuneSymbol{\horom@rvNeptune}% +\gdef\PlutoSymbol{\horom@rvPluto}% +} +\horomarvosym +\fi +\ifhoro@starfont\newcommand{\horostarfont}{% +\gdef\AriesSymbol{\horost@rAries}% +\gdef\TaurusSymbol{\horost@rTaurus}% +\gdef\GeminiSymbol{\horost@rGemini}% +\gdef\CancerSymbol{\horost@rCancer}% +\gdef\LeoSymbol{\horost@rLeo}% +\gdef\VirgoSymbol{\horost@rVirgo}% +\gdef\LibraSymbol{\horost@rLibra}% +\gdef\ScorpioSymbol{\horost@rScorpio}% +\gdef\SagittariusSymbol{\horost@rSagittarius}% +\gdef\CapricornSymbol{\horost@rCapricorn}% +\gdef\AquariusSymbol{\horost@rAquarius}% +\gdef\PiscesSymbol{\horost@rPisces}% +\gdef\SunSymbol{\horost@rSun}% +\gdef\MoonSymbol{\horost@rMoon}% +\gdef\MercurySymbol{\horost@rMercury}% +\gdef\VenusSymbol{\horost@rVenus}% +\gdef\MarsSymbol{\horost@rMars}% +\gdef\JupiterSymbol{\horost@rJupiter}% +\gdef\SaturnSymbol{\horost@rSaturn}% +\gdef\UranusSymbol{\horost@rUranus}% +\gdef\NeptuneSymbol{\horost@rNeptune}% +\gdef\PlutoSymbol{\horost@rPluto}% +\gdef\ChironSymbol{\Chiron}% +\gdef\CeresSymbol{\Ceres}% +\gdef\PallasSymbol{\Pallas}% +\gdef\JunoSymbol{\Juno}% +\gdef\VestaSymbol{\Vesta}% +\gdef\NorthNodeSymbol{\NorthNode}% +\gdef\SouthNodeSymbol{\SouthNode}% +\gdef\MeanNodeSymbol{\NorthNode$_M$}% +\gdef\TrueNodeSymbol{\NorthNode$_T$}% +\gdef\LilithSymbol{\Lilith}% +\gdef\CuspISymbol{\ASC}% +\gdef\CuspIVSymbol{\IC}% +\gdef\CuspVIISymbol{\DSC}% +\gdef\CuspXSymbol{\MC}% +\gdef\AscendantSymbol{\ASC}% +\gdef\MCSymbol{\MC}% +\gdef\VertexSymbol{\Vertex}% +\gdef\horoRetrogradeSymbol{\Retrograde}% +\gdef\horoConjunctionSymbol{\Conjunction}% +\gdef\horoOppositionSymbol{\Opposition}% +\gdef\horoTrineSymbol{\Trine}% +\gdef\horoSquareSymbol{\horost@rSquare}% +\gdef\horoQuintileSymbol{$\mathsf{Q}$}% +\gdef\horoBiquintileSymbol{$\mathsf{Q}^2$}% +\gdef\horoSextileSymbol{\Sextile}% +\gdef\horoQuincunxSymbol{\Quincunx}% +\gdef\horoSemisextileSymbol{\Semisextile}% +\gdef\horoSemisquareSymbol{\Semisquare}% +\gdef\horoSesquiquadrateSymbol{\Sesquiquadrate}% +} +\horostarfont +\fi +%% WATCH OUT! MAKING Q EXOTIC HERE! +\catcode`\Q=3 +\def\horo@cue{Q} +\def\trimspaces#1{% + \begingroup + \aftergroup\toks\aftergroup0\aftergroup{% + \expandafter\@trimb\expandafter\noexpand#1Q Q}% + \edef#1{\the\toks0}% +} +\long\def\@trimb#1 Q{\@trimc#1Q} +\long\def\@trimc#1Q#2{\afterassignment\endgroup \vfuzz\the\vfuzz#1} +\def\horo@fterdef#1{% + \aftergroup\horo@ft@a + \aftergroup#1\expandafter\aftergroup\csname horo@@#1\endcsname +} +\def\horo@eathead#1#2#3#4#5#6#7{} +\def\horo@ft@a#1#2{% + \edef#1{\expandafter\horo@eathead\string#2}% +} +\def\horo@polarconvert#1#2#3#4{% + \dimen@=\nin@ty\p@\advance\dimen@-#2\p@\TG@@sin + #3=#1\dimen@ + \dimen@=#2\p@\TG@@sin + #4=#1\dimen@ +} +\def\horo@fe#1,{% + \def\horo@fe@c{#1}% + \ifx\horo@fe@c\horo@cue\relax + \else + \horo@fe@b{#1}% + \expandafter\horo@fe + \fi +} +\def\horoforeach#1#2{% + \edef\horo@fe@a{#1}% + \def\horo@fe@b{#2}% + \expandafter\horo@fe\horo@fe@a,Q,% +} +\def\horo@dfe@b#1,{% + \def\horo@dfe@y{#1}% + \ifx\horo@dfe@y\horo@cue\relax + \else + \horo@dfe@ction{\horo@dfe@x}{\horo@dfe@y}% + \expandafter\horo@dfe@b + \fi +} +\def\horo@dfe@a#1,{% + \def\horo@dfe@x{#1}% + \ifx\horo@dfe@x\horo@cue\relax + \else + \expandafter\horo@dfe@b\horo@dfe@ylist,Q,\relax + \expandafter\horo@dfe@a + \fi +} +\def\horo@dblforeach#1#2#3{% + \edef\horo@dfe@xlist{#1}\edef\horo@dfe@ylist{#2}\def\horo@dfe@ction{#3}% + \expandafter\horo@dfe@a\horo@dfe@xlist,Q,\relax +} +\newif\ifhorocalculated\horocalculatedfalse +\def\hororightcoord{\ifhorocalculated\horoCuspVIIPos\else180\fi}% +\def\horocusps{CuspI,CuspII,CuspIII,CuspIV,CuspV,CuspVI,% + CuspVII,CuspVIII,CuspIX,CuspX,CuspXI,CuspXII}% +\def\horoangularcusps{CuspI,CuspIV,CuspVII,CuspX} +\def\horocalcharmonic#1{% + \horoforeach{\horoobjects}{\horo@calch{#1}}% +} +\def\horo@calch#1#2{% + \dimen@=\csname horo#2Pos\endcsname\p@\relax + \multiply\dimen@ by #1\relax + \horo@fixdimen@ + \expandafter\edef\csname horo#2Pos\endcsname{\TG@rem@pt\dimen@}% + \expandafter\edef\csname horo#2DPos\endcsname{\TG@rem@pt\dimen@}% +} +\def\horoshiftobjects#1{% + \horoforeach{\horoobjects}{\horo@shift{#1}}% +} +\def\horoshiftcusps#1{% + \horoforeach{\horocusps}{\horo@shift{#1}}% +} +\def\horo@shift#1#2{% + \dimen@=\csname horo#2Pos\endcsname\p@\relax + \advance\dimen@ by #1\p@\relax + \horo@fixdimen@ + \expandafter\edef\csname horo#2Pos\endcsname{\TG@rem@pt\dimen@}% + \expandafter\edef\csname horo#2DPos\endcsname{\TG@rem@pt\dimen@}% +} +\def\horomakeequalcusps#1{ + \def\horoCuspIPos{0}% + \def\horoCuspIIPos{30}% + \def\horoCuspIIIPos{60}% + \def\horoCuspIVPos{90}% + \def\horoCuspVPos{120}% + \def\horoCuspVIPos{150}% + \def\horoCuspVIIPos{180}% + \def\horoCuspVIIIPos{210}% + \def\horoCuspIXPos{240}% + \def\horoCuspXPos{270}% + \def\horoCuspXIPos{300}% + \def\horoCuspXIIPos{330}% + \horoshiftcusps{#1}% +} +\def\horomakesigncusps#1{ + \dimen@=#1\p@\relax + \edef\horo@savecount@{\the\count0}% + \count0=\dimen@\relax + \divide\count0 by 1966080\relax + \multiply\count0 by 30\relax + \expandafter\horomakeequalcusps{\the\count0}% + \count0=\horo@savecount@\relax +} +\def\horo@midpoint#1#2{% + \dimen@#1\p@\relax + \advance\dimen@ by-#2\p@\relax + \horo@fixdimen@diff + \divide\dimen@ by2\relax + \advance\dimen@ by#2\p@\relax + \horo@fixdimen@ +} +\def\horo@chartrotate{% + \advance\dimen@-\hororightcoord\p@ + \horo@fixdimen@ +} +\def\horo@fixdimen@{% + \edef\horo@savecount@{\the\count0}% + \count0=\dimen@\relax + \ifnum\count0<0\relax + \divide\count0 by 23592960\relax + \advance\count0 by -1\relax + \else + \divide\count0 by 23592960\relax + \fi + \multiply\count0 by -360\relax + \advance\dimen@ by\count0\p@\relax + \count0=\horo@savecount@\relax +} +\def\horo@fixdimen@diff{% + \horo@fixdimen@ + \ifdim\dimen@>180\p@\advance\dimen@ by -360\p@\fi +} +\def\hororotatechart#1#2{% + \begingroup + \dimen@=#2\p@\relax + \advance\dimen@ by-\csname horo#1DPos\endcsname\p@\relax + \multiply\dimen@ by -1\relax + \edef\hororightcoord{\TG@rem@pt\dimen@}% + \horo@fterdef\hororightcoord + \endgroup +} +\def\horocopyvar#1#2#3{% + \horoforeach{#1}{\horo@cv@{#2}{#3}}% +} +\def\horo@cv@#1#2#3{% + \expandafter\edef\csname horo#3#2\endcsname{\csname horo#3#1\endcsname}% +} +\def\horosaveobjects#1{% + \begingroup + \aftergroup\def\aftergroup#1\aftergroup{% + \horo@fterdef\horoobjects + \horoforeach{\horoobjects}{\horo@svo@a}% + \aftergroup\horo@svo@b + \aftergroup}% + \endgroup +} +\def\horo@svo@a#1{% + \expandafter\horo@fterdef\csname horo#1Pos\endcsname + \expandafter\horo@fterdef\csname horo#1Vel\endcsname +} +\def\horo@svo@b{% + \horocopyvar{\horoobjects}{Pos}{DPos}% +} +\def\horosavecusps#1{% + \begingroup + \aftergroup\def\aftergroup#1\aftergroup{% + \edef\hororightcoord{\hororightcoord}% + \horo@fterdef\horocusps\horo@fterdef\hororightcoord + \horoforeach{\horocusps}{\horo@svc@a}% + \aftergroup\horo@svc@b + \aftergroup}% + \endgroup +} +\def\horo@svc@a#1{% + \expandafter\horo@fterdef\csname horo#1Pos\endcsname +} +\def\horo@svc@b{% + \horocopyvar{\horocusps}{Pos}{DPos}% +} +\def\horo@twodig#1{\ifnum#1<10\relax\edef#1{0#1}\fi} +\def\horo@ddms#1#2:#3:#4Q#5{% + \def\horo@data{}% + \uppercase{\if#1S\def\horo@data{-}\fi\if#1W\def\horo@data{-}\fi}% + \dimen@=#4\p@ + \divide\dimen@ by 60\relax + \advance\dimen@ by #3\p@ + \divide\dimen@ by 60\relax + \advance\dimen@ by #2\p@ + \edef#5{\horo@data\TG@rem@pt\dimen@}% + \trimspaces{#5}% +} +\def\horo@r@offset{1sp}% +\def\horo@r@offdig{Z}% +\newif\ifhororoundclamp\hororoundclampfalse +\def\hororoundstricttruncate{\def\horo@r@offdigit{X}} +\def\hororoundtruncate{\def\horo@r@offset{1sp}\def\horo@r@offdigit{Z}} +\def\hororoundtosec{\def\horo@r@offset{9sp}\def\horo@r@offdigit{Z}} +\def\hororoundtomin{\def\horo@r@offset{546sp}\def\horo@r@offdigit{Z}} +\def\hororoundtodeg{\def\horo@r@offset{0.5pt}\def\horo@r@offdigit{Z}} +\def\hororoundtoseckeepsign{\def\horo@r@offset{9sp}\def\horo@r@offdigit{D}} +\def\hororoundtoseckeepdeg{\def\horo@r@offset{546sp}\def\horo@r@offdigit{M}} +\def\hororoundtoseckeepmin{\def\horo@r@offset{0.5pt}\def\horo@r@offdigit{S}} +\def\hororoundtominkeepsign{\def\horo@r@offset{546sp}\def\horo@r@offdigit{D}} +\def\hororoundtominkeepdeg{\def\horo@r@offset{0.5pt}\def\horo@r@offdigit{M}} +\def\hororoundtodegkeepsign{\def\horo@r@offset{0.5pt}\def\horo@r@offdigit{D}} +\newif\ifhororoundauto\hororoundautotrue +\def\horo@d@dms@@#1#2{% + \count0=\dimen@\relax + \divide\count0by65536\relax + \ifhororoundclamp\ifnum\count0>#2 \count0=#2\relax\fi\fi + \edef#1{\the\count0}% + \horo@fterdef#1% + \advance\dimen@-\count0\p@ + \multiply\dimen@ 60\relax +} +\def\horo@d@dms@{% + \advance\dimen@1sp\relax + \horo@d@dms@@\horo@d@deg{100000}% + \horo@d@dms@@\horo@d@min{100000}% + \horo@d@dms@@\horo@d@sec{100000}% +} +\def\horo@d@sdms{% + \begingroup + \def\horo@tmp{Z}\ifx\horo@r@offdigit\horo@tmp + \advance\dimen@\horo@r@offset\relax + \fi + \count0=\dimen@\relax + \divide\count0by1966080\relax + \count1=\count0\relax + \advance\count1by1\relax + \edef\horo@d@sign{\the\count1}% + \horo@fterdef\horo@d@sign + \multiply\count0by30\relax% + \advance\dimen@-\count0\p@ + \def\horo@tmp{D}\ifx\horo@r@offdigit\horo@tmp + \advance\dimen@\horo@r@offset\relax + \fi + \horo@d@dms@@\horo@d@deg{29}% + \def\horo@tmp{M}\ifx\horo@r@offdigit\horo@tmp + \advance\dimen@\horo@r@offset\relax + \fi + \horo@d@dms@@\horo@d@min{59}% + \def\horo@tmp{S}\ifx\horo@r@offdigit\horo@tmp + \advance\dimen@\horo@r@offset\relax + \fi + \horo@d@dms@@\horo@d@sec{59}% + \endgroup +} +\def\horo@d@dms{% + \begingroup + \def\horo@tmp{Z}\ifx\horo@r@offdigit\horo@tmp + \advance\dimen@ \horo@r@offset\relax + \fi + \def\horo@tmp{D}\ifx\horo@r@offdigit\horo@tmp + \advance\dimen@ \horo@r@offset\relax + \fi + \horo@d@dms@@\horo@d@deg{100000}% + \def\horo@tmp{M}\ifx\horo@r@offdigit\horo@tmp + \advance\dimen@ \horo@r@offset\relax + \fi + \horo@d@dms@@\horo@d@min{59}% + \def\horo@tmp{S}\ifx\horo@r@offdigit\horo@tmp + \advance\dimen@ \horo@r@offset\relax + \fi + \horo@d@dms@@\horo@d@sec{59}% + \endgroup +} +\def\horodsmstext#1{% + \begingroup + \ifhororoundauto\hororoundtoseckeepmin\fi + \dimen@=#1\p@ + \horo@d@sdms + \horo@d@deg\horodegrees\Zodiac{\horo@d@sign}% + \horo@d@min\horominutes\horo@d@sec\horoseconds + \endgroup +} +\def\horotimetext#1{% + \begingroup + \ifhororoundauto\hororoundtruncate\fi + \dimen@=#1\p@ + \horo@d@sdms + \horo@twodig\horo@d@min\horo@twodig\horo@d@sec + \horo@d@deg:\horo@d@min:\horo@d@sec + \endgroup +} +\def\horo@nsew#1#2{% + \ifdim\dimen@<\z@\relax + \def\horo@calc@b{#2}\multiply\dimen@ by-1\relax + \else + \def\horo@calc@b{#1}% + \fi +} +\def\horolatlontext#1#2#3{% + \begingroup + \ifhororoundauto\hororoundtruncate\fi + \dimen@=#1\p@\horo@nsew{#2}{#3}% + \horo@d@dms + \horo@d@deg\horodegrees% + \horo@d@min\horominutes\horo@d@sec\horoseconds~\horo@calc@b + \endgroup +} +\def\hororxtext#1{% + \begingroup + \dimen@\csname horo#1Vel\endcsname\p@ + \ifdim\dimen@<\z@\relax + \horoRetrogradeSymbol + \fi + \endgroup +} +\def\horocalcparms#1#2#3#4#5#6{% + \edef\horocalcyear{#1}\edef\horocalcmonth{#2}\edef\horocalcday{#3}% + \horo@ddms N#4Q\horocalctime + \horo@ddms#5Q\horocalclon + \horo@ddms#6Q\horocalclat +} +\ifhoro@strolog + \def\horoSun@strologname{Sun }\def\horo@stSunObj{Sun} + \def\horoMoon@strologname{Moo }\def\horo@stMooObj{Moon} + \def\horoMercury@strologname{Mer }\def\horo@stMerObj{Mercury} + \def\horoVenus@strologname{Ven }\def\horo@stVenObj{Venus} + \def\horoMars@strologname{Mar }\def\horo@stMarObj{Mars} + \def\horoJupiter@strologname{Jup }\def\horo@stJupObj{Jupiter} + \def\horoSaturn@strologname{Sat }\def\horo@stSatObj{Saturn} + \def\horoUranus@strologname{Ura }\def\horo@stUraObj{Uranus} + \def\horoNeptune@strologname{Nep }\def\horo@stNepObj{Neptune} + \def\horoPluto@strologname{Plu }\def\horo@stPluObj{Pluto} + \def\horoChiron@strologname{Chi }\def\horo@stChiObj{Chiron} + \def\horoCeres@strologname{Cer }\def\horo@stCerObj{Ceres} + \def\horoPallas@strologname{Pal }\def\horo@stPalObj{Pallas} + \def\horoJuno@strologname{Jun }\def\horo@stJunObj{Juno} + \def\horoVesta@strologname{Ves }\def\horo@stVesObj{Vesta} + \def\horoNorthNode@strologname{Nod }\def\horo@stNodObj{NorthNode} + \def\horoSouthNode@strologname{S.N } + \expandafter\def\csname horo@stS.NObj\endcsname{SouthNode} + \def\horoLilith@strologname{Lil }\def\horo@stLilObj{Lilith} + \def\horo@stAscObj{CuspI} + \expandafter\def\csname horo@st2ndObj\endcsname{CuspII} + \expandafter\def\csname horo@st3rdObj\endcsname{CuspIII} + \def\horo@stNadObj{CuspIV} + \expandafter\def\csname horo@st5thObj\endcsname{CuspV} + \expandafter\def\csname horo@st6thObj\endcsname{CuspVI} + \def\horo@stDesObj{CuspVII} + \expandafter\def\csname horo@st8thObj\endcsname{CuspVIII} + \expandafter\def\csname horo@st9thObj\endcsname{CuspIX} + \def\horo@stMidObj{CuspX} + \expandafter\def\csname horo@st11tObj\endcsname{CuspXI} + \expandafter\def\csname horo@st12tObj\endcsname{CuspXII} + \def\horo@stAriSign{0} + \def\horo@stTauSign{30} + \def\horo@stGemSign{60} + \def\horo@stCanSign{90} + \def\horo@stLeoSign{120} + \def\horo@stVirSign{150} + \def\horo@stLibSign{180} + \def\horo@stScoSign{210} + \def\horo@stSagSign{240} + \def\horo@stCapSign{270} + \def\horo@stAquSign{300} + \def\horo@stPisSign{330} + \def\horoPlacidusHouses{\def\horo@housenumber{0}} + \def\horoKochHouses{\def\horo@housenumber{1}} + \def\horoEqualHouses{\def\horo@housenumber{2}} + \def\horoCampanusHouses{\def\horo@housenumber{3}} + \def\horoMeridianHouses{\def\horo@housenumber{4}} + \def\horoRegiomontanusHouses{\def\horo@housenumber{5}} + \def\horoPorphyryHouses{\def\horo@housenumber{6}} + \def\horoMorinusHouses{\def\horo@housenumber{7}} + \def\horoPolichPageHouses{\def\horo@housenumber{8}} + \def\horoAlcabitusHouses{\def\horo@housenumber{9}} + \def\horoEqualMCHouses{\def\horo@housenumber{10}} + \def\horoNeoPorphyryHouses{\def\horo@housenumber{11}} + \def\horoWholeHouses{\def\horo@housenumber{12}} + \def\horoVedicHouses{\def\horo@housenumber{13}} + \newread\horo@tmpfile + \edef\horo@tmpfname{\jobname.hor}% + \def\horoastrologopt{} + \def\horoobjects{Sun,Moon,Mercury,Venus,Mars,Jupiter,Saturn,% + Uranus,Neptune,Pluto,NorthNode,Lilith,% + Chiron,Ceres,Pallas,Juno,Vesta} + \horoPlacidusHouses + \def\horocalculate{% + \begingroup + \begingroup + \aftergroup\def\aftergroup\horo@calc@a\aftergroup{% + \horoforeach{\horoobjects}{\horo@calc@c}% + \aftergroup}% + \endgroup + \dimen@\horocalctime\p@\horo@d@dms@\horo@twodig\horo@d@min + \edef\horo@calc@d{\horo@d@deg:\horo@d@min\space GMT\space}% + \dimen@=\horocalclon\p@\horo@nsew EW% + \horo@d@dms@ + \horo@twodig\horo@d@min + \edef\horo@calc@e{\horo@d@deg:\horo@d@min\horo@calc@b\space}% + \dimen@=\horocalclat\p@\horo@nsew NS% + \horo@d@dms@ + \horo@twodig\horo@d@min + \edef\horo@calc@f{\horo@d@deg:\horo@d@min\horo@calc@b\space}% + \immediate\write18{% + astrolog\space + -o0 \horo@tmpfname\space + -c \horo@housenumber\space + -qa \horocalcmonth\space + \horocalcday\space + \horocalcyear\space + \horo@calc@d\horo@calc@e\horo@calc@f + -R0 \horo@calc@a + \horoastrologopt + }% + \openin\horo@tmpfile=\horo@tmpfname\relax + \aftergroup\horocalculatedfalse + \horo@calc@parse + \closein\horo@tmpfile + \endgroup + } + \def\horo@calc@c#1{% + \expandafter\aftergroup\csname horo#1@strologname\endcsname + } + \def\horo@calc@parse{% + \read\horo@tmpfile to \horo@calc@parse@a + \ifeof\horo@tmpfile\else + \expandafter\horo@calc@parse@b\horo@calc@parse@a\space x\space Q% + \horo@calc@parse + \fi + } + \def\horo@YF{-YF} + \def\horo@calc@parse@b#1 #2Q{% + \def\horo@calc@parse@b@{#1}% + \ifx\horo@calc@parse@b@\horo@YF\horo@calc@parse@c#2Q\fi + } + \def\horo@calc@parse@c#1: #2 #3 #4, #5 #6, #7 #8Q{% + \dimen@=#4\p@ + \divide\dimen@ by 60\relax + \advance\dimen@ by #2\p@ + \advance\dimen@ by \csname horo@st#3Sign\endcsname\p@ + \expandafter\edef\csname + horo\csname horo@st#1Obj\endcsname Pos\endcsname{% + \TG@rem@pt\dimen@}% + \expandafter\horo@fterdef\csname + horo\csname horo@st#1Obj\endcsname Pos\endcsname + \expandafter\edef\csname + horo\csname horo@st#1Obj\endcsname DPos\endcsname{% + \TG@rem@pt\dimen@}% + \expandafter\horo@fterdef\csname + horo\csname horo@st#1Obj\endcsname DPos\endcsname + \expandafter\def\csname + horo\csname horo@st#1Obj\endcsname Vel\endcsname{#7}% + \expandafter\horo@fterdef\csname + horo\csname horo@st#1Obj\endcsname Vel\endcsname + \aftergroup\horocalculatedtrue + } +\fi +\newif\ifhoro@ppendtmp\horo@ppendtmpfalse +\ifhoro@swetest + \def\horoSunSEOpt{-p0} + \def\horoMoonSEOpt{-p1} + \def\horoMercurySEOpt{-p2} + \def\horoVenusSEOpt{-p3} + \def\horoMarsSEOpt{-p4} + \def\horoJupiterSEOpt{-p5} + \def\horoSaturnSEOpt{-p6} + \def\horoUranusSEOpt{-p7} + \def\horoNeptuneSEOpt{-p8} + \def\horoPlutoSEOpt{-p9} + \def\horoChironSEOpt{-pD} + \def\horoPholusSEOpt{-pE} + \def\horoCeresSEOpt{-pF} + \def\horoPallasSEOpt{-pG} + \def\horoJunoSEOpt{-pH} + \def\horoVestaSEOpt{-pI} + \def\horoMeanNodeSEOpt{-pm} + \def\horoTrueNodeSEOpt{-pt} + \def\horoLilithSEOpt{-pA} + \def\horoAscendantSEOpt{-p0} + \def\horoMCSEOpt{-p0} + \def\horoARMCSEOpt{-p0} + \def\horoVertexSEOpt{-p0} + \def\horosweopt{}% + \def\horoAlcabitusHouses{\def\horo@houseletter{b}} + \def\horoAxialHouses{\def\horo@houseletter{x}} + \def\horoAzimuthalHouses{\def\horo@houseletter{h}} + \def\horoCampanusHouses{\def\horo@houseletter{c}} + \def\horoEqualHouses{\def\horo@houseletter{a}} + \def\horoKochHouses{\def\horo@houseletter{k}} + \def\horoKrusinskiHouses{\def\horo@houseletter{U}} + \def\horoMorinusHouses{\def\horo@houseletter{m}} + \def\horoPlacidusHouses{\def\horo@houseletter{p}} + \def\horoPolichPageHouses{\def\horo@houseletter{t}} + \def\horoPorphyryHouses{\def\horo@houseletter{o}} + \def\horoRegiomontanusHouses{\def\horo@houseletter{r}} + \def\horoVehlowHouses{\def\horo@houseletter{v}} + \newread\horo@tmpfile + \edef\horo@tmpfname{\jobname.hor} + \def\horo@readdata{% + \ifeof\horo@tmpfile + \def\horo@data{0.0}% + \horocalculatedfalse + \else + \begingroup + \let\do\@makeother\dospecials + \read\horo@tmpfile to \horo@data + \trimspaces\horo@data + \horo@fterdef\horo@data + \endgroup + \fi + } + \def\horo@readpos#1{% + \horo@readdata + \expandafter\let\csname horo#1Pos\endcsname\horo@data + \expandafter\let\csname horo#1DPos\endcsname\horo@data + } + \def\horo@readposvel#1{% + \horo@readpos{#1}% + \horo@readdata + \expandafter\let\csname horo#1Vel\endcsname\horo@data + } + \def\horoobjects{Sun,Moon,Mercury,Venus,Mars,Jupiter,Saturn,% + Uranus,Neptune,Pluto,MeanNode,Lilith,% + Chiron,Ceres,Pallas,Juno,Vesta} + \horoPlacidusHouses + \def\horo@calcobj@#1#2{% + \begingroup + \dimen@\horocalctime\p@\horo@d@dms@ + \horo@twodig\horo@d@min\horo@twodig\horo@d@sec + \immediate\write18{% + swetest -f#2 -head\space + -b\horocalcday.\horocalcmonth.\horocalcyear\space + -ut\horo@d@deg:\horo@d@min:\horo@d@sec\space + \csname horo#1SEOpt\endcsname\space + \horosweopt\space + \ifhoro@egrep| egrep '^[ 0-9.-]+'\space\fi + >\ifhoro@ppendtmp >\fi\space + \horo@tmpfname + }% + \endgroup + \horo@ppendtmptrue + } + \def\horo@calcobj#1{% + \horo@calcobj@{#1}{l}% + \horo@calcobj@{#1}{s}% + } + \def\horocalculate{% + \edef\horoCuspsSEOpt{-house\horocalclon,\horocalclat,% + \horo@houseletter\space-p}% + \horo@ppendtmpfalse + \horocalculatedtrue + \horoforeach{\horoobjects}{\horo@calcobj}% + \horo@calcobj@{Cusps}{l}% + \openin\horo@tmpfile=\horo@tmpfname\relax + \horoforeach{\horoobjects}{\horo@readposvel}% + \horoforeach{\horocusps,Ascendant,MC,ARMC,Vertex}{\horo@readpos}% + \closein\horo@tmpfile\relax + } +\fi +\newif\ifhorodrawcusps\horodrawcuspstrue +\newif\ifhoroboldangles\horoboldanglestrue +\newif\ifhoroanglearrows\horoanglearrowstrue +\ifhoro@wheels +\newlength{\horounitlength} +\setlength{\horounitlength}{0.00952\textwidth} +\newlength{\horoanglecuspwidth} +\setlength{\horoanglecuspwidth}{1.44pt} +\newenvironment{horoscope}{% + \setlength{\unitlength}{\horounitlength}% + \begin{picture}(100,100)(-50,-50)% +}{% + \end{picture}% +} +\newcommand{\horoCnote}[1]{% + \put(0,0){\makebox(0,0){\parbox{75\unitlength}{\centering #1}}}% +} +\newcommand{\horoULnote}[1]{% + \put(-50,50){\makebox(40,0)[t]{\parbox[t]{40\unitlength}{\raggedright #1}}}% +} +\newcommand{\horoURnote}[1]{% + \put(10,50){\makebox(40,0)[t]{\parbox[t]{40\unitlength}{\raggedleft #1}}}% +} +\newcommand{\horoLLnote}[1]{% + \put(-50,-50){\makebox(40,0)[b]{\parbox[t]{40\unitlength}{\raggedright #1}}}% +} +\newcommand{\horoLRnote}[1]{% + \put(10,-50){\makebox(40,0)[b]{\parbox[t]{40\unitlength}{\raggedleft #1}}}% +} +\dimendef\horo@dim@x=1\relax +\dimendef\horo@dim@y=2\relax +\dimendef\horo@dim@xa=3\relax +\dimendef\horo@dim@ya=4\relax +\dimendef\horo@dim@xb=5\relax +\dimendef\horo@dim@yb=6\relax +\dimendef\horo@dim@xc=7\relax +\dimendef\horo@dim@yc=8\relax +\def\horo@putpolar#1#2#3{% + \begingroup + \edef\p@one{#1}\edef\p@two{#2}% + \horo@polarconvert\p@one\p@two\horo@dim@x\horo@dim@y + \put(\TG@rem@pt\horo@dim@x,\TG@rem@pt\horo@dim@y){\makebox(0,0){#3}}% + \endgroup +} +\def\horoputradial#1#2#3{% + \begingroup + \edef\p@one{#1}\edef\p@two{#2}\edef\p@three{#3}% + \horo@polarconvert\p@one\p@three\horo@dim@xa\horo@dim@ya + \horo@polarconvert\p@two\p@three\horo@dim@xb\horo@dim@yb + \advance\horo@dim@xb by\horo@dim@xa + \advance\horo@dim@yb by\horo@dim@ya + \Line(\TG@rem@pt\horo@dim@xa,\TG@rem@pt\horo@dim@ya)% + (\TG@rem@pt\horo@dim@xb,\TG@rem@pt\horo@dim@yb)% + \endgroup +} +\def\horoputline#1#2#3#4{% + \begingroup + \edef\p@one{#1}\edef\p@two{#2}\edef\p@three{#3}\edef\p@four{#4}% + \horo@polarconvert\p@one\p@two\horo@dim@xa\horo@dim@ya + \horo@polarconvert\p@three\p@four\horo@dim@xb\horo@dim@yb + \Line(\TG@rem@pt\horo@dim@xa,\TG@rem@pt\horo@dim@ya)% + (\TG@rem@pt\horo@dim@xb,\TG@rem@pt\horo@dim@yb)% + \endgroup +} +\def\horoputarrowhead#1#2#3{% + \begingroup + \edef\horo@pa@r{#1}\edef\horo@pa@th{#2}% + \edef\horo@pa@sc@le{#3}% + \horo@polarconvert\horo@pa@r\horo@pa@th\horo@dim@x\horo@dim@y + \horo@polarconvert\horo@pa@sc@le\horo@pa@th\horo@dim@xa\horo@dim@ya + \horo@dim@xb=\horo@dim@x\relax\horo@dim@yb=\horo@dim@y\relax + \advance\horo@dim@xb by-3\horo@dim@xa\relax + \advance\horo@dim@yb by-3\horo@dim@ya\relax + \advance\horo@dim@xb by-\horo@dim@ya\relax + \advance\horo@dim@yb by\horo@dim@xa\relax + \horo@dim@xc=\horo@dim@x\relax\horo@dim@yc=\horo@dim@y\relax + \advance\horo@dim@xc by-3\horo@dim@xa\relax + \advance\horo@dim@yc by-3\horo@dim@ya\relax + \advance\horo@dim@xc by\horo@dim@ya\relax + \advance\horo@dim@yc by-\horo@dim@xa\relax + \multiply\horo@dim@xa by-2\relax\multiply\horo@dim@ya by-2\relax + \advance\horo@dim@xa by\horo@dim@x\relax + \advance\horo@dim@ya by\horo@dim@y\relax + \polygon*% + (\TG@rem@pt\horo@dim@x,\TG@rem@pt\horo@dim@y)% + (\TG@rem@pt\horo@dim@xb,\TG@rem@pt\horo@dim@yb)% + (\TG@rem@pt\horo@dim@xa,\TG@rem@pt\horo@dim@ya)% + (\TG@rem@pt\horo@dim@xc,\TG@rem@pt\horo@dim@yc)% + (\TG@rem@pt\horo@dim@x,\TG@rem@pt\horo@dim@y)% + \endgroup +} + +\def\horoputcurve#1#2#3#4{% + \begingroup + \edef\horo@pc@r@ne{#1}\edef\horo@pc@th@ne{#2}% + \edef\horo@pc@rtw@{#3}\edef\horo@pc@thtw@{#4}% + \dimen@=\horo@pc@th@ne\p@\relax\horo@chartrotate + \edef\horo@pc@th@ne{\TG@rem@pt\dimen@}% + \dimen@=\horo@pc@thtw@\p@\relax\horo@chartrotate + \edef\horo@pc@thtw@{\TG@rem@pt\dimen@}% + \horo@polarconvert\horo@pc@r@ne\horo@pc@th@ne\horo@dim@xa\horo@dim@ya + \horo@polarconvert\horo@pc@rtw@\horo@pc@thtw@\horo@dim@xb\horo@dim@yb + \dimen@=\horo@pc@r@ne\p@\relax + \advance\dimen@ by\horo@pc@rtw@\p@\relax + \divide\dimen@ by2\relax + \edef\horo@pc@rmid{\TG@rem@pt\dimen@}% + \horo@midpoint\horo@pc@th@ne\horo@pc@thtw@ + \edef\horo@pc@thmid{\TG@rem@pt\dimen@}% + \horo@polarconvert\horo@pc@rmid\horo@pc@thmid\horo@dim@x\horo@dim@y + \multiply\horo@dim@x by -4\relax + \advance\horo@dim@x by \horo@dim@xa\relax + \advance\horo@dim@x by \horo@dim@xb\relax + \divide\horo@dim@x by -2\relax + \multiply\horo@dim@y by -4\relax + \advance\horo@dim@y by \horo@dim@ya\relax + \advance\horo@dim@y by \horo@dim@yb\relax + \divide\horo@dim@y by -2\relax + \cbezier(\TG@rem@pt\horo@dim@xa,\TG@rem@pt\horo@dim@ya)% + (\TG@rem@pt\horo@dim@x,\TG@rem@pt\horo@dim@y)% + (\TG@rem@pt\horo@dim@x,\TG@rem@pt\horo@dim@y)% + (\TG@rem@pt\horo@dim@xb,\TG@rem@pt\horo@dim@yb)% + \endgroup +} +\def\horoconncurve#1#2#3{% + \horoputcurve{#1}{\csname horo#3Pos\endcsname}% + {#2}{\csname horo#3DPos\endcsname}% +} +\def\horo@getobjdpos#1{% + \dimen@\csname horo#1DPos\endcsname\p@ + \horo@chartrotate +} +\def\horo@getobjsdms#1{% + \expandafter\dimen@\csname horo#1Pos\endcsname\p@ + \horo@d@sdms + \horo@getobjdpos{#1}% +} +\def\horo@pr#1#2#3{% + \horo@getobjdpos{#3}% + \horoputradial{#1}{#2}{\TG@rem@pt\dimen@}% +} +\def\horoputradials#1#2#3{% + \horoforeach{#1}{\horo@pr{#2}{#3}}% +} +\def\horo@pt{% + \ifdim\dimen@<360\p@ + {\horo@chartrotate + \horoputradial{\horo@pta}{\horo@ptb}{\TG@rem@pt\dimen@}}% + \advance\dimen@ by \horo@ptc\p@ + \expandafter\horo@pt + \fi +} +\def\horoputticks#1#2#3{% + \begingroup + \edef\horo@pta{#1}\edef\horo@ptb{#2}\edef\horo@ptc{#3}% + \dimen@=\z@ + \horo@pt + \endgroup +} +\def\horo@pa#1#2#3{% + \horo@getobjdpos{#3}% + \horoputarrowhead{#1}{\TG@rem@pt\dimen@}{#2}% +} +\def\horoputarrows#1#2#3{% + \horoforeach{#1}{\horo@pa{#2}{#3}}% +} +\def\horo@psk{ + \ifnum\count0<12\relax + \dimen@=30pt\relax + \dimen@\count0\dimen@\relax + \advance\dimen@ by 15pt\relax + \horo@chartrotate + \advance\count0 by 1% + \horo@putpolar{\horo@radius}{\TG@rem@pt\dimen@}% + {\Zodiac{\the\count0}}% + \expandafter\horo@psk + \fi +} +\def\horoputsignkey#1{% + \begingroup + \def\horo@radius{#1}% + \count0=0\relax + \horo@psk + \endgroup +} +\def\horoputcusplabel#1#2#3{% + \begingroup + \horo@getobjsdms{#3}% + \horo@putpolar{#1}{\TG@rem@pt\dimen@}{\Zodiac{\horo@d@sign}}% + \def\horo@pcl@s{W}% + \ifdim\dimen@<135\p@\def\horo@pcl@s{T}\fi + \ifdim\dimen@>315\p@\def\horo@pcl@s{T}\fi + \begingroup + \advance\dimen@ by -#2\p@\horo@fixdimen@ + \horo@putpolar{#1}{\TG@rem@pt\dimen@}{% + \expandafter\if\horo@pcl@s T% + \horo@d@min\horominutes% + \else + \horo@d@deg\horodegrees% + \fi + }% + \endgroup + \advance\dimen@ by #2\p@\horo@fixdimen@ + \horo@putpolar{#1}{\TG@rem@pt\dimen@}{% + \expandafter\if\horo@pcl@s T% + \horo@d@deg\horodegrees% + \else + \horo@d@min\horominutes% + \fi + }% + \endgroup +} +\def\horoputobjsymbol#1#2{% + \begingroup + \horo@getobjdpos{#2}% + \horo@putpolar{#1}{\TG@rem@pt\dimen@}{\csname #2Symbol\endcsname}% + \endgroup +} +\def\horo@pol@i#1#2#3{% + \begingroup + \dimen1=#1\p@\advance\dimen1by#2\p@ + \horo@getobjsdms{#3}% + \def\horo@pol@s{H}% + \ifdim\dimen@<45\p@\def\horo@pol@s{R}\fi + \ifdim\dimen@>225\p@\def\horo@pol@s{R}\fi +} +\def\horoputobjdeglabel#1#2#3{% + \horo@pol@i{#1}{#2}{#3}% + \expandafter\if\horo@pol@s H% + \horo@putpolar{#1}{\TG@rem@pt\dimen@}{\Zodiac{\horo@d@sign}}% + \horo@putpolar{\TG@rem@pt\dimen1}{\TG@rem@pt\dimen@}% + {\horo@d@deg\horodegrees}% + \else + \horo@putpolar{#1}{\TG@rem@pt\dimen@}{\horo@d@deg\horodegrees}% + \horo@putpolar{\TG@rem@pt\dimen1}{\TG@rem@pt\dimen@}% + {\Zodiac{\horo@d@sign}}% + \fi + \endgroup +} +\def\horoputobjminlabel#1#2#3{% + \horo@pol@i{#1}{#2}{#3}% + \expandafter\if\horo@pol@s H% + \horo@putpolar{#1}{\TG@rem@pt\dimen@}% + {\horo@d@min\horominutes}% + \horo@putpolar{\TG@rem@pt\dimen1}{\TG@rem@pt\dimen@}% + {\Zodiac{\horo@d@sign}}% + \advance\dimen1by#2\p@ + \horo@putpolar{\TG@rem@pt\dimen1}{\TG@rem@pt\dimen@}% + {\horo@d@deg\horodegrees}% + \else + \horo@putpolar{#1}{\TG@rem@pt\dimen@}% + {\horo@d@deg\horodegrees}% + \horo@putpolar{\TG@rem@pt\dimen1}{\TG@rem@pt\dimen@}% + {\Zodiac{\horo@d@sign}}% + \advance\dimen1by#2\p@ + \horo@putpolar{\TG@rem@pt\dimen1}{\TG@rem@pt\dimen@}% + {\horo@d@min\horominutes}% + \fi + \endgroup +} +\def\horoputobjseclabel#1#2#3{% + \horo@pol@i{#1}{#2}{#3}% + \expandafter\if\horo@pol@s H% + \horo@putpolar{#1}{\TG@rem@pt\dimen@}% + {\horo@d@sec\horoseconds}% + \horo@putpolar{\TG@rem@pt\dimen1}{\TG@rem@pt\dimen@}% + {\horo@d@min\horominutes}% + \advance\dimen1by#2\p@ + \horo@putpolar{\TG@rem@pt\dimen1}{\TG@rem@pt\dimen@}% + {\Zodiac{\horo@d@sign}}% + \advance\dimen1by#2\p@ + \horo@putpolar{\TG@rem@pt\dimen1}{\TG@rem@pt\dimen@}% + {\horo@d@deg\horodegrees}% + \else + \horo@putpolar{#1}{\TG@rem@pt\dimen@}% + {\horo@d@deg\horodegrees}% + \horo@putpolar{\TG@rem@pt\dimen1}{\TG@rem@pt\dimen@}% + {\Zodiac{\horo@d@sign}}% + \advance\dimen1by#2\p@ + \horo@putpolar{\TG@rem@pt\dimen1}{\TG@rem@pt\dimen@}% + {\horo@d@min\horominutes}% + \advance\dimen1by#2\p@ + \horo@putpolar{\TG@rem@pt\dimen1}{\TG@rem@pt\dimen@}% + {\horo@d@sec\horoseconds}% + \fi + \endgroup +} +\def\horoputrxlabel#1#2{% + \begingroup + \dimen@\csname horo#2Vel\endcsname\p@ + \ifdim\dimen@<\z@\relax + \horo@getobjdpos{#2}% + \horo@putpolar{#1}{\TG@rem@pt\dimen@}{\horoRetrogradeSymbol}% + \fi + \endgroup +} +\def\horoputsmartlabel#1{% + \begingroup + \horo@getobjsdms{#1}% + \def\horo@psl@o{#1}% + \def\horo@pol@s{H}% + \ifdim\dimen@<45\p@\def\horo@pol@s{R}\fi + \ifdim\dimen@>225\p@\def\horo@pol@s{R}\fi + \dimen1=\horo@outerrad\p@\relax + \expandafter\if\horo@pol@s H% + \expandafter\horo@psl\horo@lblone Q% + \else + \expandafter\horo@psl\horo@lbltwo Q% + \fi + \endgroup +} +\def\horo@psl#1{% + \def\horo@psl@a{#1}% + \ifx\horo@psl@a\horo@cue\relax + \else + \horo@putpolar{\TG@rem@pt\dimen1}{\TG@rem@pt\dimen@}% + {\horo@psl@#1}% + \advance\dimen1by-\horo@delta\p@\relax + \expandafter\horo@psl + \fi +} +\def\horo@psl@#1{% + \if#1d\relax\horo@d@deg\horodegrees\fi + \if#1m\relax\horo@d@min\horominutes\fi + \if#1s\relax\horo@d@sec\horoseconds\fi + \if#1z\relax\Zodiac{\horo@d@sign}\fi + \if#1y\relax\csname \horo@psl@o Symbol\endcsname\fi + \if#1r\relax + \begingroup + \dimen@\csname horo\horo@psl@o Vel\endcsname\p@ + \ifdim\dimen@<\z@\relax\horoRetrogradeSymbol\fi + \endgroup + \fi +} +\def\horoscanlabels#1{% + \horo@scanlabels@ #1/#1/xQ% +} +\def\horo@scanlabels@#1/#2/#3Q{% + \def\horo@lblone{#1}% + \def\horo@lbltwo{#2}% + \begingroup + \count0=0\relax + \horo@scanlabels@@#1Q% + \edef\horolbllen{\the\count0}% + \horo@fterdef\horolbllen + \endgroup +} +\def\horo@scanlabels@@#1{% + \def\horo@sls@@a{#1}% + \ifx\horo@sls@@a\horo@cue\relax + \else + \advance\count0by1\relax + \expandafter\horo@scanlabels@@ + \fi +} +\def\horosetsmartradii#1#2#3{ + \def\horo@outerrad{#1}% + \begingroup + \dimen@=#3\p@\relax + \multiply\dimen@ by -\horolbllen\relax + \advance\dimen@ by #2\p@\relax + \edef\horo@delta{\TG@rem@pt\dimen@}% + \horo@fterdef\horo@delta + \endgroup +} +\fi +%% MAKING Q MUNDANE HERE! +\catcode`\Q=11 +\ifhoro@wheels +\def\horoaspectobjectsa{\horoobjects} +\def\horoaspectobjectsb{\horoobjects} +\def\horoaspects{Opposition,Trine,Square,Sextile} +\newif\ifhoroaspectweb\horoaspectwebtrue +\def\horoConjunctionAngle{0} +\def\horoOppositionAngle{180} +\def\horoTrineAngle{120} +\def\horoSquareAngle{90} +\def\horoQuintileAngle{72} +\def\horoBiquintileAngle{144} +\def\horoSextileAngle{60} +\def\horoQuincunxAngle{150} +\def\horoSemisextileAngle{30} +\def\horoSemisquareAngle{45} +\def\horoSesquiquadrateAngle{135} +\def\horoConjunctionOrb{6} +\def\horoOppositionOrb{6} +\def\horoTrineOrb{5} +\def\horoSquareOrb{5} +\def\horoQuintileOrb{2} +\def\horoBiquintileOrb{2} +\def\horoSextileOrb{4} +\def\horoQuincunxOrb{3} +\def\horoSemisextileOrb{3} +\def\horoSemisquareOrb{2} +\def\horoSesquiquadrateOrb{2} +\def\horoputaspect#1#2#3#4{% + \begingroup + \edef\p@one{#1}\edef\p@two{#2}\edef\p@three{#3}% + \dimen@=\p@two\p@\relax\horo@chartrotate\edef\p@two{\TG@rem@pt\dimen@}% + \dimen@=\p@three\p@\relax\horo@chartrotate\edef\p@three{\TG@rem@pt\dimen@}% + \horo@polarconvert\p@one\p@two\horo@dim@xa\horo@dim@ya + \horo@polarconvert\p@one\p@three\horo@dim@xb\horo@dim@yb + \Line(\TG@rem@pt\horo@dim@xa,\TG@rem@pt\horo@dim@ya)% + (\TG@rem@pt\horo@dim@xb,\TG@rem@pt\horo@dim@yb)% + \advance\horo@dim@xa by\horo@dim@xb + \advance\horo@dim@ya by\horo@dim@yb + \divide\horo@dim@xa by2\divide\horo@dim@ya by2% + \put(\TG@rem@pt\horo@dim@xa,\TG@rem@pt\horo@dim@ya){\makebox(0,0){#4}}% + \endgroup +} +\def\horo@aa#1#2#3#4#5#6{% + \dimen@\csname horo#5Pos\endcsname\p@ + \advance\dimen@ by -\csname horo#6Pos\endcsname\p@ + \horo@fixdimen@diff + \ifdim\dimen@<\z@\relax\multiply\dimen@ by -1\relax\fi + \advance\dimen@ by -#1\p@ + \horo@fixdimen@diff + \ifdim\dimen@<\z@\relax\multiply\dimen@ by -1\relax\fi + \ifdim\dimen@<#2\p@\relax + \horoputaspect{#3}{\csname horo#5Pos\endcsname}% + {\csname horo#6Pos\endcsname}{#4}% + \fi +} +\def\horoautoaspect#1#2#3#4#5#6{% + \begingroup + \horo@dblforeach{#1}{#2}{\horo@aa{#3}{#4}{#5}{#6}}% + \endgroup +} +\def\horo@aas#1#2{% + \horoautoaspect{\horoaspectobjectsa}{\horoaspectobjectsb}% + {\csname horo#2Angle\endcsname}{\csname horo#2Orb\endcsname}% + {#1}{\csname horo#2Symbol\endcsname}% +} +\def\horoautoaspects#1{% + \horoforeach{\horoaspects}{\horo@aas{#1}}% +} +\newif\ifhorointhouselabels\horointhouselabelsfalse +\newcounter{horohouse} +\newcommand{\horohouselabel}{% + \Roman{horohouse}% +} +\def\horo@houses{CuspIM,CuspIIM,CuspIIIM,CuspIVM,CuspVM,CuspVIM,% + CuspVIIM,CuspVIIIM,CuspIXM,CuspXM,CuspXIM,CuspXIIM} +\def\horo@findcuspmid#1#2{% + \horo@midpoint{\csname horoCusp#1DPos\endcsname}% + {\csname horoCusp#2DPos\endcsname}% + \expandafter\edef\csname horoCusp#1MPos\endcsname{\TG@rem@pt\dimen@}% +} +\def\horo@findcuspmids{% + \horo@findcuspmid{I}{II}\horo@findcuspmid{II}{III}% + \horo@findcuspmid{III}{IV}\horo@findcuspmid{IV}{V}% + \horo@findcuspmid{V}{VI}\horo@findcuspmid{VI}{VII}% + \horo@findcuspmid{VII}{VIII}\horo@findcuspmid{VIII}{IX}% + \horo@findcuspmid{IX}{X}\horo@findcuspmid{X}{XI}% + \horo@findcuspmid{XI}{XII}\horo@findcuspmid{XII}{I}% +} +\def\horo@pihl#1#2{% + \begingroup + \horo@getobjdpos{#2}% + \horo@putpolar{#1}{\TG@rem@pt\dimen@}{\horohouselabel}% + \stepcounter{horohouse}% + \endgroup +} +\def\horoputinthouselabels#1{% + \setcounter{horohouse}{1}% + \horoforeach{\horo@houses}{\horo@pihl{#1}}% +} +\def\horosignificantadj{0.1} +\def\horocuspadjusttrigger{65} +\def\horoadjcycles{30} +\def\horoposattobj{20} +\def\horoposattcusp{7} +\def\hororepulsion{3} +\def\horomaxrepulsion{5.0} +\def\horooomindist{6.0} +\def\horoocmindist{4.0} +\fi +\newif\ifhoro@djusted\relax +\newif\ifhoro@djustcusps\relax +\ifhoro@wheels +\countdef\horo@i=1\relax +\def\horo@findpdiff#1#2{% + \dimen@=\csname horo#1Pos\endcsname\p@ + \multiply\dimen@ by -1\relax + \advance\dimen@ by\csname horo#2Pos\endcsname\p@ + \horo@fixdimen@diff +} +\def\horo@pplycorrection#1{% + \advance\dimen@ by \csname horo#1DPos\endcsname\p@ + \horo@fixdimen@ + \expandafter\edef\csname horo#1DPos\endcsname{\TG@rem@pt\dimen@}% +} +\def\horo@djo@#1#2#3{% + \horo@findpdiff{#3}{#2}% + \horo@dim@x=\dimen@ + \ifdim\horo@dim@x<45\p@\relax + \ifdim\horo@dim@x>-45\p@\relax + \horo@findpdiff{#3D}{#2D}% + \ifdim\horo@dim@x<\z@\multiply\dimen@ by -1\relax\fi + \advance\dimen@ by -#1\p@ + \ifdim\dimen@>\z@ + \dimen@=\z@ + \else + \ifdim\dimen@<-\horomaxrepulsion\p@\relax + \dimen@=-\horomaxrepulsion\p@% + \fi + \divide\dimen@ by\hororepulsion\relax + \fi + \ifdim\horo@dim@x>\z@\multiply\dimen@ by -1\relax\fi + \horo@pplycorrection{#2}% + \fi + \fi +} +\def\horo@djoo#1#2{% + \edef\horo@tmpa{#1}\edef\horo@tmpb{#2}% + \ifx\horo@tmpa\horo@tmpb\else + \horo@djo@{\horooomindist}{#1}{#2}% + \fi +} +\def\horo@djoo@same#1#2{% + \horo@findpdiff{#2D}{#2}% + \divide\dimen@ by#1\relax + \horo@pplycorrection{#2}% +} +\def\horo@djcheckmovement#1{% + \horo@findpdiff{#1D}{#1S}% + \ifdim\dimen@<0\p@\relax\multiply\dimen@ by -1\relax\fi + \ifdim\dimen@>\horosignificantadj\p@\relax\horo@djustedtrue\fi +} +\def\horo@djobjcycle{% + \message{\the\horo@i}% + \horo@djustedfalse + \horocopyvar{\horoobjects}{DPos}{SPos}% + \horo@dblforeach{\horoobjects}{\horoobjects}{\horo@djoo}% + \horo@dblforeach{\horoobjects}{\horocusps}{\horo@djo@{\horoocmindist}}% + \horoforeach{\horoobjects}{\horo@djoo@same{\horoposattobj}}% + \horoforeach{\horoobjects}{\horo@djcheckmovement}% + \ifhoro@djusted\else\horo@i=\horoadjcycles\relax\fi + \ifnum\horoadjcycles>\horo@i\relax + \advance\horo@i by1\relax + \expandafter\horo@djobjcycle + \fi +} +\def\horo@djcuspcycle{% + \message{\the\horo@i}% + \horo@djustedfalse + \horocopyvar{\horoobjects,\horocusps}{DPos}{SPos}% + \horo@dblforeach{\horocusps}{\horoobjects}{\horo@djo@{\horoocmindist}}% + \horo@dblforeach{\horocusps}{\horocusps}{\horo@djoo}% + \horo@dblforeach{\horoobjects}{\horoobjects}{\horo@djoo}% + \horo@dblforeach{\horoobjects}{\horocusps}{\horo@djo@{\horoocmindist}}% + \horoforeach{\horoobjects}{\horo@djoo@same{\horoposattobj}}% + \horoforeach{\horocusps}{\horo@djoo@same{\horoposattcusp}}% + \horoforeach{\horoobjects,\horocusps}{\horo@djcheckmovement}% + \ifhoro@djusted\else\horo@i=\horoadjcycles\relax\fi + \ifnum\horoadjcycles>\horo@i\relax + \advance\horo@i by1\relax + \expandafter\horo@djcuspcycle + \fi +} +\def\horo@djsavedpos#1{% + \expandafter\horo@fterdef\csname horo#1DPos\endcsname +} +\def\horo@djcheckcusps#1#2#3{% + \edef\horo@tmpa{#2}\edef\horo@tmpb{#3}% + \ifx\horo@tmpa\horo@tmpb + \else + \horo@findpdiff{#2D}{#3D}% + \ifdim\dimen@<\z@\multiply\dimen@ by-1\relax\fi + \ifdim\dimen@<45\p@\relax + \multiply\dimen@ by 100\relax + \divide\dimen@ by \horocuspadjusttrigger\relax + \ifdim\dimen@<#1\p@\relax\horo@djustcuspstrue\fi + \fi + \fi +} +\def\horoadjust{% + \ifhorocalculated + \ifhorointhouselabels + \horo@findcuspmids + \horocopyvar{\horocusps}{MPos}{MDPos}% + \let\horo@savedobjlist\horoobjects + \edef\horoobjects{\horoobjects,\horo@houses}% + \fi + \begingroup + \message{(}% + \horo@i=1\relax + \horo@djobjcycle + \horo@djustcuspsfalse + \horo@dblforeach{\horoobjects}{\horoobjects}% + {\horo@djcheckcusps{\horooomindist}}% + \horo@dblforeach{\horoobjects}{\horocusps}% + {\horo@djcheckcusps{\horoocmindist}}% + \ifhoro@djustcusps + \message{C}% + \horo@i=1\relax + \horo@djcuspcycle + \fi + \message{)}% + \horoforeach{\horocusps,\horoobjects}{\horo@djsavedpos}% + \endgroup + \ifhorointhouselabels\let\horoobjects\horo@savedobjlist\fi + \fi +} +\fi +\ifhoro@templates +\def\horo@isclockwise#1#2{% + TT\fi + \begingroup + \horo@findpdiff{#1}{#2}% + \edef\horo@data{\the\dimen@}% + \horo@fterdef\horo@data + \endgroup + \ifdim\horo@data>\z@\relax +} +\def\horo@anghouse#1{% + TT\fi + \begingroup + \def\horo@angh@{F}% + \if\horo@isclockwise{CuspI}{#1}\if\horo@isclockwise{#1}{CuspII}% + \def\horo@angh@{T}% + \fi\fi + \if\horo@isclockwise{CuspIV}{#1}\if\horo@isclockwise{#1}{CuspV}% + \def\horo@angh@{T}% + \fi\fi + \if\horo@isclockwise{CuspVII}{#1}\if\horo@isclockwise{#1}{CuspVIII}% + \def\horo@angh@{T}% + \fi\fi + \if\horo@isclockwise{CuspX}{#1}\if\horo@isclockwise{#1}{CuspXI}% + \def\horo@angh@{T}% + \fi\fi + \horo@fterdef\horo@angh@ + \endgroup + \if\horo@angh@ T\relax +} +\def\horo@succhouse#1{% + TT\fi + \begingroup + \def\horo@succh@{F}% + \if\horo@isclockwise{CuspII}{#1}\if\horo@isclockwise{#1}{CuspIII}% + \def\horo@succh@{T}% + \fi\fi + \if\horo@isclockwise{CuspV}{#1}\if\horo@isclockwise{#1}{CuspVI}% + \def\horo@succh@{T}% + \fi\fi + \if\horo@isclockwise{CuspVIII}{#1}\if\horo@isclockwise{#1}{CuspIX}% + \def\horo@succh@{T}% + \fi\fi + \if\horo@isclockwise{CuspXI}{#1}\if\horo@isclockwise{#1}{CuspXII}% + \def\horo@succh@{T}% + \fi\fi + \horo@fterdef\horo@succh@ + \endgroup + \if\horo@succh@ T\relax +} +\def\horo@montrealcurve#1#2#3{% + \horo@midpoint{\csname horoCusp#2DPos\endcsname}% + {\csname horoCusp#3DPos\endcsname}% + \horoputcurve{45}{\csname horoCusp#1Pos\endcsname}{15}{\TG@rem@pt\dimen@}% +} +\def\horo@putmontrealobj#1{% + \if\horo@succhouse{#1}% + \horoputobjsymbol{42}{#1}% + \horoputobjdeglabel{34}{4}{#1}% + \horoputrxlabel{30}{#1}% + \else + \horoputobjsymbol{29}{#1}% + \horoputobjdeglabel{21}{4}{#1}% + \horoputrxlabel{17}{#1}% + \fi +} +\def\horo@putqcobj#1{% + \if\horo@anghouse{#1}% + \horoputobjsymbol{28}{#1}% + \horoputobjdeglabel{20}{4}{#1}% + \horoputrxlabel{16}{#1}% + \else + \horoputobjsymbol{42}{#1}% + \horoputobjdeglabel{34}{4}{#1}% + \horoputrxlabel{30}{#1}% + \fi +} +\def\horo@qcline#1#2#3#4{% + \begingroup + \dimen@=\csname horoCusp#2\endcsname\p@\horo@chartrotate + \dimen1=\dimen@\relax + \dimen@=\csname horoCusp#4\endcsname\p@\horo@chartrotate + \horoputline{#1}{\TG@rem@pt\dimen1}% + {#3}{\TG@rem@pt\dimen@}% + \endgroup +} +\def\horo@dialstart#1#2{% + \horocalcharmonic{#2} + \begingroup + \count0=#2\relax + \edef\horo@dtone{\the\count0}% + \multiply\count0 by 5\relax + \edef\horo@dtfive{\the\count0}% + \multiply\count0 by 2\relax + \edef\horo@dtten{\the\count0}% + \horo@fterdef\horo@dtone + \horo@fterdef\horo@dtfive + \horo@fterdef\horo@dtten + \endgroup + \def\hororightcoord{270}% + \ifhoroaspectweb + \horoautoaspects{#1}% + \else + \Line(-1,0)(1,0)% + \Line(0,-1)(0,1)% + \fi +} +\def\horo@dialwheel#1#2#3#4#5#6#7{% + \def\horooomindist{#1}\def\horoocmindist{-90.0}% + \put(0,0){\circle{#2}}% + \def\hororightcoord{270}% + \ifhorocalculated + \horoputradials{\horoobjects}{#3}{#7}% + \horoadjust + \horoforeach{\horoobjects}{\horoconncurve{#4}{#5}}% + \horoforeach{\horoobjects}{\horoputobjsymbol{#6}}% + \fi +} +\def\horotextsize{0} +\def\horochoosetextsize{% + \count@=\horotextsize\relax + \multiply\count@ by-1\relax + \advance\count@ by\horolbllen\relax + \ifcase\the\count@\or\Large\or\large\or\normalsize\or\small\or + \scriptsize\or\scriptsize\or\tiny\fi +} +\newcommand{\horowheelVancouver}[1][ydzmr/ymzdr]{% + \horoscanlabels{#1}% + \horosetsmartradii{38}{4.666}{0.333}% + \ifhororoundauto\hororoundtominkeepdeg\fi + \put(0,0){\circle{100}}% + \put(0,0){\circle{90}}% + \put(0,0){\circle{86}}% + \put(0,0){\circle{42}}% + \horoputticks{45}{5}{30}% + \horoputticks{43}{1}{1}% + \horoputticks{43}{2}{5}% + \horoputsignkey{47.5}% + \ifhorocalculated + \horoputradials{\horoobjects}{41}{2}% + \horoputradials{\horoobjects}{21}{2}% + \ifhorodrawcusps + \horoputradials{\horocusps}{21}{1}% + \horoputradials{\horocusps}{42}{1}% + \fi + \ifhoroboldangles + \begingroup + \thicklines\linethickness{\horoanglecuspwidth}% + \horoputradials{\horoangularcusps}{21}{1}% + \ifhoroanglearrows + \horoputradials{\horoangularcusps}{42}{0.5}% + \else + \horoputradials{\horoangularcusps}{42}{1}% + \fi + \endgroup + \fi + \ifhoroanglearrows + \horoputarrows{\horoangularcusps}{43}{0.7}% + \fi + \fi + \horoadjust + \ifhorocalculated + \horoforeach{\horoobjects}{\horoconncurve{41}{40}}% + \horoforeach{\horoobjects}{\horoconncurve{23}{24}}% + \ifhorodrawcusps + \horoforeach{\horocusps}{\horoconncurve{42}{42}}% + \horoforeach{\horocusps}{\horoconncurve{22}{22}}% + \horoputradials{\horocusps}{22}{20}% + \fi + \ifhoroboldangles + \thicklines\linethickness{\horoanglecuspwidth}% + \horoforeach{\horoangularcusps}{\horoconncurve{42}{42}}% + \horoforeach{\horoangularcusps}{\horoconncurve{22}{22}}% + \horoputradials{\horoangularcusps}{22}{20}% + \thinlines + \fi + {\horochoosetextsize + \horoforeach{\horoobjects}{\horoputsmartlabel}}% + \ifhoroaspectweb\horoautoaspects{21}\fi + \ifhorointhouselabels\horoputinthouselabels{32}\fi + \fi +} +\newcommand{\horowheelIqaluit}[1][1]{{% + \horo@dialstart{42}{#1}% + \horoputticks{42}{1}{\horo@dtone}% + \horoputticks{42}{2}{\horo@dtfive}% + \horoputticks{42}{3}{\horo@dtten}% + \horo@dialwheel{5.0}{84}{42}{45}{46}{47.5}{3}% +}} +\newcommand{\horowheelIgloolik}[3][1]{{% + \horo@dialstart{34}{#1}% + #3\horocalcharmonic{#1}% + \horoputticks{42}{1}{\horo@dtone}% + \horoputticks{42}{2}{\horo@dtfive}% + \horoputticks{42}{3}{\horo@dtten}% + \horo@dialwheel{5.0}{84}{42}{45}{46}{47.5}{3}% + #2\horocalcharmonic{#1}% + \horoputticks{34}{1}{\horo@dtone}% + \horoputticks{34}{2}{\horo@dtfive}% + \horoputticks{34}{3}{\horo@dtten}% + \horo@dialwheel{6.0}{68}{34}{37}{38}{39.5}{3}% +}} +\newcommand{\horowheelResolute}[4][1]{{% + \horo@dialstart{29}{#1}% + #4\horocalcharmonic{#1}% + \horoputticks{43}{1}{\horo@dtone}% + \horoputticks{43}{2}{\horo@dtfive}% + \horo@dialwheel{5.0}{86}{43}{45}{46}{47.5}{2}% + #3\horocalcharmonic{#1}% + \horoputticks{36}{1}{\horo@dtone}% + \horoputticks{36}{2}{\horo@dtfive}% + \horo@dialwheel{6.0}{72}{36}{38}{39}{40.5}{2}% + #2\horocalcharmonic{#1}% + \horoputticks{29}{1}{\horo@dtone}% + \horoputticks{29}{2}{\horo@dtfive}% + \horo@dialwheel{7.0}{58}{29}{31}{32}{33.5}{2}% +}} +\newcommand{\horowheelRankin}[5][1]{{% + \horo@dialstart{22}{#1}% + #5\horocalcharmonic{#1}% + \horoputticks{43}{1}{\horo@dtone}% + \horoputticks{43}{2}{\horo@dtfive}% + \horo@dialwheel{5.0}{86}{43}{45}{46}{47.5}{2}% + #4\horocalcharmonic{#1}% + \horoputticks{36}{1}{\horo@dtone}% + \horoputticks{36}{2}{\horo@dtfive}% + \horo@dialwheel{6.0}{72}{36}{38}{39}{40.5}{2}% + #3\horocalcharmonic{#1}% + \horoputticks{29}{1}{\horo@dtone}% + \horoputticks{29}{2}{\horo@dtfive}% + \horo@dialwheel{7.0}{58}{29}{31}{32}{33.5}{2}% + #2\horocalcharmonic{#1}% + \horoputticks{22}{1}{\horo@dtone}% + \horoputticks{22}{2}{\horo@dtfive}% + \horo@dialwheel{10.0}{44}{22}{24}{25}{26.5}{2}% +}} +\newcommand{\horowheelMontreal}{{% + \def\horooomindist{10.0}\def\horoocmindist{6.0}% + \ifhororoundauto\hororoundtodegkeepsign\fi + \put(0,0){\circle{90}}% + \put(0,0){\circle{30}}% + \ifhorocalculated + \ifhorodrawcusps + \horoforeach{\horoangularcusps}{\horoputcusplabel{47.5}{5}}% + \fi + \fi + \horoadjust + \ifhorocalculated + \ifhorodrawcusps + \horo@montrealcurve{I}{II}{III}% + \horo@montrealcurve{IV}{II}{III}% + \horo@montrealcurve{IV}{V}{VI}% + \horo@montrealcurve{VII}{V}{VI}% + \horo@montrealcurve{VII}{VIII}{IX}% + \horo@montrealcurve{X}{VIII}{IX}% + \horo@montrealcurve{X}{XI}{XII}% + \horo@montrealcurve{I}{XI}{XII}% + \horoforeach{\horoangularcusps}{\horoconncurve{45}{15}}% + \fi + \horoforeach{\horoobjects}{\horo@putmontrealobj}% + \fi +}} +\newcommand{\horowheelQuebecCity}{{% + \def\horooomindist{10.0}\def\horoocmindist{6.0}% + \ifhororoundauto\hororoundtodegkeepsign\fi + \put(0,0){\circle{100}}% + \put(0,0){\circle{90}}% + \horoadjust + \ifhorocalculated + \horo@findcuspmids + \let\hororightcoord=\horoCuspVIIMPos + \ifhorodrawcusps + \horoputradials{CuspIII,CuspVI,CuspIX,CuspXII}{20}{25}% + \horo@qcline{45}{IMPos}{20}{IIIDPos}% + \horo@qcline{45}{IVMPos}{20}{IIIDPos}% + \horo@qcline{45}{IVMPos}{20}{VIDPos}% + \horo@qcline{45}{VIIMPos}{20}{VIDPos}% + \horo@qcline{45}{VIIMPos}{20}{IXDPos}% + \horo@qcline{45}{XMPos}{20}{IXDPos}% + \horo@qcline{45}{XMPos}{20}{XIIDPos}% + \horo@qcline{45}{IMPos}{20}{XIIDPos}% + \horo@qcline{20}{IIIDPos}{20}{VIDPos}% + \horo@qcline{20}{VIDPos}{20}{IXDPos}% + \horo@qcline{20}{IXDPos}{20}{XIIDPos}% + \horo@qcline{20}{XIIDPos}{20}{IIIDPos}% + \fi + \horocopyvar{\horocusps}{MPos}{DPos}% + \ifhorodrawcusps + \horoforeach{\horocusps}{\horoputcusplabel{47.5}{5}}% + \fi + \horoforeach{\horoobjects}{\horo@putqcobj}% + \fi +}} +\fi +\horocalcparms{1976}{8}{1}{17:22:19}{W123:20:38}{N48:25:53} +\endinput +%% +%% End of file `horoscop.sty'. |