diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /fonts/old-arrows |
Initial commit
Diffstat (limited to 'fonts/old-arrows')
47 files changed, 2142 insertions, 0 deletions
diff --git a/fonts/old-arrows/README b/fonts/old-arrows/README new file mode 100644 index 0000000000..ed1723404a --- /dev/null +++ b/fonts/old-arrows/README @@ -0,0 +1,38 @@ +The old-arrows package v2.0 2017/01/05 +-------------------------------------------------------------------------- +Riccardo Dossena +Email: riccardo.dossena@gmail.com +-------------------------------------------------------------------------- +copyright 2015-2017 by Riccardo Dossena + +This package provides cm old-style arrows with smaller arrowheads, +associated with ordinary LaTeX commands. It can be used in a document +that contains other amssymb arrow characters, like \twoheadrightarrow, +which also have small arrowheads. The options `new' and `old' allow the +user to use the usual new-style cm arrows together with the old-style +ones. The option `new' allows you to maintain the old-style by default +and get the old-style by putting \var before every command; conversely, +the option `old' allows you to maintain the new-style by default and get +the old-style by putting \var before every command. + +This work may be distributed and/or modified under the +conditions of the LaTeX Project Public License, either version 1.3 +of this license or (at your option) any later version. +The latest version of this license is in + http://www.latex-project.org/lppl.txt +and version 1.3 or later is part of all distributions of LaTeX +version 2005/12/01 or later. + +This work has the LPPL maintenance status `maintained'. + +The Current Maintainer of this work is Riccardo Dossena. + +Old Arrows fonts were derived from an old version of +Blue Sky Computer Modern Math Symbols (1991-1992, released by AMS) +by deleting many characters with FontForge. +Old Arrows Font Software is licensed under the SIL Open +Font License, Version 1.1. +-------------------------------------------------------------------------- +If you have any ideas, questions, suggestions, feedback or bugs to +report, please feel free to contact me. +-------------------------------------------------------------------------- diff --git a/fonts/old-arrows/doc/old-arrows-italian.pdf b/fonts/old-arrows/doc/old-arrows-italian.pdf Binary files differnew file mode 100644 index 0000000000..3fe3706e56 --- /dev/null +++ b/fonts/old-arrows/doc/old-arrows-italian.pdf diff --git a/fonts/old-arrows/doc/old-arrows-italian.tex b/fonts/old-arrows/doc/old-arrows-italian.tex new file mode 100644 index 0000000000..b92c22221a --- /dev/null +++ b/fonts/old-arrows/doc/old-arrows-italian.tex @@ -0,0 +1,531 @@ +%% start of file `old-arrows-italian.tex'. +%% Copyright 2015-2017 Riccardo Dossena (riccardo.dossena@gmail.com). +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License version 1.3c, +% available at http://www.latex-project.org/lppl/. +%% +\documentclass[11pt,a4paper]{ltxdoc} + +\usepackage[utf8]{inputenc} +\usepackage[english,italian]{babel} +\usepackage{lmodern} +\usepackage[T1]{fontenc} +\usepackage{amsmath,amssymb,amsthm} +\usepackage[shortlabels]{enumitem} +\usepackage{stmaryrd} +\usepackage{mathtools} +\usepackage[new]{old-arrows} +\usepackage[hmargin=3.3cm,vmargin=2.5cm,footskip=30pt]{geometry} +\usepackage[colorlinks=true]{hyperref} +\usepackage[all]{hypcap} % needed to help hyperlinks direct correctly; +\usepackage[chicago]{ellipsis} + +\def\fileversion{2.0} +\def\filedate{5 gennaio 2017} + +%Logo per MiKTeX e TeXLive +\newcommand{\MiKTeX}{MiK\TeX} +\newcommand{\TeXLive}{\mbox{\TeX\ Live}} +% +% +% Symbol Entry for Math Symbol Tables +% +\newcommand{\X}[1]{$#1$&\texttt{\string#1}\hspace*{1ex}} + +\newcommand{\W}[2]{$#1{#2}$& + \texttt{\string#1}\texttt{\string{\string#2\string}}\hspace*{1ex}} + +\theoremstyle{remark} +\newtheorem*{nota}{Nota} + +% Mathsymbol Table +\newsavebox{\symbbox} +\newenvironment{symbols}[1]% +{\par\vspace*{2ex} +\renewcommand{\arraystretch}{1.1} +\begin{lrbox}{\symbbox} +\hspace*{4ex}\begin{tabular}{@{}#1@{}}}% +{\end{tabular}\end{lrbox}\makebox[\textwidth]{\usebox{\symbbox}}\par\medskip} + +%Per l'esempio senza amsmath +\makeatletter +\def\overrightfreccia#1{\vbox{\m@th\ialign{##\crcr + \rightfrecciafill\crcr\noalign{\kern-\p@\nointerlineskip} + $\hfil\displaystyle{#1}\hfil$\crcr}}} +\def\overleftfreccia#1{\vbox{\m@th\ialign{##\crcr + \leftfrecciafill\crcr\noalign{\kern-\p@\nointerlineskip}% + $\hfil\displaystyle{#1}\hfil$\crcr}}} +\def\varoverrightfreccia#1{\vbox{\m@th\ialign{##\crcr + \varrightfrecciafill\crcr\noalign{\kern-\p@\nointerlineskip} + $\hfil\displaystyle{#1}\hfil$\crcr}}} +\def\varoverleftfreccia#1{\vbox{\m@th\ialign{##\crcr + \varleftfrecciafill\crcr\noalign{\kern-\p@\nointerlineskip}% + $\hfil\displaystyle{#1}\hfil$\crcr}}} +\def\rightfrecciafill{$\m@th\smash\meno\mkern-7mu% + \cleaders\hbox{$\mkern-2mu\smash\meno\mkern-2mu$}\hfill + \mkern-7mu\mathord\rightarrow$} +\def\leftfrecciafill{$\m@th\mathord\leftarrow\mkern-7mu% + \cleaders\hbox{$\mkern-2mu\smash\meno\mkern-2mu$}\hfill + \mkern-7mu\smash\meno$} +\def\varrightfrecciafill{$\m@th\smash-\mkern-7mu% + \cleaders\hbox{$\mkern-2mu\smash-\mkern-2mu$}\hfill + \mkern-7mu\mathord\varrightarrow$} +\def\varleftfrecciafill{$\m@th\mathord\varleftarrow\mkern-7mu% + \cleaders\hbox{$\mkern-2mu\smash-\mkern-2mu$}\hfill + \mkern-7mu\smash-$} +\makeatother + +\begin{document} + +\title{Il pacchetto \textsf{old-arrows}} +\author{Riccardo Dossena\thanks{% +E-mail: \href{mailto:riccardo.dossena@gmail.com}{\tt riccardo.dossena@gmail.com}}} +\date{Versione \fileversion, \filedate} + +\frenchspacing + +\maketitle + +\begin{abstract} +Questo pacchetto rende disponibili le frecce Computer Modern vecchio stile~($\rightarrow$), con una punta +più stretta, associandole agli usuali comandi \LaTeX. Può essere usato in un documento che prevede altri +tipi di frecce definite dal pacchetto \texttt{amssymb}, come $\twoheadrightarrow$, che similmente +presentano una punta stretta. È possibile usare le frecce Computer Modern nuovo stile ($\varrightarrow$) +insieme a quelle vecchio stile. +\end{abstract} + +\tableofcontents + +\section{Introduzione} + +Nel 1992 Donald E. Knuth introdusse diverse correzioni significative ai font +\foreignlanguage{english}{Computer Modern}\footnote{Vedi +\url{http://www-cs-faculty.stanford.edu/~uno/cm.html}}. In seguito a tali aggiustamenti, i caratteri +corrispondenti alle frecce risultarono modificati. Per intenderci, da +\[ +A \to B +\] +si era passati a +\[ +A \varto B +\] +cioè il carattere $\to$ era stato sostituito da $\varto$, che presenta una punta più larga. Lo stesso +avvenne per altri caratteri affini. Tuttavia, molti altri caratteri definiti da \texttt{amssymb}, come +$\nrightarrow$, $\rightarrowtail$, $\twoheadrightarrow$ e altri ancora, hanno mantenuto una punta piccola e +appaiono molto dissimili da $\varto$. + +Il pacchetto \texttt{old-arrows}, con la famiglia di font Old Arrows, consente di usare le frecce vecchio +stile ($\to$, $\gets$, \ldots) associandole ai comandi tradizionali (\verb|\rightarrow|, \verb|\leftarrow|, +\ldots). Inoltre, le opzioni \texttt{new} e \texttt{old} permettono di ottenere le frecce nuovo stile +($\varto$, $\vargets$, \ldots) insieme a quelle vecchio stile, semplicemente anteponendo \verb|\var| ai +comandi corrispondenti (\verb|\varrightarrow|, \verb|\varleftarrow|, \ldots)\footnote{Vedi le sezioni +\ref{sec:new} e \ref{sec:old}.}. + +La famiglia di font Old Arrows deriva da una vecchia versione dei \foreignlanguage{english}{Blue Sky +Computer Modern Math Symbols} (1991-1992, rilasciati da AMS) tramite la cancellazione con FontForge di +diversi caratteri. + +\section{Licenze} + +Il codice \LaTeX\ di questo pacchetto è rilasciato sotto la \LaTeX\ Project Public License, v1.3. + +I font di questo pacchetto sono rilasciati sotto la SIL Open Font License, v1.1. + +\section{Installazione} + +Il pacchetto \texttt{old-arrows} è contenuto nelle distribuzioni \MiKTeX\ e \TeXLive\ più recenti. Tuttavia, +se si vuole procedere all'installazione manuale, seguire le indicazioni fornite di seguito. + +\subsection{Copiare i file nell'albero locale del sistema \TeX} + +I file della famiglia Old Arrows sono: + +\begin{center} +\begin{tabular}{p{3cm}p{3cm}p{3cm}l} +\hline +\texttt{oasy5.afm} & \texttt{oasy5.pfm} & \texttt{oasy5.tfm} & \texttt{oasy5.pfb} \\ +\texttt{oasy6.afm} & \texttt{oasy6.pfm} & \texttt{oasy6.tfm} & \texttt{oasy6.pfb} \\ +\texttt{oasy7.afm} & \texttt{oasy7.pfm} & \texttt{oasy7.tfm} & \texttt{oasy7.pfb} \\ +\texttt{oasy8.afm} & \texttt{oasy8.pfm} & \texttt{oasy8.tfm} & \texttt{oasy8.pfb} \\ +\texttt{oasy9.afm} & \texttt{oasy9.pfm} & \texttt{oasy9.tfm} & \texttt{oasy9.pfb} \\ +\texttt{oasy10.afm} & \texttt{oasy10.pfm} & \texttt{oasy10.tfm} & \texttt{oasy10.pfb} \\ +\texttt{oabsy5.afm} & \texttt{oabsy5.pfm} & \texttt{oabsy5.tfm} & \texttt{oabsy5.pfb} \\ + & & \texttt{oabsy6.tfm} & \\ +\texttt{oabsy7.afm} & \texttt{oabsy7.pfm} & \texttt{oabsy7.tfm} & \texttt{oabsy7.pfb} \\ + & & \texttt{oabsy8.tfm} & \\ + & & \texttt{oabsy9.tfm} & \\ +\texttt{oabsy10.afm} & \texttt{oabsy10.pfm} & \texttt{oabsy10.tfm} & \texttt{oabsy10.pfb} \\ +\hline +\end{tabular} +\end{center} + +Questi file derivano dai font \texttt{cmbsy5}, \texttt{cmbsy7}, \texttt{cmbsy10}, \texttt{cmsy5}, +\texttt{cmsy7}, \texttt{cmsy8}, \texttt{cmsy9} e \texttt{cmsy10} della famiglia Computer Modern. + +Indichiamo con \texttt{<localtexmf>} la radice dell'albero locale del proprio sistema \TeX. Nelle +distribuzioni \TeXLive\ si trova in genere in \texttt{/usr/local/texlive/texmf-local}; nella distribuzione +\MiKTeX\ può essere invece impostata in qualsiasi directory, attraverso la scheda \textsf{Roots} delle +``\MiKTeX\ Options''. + +\begin{enumerate} +\item Copiare i file \texttt{*.afm} e \texttt{*.tfm} nelle corrispondenti directory \texttt{old-arrows} + (che devono essere create, come mostrato di seguito): + \begin{verbatim} + <localtexmf>/fonts/afm/old-arrows + <localtexmf>/fonts/tfm/old-arrows + \end{verbatim} + +\item Copiare i file \texttt{*.pfb} e \texttt{*.pfm} nella directory + \begin{verbatim} + <localtexmf>/fonts/type1/old-arrows + \end{verbatim} + +\item Copiare i file \texttt{oasy.enc} e \texttt{oasy.map}, rispettivamente, nelle directory + \begin{verbatim} + <localtexmf>/fonts/enc/dvips/old-arrows + <localtexmf>/fonts/map/dvips/old-arrows + \end{verbatim} + +\item Copiare il file \texttt{old-arrows.sty} nella directory + \begin{verbatim} + <localtexmf>/tex/latex/old-arrows + \end{verbatim} +\end{enumerate} + +\subsection{Aggiornare il database dei nomi dei file}\label{agg-database-file} + +\begin{description}[font=\bfseries\sffamily, leftmargin=5em, style=sameline] +\item[\MiKTeX] Nella scheda \textsf{General} delle ``MiKTeX Options (Admin)'' cliccare sul pulsante + \textsf{Refresh~FNDB}. In alternativa, eseguire dalla linea di comando DOS + \begin{verbatim} + initexmf --update-fndb + \end{verbatim} + +\item[\TeXLive] Avviare il ``\TeXLive\ Manager''. Dal menu \textsf{Actions} selezionare + \foreignlanguage{english}{\textsf{Update filename database}}. In alternativa, eseguire dalla linea di + comando di un terminale + \begin{verbatim} + mktexlsr + \end{verbatim} +\end{description} + +\subsection{Aggiornare i font map file} + +\begin{description}[font=\bfseries\sffamily, leftmargin=5em, style=sameline] +\item[\MiKTeX] +Per aggiornare il file di configurazione \texttt{updmap.cfg}, eseguire dalla linea di comando DOS +\begin{verbatim} + initexmf --edit-config-file updmap +\end{verbatim} +aggiungere al file \texttt{updmap.cfg} (che verrà aperto) la seguente linea +\begin{verbatim} + Map oasy.map +\end{verbatim} +salvare, chiudere ed eseguire (sempre dalla linea di comando DOS) +\begin{verbatim} + initexmf --mkmaps +\end{verbatim} + +\item[\TeXLive] +Eseguire dalla linea di comando del terminale +\begin{verbatim} + updmap-sys --enable Map=oasy.map +\end{verbatim} +\end{description} +È possibile che a questo punto si renda necessario un nuovo aggiornamento del database dei nomi dei file +(vedi~\ref{agg-database-file}). Eseguirlo in ogni caso per sicurezza. + +\section{Come usare il pacchetto \textsf{old-arrows}} + +\subsection{Uso di base} + +È sufficiente scrivere nel preambolo del proprio documento \LaTeX\ +\begin{verbatim} + \usepackage{old-arrows} +\end{verbatim} +e tutti i comandi relativi alle frecce verranno associati al ``vecchio stile'', come riportato nella +tabella~\ref{tab-frecce-vecchie}. + +\begin{table}[!htbp] +\begin{symbols}{*3{cl}} + \X{\leftarrow}o \verb|\gets|& \X{\longleftarrow} & \X{\uparrow} \\ + \X{\rightarrow}o \verb|\to| & \X{\longrightarrow} & \X{\downarrow} \\ + \X{\leftrightarrow} & \X{\longleftrightarrow}& \X{\updownarrow} \\ + \X{\mapsto} & \X{\longmapsto} & \X{\nearrow} \\ + \X{\hookleftarrow} & \X{\hookrightarrow} & \X{\searrow} \\ + \X{\leftharpoonup} & \X{\rightharpoonup} & \X{\swarrow} \\ + \X{\leftharpoondown} & \X{\rightharpoondown} & \X{\nwarrow} \\ +\end{symbols} +\caption{Frecce vecchio stile, disponibili con \texttt{old-arrows}.}\label{tab-frecce-vecchie} +\end{table} + +I comandi \verb|\rightarrowfill| e \verb|\leftarrowfill| consentono di riempire spazi vuoti con frecce +estendibili. Per esempio, il primo comando dato alla fine di questo stesso paragrafo produce: +\rightarrowfill + +\subsection{Uso con altri pacchetti} + +\subsubsection{\texttt{amsmath}} + +Il pacchetto \texttt{old-arrows} non richiede \texttt{amsmath}. In ogni caso, per usarlo insieme ad +\texttt{amsmath}, quest'ultimo deve essere caricato \emph{prima} di \texttt{old-arrows}: +\begin{verbatim} + \usepackage{amsmath} + \usepackage{old-arrows} +\end{verbatim} + +Il pacchetto \texttt{amsmath} rende disponibili ulteriori soprassegni, sottosegni +(tabella~\ref{tab-frecce-vecchie-amsmath}), frecce estendibili (tabella~\ref{tab-frecce-vecchie-ext}) e nomi +di operatori (tabella~\ref{tab-operatori-vecchi}). Da notare che \texttt{amsmath} produce soprassegni +leggermente più distanziati dai caratteri sottostanti, con una resa tipografica migliore. Infatti, i comandi +\verb|\overrightarrow{AB}| e \verb|\overleftarrow{AB}|, senza \texttt{amsmath}, producono rispettivamente +\[ +\overrightfreccia{AB} \,\text{ anziché }\, \overrightarrow{AB} \qquad \text{e} \qquad \overleftfreccia{AB} +\,\text{ anziché }\, \overleftarrow{AB}. +\] + +\begin{table}[!htbp] +\begin{symbols}{*3{cl}} + \W{\overleftarrow}{AB} & \W{\underleftarrow}{AB} \\ + \W{\overrightarrow}{AB} & \W{\underrightarrow}{AB} \\ + \W{\overleftrightarrow}{AB} & \W{\underleftrightarrow}{AB} \\ +\end{symbols} +\caption{Frecce vecchio stile come soprassegni e sottosegni, attivabili +\texttt{amsmath}.}\label{tab-frecce-vecchie-amsmath} +\end{table} +\begin{table}[!htbp] +\begin{symbols}{*2{cl}} + \W{\xleftarrow}{ABCDEF} & \W{\xrightarrow}{ABCDEF} \\ +\end{symbols} +\caption{Frecce vecchio stile estendibili, attivabili con \texttt{amsmath}.}\label{tab-frecce-vecchie-ext} +\end{table} +\begin{table}[!htbp] +\begin{symbols}{*2{cl}} + \X{\varinjlim} & \X{\varprojlim} \\ +\end{symbols} +\caption{Nomi di operatori vecchio stile, attivabili con \texttt{amsmath}.}\label{tab-operatori-vecchi} +\end{table} + +Il pacchetto \texttt{amsmath} fornisce il comando \verb|\boldsymbol| per ottenere i caratteri +matematici in grassetto. Questo può essere anche utilizzato con \texttt{old-arrows}. Per esempio, i comandi +\begin{center} + \verb|$\boldsymbol{A \to B}$| \quad e \quad \verb|$\boldsymbol{\overrightarrow{AB}}$| +\end{center} +producono rispettivamente $\boldsymbol{A \to B}$ e $\boldsymbol{\overrightarrow{AB}}$. + +\subsubsection{\texttt{lmodern}} + +Il pacchetto \texttt{old-arrows} è completamente compatibile con i font Latin Modern, sempre a condizione che +il relativo pacchetto \texttt{lmodern} venga caricato \emph{prima} di \texttt{old-arrows}: +\begin{verbatim} + \usepackage{lmodern} + \usepackage{old-arrows} +\end{verbatim} + +\subsubsection{\texttt{stmaryrd}} + +Il pacchetto \texttt{old-arrows} è anche pienamente compatible con i font St Mary's Road, ancora a condizione +di caricare il pacchetto \texttt{stmaryrd} \emph{prima} di \texttt{old-arrows}. +\begin{verbatim} + \usepackage{stmaryrd} + \usepackage{old-arrows} +\end{verbatim} + +Il pacchetto \texttt{stmaryrd} fornisce diverse frecce con punta stretta, come ad esempio +\verb|\shortrightarrow| ($\shortrightarrow$) e \verb|\nnearrow| ($\nnearrow$). Tuttavia, i comandi +\verb|\mapsfrom| e \verb|\longmapsfrom|, senza \texttt{old-arrows}, generano le frecce nuovo stile +$\varmapsfrom$ e $\varlongmapsfrom$. Il pacchetto \texttt{old-arrows} permette invece di ottenere la versione +vecchio stile di tali frecce, come mostra la tabella~\ref{tab-frecce-vecchie-smr}. +\begin{table}[!htbp] + \begin{symbols}{*2{cl}} + \X{\mapsfrom} & \X{\longmapsfrom} \\ +\end{symbols} +\caption{Frecce vecchio stile disponibili con \texttt{stmaryrd}.}\label{tab-frecce-vecchie-smr} +\end{table} + +\subsubsection{\texttt{mathtools}} + +Il pacchetto \texttt{old-arrows} può essere usato congiuntamente al pacchetto \texttt{mathtools}, purché +quest'ultimo venga caricato \emph{prima} di \texttt{old-arrows}. +\begin{verbatim} + \usepackage{mathtools} + \usepackage{old-arrows} +\end{verbatim} + +Il pacchetto \texttt{mathtools} mette a disposizione ulteriori frecce estendibili +(tabella~\ref{tab-frecce-vecchie-mt}). + +\begin{table}[!htbp] +\begin{symbols}{*2{cl}} + \W{\xleftrightarrow}{ABCDEF} & \W{\xmapsto}{ABCDEF} \\ + \W{\xhookleftarrow}{ABCDEF} & \W{\xhookrightarrow}{ABCDEF} \\ +\end{symbols} +\caption{Frecce vecchio stile estendibili disponibili con \texttt{mathtools}.}\label{tab-frecce-vecchie-mt} +\end{table} + +Ogni freccia estendibile può ricevere un argomento facoltativo che produce un pedice. Per esempio, i comandi +\begin{center} + \verb|\xrightarrow[G]{ABCDEF}| \quad e \quad \verb|\xmapsto[G]{ABCDEF}| +\end{center} +danno come risultato +\begin{center} +$\xrightarrow[G]{ABCDEF}$ \quad e \quad $\xmapsto[G]{ABCDEF}$ +\end{center} + +\begin{nota} +È molto importante che \texttt{old-arrows} venga caricato \emph{dopo} \texttt{amsmath}, \texttt{stmaryrd}, +\texttt{lmodern} e \texttt{mathtools}, dato che \texttt{old-arrows} ridefinisce diversi comandi di questi +pacchetti. In caso contrario, \texttt{old-arrows} non funzionerà correttamente. +\begin{verbatim} + \usepackage{lmodern} + \usepackage{amsmath} + \usepackage{stmaryrd} + \usepackage{mathtools} + \usepackage{old-arrows} +\end{verbatim} +\end{nota} + +\subsection{L'opzione \textsf{new}}\label{sec:new} + +Caricando \texttt{old-arrows} con l'opzione \texttt{new} +\begin{verbatim} + \usepackage[new]{old-arrows} +\end{verbatim} +vengono rese disponibili le frecce nuovo stile contemporaneamente a quelle vecchio stile. Per ottenere le +frecce nuovo stile basta anteporre \verb|\var| a tutti i comandi ordinari, come mostrano le +tabelle~\ref{tab-frecce-nuove}, \ref{tab-frecce-nuove-amsmath}, \ref{tab-frecce-nuove-ext}, +\ref{tab-operatori-nuovi}, \ref{tab-frecce-nuove-smr} e \ref{tab-frecce-nuove-mt}. + +\begin{table}[!htbp] +\begin{symbols}{*3{cl}} + \X{\varleftarrow}o \verb|\vargets|& \X{\varlongleftarrow} & \X{\varuparrow} \\ + \X{\varrightarrow}o \verb|\varto|& \X{\varlongrightarrow} & \X{\vardownarrow} \\ + \X{\varleftrightarrow} & \X{\varlongleftrightarrow}& \X{\varupdownarrow} \\ + \X{\varmapsto} & \X{\varlongmapsto} & \X{\varnearrow} \\ + \X{\varhookleftarrow} & \X{\varhookrightarrow} & \X{\varsearrow} \\ + \X{\leftharpoonup} & \X{\rightharpoonup} & \X{\varswarrow} \\ + \X{\leftharpoondown} & \X{\rightharpoondown} & \X{\varnwarrow} \\ +\end{symbols} +\caption{Frecce nuovo stile, attivabili con l'opzione \texttt{new}.}\label{tab-frecce-nuove} +\end{table} +\begin{table}[!htbp] +\begin{symbols}{*2{cl}} + \W{\varoverleftarrow}{AB} & \W{\varunderleftarrow}{AB} \\ + \W{\varoverrightarrow}{AB} & \W{\varunderrightarrow}{AB} \\ + \W{\varoverleftrightarrow}{AB} & \W{\varunderleftrightarrow}{AB} \\ +\end{symbols} +\caption{Frecce nuovo stile come soprassegni e sottosegni, attivabili con \texttt{amsmath} e l'opzione +\texttt{new} di \texttt{old-arrows}.} +\label{tab-frecce-nuove-amsmath} +\end{table} +\begin{table}[!htbp] +\begin{symbols}{*2{cl}} + \W{\varxleftarrow}{ABCDEF} & \W{\varxrightarrow}{ABCDEF} \\ +\end{symbols} +\caption{Frecce nuovo stile estendibili, attivabili con \texttt{amsmath} e l'opzione \texttt{new} di +\texttt{old-arrows}.} +\label{tab-frecce-nuove-ext} +\end{table} +\begin{table}[!htbp] +\begin{symbols}{*2{cl}} + \X{\varvarinjlim} & \X{\varvarprojlim} \\ +\end{symbols} +\caption{Nomi di operatori nuovo stile, attivabili con \texttt{amsmath} e l'opzione \texttt{new} di +\texttt{old-arrows}.}\label{tab-operatori-nuovi} +\end{table} +\begin{table}[!htbp] + \begin{symbols}{*2{cl}} + \X{\varmapsfrom} & \X{\varlongmapsfrom} \\ +\end{symbols} +\caption{Frecce nuovo stile disponibili con \texttt{stmaryrd} e l'opzione \texttt{new} di +\texttt{old-arrows}.}\label{tab-frecce-nuove-smr} +\end{table} +\begin{table}[!htbp] +\begin{symbols}{*2{cl}} + \W{\varxleftrightarrow}{ABCDEF} & \W{\varxmapsto}{ABCDEF} \\ + \W{\varxhookleftarrow}{ABCDEF} & \W{\varxhookrightarrow}{ABCDEF} \\ +\end{symbols} +\caption{Frecce nuovo stile estendibili, disponibili con \texttt{mathtools} e l'opzione \texttt{new} di +\texttt{old-arrows}.}\label{tab-frecce-nuove-mt} +\end{table} + +\pagebreak + +Segnaliamo che i comandi +\begin{center} +\verb|\leftharpoonup|, \verb|\rightharpoonup|, \verb|\leftharpoondown|, \verb|\rightharpoondown| +\end{center} +non sono stati ridefiniti da \texttt{old-arrows}, perché i corrispondenti caratteri $\leftharpoonup, +\rightharpoonup,\leftharpoondown,\rightharpoondown$ non sono stati modificati con l'introduzione del nuovo +stile. + +I comandi \verb|\varrightarrowfill| e \verb|\varleftarrowfill| permettono di riempire spazi vuoti con frecce +estendibili. Il primo comando dato alla fine di questo stesso paragrafo produce: \varrightarrowfill + +Se si vuole usare l'opzione \texttt{new} insieme all'opzione \texttt{only} del pacchetto \texttt{stmaryrd}, è +necessario scrivere nell'elenco delle opzioni il comando da definire in entrambe le versioni: normale e +\verb|\var|. Ad esempio, con le opzioni seguenti +\begin{verbatim} + \usepackage[only,mapsfrom,varmapsfrom]{stmaryrd} + \usepackage[new]{old-arrows} +\end{verbatim} +verranno definiti da \texttt{stmaryrd} solo i simboli $\mapsfrom$ e $\varmapsfrom$. + +Infine, anche con l'opzione \texttt{new} è possibile usare il comando \verb|\boldsymbol| previsto da +\texttt{amsmath}. I seguenti comandi +\begin{center} + \verb|$\boldsymbol{A \varto B}$| \quad e \quad \verb|$\boldsymbol{\varoverrightarrow{AB}}$| +\end{center} +producono rispettivamente $\boldsymbol{A \varto B}$ e $\boldsymbol{\varoverrightarrow{AB}}$. + +\subsection{L'opzione \textsf{old}}\label{sec:old} + +Qualora si volesse usare il vecchio stile solo in alcuni casi, mantenendo di default il nuovo stile, è +disponibile l'opzione \texttt{old} +\begin{verbatim} + \usepackage[old]{old-arrows} +\end{verbatim} +che associa a tutti i comandi con prefisso \verb|\var| il vecchio stile anziché il nuovo, il quale rimane +associato ai comandi ordinari. Per esempio, con l'opzione \texttt{old} i comandi +\begin{center} + \verb|$A \varleftarrow B$| \quad e \quad \verb|$A \varto B$| +\end{center} +producono rispettivamente $A \leftarrow B$ e $A \to B$, mentre +\begin{center} + \verb|$A \leftarrow B$| \quad e \quad \verb|$A \to B$| +\end{center} +producono rispettivamente $A \varleftarrow B$ e $A \varto B$. + +Non è possibile caricare contemporaneamente le opzioni \texttt{new} e \texttt{old} (nel caso, si otterrà un +messaggio di errore). + +\subsection{Comandi aggiuntivi disponibili con \texttt{old-arrows}} + +Il pacchetto \texttt{old-arrows} fornisce comandi aggiuntivi per nuovi tipi di frecce, come mostra la +tabella~\ref{tab-comandi-nuovi}. +\begin{table}[!htbp] +\begin{symbols}{*2{cl}} + \X{\longhookrightarrow} & \X{\longhookleftarrow} \\ + \X{\varlonghookrightarrow}$^a$ & \X{\varlonghookleftarrow}$^a$ \\ + \X{\longleftharpoonup} & \X{\longleftharpoondown} \\ + \X{\longrightharpoonup} & \X{\longrightharpoondown} \\ +\end{symbols} +\centerline{\footnotesize $^a$Attivabile con l'opzione \texttt{new}.} +\caption{Frecce aggiuntive disponibili con \texttt{old-arrows}.}\label{tab-comandi-nuovi} +\end{table} + +Infine, sono previsti comandi per frecce estendibili del tipo ``mapsfrom'' (tabella~\ref{tab-frecce-mt-smr}) +che sono disponibili solo se anche \texttt{mathtools} e \texttt{stmaryrd} vengono caricati con +\texttt{old-arrows} (in quanto dipendono a loro volta da altri comandi definiti da questi due pacchetti). +\begin{table}[!htbp] +\begin{symbols}{*2{cl}} + \W{\xmapsfrom}{ABCDEF} & \W{\varxmapsfrom}{ABCDEF}$^a$ \\ +\end{symbols} +\centerline{\footnotesize $^a$Attivabile con l'opzione \texttt{new}.} +\caption{Frecce estendibili fornite da \texttt{old-arrows} insieme a \texttt{mathtools} e +\texttt{stmaryrd}.} +\label{tab-frecce-mt-smr} +\end{table} + +\end{document} diff --git a/fonts/old-arrows/doc/old-arrows.pdf b/fonts/old-arrows/doc/old-arrows.pdf Binary files differnew file mode 100644 index 0000000000..091aa5c6bd --- /dev/null +++ b/fonts/old-arrows/doc/old-arrows.pdf diff --git a/fonts/old-arrows/doc/old-arrows.tex b/fonts/old-arrows/doc/old-arrows.tex new file mode 100644 index 0000000000..206dec4e5b --- /dev/null +++ b/fonts/old-arrows/doc/old-arrows.tex @@ -0,0 +1,529 @@ +%% start of file `old-arrows.tex'. +%% Copyright 2015-2017 Riccardo Dossena (riccardo.dossena@gmail.com). +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License version 1.3c, +% available at http://www.latex-project.org/lppl/. +%% +\documentclass[11pt]{ltxdoc} + +\usepackage[english]{babel} +\usepackage[T1]{fontenc} +\usepackage{amsmath,amssymb,amsthm} +\usepackage[shortlabels]{enumitem} +\usepackage{stmaryrd} +\usepackage{mathtools} +\usepackage[new]{old-arrows} +\usepackage[hmargin=3.3cm,vmargin=2.5cm,footskip=30pt]{geometry} +\usepackage[colorlinks=true]{hyperref} +\usepackage[all]{hypcap} % needed to help hyperlinks direct correctly; +\usepackage[chicago]{ellipsis} + +\def\fileversion{2.0} +\def\filedate{January 5, 2017} + +%Logo per MiKTeX e TeXLive +\newcommand{\MiKTeX}{MiK\TeX} +\newcommand{\TeXLive}{\mbox{\TeX\ Live}} +% +% +% Symbol Entry for Math Symbol Tables +% +\newcommand{\X}[1]{$#1$&\texttt{\string#1}\hspace*{1ex}} + +\newcommand{\W}[2]{$#1{#2}$& + \texttt{\string#1}\texttt{\string{\string#2\string}}\hspace*{1ex}} + +\theoremstyle{remark} +\newtheorem*{remark}{Remark} + +% Mathsymbol Table +\newsavebox{\symbbox} +\newenvironment{symbols}[1]% +{\par\vspace*{2ex} +\renewcommand{\arraystretch}{1.1} +\begin{lrbox}{\symbbox} +\hspace*{4ex}\begin{tabular}{@{}#1@{}}}% +{\end{tabular}\end{lrbox}\makebox[\textwidth]{\usebox{\symbbox}}\par\medskip} + +%Per l'esempio senza amsmath +\makeatletter +\def\overrightfreccia#1{\vbox{\m@th\ialign{##\crcr + \rightfrecciafill\crcr\noalign{\kern-\p@\nointerlineskip} + $\hfil\displaystyle{#1}\hfil$\crcr}}} +\def\overleftfreccia#1{\vbox{\m@th\ialign{##\crcr + \leftfrecciafill\crcr\noalign{\kern-\p@\nointerlineskip}% + $\hfil\displaystyle{#1}\hfil$\crcr}}} +\def\varoverrightfreccia#1{\vbox{\m@th\ialign{##\crcr + \varrightfrecciafill\crcr\noalign{\kern-\p@\nointerlineskip} + $\hfil\displaystyle{#1}\hfil$\crcr}}} +\def\varoverleftfreccia#1{\vbox{\m@th\ialign{##\crcr + \varleftfrecciafill\crcr\noalign{\kern-\p@\nointerlineskip}% + $\hfil\displaystyle{#1}\hfil$\crcr}}} +\def\rightfrecciafill{$\m@th\smash\meno\mkern-7mu% + \cleaders\hbox{$\mkern-2mu\smash\meno\mkern-2mu$}\hfill + \mkern-7mu\mathord\rightarrow$} +\def\leftfrecciafill{$\m@th\mathord\leftarrow\mkern-7mu% + \cleaders\hbox{$\mkern-2mu\smash\meno\mkern-2mu$}\hfill + \mkern-7mu\smash\meno$} +\def\varrightfrecciafill{$\m@th\smash-\mkern-7mu% + \cleaders\hbox{$\mkern-2mu\smash-\mkern-2mu$}\hfill + \mkern-7mu\mathord\varrightarrow$} +\def\varleftfrecciafill{$\m@th\mathord\varleftarrow\mkern-7mu% + \cleaders\hbox{$\mkern-2mu\smash-\mkern-2mu$}\hfill + \mkern-7mu\smash-$} +\makeatother + +\begin{document} + +\title{The \textsf{old-arrows} package} +\author{Riccardo Dossena\thanks{% +E-mail: \href{mailto:riccardo.dossena@gmail.com}{\tt riccardo.dossena@gmail.com}}} +\date{Version \fileversion, released on \filedate} + +\maketitle + +\begin{abstract} +This package provides Computer Modern old-style arrows ($\rightarrow$) with smaller arrowheads, associated +with ordinary \LaTeX\ commands. It can be used in a document that contains other \texttt{amssymb} arrow +characters, like $\twoheadrightarrow$, which also have small arrowheads. It is possible to use the usual +new-style Computer Modern arrows ($\varrightarrow$) together with the old-style ones. +\end{abstract} + +\tableofcontents + +%\pagebreak + +\section{Introduction} + +In 1992, Donald E. Knuth made some important corrections to Computer Modern fonts\footnote{See +\url{http://www-cs-faculty.stanford.edu/~uno/cm.html}}. As a consequence, the characters corresponding to +arrows have been modified. Just to make things clearer, +\[ +A \to B +\] +became +\[ +A \varto B +\] +that is, the character $\to$ was replaced by $\varto$, which has a larger arrowhead. The same happened to +other arrow characters. However, many arrow characters defined by \texttt{amssymb}, like $\nrightarrow$, +$\rightarrowtail$, $\twoheadrightarrow$ and others, maintained a small arrowhead and seem too different from +$\varto$. + +The \texttt{old-arrows} package with Old Arrows font family allows the user to use the old-style arrows +($\to$, $\gets$, \ldots) with the traditional commands (\verb|\rightarrow|, \verb|\leftarrow|,~\ldots). +Furthermore, the options \texttt{new} and \texttt{old} allow the user to obtain the new-style arrows +($\varto$, $\vargets$,~\ldots) together with the old-style ones by putting \verb|\var| before the +corresponding commands (\verb|\varrightarrow|, \verb|\varleftarrow|,~\ldots)\footnote{See sections +\ref{sec:new} and \ref{sec:old}.}. + +Old Arrows font family was derived from an old version of Blue Sky Computer Modern Math Symbols (1991--1992, +released by AMS) by deleting many characters with FontForge. + +\section{Licenses} + +The \LaTeX\ code in this package is licensed under the \LaTeX\ Project Public License, v1.3. + +The fonts in this package are licensed under the SIL Open Font License, v1.1. + +\section{Installation} + +The \texttt{old-arrows} package is included in the latest \MiKTeX\ and \TeXLive\ distributions. However, if +you want to install it manually, follow the instructions below. + +\subsection{Copying the files in the local \texttt{texmf} tree} + +The Old Arrows fonts files are: + +\begin{center} +\begin{tabular}{p{3cm}p{3cm}p{3cm}l} +\hline +\texttt{oasy5.afm} & \texttt{oasy5.pfm} & \texttt{oasy5.tfm} & \texttt{oasy5.pfb} \\ +\texttt{oasy6.afm} & \texttt{oasy6.pfm} & \texttt{oasy6.tfm} & \texttt{oasy6.pfb} \\ +\texttt{oasy7.afm} & \texttt{oasy7.pfm} & \texttt{oasy7.tfm} & \texttt{oasy7.pfb} \\ +\texttt{oasy8.afm} & \texttt{oasy8.pfm} & \texttt{oasy8.tfm} & \texttt{oasy8.pfb} \\ +\texttt{oasy9.afm} & \texttt{oasy9.pfm} & \texttt{oasy9.tfm} & \texttt{oasy9.pfb} \\ +\texttt{oasy10.afm} & \texttt{oasy10.pfm} & \texttt{oasy10.tfm} & \texttt{oasy10.pfb} \\ +\texttt{oabsy5.afm} & \texttt{oabsy5.pfm} & \texttt{oabsy5.tfm} & \texttt{oabsy5.pfb} \\ + & & \texttt{oabsy6.tfm} & \\ +\texttt{oabsy7.afm} & \texttt{oabsy7.pfm} & \texttt{oabsy7.tfm} & \texttt{oabsy7.pfb} \\ + & & \texttt{oabsy8.tfm} & \\ + & & \texttt{oabsy9.tfm} & \\ +\texttt{oabsy10.afm} & \texttt{oabsy10.pfm} & \texttt{oabsy10.tfm} & \texttt{oabsy10.pfb} \\ +\hline +\end{tabular} +\end{center} + +These files were derived from Computer Modern fonts \texttt{cmbsy5}, \texttt{cmbsy7}, \texttt{cmbsy10}, +\texttt{cmsy5}, \texttt{cmsy7}, \texttt{cmsy8}, \texttt{cmsy9} and \texttt{cmsy10}. + +Call \texttt{<localtexmf>} the path of your local \texttt{texmf} tree. For \TeXLive, the local tree is +usually placed in \texttt{/usr/local/texlive/texmf-local}; for \MiKTeX, it can be set up on any directory, by +the \textsf{Roots} tab of ``\MiKTeX\ Options''. + +\begin{enumerate} +\item Copy the \texttt{*.afm} and \texttt{*.tfm} font files into the corresponding \texttt{old-arrows} + directories (you have to create them, as shown below): +\begin{verbatim} + <localtexmf>/fonts/afm/old-arrows + <localtexmf>/fonts/tfm/old-arrows +\end{verbatim} + +\item Copy the \texttt{*.pfb} and \texttt{*.pfm} font files into the directory +\begin{verbatim} + <localtexmf>/fonts/type1/old-arrows +\end{verbatim} + +\item Copy the \texttt{oasy.enc} and \texttt{oasy.map} files, respectively, into the directories +\begin{verbatim} + <localtexmf>/fonts/enc/dvips/old-arrows + <localtexmf>/fonts/map/dvips/old-arrows +\end{verbatim} + +\item Copy the \texttt{old-arrows.sty} file into the directory +\begin{verbatim} + <localtexmf>/tex/latex/old-arrows +\end{verbatim} +\end{enumerate} + +\subsection{Updating the filename database}\label{agg-database-file} + +\begin{description}[font=\bfseries\sffamily, leftmargin=5em, style=sameline] +\item[\MiKTeX] On the \textsf{General} tab of ``MiKTeX Options (Admin)'' click the \textsf{Refresh~FNDB} + button. Alternatively, in a DOS command prompt window run +\begin{verbatim} + initexmf --update-fndb +\end{verbatim} + +\item[\TeXLive] Start the ``\TeXLive\ Manager''. From \textsf{Actions} menu, select \textsf{Update + filename + database}. Alternatively, run in a terminal command line +\begin{verbatim} + mktexlsr +\end{verbatim} +\end{description} + +\subsection{Updating the font map files} + +\begin{description}[font=\bfseries\sffamily, leftmargin=5em, style=sameline] +\item[\MiKTeX] To update the configuration file \texttt{updmap.cfg}, execute in a DOS command prompt +\begin{verbatim} + initexmf --edit-config-file updmap +\end{verbatim} +add to \texttt{updmap.cfg} (that will be opened) the following line +\begin{verbatim} + Map oasy.map +\end{verbatim} +save, close and execute (always in the DOS command prompt) +\begin{verbatim} + initexmf --mkmaps +\end{verbatim} + +\item[\TeXLive] Execute in a terminal command line +\begin{verbatim} + updmap-sys --enable Map=oasy.map +\end{verbatim} +\end{description} +Finally, it is better to make another update of the filename database (see~\ref{agg-database-file}). + +\section{Usage} + +\subsection{Basic usage} + +Simply type in the preamble of your \LaTeX\ document +\begin{verbatim} + \usepackage{old-arrows} +\end{verbatim} +and every arrow command will be associated to the ``old-style'', as indicated in +table~\ref{tab-frecce-vecchie}. + +\begin{table}[!htbp] +\begin{symbols}{*3{cl}} + \X{\leftarrow}or \verb|\gets|& \X{\longleftarrow} & \X{\uparrow} \\ + \X{\rightarrow}or \verb|\to|& \X{\longrightarrow} & \X{\downarrow} \\ + \X{\leftrightarrow} & \X{\longleftrightarrow}& \X{\updownarrow} \\ + \X{\mapsto} & \X{\longmapsto} & \X{\nearrow} \\ + \X{\hookleftarrow} & \X{\hookrightarrow} & \X{\searrow} \\ + \X{\leftharpoonup} & \X{\rightharpoonup} & \X{\swarrow} \\ + \X{\leftharpoondown} & \X{\rightharpoondown} & \X{\nwarrow} \\ +\end{symbols} +\caption{Old-style arrows provided by \texttt{old-arrows}.}\label{tab-frecce-vecchie} +\end{table} + +The commands \verb|\rightarrowfill| and \verb|\leftarrowfill| allow to fill empty spaces with extensible +arrows. For example, the first command written at the end of this paragraph gives the following result: +\rightarrowfill + +\subsection{Usage together with other packages} + +\subsubsection{\texttt{amsmath}} + +The \texttt{old-arrows} package does not require \texttt{amsmath}. However, if you want to use the +\texttt{amsmath} package, you must load it \emph{before} \texttt{old-arrows}: +\begin{verbatim} + \usepackage{amsmath} + \usepackage{old-arrows} +\end{verbatim} + +The \texttt{amsmath} package provides over, under (table~\ref{tab-frecce-vecchie-amsmath}), extensible +(table~\ref{tab-frecce-vecchie-ext}) arrows and operator names (table~\ref{tab-operatori-vecchi}). Note that +\texttt{amsmath} adds more space between the arrow above and the characters below, with a better +typographical result. The commands \verb|\overrightarrow{AB}| and \verb|\overleftarrow{AB}|, without +\texttt{amsmath}, produce respectively +\[ +\overrightfreccia{AB} \,\text{ rather than }\, \overrightarrow{AB} \qquad \text{and} \qquad +\overleftfreccia{AB} +\,\text{ rather than }\, \overleftarrow{AB}. +\] + +The \texttt{amsmath} package also provides the command \verb|\boldsymbol| for obtaining bold mathematical +symbols, which can be used together with \texttt{old-arrows}. For example, the commands +\begin{center} + \verb|$\boldsymbol{A \to B}$| \quad and \quad \verb|$\boldsymbol{\overrightarrow{AB}}$| +\end{center} +produce $\boldsymbol{A \to B}$ and $\boldsymbol{\overrightarrow{AB}}$, respectively. + +\begin{table}[!htbp] +\begin{symbols}{*3{cl}} + \W{\overleftarrow}{AB} & \W{\underleftarrow}{AB} \\ + \W{\overrightarrow}{AB} & \W{\underrightarrow}{AB} \\ + \W{\overleftrightarrow}{AB} & \W{\underleftrightarrow}{AB} \\ +\end{symbols} +\caption{Old-style over and under arrows provided by \texttt{amsmath}.}\label{tab-frecce-vecchie-amsmath} +\end{table} +\begin{table}[!htbp] +\begin{symbols}{*2{cl}} + \W{\xleftarrow}{ABCDEF} & \W{\xrightarrow}{ABCDEF} \\ +\end{symbols} +\caption{Old-style extensible arrows provided by \texttt{amsmath}.}\label{tab-frecce-vecchie-ext} +\end{table} +\begin{table}[!htbp] +\begin{symbols}{*2{cl}} + \X{\varinjlim} & \X{\varprojlim} \\ +\end{symbols} +\caption{Old-style operator names provided by \texttt{amsmath}.}\label{tab-operatori-vecchi} +\end{table} + +\subsubsection{\texttt{lmodern}} + +The \texttt{old-arrows} package is fully compatible with the Latin Modern fonts, provided that you load the +\texttt{lmodern} package \emph{before} \texttt{old-arrows}. +\begin{verbatim} + \usepackage{lmodern} + \usepackage{old-arrows} +\end{verbatim} + +\subsubsection{\texttt{stmaryrd}} + +The \texttt{old-arrows} package is also fully compatible with the St Mary's Road symbol font, always provided +that you load the \texttt{stmaryrd} package \emph{before} \texttt{old-arrows}. +\begin{verbatim} + \usepackage{stmaryrd} + \usepackage{old-arrows} +\end{verbatim} + +The \texttt{stmaryrd} package provides several arrow characters with small arrowheads, like +\verb|\shortrightarrow| ($\shortrightarrow$) and \verb|\nnearrow| ($\nnearrow$). However, without +\texttt{old-arrows}, the commands \verb|\mapsfrom| and \verb|\longmapsfrom| produce the new-style arrows +$\varmapsfrom$ and $\varlongmapsfrom$. Instead, the \texttt{old-arrows} package allows you to obtain the +old-style version of these arrows, as shown in table~\ref{tab-frecce-vecchie-smr}. + +\begin{table}[!htbp] + \begin{symbols}{*2{cl}} + \X{\mapsfrom} & \X{\longmapsfrom} \\ +\end{symbols} +\caption{Old-style arrows provided by \texttt{stmaryrd}.}\label{tab-frecce-vecchie-smr} +\end{table} + +%\pagebreak + +\subsubsection{\texttt{mathtools}} + + +The \texttt{old-arrows} package can be used together with the \texttt{mathtools} package, always on condition +that you load it \emph{before} \texttt{old-arrows}. +\begin{verbatim} + \usepackage{mathtools} + \usepackage{old-arrows} +\end{verbatim} + +The \texttt{mathtools} package makes additional extensible arrows available +(table~\ref{tab-frecce-vecchie-mt}). + +\begin{table}[!htbp] +\begin{symbols}{*2{cl}} + \W{\xleftrightarrow}{ABCDEF} & \W{\xmapsto}{ABCDEF} \\ + \W{\xhookleftarrow}{ABCDEF} & \W{\xhookrightarrow}{ABCDEF} \\ +\end{symbols} +\caption{Old-style extensible arrows provided by \texttt{mathtools}.}\label{tab-frecce-vecchie-mt} +\end{table} + +Every extensible arrow can take an optional argument that produces a subscript. For example, the commands +\begin{center} + \verb|\xrightarrow[G]{ABCDEF}| \quad and \quad \verb|\xmapsto[G]{ABCDEF}| +\end{center} +produce +\begin{center} +$\xrightarrow[G]{ABCDEF}$ \quad and \quad $\xmapsto[G]{ABCDEF}$ +\end{center} + +%\pagebreak + +\begin{remark} +It is very important that you load \texttt{old-arrows} \emph{after} \texttt{amsmath}, \texttt{stmaryrd}, +\texttt{lmodern} and \texttt{mathtools}, because many commands of these packages must be redefined by +\texttt{old-arrows}. Otherwise, \texttt{old-arrows} won't work properly. +\begin{verbatim} + \usepackage{lmodern} + \usepackage{amsmath} + \usepackage{stmaryrd} + \usepackage{mathtools} + \usepackage{old-arrows} +\end{verbatim} +\end{remark} + + +\subsection{The option \textsf{new}}\label{sec:new} + +Loading \texttt{old-arrows} with the option \texttt{new} +\begin{verbatim} + \usepackage[new]{old-arrows} +\end{verbatim} +allows you to use the new-style and the old-style arrows simultaneously. In order to obtain new-style arrows, +just put \verb|\var| before every ordinary command, as shown in tables~\ref{tab-frecce-nuove}, +\ref{tab-frecce-nuove-amsmath}, \ref{tab-frecce-nuove-ext}, \ref{tab-operatori-nuovi}, +\ref{tab-frecce-nuove-smr} and \ref{tab-frecce-nuove-mt}. + +\begin{table}[!htbp] +\begin{symbols}{*3{cl}} + \X{\varleftarrow}or \verb|\vargets|& \X{\varlongleftarrow} & \X{\varuparrow} \\ + \X{\varrightarrow}or \verb|\varto|& \X{\varlongrightarrow} & \X{\vardownarrow} \\ + \X{\varleftrightarrow} & \X{\varlongleftrightarrow}& \X{\varupdownarrow} \\ + \X{\varmapsto} & \X{\varlongmapsto} & \X{\varnearrow} \\ + \X{\varhookleftarrow} & \X{\varhookrightarrow} & \X{\varsearrow} \\ + \X{\leftharpoonup} & \X{\rightharpoonup} & \X{\varswarrow} \\ + \X{\leftharpoondown} & \X{\rightharpoondown} & \X{\varnwarrow} \\ +\end{symbols} +\caption{New-style arrows provided by option \texttt{new}.}\label{tab-frecce-nuove} +\end{table} +\begin{table}[!htbp] +\begin{symbols}{*2{cl}} + \W{\varoverleftarrow}{AB} & \W{\varunderleftarrow}{AB} \\ + \W{\varoverrightarrow}{AB} & \W{\varunderrightarrow}{AB} \\ + \W{\varoverleftrightarrow}{AB} & \W{\varunderleftrightarrow}{AB} \\ +\end{symbols} +\caption{New-style over and under arrows provided by \texttt{amsmath} and the option \texttt{new} of +\texttt{old-arrows}.} +\label{tab-frecce-nuove-amsmath} +\end{table} +\begin{table}[!htbp] +\begin{symbols}{*2{cl}} + \W{\varxleftarrow}{ABCDEF} & \W{\varxrightarrow}{ABCDEF} \\ +\end{symbols} +\caption{New-style extensible arrows provided by \texttt{amsmath} and the option \texttt{new} of +\texttt{old-arrows}.} +\label{tab-frecce-nuove-ext} +\end{table} +\begin{table}[!htbp] +\begin{symbols}{*2{cl}} + \X{\varvarinjlim} & \X{\varvarprojlim} \\ +\end{symbols} +\caption{New-style operator names provided by \texttt{amsmath} and the option \texttt{new} of +\texttt{old-arrows}.}\label{tab-operatori-nuovi} +\end{table} +\begin{table}[!htbp] + \begin{symbols}{*2{cl}} + \X{\varmapsfrom} & \X{\varlongmapsfrom} \\ +\end{symbols} +\caption{New-style arrows provided by \texttt{stmaryrd} and the option \texttt{new} of +\texttt{old-arrows}.}\label{tab-frecce-nuove-smr} +\end{table} +\begin{table}[!htbp] +\begin{symbols}{*2{cl}} + \W{\varxleftrightarrow}{ABCDEF} & \W{\varxmapsto}{ABCDEF} \\ + \W{\varxhookleftarrow}{ABCDEF} & \W{\varxhookrightarrow}{ABCDEF} \\ +\end{symbols} +\caption{New-style extensible arrows provided by \texttt{mathtools} and the option \texttt{new} of +\texttt{old-arrows}.}\label{tab-frecce-nuove-mt} +\end{table} +\pagebreak + +Note that the commands +\begin{center} +\verb|\leftharpoonup|, \verb|\rightharpoonup|, \verb|\leftharpoondown|, \verb|\rightharpoondown| +\end{center} +have not been redefined by \texttt{old-arrows}, because the corresponding characters +$\leftharpoonup,\rightharpoonup,\leftharpoondown,\rightharpoondown$ have not been modified by the +introduction of the new-style arrows. + +The commands \verb|\varrightarrowfill| and \verb|\varleftarrowfill| allow to fill empty spaces with +extensible arrows. For example, the first command written at the end of this paragraph gives the following +result: \varrightarrowfill + +If you want to use the option \texttt{new} and the option \texttt{only} provided by the \texttt{stmaryrd} +package, you must write the command you wish to define in both ordinary and \verb|\var| versions in the +option list. For example: +\begin{verbatim} + \usepackage[only,mapsfrom,varmapsfrom]{stmaryrd} + \usepackage[new]{old-arrows} +\end{verbatim} +says that only the symbols $\mapsfrom$ and $\varmapsfrom$ will be defined by \texttt{stmaryrd}. + +Furthermore, with the option \texttt{new} it is also possibile to use the command \verb|\boldsymbol| provided +by \texttt{amsmath}. The following commands +\begin{center} + \verb|$\boldsymbol{A \varto B}$| \quad and \quad \verb|$\boldsymbol{\varoverrightarrow{AB}}$| +\end{center} +produce $\boldsymbol{A \varto B}$ and $\boldsymbol{\varoverrightarrow{AB}}$ respectively. + +\subsection{The option \textsf{old}}\label{sec:old} + +If you want to use the old-style arrows only in a few cases, and maintain the new-style by default, then it +is available the option \texttt{old} +\begin{verbatim} + \usepackage[old]{old-arrows} +\end{verbatim} +that associates all of the commands with prefix \verb|\var| to the old-style rather than the new one, which +remains associated to the ordinary commands. For example, with the option \texttt{old} the commands +\begin{center} + \verb|$A \varleftarrow B$| \quad and \quad \verb|$A \varto B$| +\end{center} +produce $A \leftarrow B$ and $A \to B$ respectively, while +\begin{center} + \verb|$A \leftarrow B$| \quad and \quad \verb|$A \to B$| +\end{center} +produce $A \varleftarrow B$ and $A \varto B$, respectively. + +It is not possible to load the options \texttt{new} and \texttt{old} simultaneously (if so, you will get an +error message). + +\subsection{Additional arrow commands provided by \texttt{old-arrows}} + +The \texttt{old-arrows} package provides additional arrow commands that are listed in +table~\ref{tab-comandi-nuovi}. +\begin{table}[!htbp] +\begin{symbols}{*2{cl}} + \X{\longhookrightarrow} & \X{\longhookleftarrow} \\ + \X{\varlonghookrightarrow}$^a$ & \X{\varlonghookleftarrow}$^a$ \\ + \X{\longleftharpoonup} & \X{\longleftharpoondown} \\ + \X{\longrightharpoonup} & \X{\longrightharpoondown} \\ +\end{symbols} +\centerline{\footnotesize $^a$Available with the option \texttt{new}.} +\caption{Arrow commands provided by \texttt{old-arrows}.}\label{tab-comandi-nuovi} +\end{table} + +Finally, there are extensible ``mapsfrom'' arrows (table~\ref{tab-frecce-mt-smr}) that are available only if +both \texttt{mathtools} and \texttt{stmaryrd} are loaded together with \texttt{old-arrows} (as they depend on +commands defined by these two packages). +\begin{table}[!htbp] +\begin{symbols}{*2{cl}} + \W{\xmapsfrom}{ABCDEF} & \W{\varxmapsfrom}{ABCDEF}$^a$ \\ +\end{symbols} +\centerline{\footnotesize $^a$Available with the option \texttt{new}.} +\caption{Extensible arrows provided by \texttt{old-arrows} together with \texttt{mathtools} and +\texttt{stmaryrd}.} +\label{tab-frecce-mt-smr} +\end{table} + +\end{document} diff --git a/fonts/old-arrows/fonts/afm/oabsy10.afm b/fonts/old-arrows/fonts/afm/oabsy10.afm new file mode 100644 index 0000000000..92fc776a07 --- /dev/null +++ b/fonts/old-arrows/fonts/afm/oabsy10.afm @@ -0,0 +1,31 @@ +StartFontMetrics 2.0 +Comment Generated by FontForge 20150613 +Comment Creation Date: Tue Sep 08 14:07:12 2015 +FontName OAMathSymbols10-Bold +FullName OAMathSymbols10-Bold +FamilyName Old Arrows +Weight Bold +Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved.) +ItalicAngle -14.035 +IsFixedPitch false +UnderlinePosition 0 +UnderlineThickness 0 +Version 1.1 +EncodingScheme FontSpecific +FontBBox 60 -267 1089 767 +StartCharMetrics 13 +C 0 ; WX 894 ; N minus ; B 96 220 797 281 ; +C 32 ; WX 1150 ; N shortleftarrow ; B 64 66 1085 435 ; +C 33 ; WX 1150 ; N shortrightarrow ; B 64 66 1085 435 ; +C 34 ; WX 575 ; N shortuparrow ; B 78 -194 497 694 ; +C 35 ; WX 575 ; N shortdownarrow ; B 78 -194 497 694 ; +C 36 ; WX 1150 ; N arrowboth ; B 64 66 1085 435 ; +C 37 ; WX 1150 ; N uni2197 ; B 64 -194 1089 697 ; +C 38 ; WX 1150 ; N uni2198 ; B 64 -197 1089 694 ; +C 45 ; WX 1150 ; N uni2196 ; B 60 -194 1085 697 ; +C 46 ; WX 1150 ; N uni2199 ; B 60 -197 1085 694 ; +C 55 ; WX 0 ; N mapsto ; B 64 53 157 448 ; +C 108 ; WX 575 ; N arrowupdn ; B 78 -267 497 767 ; +C 115 ; WX 568 ; N integral ; B 64 -211 632 711 ; +EndCharMetrics +EndFontMetrics diff --git a/fonts/old-arrows/fonts/afm/oabsy5.afm b/fonts/old-arrows/fonts/afm/oabsy5.afm new file mode 100644 index 0000000000..c58caad4a9 --- /dev/null +++ b/fonts/old-arrows/fonts/afm/oabsy5.afm @@ -0,0 +1,31 @@ +StartFontMetrics 2.0 +Comment Generated by FontForge 20150613 +Comment Creation Date: Tue Sep 08 14:03:47 2015 +FontName OAMathSymbols5-Bold +FullName OAMathSymbols5-Bold +FamilyName Old Arrows +Weight Bold +Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved.) +ItalicAngle -14.035 +IsFixedPitch false +UnderlinePosition 0 +UnderlineThickness 0 +Version 1.1 +EncodingScheme FontSpecific +FontBBox 112 -269 1401 769 +StartCharMetrics 13 +C 0 ; WX 1194 ; N minus ; B 154 207 1038 293 ; +C 32 ; WX 1516 ; N shortleftarrow ; B 114 42 1401 458 ; +C 33 ; WX 1516 ; N shortrightarrow ; B 114 42 1401 458 ; +C 34 ; WX 791 ; N shortuparrow ; B 112 -194 678 694 ; +C 35 ; WX 791 ; N shortdownarrow ; B 112 -194 678 694 ; +C 36 ; WX 1516 ; N arrowboth ; B 114 42 1401 458 ; +C 37 ; WX 1516 ; N uni2197 ; B 114 -194 1401 694 ; +C 38 ; WX 1516 ; N uni2198 ; B 114 -194 1401 694 ; +C 45 ; WX 1516 ; N uni2196 ; B 114 -194 1401 694 ; +C 46 ; WX 1516 ; N uni2199 ; B 114 -194 1401 694 ; +C 55 ; WX 0 ; N mapsto ; B 114 40 240 460 ; +C 108 ; WX 791 ; N arrowupdn ; B 112 -269 678 769 ; +C 115 ; WX 745 ; N integral ; B 114 -213 790 713 ; +EndCharMetrics +EndFontMetrics diff --git a/fonts/old-arrows/fonts/afm/oabsy7.afm b/fonts/old-arrows/fonts/afm/oabsy7.afm new file mode 100644 index 0000000000..8084bb0179 --- /dev/null +++ b/fonts/old-arrows/fonts/afm/oabsy7.afm @@ -0,0 +1,31 @@ +StartFontMetrics 2.0 +Comment Generated by FontForge 20150613 +Comment Creation Date: Tue Sep 08 14:05:20 2015 +FontName OAMathSymbols7-Bold +FullName OAMathSymbols7-Bold +FamilyName Old Arrows +Weight Bold +Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved.) +ItalicAngle -14.035 +IsFixedPitch false +UnderlinePosition 0 +UnderlineThickness 0 +Version 1.1 +EncodingScheme FontSpecific +FontBBox 79 -266 1214 766 +StartCharMetrics 13 +C 0 ; WX 1010 ; N minus ; B 115 214 894 287 ; +C 32 ; WX 1294 ; N shortleftarrow ; B 79 52 1214 449 ; +C 33 ; WX 1294 ; N shortrightarrow ; B 79 52 1214 449 ; +C 34 ; WX 655 ; N shortuparrow ; B 83 -194 572 694 ; +C 35 ; WX 655 ; N shortdownarrow ; B 83 -194 572 694 ; +C 36 ; WX 1294 ; N arrowboth ; B 79 52 1214 449 ; +C 37 ; WX 1294 ; N uni2197 ; B 79 -194 1214 694 ; +C 38 ; WX 1294 ; N uni2198 ; B 79 -194 1214 694 ; +C 45 ; WX 1294 ; N uni2196 ; B 79 -194 1214 694 ; +C 46 ; WX 1294 ; N uni2199 ; B 79 -194 1214 694 ; +C 55 ; WX 0 ; N mapsto ; B 79 47 188 454 ; +C 108 ; WX 655 ; N arrowupdn ; B 83 -266 572 766 ; +C 115 ; WX 639 ; N integral ; B 79 -210 702 710 ; +EndCharMetrics +EndFontMetrics diff --git a/fonts/old-arrows/fonts/afm/oasy10.afm b/fonts/old-arrows/fonts/afm/oasy10.afm new file mode 100644 index 0000000000..e2efdbdba2 --- /dev/null +++ b/fonts/old-arrows/fonts/afm/oasy10.afm @@ -0,0 +1,31 @@ +StartFontMetrics 2.0 +Comment Generated by FontForge 20150613 +Comment Creation Date: Tue Sep 08 14:06:50 2015 +FontName OAMathSymbols10 +FullName OAMathSymbols10 +FamilyName Old Arrows +Weight Normal +Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved.) +ItalicAngle -14.035 +IsFixedPitch false +UnderlinePosition 0 +UnderlineThickness 0 +Version 1.1 +EncodingScheme FontSpecific +FontBBox 53 -272 946 772 +StartCharMetrics 13 +C 0 ; WX 777 ; N minus ; B 83 230 694 270 ; +C 32 ; WX 1000 ; N shortleftarrow ; B 57 72 943 428 ; +C 33 ; WX 1000 ; N shortrightarrow ; B 56 72 942 428 ; +C 34 ; WX 500 ; N shortuparrow ; B 72 -194 428 693 ; +C 35 ; WX 500 ; N shortdownarrow ; B 72 -193 428 694 ; +C 36 ; WX 1000 ; N arrowboth ; B 57 72 942 428 ; +C 37 ; WX 1000 ; N uni2197 ; B 56 -193 946 697 ; +C 38 ; WX 1000 ; N uni2198 ; B 56 -197 946 693 ; +C 45 ; WX 1000 ; N uni2196 ; B 53 -193 943 697 ; +C 46 ; WX 1000 ; N uni2199 ; B 53 -197 943 693 ; +C 55 ; WX 0 ; N mapsto ; B 56 64 124 436 ; +C 108 ; WX 500 ; N arrowupdn ; B 72 -272 428 772 ; +C 115 ; WX 416 ; N integral ; B 56 -216 471 716 ; +EndCharMetrics +EndFontMetrics diff --git a/fonts/old-arrows/fonts/afm/oasy5.afm b/fonts/old-arrows/fonts/afm/oasy5.afm new file mode 100644 index 0000000000..9501c96554 --- /dev/null +++ b/fonts/old-arrows/fonts/afm/oasy5.afm @@ -0,0 +1,31 @@ +StartFontMetrics 2.0 +Comment Generated by FontForge 20150613 +Comment Creation Date: Tue Sep 08 14:02:18 2015 +FontName OAMathSymbols5 +FullName OAMathSymbols5 +FamilyName Old Arrows +Weight Normal +Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved.) +ItalicAngle -14.035 +IsFixedPitch false +UnderlinePosition 0 +UnderlineThickness 0 +Version 1.1 +EncodingScheme FontSpecific +FontBBox 121 -272 1240 772 +StartCharMetrics 13 +C 0 ; WX 1083 ; N minus ; B 160 222 923 278 ; +C 32 ; WX 1361 ; N shortleftarrow ; B 125 67 1236 433 ; +C 33 ; WX 1361 ; N shortrightarrow ; B 125 67 1236 433 ; +C 34 ; WX 736 ; N shortuparrow ; B 143 -194 593 694 ; +C 35 ; WX 736 ; N shortdownarrow ; B 143 -194 593 694 ; +C 36 ; WX 1361 ; N arrowboth ; B 125 67 1236 433 ; +C 37 ; WX 1361 ; N uni2197 ; B 125 -194 1240 697 ; +C 38 ; WX 1361 ; N uni2198 ; B 125 -197 1240 694 ; +C 45 ; WX 1361 ; N uni2196 ; B 121 -194 1236 697 ; +C 46 ; WX 1361 ; N uni2199 ; B 121 -197 1236 694 ; +C 55 ; WX 0 ; N mapsto ; B 125 56 216 444 ; +C 108 ; WX 736 ; N arrowupdn ; B 143 -272 593 772 ; +C 115 ; WX 631 ; N integral ; B 125 -216 646 716 ; +EndCharMetrics +EndFontMetrics diff --git a/fonts/old-arrows/fonts/afm/oasy6.afm b/fonts/old-arrows/fonts/afm/oasy6.afm new file mode 100644 index 0000000000..9527c67ce9 --- /dev/null +++ b/fonts/old-arrows/fonts/afm/oasy6.afm @@ -0,0 +1,31 @@ +StartFontMetrics 2.0 +Comment Generated by FontForge 20150613 +Comment Creation Date: Tue Sep 08 14:04:21 2015 +FontName OAMathSymbols6 +FullName OAMathSymbols6 +FamilyName Old Arrows +Weight Normal +Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved.) +ItalicAngle -14.035 +IsFixedPitch false +UnderlinePosition 0 +UnderlineThickness 0 +Version 1.1 +EncodingScheme FontSpecific +FontBBox 90 -271 1131 771 +StartCharMetrics 13 +C 0 ; WX 962 ; N minus ; B 125 224 837 276 ; +C 32 ; WX 1222 ; N shortleftarrow ; B 93 68 1128 432 ; +C 33 ; WX 1222 ; N shortrightarrow ; B 93 68 1128 432 ; +C 34 ; WX 638 ; N shortuparrow ; B 110 -194 528 694 ; +C 35 ; WX 638 ; N shortdownarrow ; B 110 -194 528 694 ; +C 36 ; WX 1222 ; N arrowboth ; B 93 68 1128 432 ; +C 37 ; WX 1222 ; N uni2197 ; B 93 -194 1131 697 ; +C 38 ; WX 1222 ; N uni2198 ; B 93 -197 1131 694 ; +C 45 ; WX 1222 ; N uni2196 ; B 90 -194 1128 697 ; +C 46 ; WX 1222 ; N uni2199 ; B 90 -197 1128 694 ; +C 55 ; WX 0 ; N mapsto ; B 93 58 177 442 ; +C 108 ; WX 638 ; N arrowupdn ; B 110 -271 528 771 ; +C 115 ; WX 541 ; N integral ; B 93 -215 577 715 ; +EndCharMetrics +EndFontMetrics diff --git a/fonts/old-arrows/fonts/afm/oasy7.afm b/fonts/old-arrows/fonts/afm/oasy7.afm new file mode 100644 index 0000000000..882ca05269 --- /dev/null +++ b/fonts/old-arrows/fonts/afm/oasy7.afm @@ -0,0 +1,31 @@ +StartFontMetrics 2.0 +Comment Generated by FontForge 20150613 +Comment Creation Date: Tue Sep 08 14:04:54 2015 +FontName OAMathSymbols7 +FullName OAMathSymbols7 +FamilyName Old Arrows +Weight Normal +Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved.) +ItalicAngle -14.035 +IsFixedPitch false +UnderlinePosition 0 +UnderlineThickness 0 +Version 1.1 +EncodingScheme FontSpecific +FontBBox 75 -270 1063 770 +StartCharMetrics 13 +C 0 ; WX 892 ; N minus ; B 108 226 784 275 ; +C 32 ; WX 1138 ; N shortleftarrow ; B 78 70 1060 431 ; +C 33 ; WX 1138 ; N shortrightarrow ; B 78 70 1060 431 ; +C 34 ; WX 585 ; N shortuparrow ; B 94 -194 491 694 ; +C 35 ; WX 585 ; N shortdownarrow ; B 94 -194 491 694 ; +C 36 ; WX 1138 ; N arrowboth ; B 78 70 1060 431 ; +C 37 ; WX 1138 ; N uni2197 ; B 78 -194 1063 696 ; +C 38 ; WX 1138 ; N uni2198 ; B 78 -196 1063 694 ; +C 45 ; WX 1138 ; N uni2196 ; B 75 -194 1060 696 ; +C 46 ; WX 1138 ; N uni2199 ; B 75 -196 1060 694 ; +C 55 ; WX 0 ; N mapsto ; B 78 60 158 441 ; +C 108 ; WX 585 ; N arrowupdn ; B 94 -270 491 770 ; +C 115 ; WX 493 ; N integral ; B 78 -214 538 714 ; +EndCharMetrics +EndFontMetrics diff --git a/fonts/old-arrows/fonts/afm/oasy8.afm b/fonts/old-arrows/fonts/afm/oasy8.afm new file mode 100644 index 0000000000..46870cba6a --- /dev/null +++ b/fonts/old-arrows/fonts/afm/oasy8.afm @@ -0,0 +1,31 @@ +StartFontMetrics 2.0 +Comment Generated by FontForge 20150613 +Comment Creation Date: Tue Sep 08 14:05:40 2015 +FontName OAMathSymbols8 +FullName OAMathSymbols8 +FamilyName Old Arrows +Weight Normal +Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved.) +ItalicAngle -14.035 +IsFixedPitch false +UnderlinePosition 0 +UnderlineThickness 0 +Version 1.1 +EncodingScheme FontSpecific +FontBBox 58 -271 1004 771 +StartCharMetrics 13 +C 0 ; WX 826 ; N minus ; B 89 227 736 273 ; +C 32 ; WX 1062 ; N shortleftarrow ; B 60 69 1003 431 ; +C 33 ; WX 1062 ; N shortrightarrow ; B 59 69 1003 431 ; +C 34 ; WX 531 ; N shortuparrow ; B 74 -194 456 694 ; +C 35 ; WX 531 ; N shortdownarrow ; B 74 -194 456 694 ; +C 36 ; WX 1062 ; N arrowboth ; B 60 69 1003 431 ; +C 37 ; WX 1062 ; N uni2197 ; B 59 -250 1004 695 ; +C 38 ; WX 1062 ; N uni2198 ; B 59 -195 1004 750 ; +C 45 ; WX 1062 ; N uni2196 ; B 58 -250 1003 695 ; +C 46 ; WX 1062 ; N uni2199 ; B 58 -195 1003 750 ; +C 55 ; WX 0 ; N mapsto ; B 59 61 134 439 ; +C 108 ; WX 531 ; N arrowupdn ; B 74 -271 456 771 ; +C 115 ; WX 443 ; N integral ; B 59 -215 502 715 ; +EndCharMetrics +EndFontMetrics diff --git a/fonts/old-arrows/fonts/afm/oasy9.afm b/fonts/old-arrows/fonts/afm/oasy9.afm new file mode 100644 index 0000000000..582753f04c --- /dev/null +++ b/fonts/old-arrows/fonts/afm/oasy9.afm @@ -0,0 +1,31 @@ +StartFontMetrics 2.0 +Comment Generated by FontForge 20150613 +Comment Creation Date: Tue Sep 08 14:06:14 2015 +FontName OAMathSymbols9 +FullName OAMathSymbols9 +FamilyName Old Arrows +Weight Normal +Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved.) +ItalicAngle -14.035 +IsFixedPitch false +UnderlinePosition 0 +UnderlineThickness 0 +Version 1.1 +EncodingScheme FontSpecific +FontBBox 55 -272 972 772 +StartCharMetrics 13 +C 0 ; WX 799 ; N minus ; B 86 229 712 272 ; +C 32 ; WX 1027 ; N shortleftarrow ; B 57 71 970 430 ; +C 33 ; WX 1027 ; N shortrightarrow ; B 57 71 970 430 ; +C 34 ; WX 513 ; N shortuparrow ; B 73 -194 440 694 ; +C 35 ; WX 513 ; N shortdownarrow ; B 73 -194 440 694 ; +C 36 ; WX 1027 ; N arrowboth ; B 57 71 970 430 ; +C 37 ; WX 1027 ; N uni2197 ; B 57 -219 972 696 ; +C 38 ; WX 1027 ; N uni2198 ; B 57 -196 972 719 ; +C 45 ; WX 1027 ; N uni2196 ; B 55 -219 970 696 ; +C 46 ; WX 1027 ; N uni2199 ; B 55 -196 970 719 ; +C 55 ; WX 0 ; N mapsto ; B 57 63 128 438 ; +C 108 ; WX 513 ; N arrowupdn ; B 73 -272 440 772 ; +C 115 ; WX 428 ; N integral ; B 57 -216 484 716 ; +EndCharMetrics +EndFontMetrics diff --git a/fonts/old-arrows/fonts/enc/oasy.enc b/fonts/old-arrows/fonts/enc/oasy.enc new file mode 100644 index 0000000000..b0a8c08729 --- /dev/null +++ b/fonts/old-arrows/fonts/enc/oasy.enc @@ -0,0 +1,258 @@ +/oamathsymbols[ + /minus % 0x00 + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef % 0x10 + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /shortleftarrow % 0x20 + /shortrightarrow + /shortuparrow + /shortdownarrow + /arrowboth + /uni2197 + /uni2198 + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /uni2196 + /uni2199 + /.notdef + /.notdef % 0x30 + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /mapsto + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef % 0x40 + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef % 0x50 + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef % 0x60 + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /arrowupdn + /.notdef + /.notdef + /.notdef + /.notdef % 0x70 + /.notdef + /.notdef + /integral + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef % 0x80 + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef % 0x90 + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef % 0xa0 + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef % 0xb0 + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef % 0xc0 + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef % 0xd0 + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef % 0xe0 + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef % 0xf0 + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef + /.notdef +] def diff --git a/fonts/old-arrows/fonts/map/oasy.map b/fonts/old-arrows/fonts/map/oasy.map new file mode 100644 index 0000000000..d29c39a140 --- /dev/null +++ b/fonts/old-arrows/fonts/map/oasy.map @@ -0,0 +1,12 @@ +oabsy5 OAMathSymbols5-Bold "oamathsymbols ReEncodeFont" <oasy.enc <oabsy5.pfb +oabsy7 OAMathSymbols7-Bold "oamathsymbols ReEncodeFont" <oasy.enc <oabsy7.pfb +oabsy10 OAMathSymbols10-Bold "oamathsymbols ReEncodeFont" <oasy.enc <oabsy10.pfb +oasy5 OAMathSymbols5 "oamathsymbols ReEncodeFont" <oasy.enc <oasy5.pfb +oasy6 OAMathSymbols6 "oamathsymbols ReEncodeFont" <oasy.enc <oasy6.pfb +oasy7 OAMathSymbols7 "oamathsymbols ReEncodeFont" <oasy.enc <oasy7.pfb +oasy8 OAMathSymbols8 "oamathsymbols ReEncodeFont" <oasy.enc <oasy8.pfb +oasy9 OAMathSymbols9 "oamathsymbols ReEncodeFont" <oasy.enc <oasy9.pfb +oasy10 OAMathSymbols10 "oamathsymbols ReEncodeFont" <oasy.enc <oasy10.pfb +oabsy6 OAMathSymbols7-Bold "oamathsymbols ReEncodeFont" <oasy.enc <oabsy7.pfb +oabsy8 OAMathSymbols7-Bold "oamathsymbols ReEncodeFont" <oasy.enc <oabsy7.pfb +oabsy9 OAMathSymbols10-Bold "oamathsymbols ReEncodeFont" <oasy.enc <oabsy10.pfb diff --git a/fonts/old-arrows/fonts/tfm/oabsy10.tfm b/fonts/old-arrows/fonts/tfm/oabsy10.tfm Binary files differnew file mode 100644 index 0000000000..7450df1e4f --- /dev/null +++ b/fonts/old-arrows/fonts/tfm/oabsy10.tfm diff --git a/fonts/old-arrows/fonts/tfm/oabsy5.tfm b/fonts/old-arrows/fonts/tfm/oabsy5.tfm Binary files differnew file mode 100644 index 0000000000..ed67c55b58 --- /dev/null +++ b/fonts/old-arrows/fonts/tfm/oabsy5.tfm diff --git a/fonts/old-arrows/fonts/tfm/oabsy6.tfm b/fonts/old-arrows/fonts/tfm/oabsy6.tfm Binary files differnew file mode 100644 index 0000000000..6a3bf8f19c --- /dev/null +++ b/fonts/old-arrows/fonts/tfm/oabsy6.tfm diff --git a/fonts/old-arrows/fonts/tfm/oabsy7.tfm b/fonts/old-arrows/fonts/tfm/oabsy7.tfm Binary files differnew file mode 100644 index 0000000000..8aee04c490 --- /dev/null +++ b/fonts/old-arrows/fonts/tfm/oabsy7.tfm diff --git a/fonts/old-arrows/fonts/tfm/oabsy8.tfm b/fonts/old-arrows/fonts/tfm/oabsy8.tfm Binary files differnew file mode 100644 index 0000000000..967d20498e --- /dev/null +++ b/fonts/old-arrows/fonts/tfm/oabsy8.tfm diff --git a/fonts/old-arrows/fonts/tfm/oabsy9.tfm b/fonts/old-arrows/fonts/tfm/oabsy9.tfm Binary files differnew file mode 100644 index 0000000000..08bea7785e --- /dev/null +++ b/fonts/old-arrows/fonts/tfm/oabsy9.tfm diff --git a/fonts/old-arrows/fonts/tfm/oasy10.tfm b/fonts/old-arrows/fonts/tfm/oasy10.tfm Binary files differnew file mode 100644 index 0000000000..dc6a41fd1f --- /dev/null +++ b/fonts/old-arrows/fonts/tfm/oasy10.tfm diff --git a/fonts/old-arrows/fonts/tfm/oasy5.tfm b/fonts/old-arrows/fonts/tfm/oasy5.tfm Binary files differnew file mode 100644 index 0000000000..504652e731 --- /dev/null +++ b/fonts/old-arrows/fonts/tfm/oasy5.tfm diff --git a/fonts/old-arrows/fonts/tfm/oasy6.tfm b/fonts/old-arrows/fonts/tfm/oasy6.tfm Binary files differnew file mode 100644 index 0000000000..d0cf0ffd57 --- /dev/null +++ b/fonts/old-arrows/fonts/tfm/oasy6.tfm diff --git a/fonts/old-arrows/fonts/tfm/oasy7.tfm b/fonts/old-arrows/fonts/tfm/oasy7.tfm Binary files differnew file mode 100644 index 0000000000..95d8f0e6f6 --- /dev/null +++ b/fonts/old-arrows/fonts/tfm/oasy7.tfm diff --git a/fonts/old-arrows/fonts/tfm/oasy8.tfm b/fonts/old-arrows/fonts/tfm/oasy8.tfm Binary files differnew file mode 100644 index 0000000000..24390fdc55 --- /dev/null +++ b/fonts/old-arrows/fonts/tfm/oasy8.tfm diff --git a/fonts/old-arrows/fonts/tfm/oasy9.tfm b/fonts/old-arrows/fonts/tfm/oasy9.tfm Binary files differnew file mode 100644 index 0000000000..20fd8c4963 --- /dev/null +++ b/fonts/old-arrows/fonts/tfm/oasy9.tfm diff --git a/fonts/old-arrows/fonts/type1/oabsy10.pfb b/fonts/old-arrows/fonts/type1/oabsy10.pfb Binary files differnew file mode 100644 index 0000000000..022d097f4e --- /dev/null +++ b/fonts/old-arrows/fonts/type1/oabsy10.pfb diff --git a/fonts/old-arrows/fonts/type1/oabsy10.pfm b/fonts/old-arrows/fonts/type1/oabsy10.pfm Binary files differnew file mode 100644 index 0000000000..fecf5016ba --- /dev/null +++ b/fonts/old-arrows/fonts/type1/oabsy10.pfm diff --git a/fonts/old-arrows/fonts/type1/oabsy5.pfb b/fonts/old-arrows/fonts/type1/oabsy5.pfb Binary files differnew file mode 100644 index 0000000000..7ec7440c6f --- /dev/null +++ b/fonts/old-arrows/fonts/type1/oabsy5.pfb diff --git a/fonts/old-arrows/fonts/type1/oabsy5.pfm b/fonts/old-arrows/fonts/type1/oabsy5.pfm Binary files differnew file mode 100644 index 0000000000..6f06a63ed7 --- /dev/null +++ b/fonts/old-arrows/fonts/type1/oabsy5.pfm diff --git a/fonts/old-arrows/fonts/type1/oabsy7.pfb b/fonts/old-arrows/fonts/type1/oabsy7.pfb Binary files differnew file mode 100644 index 0000000000..c48da59290 --- /dev/null +++ b/fonts/old-arrows/fonts/type1/oabsy7.pfb diff --git a/fonts/old-arrows/fonts/type1/oabsy7.pfm b/fonts/old-arrows/fonts/type1/oabsy7.pfm Binary files differnew file mode 100644 index 0000000000..a4acb79fda --- /dev/null +++ b/fonts/old-arrows/fonts/type1/oabsy7.pfm diff --git a/fonts/old-arrows/fonts/type1/oasy10.pfb b/fonts/old-arrows/fonts/type1/oasy10.pfb Binary files differnew file mode 100644 index 0000000000..69b910f05d --- /dev/null +++ b/fonts/old-arrows/fonts/type1/oasy10.pfb diff --git a/fonts/old-arrows/fonts/type1/oasy10.pfm b/fonts/old-arrows/fonts/type1/oasy10.pfm Binary files differnew file mode 100644 index 0000000000..8c153bfa63 --- /dev/null +++ b/fonts/old-arrows/fonts/type1/oasy10.pfm diff --git a/fonts/old-arrows/fonts/type1/oasy5.pfb b/fonts/old-arrows/fonts/type1/oasy5.pfb Binary files differnew file mode 100644 index 0000000000..a0f99abdf8 --- /dev/null +++ b/fonts/old-arrows/fonts/type1/oasy5.pfb diff --git a/fonts/old-arrows/fonts/type1/oasy5.pfm b/fonts/old-arrows/fonts/type1/oasy5.pfm Binary files differnew file mode 100644 index 0000000000..38bd993642 --- /dev/null +++ b/fonts/old-arrows/fonts/type1/oasy5.pfm diff --git a/fonts/old-arrows/fonts/type1/oasy6.pfb b/fonts/old-arrows/fonts/type1/oasy6.pfb Binary files differnew file mode 100644 index 0000000000..9356a52cd4 --- /dev/null +++ b/fonts/old-arrows/fonts/type1/oasy6.pfb diff --git a/fonts/old-arrows/fonts/type1/oasy6.pfm b/fonts/old-arrows/fonts/type1/oasy6.pfm Binary files differnew file mode 100644 index 0000000000..b92cfebc67 --- /dev/null +++ b/fonts/old-arrows/fonts/type1/oasy6.pfm diff --git a/fonts/old-arrows/fonts/type1/oasy7.pfb b/fonts/old-arrows/fonts/type1/oasy7.pfb Binary files differnew file mode 100644 index 0000000000..597307d72e --- /dev/null +++ b/fonts/old-arrows/fonts/type1/oasy7.pfb diff --git a/fonts/old-arrows/fonts/type1/oasy7.pfm b/fonts/old-arrows/fonts/type1/oasy7.pfm Binary files differnew file mode 100644 index 0000000000..a1908cf008 --- /dev/null +++ b/fonts/old-arrows/fonts/type1/oasy7.pfm diff --git a/fonts/old-arrows/fonts/type1/oasy8.pfb b/fonts/old-arrows/fonts/type1/oasy8.pfb Binary files differnew file mode 100644 index 0000000000..7a23c9f4cc --- /dev/null +++ b/fonts/old-arrows/fonts/type1/oasy8.pfb diff --git a/fonts/old-arrows/fonts/type1/oasy8.pfm b/fonts/old-arrows/fonts/type1/oasy8.pfm Binary files differnew file mode 100644 index 0000000000..b94f4dfff6 --- /dev/null +++ b/fonts/old-arrows/fonts/type1/oasy8.pfm diff --git a/fonts/old-arrows/fonts/type1/oasy9.pfb b/fonts/old-arrows/fonts/type1/oasy9.pfb Binary files differnew file mode 100644 index 0000000000..ab8e5e1876 --- /dev/null +++ b/fonts/old-arrows/fonts/type1/oasy9.pfb diff --git a/fonts/old-arrows/fonts/type1/oasy9.pfm b/fonts/old-arrows/fonts/type1/oasy9.pfm Binary files differnew file mode 100644 index 0000000000..aeffd3713e --- /dev/null +++ b/fonts/old-arrows/fonts/type1/oasy9.pfm diff --git a/fonts/old-arrows/tex/old-arrows.sty b/fonts/old-arrows/tex/old-arrows.sty new file mode 100644 index 0000000000..3fe09c5a6c --- /dev/null +++ b/fonts/old-arrows/tex/old-arrows.sty @@ -0,0 +1,495 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% old-arrows.sty. Version: 2.0 - January 5, 2017. +% Author: Riccardo DOSSENA <riccardo.dossena@gmail.com> +% +% This package provides cm old-style arrows with smaller arrowheads, +% associated with ordinary LaTeX commands. It can be used in a document +% that contains other amssymb arrow characters, like \twoheadrightarrow, +% which also have small arrowheads. The options `new' and `old' allow the +% user to use the usual new-style cm arrows together with the old-style +% ones. The option `new' allows you to maintain the old-style by default +% and get the old-style by putting \var before every command; conversely, +% the option `old' allows you to maintain the new-style by default and get +% the old-style by putting \var before every command. +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Copyright 2015-2017 R. Dossena +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of LaTeX +% version 2005/12/01 or later. +% +% This work has the LPPL maintenance status `maintained'. +% +% The Current Maintainer of this work is R. Dossena. +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{old-arrows}[2017/01/05 v2.0 Old Arrows] + +\newif\ifoldarrows@default +\newif\ifoldarrows@new +\newif\ifoldarrows@old + +\def\oldarrows@opterr{% + \PackageError{old-arrows}{`new' and `old' options are incompatible}{% + I'm sorry, you cannot use the `new' and `old' options simultaneously! % + Ciao ;) \MessageBreak}% +}% + +\DeclareOption{default}{\oldarrows@defaulttrue} +\DeclareOption{new}{% + \ifoldarrows@old\oldarrows@opterr\fi + \oldarrows@newtrue} +\DeclareOption{old}{% + \ifoldarrows@new\oldarrows@opterr\fi + \oldarrows@defaultfalse\oldarrows@oldtrue} + +\ExecuteOptions{default} + +\ProcessOptions\relax + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% default option +% + +\ifoldarrows@default + +\@ifpackageloaded{lmodern}{% +\DeclareFontFamily{OMS}{oasy}{\skewchar\font48 } +\DeclareFontShape{OMS}{oasy}{m}{n}{% + <-5.5> oasy5 <5.5-6.5> oasy6 + <6.5-7.5> oasy7 <7.5-8.5> oasy8 + <8.5-9.5> oasy9 <9.5-> oasy10 + }{} +\DeclareFontShape{OMS}{oasy}{b}{n}{% + <-6> oabsy5 + <6-8> oabsy7 + <8-> oabsy10 + }{} +\relax}{% +\DeclareFontFamily{OMS}{oasy}{\skewchar\font48 } +\DeclareFontShape{OMS}{oasy}{m}{n}{% + <5><6><7><8><9><10>gen*oasy% + <10.95><12><14.4><17.28><20.74><24.88>oasy10% + }{} +\DeclareFontShape{OMS}{oasy}{b}{n}{% + <5><6><7><8><9>gen*oabsy% + <10><10.95><12><14.4><17.28><20.74><24.88>oabsy10% + }{} +\relax} + +\DeclareSymbolFont{oasy}{OMS}{oasy}{m}{n} + +\SetSymbolFont{oasy}{normal}{OMS}{oasy}{m}{n} +\SetSymbolFont{oasy}{bold}{OMS}{oasy}{b}{n} + +\DeclareMathSymbol{\leftarrow} {\mathrel}{oasy}{"20} + \let\gets=\leftarrow +\DeclareMathSymbol{\rightarrow} {\mathrel}{oasy}{"21} + \let\to=\rightarrow +\DeclareMathSymbol{\leftrightarrow} {\mathrel}{oasy}{"24} +\DeclareMathSymbol{\nearrow} {\mathrel}{oasy}{"25} +\DeclareMathSymbol{\searrow} {\mathrel}{oasy}{"26} +\DeclareMathSymbol{\nwarrow} {\mathrel}{oasy}{"2D} +\DeclareMathSymbol{\swarrow} {\mathrel}{oasy}{"2E} +\DeclareMathSymbol{\mapstochar} {\mathrel}{oasy}{"37} + \def\mapsto{\mapstochar\rightarrow} + +\DeclareMathDelimiter{\uparrow} {\mathrel}{oasy}{"22}{largesymbols}{"78} +\DeclareMathDelimiter{\downarrow} {\mathrel}{oasy}{"23}{largesymbols}{"79} +\DeclareMathDelimiter{\updownarrow} {\mathrel}{oasy}{"6C}{largesymbols}{"3F} + +%definitions of \meno, \joinrelaz and \relbarra +\DeclareMathSymbol{\meno} {\mathbin}{oasy}{"00} +\DeclareRobustCommand + \joinrelaz{\mathrel{\mkern-3mu}} +\DeclareRobustCommand + \relbarra{\mathrel{\smash\meno}} % \smash, because - + % has the same height as + + +\DeclareRobustCommand\longrightarrow + {\relbarra\joinrelaz\rightarrow} +\DeclareRobustCommand\longleftarrow + {\leftarrow\joinrelaz\relbarra} + +\def\rightarrowfill{$\m@th\smash\meno\mkern-7mu% + \cleaders\hbox{$\mkern-2mu\smash\meno\mkern-2mu$}\hfill + \mkern-7mu\mathord\rightarrow$} +\def\leftarrowfill{$\m@th\mathord\leftarrow\mkern-7mu% + \cleaders\hbox{$\mkern-2mu\smash\meno\mkern-2mu$}\hfill + \mkern-7mu\smash\meno$} + +%amsmath redefinitions, if loaded +\@ifpackageloaded{amsmath}{% +\ams@def\relbarra{\mathrel{\mathpalette\mathsm@sh\meno}} +\def\leftarrowfill@{\arrowfill@\leftarrow\relbarra\relbarra} +\def\rightarrowfill@{\arrowfill@\relbarra\relbarra\rightarrow} +\def\leftrightarrowfill@{\arrowfill@\leftarrow\relbarra\rightarrow} +\relax}{} + +%mathtools redefinitions, if loaded +\@ifpackageloaded{mathtools}{% +\renewcommand{\xleftrightarrow}[2][]{% + \ext@arrow 3095\MTleftrightarrowfill@{#1}{#2}} +\def\MTleftrightarrowfill@{% + \arrowfill@\leftarrow\relbarra\rightarrow} +\renewcommand{\xhookleftarrow}[2][]{% + \ext@arrow 3095\MThookleftfill@{#1}{#2}} +\def\MThookleftfill@{% + \arrowfill@\leftarrow\relbarra{\relbarra\joinrelaz\rhook}} +\renewcommand{\xhookrightarrow}[2][]{% + \ext@arrow 3095\MThookrightfill@{#1}{#2}} +\def\MThookrightfill@{% + \arrowfill@{\lhook\joinrelaz\relbarra}\relbarra\rightarrow} +\renewcommand{\xmapsto}[2][]{% + \ext@arrow 0395\MTmapstofill@{#1}{#2}} +\def\MTmapstofill@{% + \arrowfill@{\mapstochar\relbarra}\relbarra\rightarrow} +\relax}{} + +%stmaryrd xmapsfrom (mathtools or amsmath needed) +\@ifpackageloaded{stmaryrd}{% +\newcommand{\xmapsfrom}[2][]{% + \ext@arrow 3095\SMRmapsfromfill@{#1}{#2}} +\def\SMRmapsfromfill@{% + \arrowfill@\leftarrow\relbarra{\relbarra\mapsfromchar}} +\relax}{} + + +%arrow commands provided by old-arrows +\DeclareRobustCommand\longhookrightarrow + {\lhook\joinrelaz\longrightarrow} +\DeclareRobustCommand\longhookleftarrow + {\longleftarrow\joinrelaz\rhook} +\DeclareRobustCommand\longrightharpoonup + {\relbar\joinrel\rightharpoonup} +\DeclareRobustCommand\longrightharpoondown + {\relbar\joinrel\rightharpoondown} +\DeclareRobustCommand\longleftharpoonup + {\leftharpoonup\joinrel\relbar} +\DeclareRobustCommand\longleftharpoondown + {\leftharpoondown\joinrel\relbar} + +\fi + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% `new' option +% + +\ifoldarrows@new + +\@ifpackageloaded{lmodern}{% +\DeclareSymbolFont{lmsy}{OMS}{lmsy}{m}{n} + +\SetSymbolFont{lmsy}{normal}{OMS}{lmsy}{m}{n} +\SetSymbolFont{lmsy}{bold}{OMS}{lmsy}{b}{n} + +\DeclareMathSymbol{\varleftarrow}{\mathrel}{lmsy}{"20} + \let\vargets=\varleftarrow +\DeclareMathSymbol{\varrightarrow}{\mathrel}{lmsy}{"21} + \let\varto=\varrightarrow +\DeclareMathSymbol{\varleftrightarrow} {\mathrel}{lmsy}{"24} +\DeclareMathSymbol{\varnearrow} {\mathrel}{lmsy}{"25} +\DeclareMathSymbol{\varsearrow} {\mathrel}{lmsy}{"26} +\DeclareMathSymbol{\varnwarrow} {\mathrel}{lmsy}{"2D} +\DeclareMathSymbol{\varswarrow} {\mathrel}{lmsy}{"2E} +\DeclareMathSymbol{\varmapstochar} {\mathrel}{lmsy}{"37} + \def\varmapsto{\varmapstochar\varrightarrow} + \def\varhookrightarrow{\lhook\joinrel\varrightarrow} + \def\varhookleftarrow{\varleftarrow\joinrel\rhook} + +\DeclareMathDelimiter{\varuparrow} {\mathrel}{lmsy}{"22}{largesymbols}{"78} +\DeclareMathDelimiter{\vardownarrow} {\mathrel}{lmsy}{"23}{largesymbols}{"79} +\DeclareMathDelimiter{\varupdownarrow} {\mathrel}{lmsy}{"6C}{largesymbols}{"3F} +\relax}{% +\DeclareSymbolFont{cmsy}{OMS}{cmsy}{m}{n} + +\SetSymbolFont{cmsy}{normal}{OMS}{cmsy}{m}{n} +\SetSymbolFont{cmsy}{bold}{OMS}{cmsy}{b}{n} + +\DeclareMathSymbol{\varleftarrow}{\mathrel}{cmsy}{"20} + \let\vargets=\varleftarrow +\DeclareMathSymbol{\varrightarrow}{\mathrel}{cmsy}{"21} + \let\varto=\varrightarrow +\DeclareMathSymbol{\varleftrightarrow} {\mathrel}{cmsy}{"24} +\DeclareMathSymbol{\varnearrow} {\mathrel}{cmsy}{"25} +\DeclareMathSymbol{\varsearrow} {\mathrel}{cmsy}{"26} +\DeclareMathSymbol{\varnwarrow} {\mathrel}{cmsy}{"2D} +\DeclareMathSymbol{\varswarrow} {\mathrel}{cmsy}{"2E} +\DeclareMathSymbol{\varmapstochar} {\mathrel}{cmsy}{"37} + \def\varmapsto{\varmapstochar\varrightarrow} + \def\varhookrightarrow{\lhook\joinrel\varrightarrow} + \def\varhookleftarrow{\varleftarrow\joinrel\rhook} + +\DeclareMathDelimiter{\varuparrow} {\mathrel}{cmsy}{"22}{largesymbols}{"78} +\DeclareMathDelimiter{\vardownarrow} {\mathrel}{cmsy}{"23}{largesymbols}{"79} +\DeclareMathDelimiter{\varupdownarrow} {\mathrel}{cmsy}{"6C}{largesymbols}{"3F} +\relax} + +\def\varoverrightarrow#1{\vbox{\m@th\ialign{##\crcr + \varrightarrowfill\crcr\noalign{\kern-\p@\nointerlineskip} + $\hfil\displaystyle{#1}\hfil$\crcr}}} +\def\varoverleftarrow#1{\vbox{\m@th\ialign{##\crcr + \varleftarrowfill\crcr\noalign{\kern-\p@\nointerlineskip}% + $\hfil\displaystyle{#1}\hfil$\crcr}}} +\def\varrightarrowfill{$\m@th\smash-\mkern-7mu% + \cleaders\hbox{$\mkern-2mu\smash-\mkern-2mu$}\hfill + \mkern-7mu\mathord\varrightarrow$} +\def\varleftarrowfill{$\m@th\mathord\varleftarrow\mkern-7mu% + \cleaders\hbox{$\mkern-2mu\smash-\mkern-2mu$}\hfill + \mkern-7mu\smash-$} + +\DeclareRobustCommand\varlongrightarrow + {\relbar\joinrel\varrightarrow} +\DeclareRobustCommand\varlongleftarrow + {\varleftarrow\joinrel\relbar} +\DeclareRobustCommand + \varlongmapsto{\varmapstochar\varlongrightarrow} +\DeclareRobustCommand + \varlongleftrightarrow{\varleftarrow\joinrel\varrightarrow} + +%new commands provided by old-arrows with option new +\DeclareRobustCommand\varlonghookrightarrow + {\lhook\joinrel\varlongrightarrow} +\DeclareRobustCommand\varlonghookleftarrow + {\varlongleftarrow\joinrel\rhook} + + +%new-style arrows provided by amsmath, if loaded +\@ifpackageloaded{amsmath}{% +\def\varleftarrowfill@{\arrowfill@\varleftarrow\relbar\relbar} +\def\varrightarrowfill@{\arrowfill@\relbar\relbar\varrightarrow} +\def\varleftrightarrowfill@{\arrowfill@\varleftarrow\relbar\varrightarrow} +\ams@renewcommand{\varoverrightarrow}{% + \mathpalette{\overarrow@\varrightarrowfill@}} +\ams@renewcommand{\varoverleftarrow}{% + \mathpalette{\overarrow@\varleftarrowfill@}} +\ams@newcommand{\varoverleftrightarrow}{% + \mathpalette{\overarrow@\varleftrightarrowfill@}} +\ams@newcommand{\varunderrightarrow}{% + \mathpalette{\underarrow@\varrightarrowfill@}} +\ams@newcommand{\varunderleftarrow}{% + \mathpalette{\underarrow@\varleftarrowfill@}} +\ams@newcommand{\varunderleftrightarrow}{% + \mathpalette{\underarrow@\varleftrightarrowfill@}} +\newcommand{\varxrightarrow}[2][]{\ext@arrow 0359\varrightarrowfill@{#1}{#2}} +\newcommand{\varxleftarrow}[2][]{\ext@arrow 3095\varleftarrowfill@{#1}{#2}} +\def\varvarinjlim{% + \mathop{\mathpalette\varlim@{\varrightarrowfill@\textstyle}}\nmlimits@ +} +\def\varvarprojlim{% + \mathop{\mathpalette\varlim@{\varleftarrowfill@\textstyle}}\nmlimits@ +} +\relax}{} + +%new-style support for mathtools +\@ifpackageloaded{mathtools}{% +\newcommand{\varxleftrightarrow}[2][]{% + \ext@arrow 3095\varMTleftrightarrowfill@{#1}{#2}} +\def\varMTleftrightarrowfill@{% + \arrowfill@\varleftarrow\relbar\varrightarrow} +\newcommand{\varxhookleftarrow}[2][]{% + \ext@arrow 3095\varMThookleftfill@{#1}{#2}} +\def\varMThookleftfill@{% + \arrowfill@\varleftarrow\relbar{\relbar\joinrel\rhook}} +\newcommand{\varxhookrightarrow}[2][]{% + \ext@arrow 3095\varMThookrightfill@{#1}{#2}} +\def\varMThookrightfill@{% + \arrowfill@{\lhook\joinrel\relbar}\relbar\varrightarrow} +\newcommand{\varxmapsto}[2][]{% + \ext@arrow 0395\varMTmapstofill@{#1}{#2}} +\def\varMTmapstofill@{% + \arrowfill@{\mapstochar\relbar}\relbar\varrightarrow} +\relax}{} + +%%stmaryrd new-style xmapsfrom (mathtools or amsmath needed) +\@ifpackageloaded{stmaryrd}{% +\newcommand{\varxmapsfrom}[2][]{% + \ext@arrow 3095\varSMRmapsfromfill@{#1}{#2}} +\def\varSMRmapsfromfill@{% + \arrowfill@\varleftarrow\relbar{\relbar\mapsfromchar}} +\relax}{} + +\fi + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% `old' option +% + +\ifoldarrows@old + +\@ifpackageloaded{lmodern}{% +\DeclareFontFamily{OMS}{oasy}{\skewchar\font48 } +\DeclareFontShape{OMS}{oasy}{m}{n}{% + <-5.5> oasy5 <5.5-6.5> oasy6 + <6.5-7.5> oasy7 <7.5-8.5> oasy8 + <8.5-9.5> oasy9 <9.5-> oasy10 + }{} +\DeclareFontShape{OMS}{oasy}{b}{n}{% + <-6> oabsy5 + <6-8> oabsy7 + <8-> oabsy10 + }{} +\relax}{% +\DeclareFontFamily{OMS}{oasy}{\skewchar\font48 } +\DeclareFontShape{OMS}{oasy}{m}{n}{% + <5><6><7><8><9><10>gen*oasy% + <10.95><12><14.4><17.28><20.74><24.88>oasy10% + }{} +\DeclareFontShape{OMS}{oasy}{b}{n}{% + <5><6><7><8><9>gen*oabsy% + <10><10.95><12><14.4><17.28><20.74><24.88>oabsy10% + }{} +\relax} + +\DeclareSymbolFont{oasy}{OMS}{oasy}{m}{n} + +\SetSymbolFont{oasy}{normal}{OMS}{oasy}{m}{n} +\SetSymbolFont{oasy}{bold}{OMS}{oasy}{b}{n} + +\DeclareMathSymbol{\varleftarrow} {\mathrel}{oasy}{"20} + \let\vargets=\varleftarrow +\DeclareMathSymbol{\varrightarrow} {\mathrel}{oasy}{"21} + \let\varto=\varrightarrow +\DeclareMathSymbol{\varleftrightarrow} {\mathrel}{oasy}{"24} +\DeclareMathSymbol{\varnearrow} {\mathrel}{oasy}{"25} +\DeclareMathSymbol{\varsearrow} {\mathrel}{oasy}{"26} +\DeclareMathSymbol{\varnwarrow} {\mathrel}{oasy}{"2D} +\DeclareMathSymbol{\varswarrow} {\mathrel}{oasy}{"2E} +\DeclareMathSymbol{\varmapstochar} {\mathrel}{oasy}{"37} + \def\varmapsto{\varmapstochar\varrightarrow} + \def\varhookrightarrow{\lhook\joinrel\varrightarrow} + \def\varhookleftarrow{\varleftarrow\joinrel\rhook} + +\DeclareMathDelimiter{\varuparrow} {\mathrel}{oasy}{"22}{largesymbols}{"78} +\DeclareMathDelimiter{\vardownarrow} {\mathrel}{oasy}{"23}{largesymbols}{"79} +\DeclareMathDelimiter{\varupdownarrow} {\mathrel}{oasy}{"6C}{largesymbols}{"3F} + +%definitions of \meno, \joinrelaz and \relbarra +\DeclareMathSymbol{\meno} {\mathbin}{oasy}{"00} +\DeclareRobustCommand + \joinrelaz{\mathrel{\mkern-3mu}} +\DeclareRobustCommand + \relbarra{\mathrel{\smash\meno}} % \smash, because - + % has the same height as + + +\DeclareRobustCommand\varlongrightarrow + {\relbarra\joinrelaz\varrightarrow} +\DeclareRobustCommand\varlongleftarrow + {\varleftarrow\joinrelaz\relbarra} +\DeclareRobustCommand + \varlongmapsto{\varmapstochar\varlongrightarrow} +\DeclareRobustCommand + \varlongleftrightarrow{\varleftarrow\joinrelaz\varrightarrow} + +\def\varoverrightarrow#1{\vbox{\m@th\ialign{##\crcr + \varrightarrowfill\crcr\noalign{\kern-\p@\nointerlineskip} + $\hfil\displaystyle{#1}\hfil$\crcr}}} +\def\varoverleftarrow#1{\vbox{\m@th\ialign{##\crcr + \varleftarrowfill\crcr\noalign{\kern-\p@\nointerlineskip}% + $\hfil\displaystyle{#1}\hfil$\crcr}}} +\def\varrightarrowfill{$\m@th\smash\meno\mkern-7mu% + \cleaders\hbox{$\mkern-2mu\smash\meno\mkern-2mu$}\hfill + \mkern-7mu\mathord\varrightarrow$} +\def\varleftarrowfill{$\m@th\mathord\varleftarrow\mkern-7mu% + \cleaders\hbox{$\mkern-2mu\smash\meno\mkern-2mu$}\hfill + \mkern-7mu\smash\meno$} + +%amsmath redefinitions, if loaded +\@ifpackageloaded{amsmath}{% +\ams@def\relbarra{\mathrel{\mathpalette\mathsm@sh\meno}} +\def\varleftarrowfill@{\arrowfill@\varleftarrow\relbarra\relbarra} +\def\varrightarrowfill@{\arrowfill@\relbarra\relbarra\varrightarrow} +\def\varleftrightarrowfill@{\arrowfill@\varleftarrow\relbarra\varrightarrow} +\ams@renewcommand{\varoverrightarrow}{% + \mathpalette{\overarrow@\varrightarrowfill@}} +\ams@renewcommand{\varoverleftarrow}{% + \mathpalette{\overarrow@\varleftarrowfill@}} +\ams@newcommand{\varoverleftrightarrow}{% + \mathpalette{\overarrow@\varleftrightarrowfill@}} +\ams@newcommand{\varunderrightarrow}{% + \mathpalette{\underarrow@\varrightarrowfill@}} +\ams@newcommand{\varunderleftarrow}{% + \mathpalette{\underarrow@\varleftarrowfill@}} +\ams@newcommand{\varunderleftrightarrow}{% + \mathpalette{\underarrow@\varleftrightarrowfill@}} +\newcommand{\varxrightarrow}[2][]{\ext@arrow 0359\varrightarrowfill@{#1}{#2}} +\newcommand{\varxleftarrow}[2][]{\ext@arrow 3095\varleftarrowfill@{#1}{#2}} +\def\varvarinjlim{% + \mathop{\mathpalette\varlim@{\varrightarrowfill@\textstyle}}\nmlimits@ +} +\def\varvarprojlim{% + \mathop{\mathpalette\varlim@{\varleftarrowfill@\textstyle}}\nmlimits@ +} +\relax}{} + +%mathtools redefinitions, if loaded +\@ifpackageloaded{mathtools}{% +\newcommand{\varxleftrightarrow}[2][]{% + \ext@arrow 3095\varMTleftrightarrowfill@{#1}{#2}} +\def\varMTleftrightarrowfill@{% + \arrowfill@\varleftarrow\relbarra\varrightarrow} +\newcommand{\varxhookleftarrow}[2][]{% + \ext@arrow 3095\varMThookleftfill@{#1}{#2}} +\def\varMThookleftfill@{% + \arrowfill@\varleftarrow\relbarra{\relbarra\joinrelaz\rhook}} +\newcommand{\varxhookrightarrow}[2][]{% + \ext@arrow 3095\varMThookrightfill@{#1}{#2}} +\def\varMThookrightfill@{% + \arrowfill@{\lhook\joinrelaz\relbarra}\relbarra\varrightarrow} +\newcommand{\varxmapsto}[2][]{% + \ext@arrow 0395\varMTmapstofill@{#1}{#2}} +\def\varMTmapstofill@{% + \arrowfill@{\mapstochar\relbarra}\relbarra\varrightarrow} +\relax}{} + +%%stmaryrd old-style xmapsfrom (mathtools or amsmath needed) +\@ifpackageloaded{stmaryrd}{% +\newcommand{\varxmapsfrom}[2][]{% + \ext@arrow 3095\varSMRmapsfromfill@{#1}{#2}} +\def\varSMRmapsfromfill@{% + \arrowfill@\varleftarrow\relbarra{\relbarra\mapsfromchar}} +\newcommand{\xmapsfrom}[2][]{% + \ext@arrow 3095\SMRmapsfromfill@{#1}{#2}} +\def\SMRmapsfromfill@{% + \arrowfill@\leftarrow\relbar{\relbar\mapsfromchar}} +\relax}{} + +%arrow commands provided by old-arrows with option old +\DeclareRobustCommand\varlonghookrightarrow + {\lhook\joinrelaz\varlongrightarrow} +\DeclareRobustCommand\varlonghookleftarrow + {\varlongleftarrow\joinrelaz\rhook} + +%arrow commands provided by old-arrows (default) +\DeclareRobustCommand\longhookrightarrow + {\lhook\joinrel\longrightarrow} +\DeclareRobustCommand\longhookleftarrow + {\longleftarrow\joinrel\rhook} +\DeclareRobustCommand\longrightharpoonup + {\relbar\joinrel\rightharpoonup} +\DeclareRobustCommand\longrightharpoondown + {\relbar\joinrel\rightharpoondown} +\DeclareRobustCommand\longleftharpoonup + {\leftharpoonup\joinrel\relbar} +\DeclareRobustCommand\longleftharpoondown + {\leftharpoondown\joinrel\relbar} + +\fi + +%stmaryrd support for `new' and `old' +\@ifpackageloaded{stmaryrd}{% + \stmry@if\def\varmapsfrom{\varleftarrow\mapsfromchar}\fi + \stmry@if\def\varlongmapsfrom{\varlongleftarrow\mapsfromchar}\fi +}{} + +\endinput |