diff options
author | Karl Berry <karl@freefriends.org> | 2020-07-21 21:40:00 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2020-07-21 21:40:00 +0000 |
commit | dd993b599198c6a3e865306688c6d103f41546b6 (patch) | |
tree | 5c561df88235528ba5ce77c8933d701df5329865 /Master/texmf-dist/source/latex | |
parent | c2672b946257e59e864cb7029db18d05630b7bc2 (diff) |
horoscop (21jul20)
git-svn-id: svn://tug.org/texlive/trunk@55901 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex')
-rw-r--r-- | Master/texmf-dist/source/latex/horoscop/horoscop.dtx | 510 |
1 files changed, 415 insertions, 95 deletions
diff --git a/Master/texmf-dist/source/latex/horoscop/horoscop.dtx b/Master/texmf-dist/source/latex/horoscop/horoscop.dtx index 12ea6a98fe5..dfcf84b7afd 100644 --- a/Master/texmf-dist/source/latex/horoscop/horoscop.dtx +++ b/Master/texmf-dist/source/latex/horoscop/horoscop.dtx @@ -2,13 +2,13 @@ % % This work is hereby released into the Public Domain. To view a % copy of the public domain dedication, visit -% http://creativecommons.org/licenses/publicdomain/ +% https://creativecommons.org/licenses/publicdomain/ % or send a letter to Creative Commons, 171 Second Street, Suite 300, % San Francisco, California, 94105, USA. % % Matthew Skala % mskala@ansuz.sooke.bc.ca -% http://ansuz.sooke.bc.ca/ +% https://ansuz.sooke.bc.ca/ % August 30, 2008 % % \fi @@ -22,8 +22,9 @@ \usepackage{fmtcount} \usepackage{graphicx} \usepackage[scaled=0.9]{helvet} -\usepackage[textsym,wasysym,marvosym,starfont]{horoscop}[2013/05/16] +\usepackage[textsym,unicode,wasysym,marvosym,starfont]{horoscop}[2020/07/21] \usepackage{mathpazo} +\usepackage{metalogo} \usepackage{titlesec} \usepackage[letterpaper,breaklinks,bookmarks,plainpages=false, colorlinks,pagebackref,citecolor=darkgreen,linkcolor=purplish]{hyperref} @@ -81,7 +82,7 @@ %</driver> % \fi % -% \CheckSum{4087} +% \CheckSum{4317} % % \CharacterTable % {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z @@ -113,38 +114,40 @@ % % \title{Typesetting astrology with \textsf{horoscop}} % \author{Matthew Skala} -% \date{May 16, 2013} +% \date{July 21, 2020} % -% \begin{titlepage} -% \phantomsection -% \mybookmark{section}{Title Page} -% \centering -% \vspace{0.75in} -% {\Huge\scshape Typesetting} +% \thispagestyle{empty} +% \phantomsection +% \mybookmark{section}{Title Page} +% {\centering +% \vspace{0.75in} +% {\Huge\scshape Typesetting} % -% \vspace{2pc} -% {\Huge\scshape Astrology} +% \vspace{2pc} +% {\Huge\scshape Astrology} % -% \vspace{2pc} -% {\LARGE\itshape with} +% \vspace{2pc} +% {\LARGE\itshape with} % -% \vspace{2pc} -% {\Huge\sffamily horoscop} +% \vspace{2pc} +% {\Huge\sffamily horoscop} % -% \vspace{3pc} -% {\Huge\docornament} +% \vspace{3pc} +% {\Huge\docornament} % -% \vspace{\fill} -% {\Large{\scshape Matthew Skala}\\ -% \href{mailto:mskala@ansuz.sooke.bc.ca}% -% {\nolinkurl{mskala@ansuz.sooke.bc.ca}}} +% \vspace{\fill} +% {\Large{\scshape Matthew Skala}\\ +% \href{mailto:mskala@ansuz.sooke.bc.ca}% +% {\nolinkurl{mskala@ansuz.sooke.bc.ca}}} % -% \vspace{0.5in} -% {\Large\itshape Version 0.92, May 16, 2013} -% \vspace{2.5pc} -% \end{titlepage} +% \vspace{0.5in} +% {\Large\itshape Version 1.0, July 21, 2020} +% \vspace{2.5pc} +% \par} % % \clearpage +% \changes{v1.0}{2020/07/20}{Make page after title page page 2 for clearer +% numbering in PDF} % \phantomsection % \mybookmark{section}{Contents} % \tableofcontents @@ -153,13 +156,15 @@ % % \section{Introduction} % +% \changes{v1.0}{2020/07/20}{General updates to intro after seven years} % This document describes the design and use of a \LaTeX\ package named % \textsf{horoscop}, which supports typesetting of astrological charts. % Features include: % % \begin{itemize} % \item A unified interface for astrological symbols/glyphs, supporting three -% different astrological fonts as well as text abbreviations. +% different astrological fonts as well as text abbreviations and Unicode +% astrological symbol code points. % \item Support for invoking Astrolog or Swiss Ephemeris to calculate % charts. Positions can also be specified manually. % \item Loading and saving object and cusp positions into \TeX\ macros. @@ -216,21 +221,59 @@ % whatever comes out of the calculation software but it will be your own % fault if that is nonsense. % -% This 0.92 release is the first one to be submitted to CTAN. I still feel -% like \textsf{horoscop} is beta software, but it has existed since 2004, it -% has not changed much in years, the recent switch to \textsf{pict2e} makes -% it a lot more useful with modern \TeX\ installations, and I think the time -% has come to share it more widely. Next version will probably be 1.0. -% -% This package has a GitHub repository at -% \url{http://github.com/mskala/horoscop}. Bug reports should be filed -% there using GitHub's issue tracking system. -% +% I presented this package at TUG~2016, with a one-page summary in the +% conference proceedings: Skala, M. 2016. Astrological +% charts with \textsf{horoscop} and \textsf{starfont}. +% \emph{TUGboat,} 37(2):p.\ 182. Proceedings of the 37th Annual Meeting of +% the TeX Users Group (TUG 2016), Toronto, Ontario, July 25-27, 2016. A PDF +% of the summary is at \url{https://tug.org/TUGboat/tb37-2/tb116skala.pdf}; +% a PDF of the slides from my talk is at +% \url{https://tug.org/tug2016/slides/skala.pdf}; and there is video of most +% of the presentation at +% \url{http://zeeba.tv/astrological-charts-with-horoscop-and-starfont/}. +% +% This release, version 1.0, represents a mature version of the package. +% The last release, version 0.92, was called a beta test, but it has +% been in use seven years now without needing any significant bug fixing or +% updates. The most serious issue in 0.92 was in the documentation of +% how to enter manually-calculated object positions; the underlying macros +% for it worked well. +% +% So this 1.0 release is primarily an update to the documentation to fix +% that issue, as well as to bump the version number and recognize the fact +% that the package is mature and fully usable. I have also taken the +% opportunity to add the Unicode-symbols feature, to reduce +% \textsf{horoscop}'s ties to classical \TeX\ and its font systems as users +% increasingly move toward Unicode engines and Unicode-based font selection; +% and I have updated such things as Web links and development contacts to +% reflect the inevitable changes in human institutitons over the years. +% +% \changes{v1.0}{2020/07/20}{In memoriam Axel} +% I encourage readers to think of Axel Harvey, a close friend of mine and +% a professional astrologer who contributed greatly to the testing of this +% software and its associated Web service. He died in 2016, and is missed. +% +% \changes{v1.0}{2020/07/20}{New links for my own Web sites} % There is an online chart service demonstrating \textsf{horoscop} at -% \url{http://ansuz.sooke.bc.ca/astrology/makechart.php}. I also maintain a -% page pointing to recent versions of this, my \textsf{starfont} package, -% and any other \LaTeX\ astrology resources I can find, at -% \url{http://ansuz.sooke.bc.ca/entry/107}. +% \href{https://edifyingfellowship.org/astro/}{\nolinkurl https://edifying} +% \href{https://edifyingfellowship.org/astro/}{\nolinkurl fellowship.org/astro/}. +% I also maintain a page pointing to \LaTeX\ astrology resources, at +% \url{https://ansuz.sooke.bc.ca/entry/107}. +% +% I no longer encourage the use of GitHub and it is unlikely that the +% existing GitHub repository for \textsf{horoscop} will be updated further. +% Bug reports and other correspondence related to \textsf{horoscop} should +% be directed to \href{mailto:mskala@ansuz.sooke.bc.ca}% +% {\nolinkurl{mskala@ansuz.sooke.bc.ca}}. +% +% As of 2016, I am no longer pursuing a career in academic computer science. +% I have started a business selling modules of my own design for +% Eurorack modular synthesizers, and kits for building them, through a Web +% storefront at \url{https://northcoastsynthesis.com/}. If you are +% interested in electronic music, please consider buying my products; if +% not, please pass on the link to others. My ability to spend time +% making free resources to share, such as the \textsf{horoscop} package, +% depends on the success of my business. % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % @@ -249,14 +292,20 @@ % missing or unsuitable. % Instead of using an astrological font % at all, the |textsym| option may be used to substitute abbreviations -% written in \LaTeX's ordinary text font. +% written in \LaTeX's ordinary text font, which should work in any +% \LaTeX\ environment; or the |unicode| option may +% \changes{v1.0}{2020/07/20}{\texttt{unicode} option} +% be used with \XeLaTeX\ or \LuaLaTeX\@. With |unicode|, \textsf{horoscop} +% will use Unicode code points for the astrological symbols and leave it up to +% the Unicode-supporting \TeX\ engine to typeset them in an appropriate font. % % Sources for astrological font packages: % \changes{v0.92}{2013/05/16}{Update links for font packages} +% \changes{v1.0}{2020/07/20}{Upgrade links to HTTPS} % \begin{itemize} -% \item \textsf{marvosym}: \url{http://www.ctan.org/pkg/marvosym} -% \item \textsf{starfont}: \url{http://www.ctan.org/pkg/starfont} -% \item \textsf{wasysym}: \url{http://www.ctan.org/pkg/wasysym} +% \item \textsf{marvosym}: \url{https://ctan.org/pkg/marvosym} +% \item \textsf{starfont}: \url{https://ctan.org/pkg/starfont} +% \item \textsf{wasysym}: \url{https://ctan.org/pkg/wasysym} % \end{itemize} % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -285,12 +334,13 @@ % using this feature, by coding all the object locations into the \LaTeX\ % source file instead of having them calculated on the fly. % +% \changes{v1.0}{2020/07/20}{Upgrade links to HTTPS} % Sources for external calculation programs: % \begin{itemize} % \item Astrolog: -% \url{http://www.astrolog.org/astrolog.htm} +% \url{https://www.astrolog.org/astrolog.htm} % \item Swiss Ephemeris: -% \url{http://www.astro.com/swisseph/} +% \url{https://www.astro.com/swisseph/} % \end{itemize} % % {\em External calculation programs require |\write18| support in \TeX.} @@ -356,7 +406,8 @@ % % \subsection{Astrological Symbol Options} % -% The options |textsym|, |wasysym|, |marvosym|, and |starfont| control the +% The options |textsym|, |unicode|, |wasysym|, |marvosym|, and +% |starfont| control the % font used for astrological symbols. You may choose more than one of these % options, in which case more than one set will be available in your % document. The set in force at the start of the document will be the last @@ -374,16 +425,28 @@ % The abbreviations are also used to replace missing symbols in the other % sets. % +% \changes{v1.0}{2020/07/20}{\texttt{unicode} option} +% The |unicode| option is normally only useful in \XeLaTeX\ and \LuaLaTeX; +% it causes \textsf{horoscop} to use non-ASCII Unicode characters for +% astrological symbols. It is up to the \TeX\ engine, or the user, to +% select a font or combination of fonts in which these characters can be +% typeset. Both \XeLaTeX\ and \LuaLaTeX\ offer relevant font-selection +% features, and if \textsf{horoscop} detects (using the \textsf{iftex} +% package) some other engine, it will fall back to a text indication of +% the desired code points, which looks like $\langle$U+263D$\rangle$. +% % \DescribeMacro{\horotextsym} +% \DescribeMacro{\horounicode} % \DescribeMacro{\horowasysym} % \DescribeMacro{\horomarvosym} % \DescribeMacro{\horostarfont} -% The macros |\horotextsym|, |\horowasysym|, |\horomarvosym|, and -% |\horostar|-|font| switch to the corresponding set of astrological symbols, +% The macros |\horotextsym|, |\horounicode|, |\horowasysym|, +% |\horomarvosym|, and |\horostarfont| switch to the corresponding set +% of astrological symbols, % so that documents can mix the different sets. Any symbols not defined by % the new set remain in the state left by the old set. To use these macros % the corresponding symbol sets must have been loaded with the appropriate -% package options, except |\horotextsym| which is always available. +% package options, except that |\horotextsym| is always available. % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % @@ -583,154 +646,188 @@ % the entire zodiac by redefining |\Zodiac| instead of redefining individual % symbols. % -% \begin{tabular}{lcccc} -% macro & |textsym| & |wasysym| & |marvosym| & |starfont| \\ +% {\setlength{\tabcolsep}{0.2em} +% \begin{tabular}{lccccc} +% macro & |textsym| & |unicode| & |wasysym| & |marvosym| & |starfont| \\ % |\AriesSymbol| & \horotextsym\AriesSymbol +% & \horounicode\AriesSymbol % & \horowasysym\AriesSymbol % & \horomarvosym\AriesSymbol % & \horostarfont\AriesSymbol \\ % |\TaurusSymbol| & \horotextsym\TaurusSymbol +% & \horounicode\TaurusSymbol % & \horowasysym\TaurusSymbol % & \horomarvosym\TaurusSymbol % & \horostarfont\TaurusSymbol \\ % |\GeminiSymbol| & \horotextsym\GeminiSymbol +% & \horounicode\GeminiSymbol % & \horowasysym\GeminiSymbol % & \horomarvosym\GeminiSymbol % & \horostarfont\GeminiSymbol \\ % |\CancerSymbol| & \horotextsym\CancerSymbol +% & \horounicode\CancerSymbol % & \horowasysym\CancerSymbol % & \horomarvosym\CancerSymbol % & \horostarfont\CancerSymbol \\ % |\LeoSymbol| & \horotextsym\LeoSymbol +% & \horounicode\LeoSymbol % & \horowasysym\LeoSymbol % & \horomarvosym\LeoSymbol % & \horostarfont\LeoSymbol \\ % |\VirgoSymbol| & \horotextsym\VirgoSymbol +% & \horounicode\VirgoSymbol % & \horowasysym\VirgoSymbol % & \horomarvosym\VirgoSymbol % & \horostarfont\VirgoSymbol \\ % |\LibraSymbol| & \horotextsym\LibraSymbol +% & \horounicode\LibraSymbol % & \horowasysym\LibraSymbol % & \horomarvosym\LibraSymbol % & \horostarfont\LibraSymbol \\ % |\ScorpioSymbol| & \horotextsym\ScorpioSymbol +% & \horounicode\ScorpioSymbol % & \horowasysym\ScorpioSymbol % & \horomarvosym\ScorpioSymbol % & \horostarfont\ScorpioSymbol \\ % |\SagittariusSymbol| & \horotextsym\SagittariusSymbol +% & \horounicode\SagittariusSymbol % & \horowasysym\SagittariusSymbol % & \horomarvosym\SagittariusSymbol % & \horostarfont\SagittariusSymbol \\ % |\CapricornSymbol| & \horotextsym\CapricornSymbol +% & \horounicode\CapricornSymbol % & \horowasysym\CapricornSymbol % & \horomarvosym\CapricornSymbol % & \horostarfont\CapricornSymbol \\ % |\AquariusSymbol| & \horotextsym\AquariusSymbol +% & \horounicode\AquariusSymbol % & \horowasysym\AquariusSymbol % & \horomarvosym\AquariusSymbol % & \horostarfont\AquariusSymbol \\ % |\PiscesSymbol| & \horotextsym\PiscesSymbol +% & \horounicode\PiscesSymbol % & \horowasysym\PiscesSymbol % & \horomarvosym\PiscesSymbol % & \horostarfont\PiscesSymbol -% \end{tabular} +% \end{tabular}} % % \subsubsection{Luminaries and traditional planets} % % These are well-supported by the various fonts. % -% \begin{tabular}{lcccc} -% macro & |textsym| & |wasysym| & |marvosym| & |starfont| \\ +% {\setlength{\tabcolsep}{0.2em} +% \begin{tabular}{lccccc} +% macro & |textsym| & |unicode| & |wasysym| & |marvosym| & |starfont| \\ % |\SunSymbol| & \horotextsym\SunSymbol +% & \horounicode\SunSymbol % & \horowasysym\SunSymbol % & \horomarvosym\SunSymbol % & \horostarfont\SunSymbol \\ % |\MoonSymbol| & \horotextsym\MoonSymbol +% & \horounicode\MoonSymbol % & \horowasysym\MoonSymbol % & \horomarvosym\MoonSymbol % & \horostarfont\MoonSymbol \\ % |\MercurySymbol| & \horotextsym\MercurySymbol +% & \horounicode\MercurySymbol % & \horowasysym\MercurySymbol % & \horomarvosym\MercurySymbol % & \horostarfont\MercurySymbol \\ % |\VenusSymbol| & \horotextsym\VenusSymbol +% & \horounicode\VenusSymbol % & \horowasysym\VenusSymbol % & \horomarvosym\VenusSymbol % & \horostarfont\VenusSymbol \\ % |\MarsSymbol| & \horotextsym\MarsSymbol +% & \horounicode\MarsSymbol % & \horowasysym\MarsSymbol % & \horomarvosym\MarsSymbol % & \horostarfont\MarsSymbol \\ % |\JupiterSymbol| & \horotextsym\JupiterSymbol +% & \horounicode\JupiterSymbol % & \horowasysym\JupiterSymbol % & \horomarvosym\JupiterSymbol % & \horostarfont\JupiterSymbol \\ % |\SaturnSymbol| & \horotextsym\SaturnSymbol +% & \horounicode\SaturnSymbol % & \horowasysym\SaturnSymbol % & \horomarvosym\SaturnSymbol % & \horostarfont\SaturnSymbol \\ % |\UranusSymbol| & \horotextsym\UranusSymbol +% & \horounicode\UranusSymbol % & \horowasysym\UranusSymbol % & \horomarvosym\UranusSymbol % & \horostarfont\UranusSymbol \\ % |\NeptuneSymbol| & \horotextsym\NeptuneSymbol +% & \horounicode\NeptuneSymbol % & \horowasysym\NeptuneSymbol % & \horomarvosym\NeptuneSymbol % & \horostarfont\NeptuneSymbol \\ % |\PlutoSymbol| & \horotextsym\PlutoSymbol +% & \horounicode\PlutoSymbol % & \horowasysym\PlutoSymbol % & \horomarvosym\PlutoSymbol % & \horostarfont\PlutoSymbol -% \end{tabular} +% \end{tabular}} % % \subsubsection{Other objects, cusps, and angles} % The \textsf{starfont} package provides symbols for asteroids, derived % points, angles, and so on. Without it, these things default to the -% |textsym| abbreviations. Cusp symbols are listed here too, although they +% |textsym| abbreviations. The |unicode| option also has code points for +% these. Cusp symbols are listed in this table, but they % generally do not appear in the default templates and will seldom be used % in actual practice. % -% \begin{tabular}{lcc} -% macro & |textsym| & |starfont| \\ +% {\setlength{\tabcolsep}{0.2em} +% \begin{tabular}{lccc} +% macro & |textsym| & |unicode| &|starfont| \\ % |\ChironSymbol| & \horotextsym\ChironSymbol +% & \horounicode\ChironSymbol % & \horostarfont\ChironSymbol \\ % |\CeresSymbol| & \horotextsym\CeresSymbol +% & \horounicode\CeresSymbol % & \horostarfont\CeresSymbol \\ % |\PallasSymbol| & \horotextsym\PallasSymbol +% & \horounicode\PallasSymbol % & \horostarfont\PallasSymbol \\ % |\JunoSymbol| & \horotextsym\JunoSymbol +% & \horounicode\JunoSymbol % & \horostarfont\JunoSymbol \\ % |\VestaSymbol| & \horotextsym\VestaSymbol +% & \horounicode\VestaSymbol % & \horostarfont\VestaSymbol \\ % |\NorthNodeSymbol| & \horotextsym\NorthNodeSymbol +% & \horounicode\NorthNodeSymbol % & \horostarfont\NorthNodeSymbol \\ % |\SouthNodeSymbol| & \horotextsym\SouthNodeSymbol +% & \horounicode\SouthNodeSymbol % & \horostarfont\SouthNodeSymbol \\ % |\LilithSymbol| & \horotextsym\LilithSymbol +% & \horounicode\LilithSymbol % & \horostarfont\LilithSymbol \\ % |\CuspISymbol| & \horotextsym\CuspISymbol -% & \horostarfont\CuspISymbol \\ +% & & \horostarfont\CuspISymbol \\ % |\CuspIISymbol| & \horotextsym\CuspIISymbol & \\ % |\CuspIIISymbol| & \horotextsym\CuspIIISymbol & \\ % |\CuspIVSymbol| & \horotextsym\CuspIVSymbol -% & \horostarfont\CuspIVSymbol \\ +% & & \horostarfont\CuspIVSymbol \\ % |\CuspVSymbol| & \horotextsym\CuspVSymbol & \\ % |\CuspVISymbol| & \horotextsym\CuspVISymbol & \\ % |\CuspVIISymbol| & \horotextsym\CuspVIISymbol -% & \horostarfont\CuspVIISymbol \\ +% & & \horostarfont\CuspVIISymbol \\ % |\CuspVIIISymbol| & \horotextsym\CuspVIIISymbol & \\ % |\CuspIXSymbol| & \horotextsym\CuspIXSymbol & \\ % |\CuspXSymbol| & \horotextsym\CuspXSymbol -% & \horostarfont\CuspXSymbol \\ +% & & \horostarfont\CuspXSymbol \\ % |\CuspXISymbol| & \horotextsym\CuspXISymbol & \\ % |\CuspXIISymbol| & \horotextsym\CuspXIISymbol & \\ % |\AscendantSymbol| & \horotextsym\AscendantSymbol -% & \horostarfont\AscendantSymbol \\ +% & & \horostarfont\AscendantSymbol \\ % |\MCSymbol| & \horotextsym\MCSymbol -% & \horostarfont\MCSymbol \\ +% & & \horostarfont\MCSymbol \\ % |\VertexSymbol| & \horotextsym\VertexSymbol -% & \horostarfont\VertexSymbol \\ -% \end{tabular} +% & & \horostarfont\VertexSymbol \\ +% \end{tabular}} % % Note that \textsf{wasysym} provides a symbol it calls |\ascnode|, but it's % actually identical to the symbol it calls |\leo|, and the symbol (\leo) @@ -770,35 +867,44 @@ % below also shows the default angles and orbs for the aspects; see % Subsection~\ref{sub:aspect-web}. % -% {\renewcommand{\tabcolsep}{0.2em} -% \begin{tabular}{lcccc} -% macro & |textsym| & |wasysym| & |starfont| & angle\\ +% \noindent{\setlength{\tabcolsep}{0.1em} +% \begin{tabular}{lccccc} +% macro & |textsym| & |unicode| & |wasysym| & |starfont| & angle\\ % |\horoConjunctionSymbol| & \horotextsym\horoConjunctionSymbol +% & \horounicode\horoConjunctionSymbol % & \horowasysym\horoConjunctionSymbol % & \horostarfont\horoConjunctionSymbol & $0\horodegrees\pm6\horodegrees$ \\ % |\horoOppositionSymbol| & \horotextsym\horoOppositionSymbol +% & \horounicode\horoOppositionSymbol % & \horowasysym\horoOppositionSymbol % & \horostarfont\horoOppositionSymbol & $180\horodegrees\pm6\horodegrees$ \\ % |\horoTrineSymbol| & \horotextsym\horoTrineSymbol +% & \horounicode\horoTrineSymbol % & \horowasysym\horoTrineSymbol % & \horostarfont\horoTrineSymbol & $120\horodegrees\pm5\horodegrees$ \\ % |\horoSquareSymbol| & \horotextsym\horoSquareSymbol +% & \horounicode\horoSquareSymbol % & \horowasysym\horoSquareSymbol % & \horostarfont\horoSquareSymbol & $90\horodegrees\pm5\horodegrees$ \\ % |\horoQuintileSymbol| & \horotextsym\horoQuintileSymbol -% & & \horostarfont\horoQuintileSymbol & $72\horodegrees\pm2\horodegrees$ \\ +% & & & \horostarfont\horoQuintileSymbol & $72\horodegrees\pm2\horodegrees$ \\ % |\horoBiquintileSymbol| & \horotextsym\horoBiquintileSymbol -% & & \horostarfont\horoBiquintileSymbol & $144\horodegrees\pm2\horodegrees$ \\ +% & & & \horostarfont\horoBiquintileSymbol & $144\horodegrees\pm2\horodegrees$ \\ % |\horoSextileSymbol| & \horotextsym\horoSextileSymbol +% & \horounicode\horoSextileSymbol % & \horowasysym\horoSextileSymbol % & \horostarfont\horoSextileSymbol & $60\horodegrees\pm4\horodegrees$ \\ % |\horoQuincunxSymbol| & \horotextsym\horoQuincunxSymbol +% & \horounicode\horoQuincunxSymbol % & & \horostarfont\horoQuincunxSymbol & $150\horodegrees\pm3\horodegrees$ \\ % |\horoSemisextileSymbol| & \horotextsym\horoSemisextileSymbol +% & \horounicode\horoSemisextileSymbol % & & \horostarfont\horoSemisextileSymbol & $30\horodegrees\pm3\horodegrees$ \\ % |\horoSemisquareSymbol| & \horotextsym\horoSemisquareSymbol +% & \horounicode\horoSemisquareSymbol % & & \horostarfont\horoSemisquareSymbol & $45\horodegrees\pm2\horodegrees$ \\ % |\horoSesquiquadrateSymbol| & \horotextsym\horoSesquiquadrateSymbol +% & \horounicode\horoSesquiquadrateSymbol % & & \horostarfont\horoSesquiquadrateSymbol & $135\horodegrees\pm2\horodegrees$ % \end{tabular}} % @@ -967,7 +1073,8 @@ % would be better to assign house positions in a way that takes latitude % into account. See the article ``The Problems of House Division'' by % Deborah Houlding, available online at -% \url{http://www.skyscript.co.uk/houprob_print.html}, for more discussion +% \changes{v1.0}{2020/07/20}{Upgrade links to HTTPS} +% \url{https://www.skyscript.co.uk/houprob_print.html}, for more discussion % of this issue. In some future version \textsf{horoscop} may be extended % to provide more options for handling of this kind of thing. % @@ -995,6 +1102,7 @@ % that would be created by |\horocalculate| simply need to be created % directly, as in the example below. % +% \changes{v1.0}{2020/07/20}{Correct macro names for manual position example} % \begin{verbatim} % \def\horoSunPos{267.5002492}\def\horoSunVel{1.0185515} % \def\horoMoonPos{229.2067659}\def\horoMoonVel{11.9237313} @@ -1008,18 +1116,18 @@ % \def\horoPlutoPos{133.0955746}\def\horoPlutoVel{-0.0150157} % \def\horoNorthNodePos{70.7814892}\def\horoNorthNodeVel{-0.0529425} % \def\horoLilithPos{265.3475147}\def\horoLilithVel{0.1108368} -% \def\horoCuspI{207.9120843} -% \def\horoCuspII{236.5553269} -% \def\horoCuspIII{267.6976404} -% \def\horoCuspIV{300.5365877} -% \def\horoCuspV{332.9973490} -% \def\horoCuspVI{2.5292853} -% \def\horoCuspVII{27.9120843} -% \def\horoCuspVIII{56.5553269} -% \def\horoCuspIX{87.6976404} -% \def\horoCuspX{120.5365877} -% \def\horoCuspXI{152.9973490} -% \def\horoCuspXII{182.5292853} +% \def\horoCuspPosI{207.9120843} +% \def\horoCuspPosII{236.5553269} +% \def\horoCuspPosIII{267.6976404} +% \def\horoCuspPosIV{300.5365877} +% \def\horoCuspPosV{332.9973490} +% \def\horoCuspPosVI{2.5292853} +% \def\horoCuspPosVII{27.9120843} +% \def\horoCuspPosVIII{56.5553269} +% \def\horoCuspPosIX{87.6976404} +% \def\horoCuspPosX{120.5365877} +% \def\horoCuspPosXI{152.9973490} +% \def\horoCuspPosXII{182.5292853} % \end{verbatim} % % A few less obvious macros also need to be set for manually-entered @@ -1185,6 +1293,20 @@ % |\horowheelVancouver|, as in the birth chart for John Lennon shown in % Figure~\ref{fig:basic-wheel}. % +% \changes{v1.0}{2020/07/21}{Emphasize that template names do not determine +% geographic locations of charts} +% Please note that the standard templates are named after Canadian cities, +% but these names are only \emph{thematic names for the visual styles of the +% charts}\footnote{I was inspired to use this naming theme by Ruskey and +% Weston's work on Venn diagrams; see +% \url{https://www.combinatorics.org/files/Surveys/ds5/ds5v3-2005/VennEJC.html}.} +% and the names of the templates have no connection with the geographic +% locations the charts refer to. You can plot a chart for any location in +% Vancouver style, and you can plot a chart that does happen to be for +% Vancouver (any of the multiple places in the world with that name) using any +% template. The geographic location for the chart must be specified by +% latitude and longitude, independently of the template name. +% % \begin{figure} % \horocalcparms{1940}{10}{9}{17:30:0}{W2:55:0}{N53:25:0} % \horocalculate @@ -2081,7 +2203,8 @@ % exist \emph{even in theory}. He was probably joking, but so might I be. % See \emph{``Real'' Analysis is a Degenerate Case of Discrete Analysis}, % D.~Zeilberger, -% \url{http://www.math.rutgers.edu/~zeilberg/mamarim/mamarimhtml/real.html}.} +% \changes{v1.0}{2020/07/20}{Upgrade links to HTTPS} +% \url{https://sites.math.rutgers.edu/~zeilberg/mamarim/mamarimhtml/real.html}.} % so the decision on how to represent truly exact cusps seems not to be of % much practical consequence anyway. % @@ -2552,7 +2675,7 @@ % % Note that the spring strength settings are for adjusting % the {\em relative} strengths of the different kind of adjustments. It -% will not work to increase or decrese all three uniformly to make +% will not work to increase or decrease all three uniformly to make % the overall layout looser or tighter, because the system will simply make % more or fewer iterations and end up with substantially the same solution. % Overall looser-tighter control should instead be exercised by changing @@ -2878,12 +3001,15 @@ % % These can all be turned on and off independently. % +% \changes{v1.0}{2020/07/20}{\texttt{unicode} option} % \begin{macrocode} \newif\ifhoro@textsym\horo@textsymfalse +\newif\ifhoro@unicode\horo@unicodefalse \newif\ifhoro@wasysym\horo@wasysymfalse \newif\ifhoro@marvosym\horo@marvosymfalse \newif\ifhoro@starfont\horo@starfontfalse \DeclareOption{textsym}{\horo@textsymtrue} +\DeclareOption{unicode}{\horo@unicodetrue} \DeclareOption{wasysym}{\horo@wasysymtrue} \DeclareOption{marvosym}{\horo@marvosymtrue} \DeclareOption{starfont}{\horo@starfonttrue} @@ -2935,14 +3061,25 @@ % % \begin{macrocode} \ifhoro@textsym\else - \ifhoro@wasysym\else - \ifhoro@marvosym\else - \horo@starfonttrue + \ifhoro@unicode\else + \ifhoro@wasysym\else + \ifhoro@marvosym\else + \horo@starfonttrue + \fi \fi \fi \fi % \end{macrocode} % +% Because \textsf{iftex} defines conditionals, we must load it +% unconditionally. Otherwise the parse of our style file (when it skims +% over not-taken conditional bodies) fails. +% +% \changes{v1.0}{2020/07/02}{Require \textsf{iftex}} +% \begin{macrocode} +\RequirePackage{iftex}% +% \end{macrocode} +% % Load other packages as needed by the selected options. Since % there are some name conflicts between macros defined by in different % packages and we want to retain access to both versions, we save each @@ -3150,12 +3287,195 @@ \horotextsym % \end{macrocode} % +% \subsubsection{Unicode astrological symbols} +% +% \changes{v1.0}{2020/07/20}{\texttt{unicode} option} +% As with |textsym|, the actual setting of the symbol macros is all inside a +% |unicode|-specific macro so that we can switch back to it easily +% after using other symbol sets. The macro |\horounicode@| contains the +% actual code points in caret notation, which traditional \TeX\ engines +% cannot process; this macro is called by |\horounicode| conditionally +% on its detecting a Unicode-compatible engine. +% +% \begin{macro}{\horounicode@} +% \begin{macrocode} +\ifhoro@unicode\newcommand{\horounicode@}{% +% \end{macrocode} +% +% Signs of the Zodiac: +% \begin{macrocode} +\gdef\AriesSymbol{^^^^2648}% +\gdef\TaurusSymbol{^^^^2649}% +\gdef\GeminiSymbol{^^^^264a}% +\gdef\CancerSymbol{^^^^264b}% +\gdef\LeoSymbol{^^^^264c}% +\gdef\VirgoSymbol{^^^^264d}% +\gdef\LibraSymbol{^^^^264e}% +\gdef\ScorpioSymbol{^^^^264f}% +\gdef\SagittariusSymbol{^^^^2650}% +\gdef\CapricornSymbol{^^^^2651}% +\gdef\AquariusSymbol{^^^^2652}% +\gdef\PiscesSymbol{^^^^2653}% +% \end{macrocode} +% +% Traditional planets and luminaries: +% \begin{macrocode} +\gdef\SunSymbol{^^^^2609}% +\gdef\MoonSymbol{^^^^263d}% +\gdef\MercurySymbol{^^^^263f}% +\gdef\VenusSymbol{^^^^2640}% +\gdef\MarsSymbol{^^^^2642}% +\gdef\JupiterSymbol{^^^^2643}% +\gdef\SaturnSymbol{^^^^2644}% +\gdef\UranusSymbol{^^^^2645}% +\gdef\NeptuneSymbol{^^^^2646}% +\gdef\PlutoSymbol{^^^^2647}% +% \end{macrocode} +% +% Minor planets: +% \begin{macrocode} +\gdef\ChironSymbol{^^^^26b7}% +\gdef\CeresSymbol{^^^^26b3}% +\gdef\PallasSymbol{^^^^26b4}% +\gdef\JunoSymbol{^^^^26b5}% +\gdef\VestaSymbol{^^^^26b6}% +% \end{macrocode} +% +% Derived points: +% \begin{macrocode} +\gdef\NorthNodeSymbol{^^^^260a}% +\gdef\SouthNodeSymbol{^^^^260b}% +\gdef\LilithSymbol{^^^^26b8}% +% \end{macrocode} +% +% Direction: +% \begin{macrocode} +\gdef\horoRetrogradeSymbol{^^^^211e}% +% \end{macrocode} +% +% Aspects: +% \begin{macrocode} +\gdef\horoConjunctionSymbol{^^^^260c}% +\gdef\horoOppositionSymbol{^^^^260d}% +\gdef\horoTrineSymbol{^^^^25b3}% +\gdef\horoSquareSymbol{^^^^25a1}% +\gdef\horoSextileSymbol{^^^^26b9}% +\gdef\horoQuincunxSymbol{^^^^26bb}% +\gdef\horoSemisextileSymbol{^^^^26ba}% +\gdef\horoSemisquareSymbol{^^^^2220}% +\gdef\horoSesquiquadrateSymbol{^^^^26bc}% +} +% \end{macrocode} +% \end{macro} +% +% This helper macro typesets a notation that describes a code point in text: +% +% \begin{macro}{\horounicode@point} +% \begin{macrocode} +\newcommand{\horounicode@point}[1]{\ensuremath{\langle\mbox{U+#1}\rangle}} +% \end{macrocode} +% \end{macro} +% +% The |\horounicode| driver can either call |\horounicode@| to really +% use Unicode, or display text-based descriptions of the Unicode code points +% it wants, depending on the engine. Factoring |\horounicode@| into a +% separate macro reduces repetition, since |\horounicode| wants to call it in +% two different places. +% +% \begin{macro}{\horounicode} +% \changes{v1.0}{2020/07/20}{New macro} +% \begin{macrocode} +\newcommand{\horounicode}{% +% \end{macrocode} +% +% Call |\horounicode@| if it is safe to do so: +% \begin{macrocode} +\ifxetex\horounicode@\else +\ifluatex\horounicode@\else +% \end{macrocode} +% +% Now define all the code points, as above, but in text notation. +% +% Signs of the Zodiac: +% \begin{macrocode} +\gdef\AriesSymbol{\horounicode@point{2648}}% +\gdef\TaurusSymbol{\horounicode@point{2649}}% +\gdef\GeminiSymbol{\horounicode@point{264A}}% +\gdef\CancerSymbol{\horounicode@point{264B}}% +\gdef\LeoSymbol{\horounicode@point{264C}}% +\gdef\VirgoSymbol{\horounicode@point{264D}}% +\gdef\LibraSymbol{\horounicode@point{264E}}% +\gdef\ScorpioSymbol{\horounicode@point{264F}}% +\gdef\SagittariusSymbol{\horounicode@point{2650}}% +\gdef\CapricornSymbol{\horounicode@point{2651}}% +\gdef\AquariusSymbol{\horounicode@point{2652}}% +\gdef\PiscesSymbol{\horounicode@point{2653}}% +% \end{macrocode} +% +% Traditional planets and luminaries: +% \begin{macrocode} +\gdef\SunSymbol{\horounicode@point{2609}}% +\gdef\MoonSymbol{\horounicode@point{263D}}% +\gdef\MercurySymbol{\horounicode@point{263F}}% +\gdef\VenusSymbol{\horounicode@point{2640}}% +\gdef\MarsSymbol{\horounicode@point{2642}}% +\gdef\JupiterSymbol{\horounicode@point{2643}}% +\gdef\SaturnSymbol{\horounicode@point{2644}}% +\gdef\UranusSymbol{\horounicode@point{2645}}% +\gdef\NeptuneSymbol{\horounicode@point{2646}}% +\gdef\PlutoSymbol{\horounicode@point{2647}}% +% \end{macrocode} +% +% Minor planets: +% \begin{macrocode} +\gdef\ChironSymbol{\horounicode@point{26B7}}% +\gdef\CeresSymbol{\horounicode@point{26B3}}% +\gdef\PallasSymbol{\horounicode@point{26B4}}% +\gdef\JunoSymbol{\horounicode@point{26B5}}% +\gdef\VestaSymbol{\horounicode@point{26B6}}% +% \end{macrocode} +% +% Derived points: +% \begin{macrocode} +\gdef\NorthNodeSymbol{\horounicode@point{260A}}% +\gdef\SouthNodeSymbol{\horounicode@point{260B}}% +\gdef\LilithSymbol{\horounicode@point{26B8}}% +% \end{macrocode} +% +% Direction: +% \begin{macrocode} +\gdef\horoRetrogradeSymbol{\horounicode@point{211E}}% +% \end{macrocode} +% +% Aspects: +% \begin{macrocode} +\gdef\horoConjunctionSymbol{\horounicode@point{260C}}% +\gdef\horoOppositionSymbol{\horounicode@point{260D}}% +\gdef\horoTrineSymbol{\horounicode@point{25B3}}% +\gdef\horoSquareSymbol{\horounicode@point{25A1}}% +\gdef\horoSextileSymbol{\horounicode@point{26B9}}% +\gdef\horoQuincunxSymbol{\horounicode@point{26BB}}% +\gdef\horoSemisextileSymbol{\horounicode@point{26BA}}% +\gdef\horoSemisquareSymbol{\horounicode@point{2220}}% +\gdef\horoSesquiquadrateSymbol{\horounicode@point{26BC}}% +\fi\fi +} +% \end{macrocode} +% \end{macro} +% +% Now invoke |\horounicode| to make these symbols default at the start of +% the document, except for the few (house cusps, and quintiles) that +% don't exist in Unicode. +% \begin{macrocode} +\horounicode +\fi +% \end{macrocode} +% % \subsubsection{Symbols from \textsf{wasysym}} % % \begin{macro}{\horowasysym} -% As with |textsym|, the actual setting of the symbol macros is all inside a -% \textsf{wasysym}-specific macro so that we can switch back to it easily -% after using other symbol sets. +% These, too, are inside a macro specific to the package so that we can +% switch among multiple symbol sets when more than one is loaded. % \begin{macrocode} \ifhoro@wasysym\newcommand{\horowasysym}{% % \end{macrocode} |