From 7aee74c9077bc1745ff6e9e6279b7e2d3ba737a9 Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Thu, 13 Jul 2017 10:42:53 +0900 Subject: add lucidabr --- texmf-dist/doc/latex/lucidabr/Makefile | 24 + texmf-dist/doc/latex/lucidabr/README | 26 + texmf-dist/doc/latex/lucidabr/README.TUG | 135 ++ texmf-dist/doc/latex/lucidabr/lucfont.tex | 91 + texmf-dist/doc/latex/lucidabr/lucida-amsmath.pdf | Bin 0 -> 220287 bytes texmf-dist/doc/latex/lucidabr/lucida-amsmath.tex | 2334 ++++++++++++++++++++ .../doc/latex/lucidabr/lucida-oneline-samples.tex | 86 + texmf-dist/doc/latex/lucidabr/lucida-sample.pdf | Bin 0 -> 393399 bytes texmf-dist/doc/latex/lucidabr/lucida-sample.tex | 303 +++ texmf-dist/doc/latex/lucidabr/lucidabr.dtx | 1323 +++++++++++ texmf-dist/doc/latex/lucidabr/lucidabr.fdd | 316 +++ texmf-dist/doc/latex/lucidabr/lucidabr.ins | 75 + texmf-dist/doc/latex/lucidabr/lucidabr.pdf | Bin 0 -> 161392 bytes texmf-dist/doc/latex/lucidabr/manifest.txt | 16 + 14 files changed, 4729 insertions(+) create mode 100644 texmf-dist/doc/latex/lucidabr/Makefile create mode 100644 texmf-dist/doc/latex/lucidabr/README create mode 100644 texmf-dist/doc/latex/lucidabr/README.TUG create mode 100644 texmf-dist/doc/latex/lucidabr/lucfont.tex create mode 100644 texmf-dist/doc/latex/lucidabr/lucida-amsmath.pdf create mode 100644 texmf-dist/doc/latex/lucidabr/lucida-amsmath.tex create mode 100644 texmf-dist/doc/latex/lucidabr/lucida-oneline-samples.tex create mode 100644 texmf-dist/doc/latex/lucidabr/lucida-sample.pdf create mode 100644 texmf-dist/doc/latex/lucidabr/lucida-sample.tex create mode 100644 texmf-dist/doc/latex/lucidabr/lucidabr.dtx create mode 100644 texmf-dist/doc/latex/lucidabr/lucidabr.fdd create mode 100644 texmf-dist/doc/latex/lucidabr/lucidabr.ins create mode 100644 texmf-dist/doc/latex/lucidabr/lucidabr.pdf create mode 100644 texmf-dist/doc/latex/lucidabr/manifest.txt (limited to 'texmf-dist/doc') diff --git a/texmf-dist/doc/latex/lucidabr/Makefile b/texmf-dist/doc/latex/lucidabr/Makefile new file mode 100644 index 00000000..b1fa8b7b --- /dev/null +++ b/texmf-dist/doc/latex/lucidabr/Makefile @@ -0,0 +1,24 @@ +# Trivial Makefile to generate and move files to the appropriate directory. +# Copyright 2005, 2006, 2007 TeX Users Group. +# You may freely use, modify and/or distribute this file. + +styles = lucmtime.sty lucbmath.sty lucidabr.sty lucidbrb.sty \ + lucidbry.sty lucmin.sty luctime.sty +fd = lmrhlcm.fd omlhlcm.fd omlhlh.fd omshlcy.fd omshlh.fd omxhlcv.fd + +default: $(styles) $(fd) + +$(styles) $(fd): lucidabr.ins + latex '\nonstopmode\input $<' + +$(styles): lucidabr.dtx +$(fd): lucidabr.fdd + +lucidabr.pdf: lucidabr.dtx + pdflatex '\nonstopmode\input $<' + +texmf = ../../.. +install: $(styles) $(fd) + mv -f $(styles) $(texmf)/tex/latex/lucidabr/ + mv -f $(fd) $(texmf)/tex/latex/lucidabr/ + rm -f lucfont.tex lucidabr.log lucidabr.aux diff --git a/texmf-dist/doc/latex/lucidabr/README b/texmf-dist/doc/latex/lucidabr/README new file mode 100644 index 00000000..06956ce4 --- /dev/null +++ b/texmf-dist/doc/latex/lucidabr/README @@ -0,0 +1,26 @@ +Copyright 2007 TeX Users Group. +You may freely use, modify and/or distribute this file (README). + +This lucidabr package provides LaTeX support for the Lucida fonts. + +The related lucida package, at +http://mirror.ctan.org/fonts/psfonts/bh/lucida, provides basic TeX +support files, such as tfm and map files. + +The lucidabr and lucida packages on CTAN are free, but the Lucida fonts +are not: you must order them from TUG or another source to actually +typeset anything in Lucida. The TUG Lucida web pages explain the +details -- see http://tug.org/lucida. + +For installation instructions, after ordering the fonts from TUG, see the +README.TUG file. (You'll get the same info in email after ordering.) + +If you have questions or problems regarding installation or use, please +email lucida@tug.org; this is an open list for Lucida discussion, and +you can subscribe via http://tug.org/mailman/listinfo/lucida. Questions +or problems related to ordering or licensing should go to +lucida-admin@tug.org. + +The lucidabr package is looking for an active maintainer to improve the +documentation, add some requested features, and generally maintain the +distribution. If you are interested, please email. diff --git a/texmf-dist/doc/latex/lucidabr/README.TUG b/texmf-dist/doc/latex/lucidabr/README.TUG new file mode 100644 index 00000000..a536ad01 --- /dev/null +++ b/texmf-dist/doc/latex/lucidabr/README.TUG @@ -0,0 +1,135 @@ +To install the Lucida font distribution from TUG: + +1) download the zip file from TUG via the url given to you after ordering. + +2) change directories to a suitable texmf hierarchy; your "local texmf" + tree is the best choice. More info below(*). + +3) unzip the archive as retrieved. It unpacks into subdirectories + fonts/, tex/, and so on. These directories will probably already + exist if you already have a local texmf tree; that's ok. You must + use an unzip program or settings which does *not* create any + top-level directory of its own (such as "lucida-complete/"), but just + unpacks what is in the zip file. + +4) remake the so-called "filename database", unless you unpacked in a + personal directory, such as ~/Library/texmf on MacOSX. + Under Unix, this is generally done by running the command mktexlsr. + Under MiKTeX, it is generally done in the MiKTeX program: + Start > Programs > MiKTeX > MiKTeX Options > General + > Refresh Now (the file name database). + (or from a DOS command line, if you prefer: initexmf --update-fndb) + +5) enable the Lucida "map files", if necessary. + Under Unix, this is generally done by running the command +updmap-sys --enable Map lucida.map + (on MacOSX, typically as root, so: sudo updmap-sys ...) + For MiKTeX, the procedure is more complicated; see below(**). + + Some distributions already have the map file enabled. You can tell + by running the sample document mentioned below on your system. If it + starts calling programs like mktexpk, and fonts are unable to be + loaded, and you don't get any actual Lucida in the output, then you + need to enable the map file. If the output is fine, you're all set. + +6) remake the filename database again; this is not always necessary, + depending on your setup, but should never hurt. + +7) the document doc/fonts/lucidabr/lucida-sample.pdf explains the basic + usage of the fonts in LaTeX, and is itself typeset using Lucida. The + LaTeX source is also included (lucida-sample.tex) so that you can see + how it was produced. Running this file through LaTeX yourself is a + good test of the installation.(***) Some additional documentation and + samples are included in doc/fonts/lucidabr and doc/fonts/lucida. + +If you have questions or problems regarding installation or use, please +email lucida@tug.org; this is an open and publicly archived list for +Lucida discussion, and you can subscribe via +http://tug.org/mailman/listinfo/lucida. Questions or problems related +to ordering or licensing should go to lucida-admin@tug.org. + +The TUG Lucida home page is http://tug.org/lucida. +Happy typesetting! + +-- +(*) Finding and/or creating your texmf-local tree: + +TeX systems have thousands of files, arranged in one or more +"trees" of directories. Your system can quickly look through +the trees that it knows about. + +When you install TeX, you may have noticed or set up a "local" tree, +used for your own macros and other files. The advantage of a local tree +is that if you install an new version of your TeX system then these +local materials will not be overwritten. A local tree is the best place +to install the Lucida fonts. + +Typical names for local trees are "C:\Local TeX Files" on Windows or +"/usr/local/texlive/texmf-local" on Unix. They might be entirely empty. +How to find any local trees that you have depends on your system: + + MiKTeX + From inside MiKTeX click on "MiKTeX Settings" and go to the Roots + tab. Some paths shown there have a "Description" such as UserConfig + or UserData; these are not local paths. For your local path you can + use any path without a Description. + + If you see only paths that have a description then you can create a new + local path by clicking on "Add" (for more info, see the MiKTeX page + http://docs.miktex.org/manual/localadditions.html). + + TeX Live and MacTeX + From a system terminal (aka command prompt and shell window) enter the + command + kpsewhich --var-value TEXMFLOCAL + to see the directory name. + + +(**) Enabling the Lucida map file under MiKTeX: + +1. Edit the map configuration file updmap.cfg. In a DOS Window/Command +Prompt window, run: +initexmf --edit-config-file updmap + You'll want to edit this in a text editor such as Notepad. If the + file or any of the leading directories do not exist, create them. + +2. Add this one line to updmap.cfg and save it. +Map lucida.map + +3. Back at the DOS prompt, run +initexmf --mkmaps + (Ignore any error messages.) + +Hopefully that is it. Resume above at step 5. + + +(***) Potential problems: + +1. If when you run a Lucida document you get complaints about missing + fonts, mktexpk could not make bitmaps, etc., most likely you need to + enable the Lucida map file. See step 4 above. + +2. If you do try latex-ing lucida-sample.tex and get an error at the line: + \DeclareEncodingSubset{TS1}{hlh}{1} % including \oldstylenums +Please check your version of the textcomp.sty style file against +the current release, available at: + http://www.ctan.org/tex-archive/macros/latex/unpacked/textcomp.sty + + +-- +Legal: the Lucida fonts are made available only under an end-user or +site license, which you must have agreed to when you ordered the fonts. +The license text is available in the distribution files +doc/fonts/lucidabr/lucida-license-*.txt, or online at +http://tug.org/store/lucida. (This README.TUG file itself may be freely +used, modified and/or distributed.) + +The Lucida typeface family was designed by Charles Bigelow and Kris Holmes. +(R) Lucida is a trademark of Bigelow & Holmes Inc. +registered in the U.S. Patent & Trademark Office and other +jurisdictions. + +TUG gratefully acknowledges Y&Y for the original Lucida TeX distribution, +Walter Schmidt for creating and updating the TeX font support files, +PCTeX for sponsoring him and allowing his work to be redistributed, and +Morten Hoegholm for working on the samples and other TeXnical help. diff --git a/texmf-dist/doc/latex/lucidabr/lucfont.tex b/texmf-dist/doc/latex/lucidabr/lucfont.tex new file mode 100644 index 00000000..3b73399b --- /dev/null +++ b/texmf-dist/doc/latex/lucidabr/lucfont.tex @@ -0,0 +1,91 @@ +%% +%% This is file `lucfont.tex', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% lucidabr.dtx (with options: `T1,lucfont') +%% +%% Copyright 1995, 1996 Sebastian Rahtz +%% Copyright 1997, 1998 Sebastian Rahtz, David Carlisle +%% Copyright 2005 TeX Users Group +%% +%% This file is part of the lucidabr package. +%% +%% 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 2003/12/01 or later. +%% +%% This work has the LPPL maintenance status "maintained". +%% +%% The Current Maintainer of this work is the TeX Users Group +%% (http://tug.org/lucida). +%% +%% The list of all files belonging to the lucidabr package is +%% given in the file `manifest.txt'. +%% +%% The list of derived (unpacked) files belonging to the distribution +%% and covered by LPPL is defined by the unpacking scripts (with +%% extension .ins) which are part of the distribution. +%% +\ProvidesFile{lucfont.tex} + [2005/11/29 v4.3 % + Lucida Bright text font test + (SPQR/DPC/TUG)] +\documentclass{article} +\usepackage[T1]{fontenc} +\begin{document} +\title{All the Lucida text fonts} +\author{prepared by Sebastian Rahtz} +\date{February 19th 1995} +\maketitle +\def\test#1#2#3#4#5{% + \item[#1/#2/#3]#4 (#5): + {\fontfamily{#1}\fontseries{#2}\fontshape{#3}\selectfont + Animadversion for a giraffe costs \pounds123. Wa\ss\ ist + das f\"ur ein Klopf? + We are often na{\"\i}ve vis-\`{a}-vis +the d{\ae}monic ph{\oe}nix's official r\^{o}le in fluffy souffl\'{e}s} +} + +\begin{description} +\test{hlx}{b}{it}{hlxdi8t}{LucidaFax-DemiItalic} +\test{hlx}{b}{n}{hlxd8t}{LucidaFax-Demi} +\test{hlx}{m}{it}{hlxrir8t}{LucidaFax-Italic} +\test{hlx}{m}{n}{hlxr8t}{LucidaFax} + +\test{hlh}{b}{it}{hlcdib8t}{LucidaBright-DemiItalic} +\test{hlh}{b}{n}{hlcdb8t}{LucidaBright-Demi} +\test{hlh}{m}{it}{hlcrib8t}{LucidaBright-Italic} +\test{hlh}{m}{n}{hlcrb8t}{LucidaBright} + +\test{hlce}{m}{it}{hlcrie8t}{LucidaCalligraphy-Italic} + +\test{hlcf}{m}{n}{hlcrf8t}{LucidaBlackletter} + +\test{hlcn}{m}{it}{hlcrin8t}{LucidaCasual-Italic} +\test{hlcn}{m}{n}{hlcrn8t}{LucidaCasual} + +\test{hlst}{b}{n}{hlsbt8t}{LucidaSans-TypewriterBold} +\test{hlst}{b}{sl}{hlsbot8t}{LucidaSans-TypewriterBoldOblique} + +\test{hls}{ub}{it}{hlsbi8t}{LucidaSans-BoldItalic} +\test{hls}{ub}{n}{hlsb8t}{LucidaSans-Bold} +\test{hls}{b}{it}{hlsdi8t}{LucidaSans-DemiItalic} +\test{hls}{b}{n}{hlsd8t}{LucidaSans-Demi} +\test{hls}{m}{it}{hlsri8t}{LucidaSans-Italic} +\test{hls}{m}{n}{hlsr8t}{LucidaSans} + +\test{hlct}{b}{n}{hlcbt8t}{LucidaTypewriterBold} +\test{hlct}{b}{sl}{hlcbot8t}{LucidaTypewriterOblique} +\test{hlcw}{m}{it}{hlcriw8t}{LucidaHandwriting-Italic} + +\end{description} +\end{document} +\endinput +%% +%% End of file `lucfont.tex'. diff --git a/texmf-dist/doc/latex/lucidabr/lucida-amsmath.pdf b/texmf-dist/doc/latex/lucidabr/lucida-amsmath.pdf new file mode 100644 index 00000000..3ed7cd1f Binary files /dev/null and b/texmf-dist/doc/latex/lucidabr/lucida-amsmath.pdf differ diff --git a/texmf-dist/doc/latex/lucidabr/lucida-amsmath.tex b/texmf-dist/doc/latex/lucidabr/lucida-amsmath.tex new file mode 100644 index 00000000..48eb29d1 --- /dev/null +++ b/texmf-dist/doc/latex/lucidabr/lucida-amsmath.tex @@ -0,0 +1,2334 @@ +% lucida-amsmath.tex +% Copyright 2005 TeX Users Group. +% +% This file is based on testmath.tex by the AMS. Unrestricted +% permission is granted to copy, modify, and extract portions of this file. +% +% This is a documentation file for the lucidabr package, showing +% advanced mathematical and AMS usage for the Lucida fonts. +% http://tug.org/lucida + +\documentclass{article} +\pagestyle{headings} + +\title{Sample Paper for the \pkg{amsmath} and \pkg{lucidabr} Packages\\ +File name: \fn{\jobname.tex}} +\author{\TeX\ Users Group \& American Mathematical Society} +\date{Version 2.1, 28 November 2005} + +\setlength\textwidth{375pt} + +\usepackage{amsmath,amsthm} +\usepackage[T1]{fontenc} +\usepackage{lucidabr} + +% Some definitions useful in producing this sort of documentation: +\chardef\bslash=`\\ % p. 424, TeXbook +% Normalized (nonbold, nonitalic) tt font, to avoid font +% substitution warning messages if tt is used inside section +% headings and other places where odd font combinations might +% result. +\DeclareRobustCommand*\ntt{\normalfont\ttfamily} +% command name +\newcommand{\cn}[1]{{\ntt\bslash#1}} +% LaTeX package name +\newcommand{\pkg}[1]{{\ntt#1}} +% File name +\newcommand{\fn}[1]{{\ntt#1}} +% environment name +\newcommand{\env}[1]{{\ntt#1}} + +% Theorem environments + +%% \theoremstyle{plain} %% This is the default +\newtheorem{thm}{Theorem}[section] +\newtheorem{cor}[thm]{Corollary} +\newtheorem{lem}[thm]{Lemma} +\newtheorem{prop}[thm]{Proposition} +\newtheorem{ax}{Axiom} + +\theoremstyle{definition} +\newtheorem{defn}{Definition}[section] + +\theoremstyle{remark} +\newtheorem{rem}{Remark}[section] +\newtheorem*{notation}{Notation} + +%\numberwithin{equation}{section} + +\newcommand{\thmref}[1]{Theorem~\ref{#1}} +\newcommand{\secref}[1]{\S\ref{#1}} +\newcommand{\lemref}[1]{Lemma~\ref{#1}} + +\newcommand{\bysame}{\mbox{\rule{3em}{.4pt}}\,} + +% Math definitions + +\newcommand{\A}{\mathcal{A}} +\newcommand{\B}{\mathcal{B}} +\newcommand{\st}{\sigma} +\newcommand{\XcY}{{(X,Y)}} +\newcommand{\SX}{{S_X}} +\newcommand{\SY}{{S_Y}} +\newcommand{\SXY}{{S_{X,Y}}} +\newcommand{\SXgYy}{{S_{X|Y}(y)}} +\newcommand{\Cw}[1]{{\hat C_#1(X|Y)}} +\newcommand{\G}{{G(X|Y)}} +\newcommand{\PY}{{P_{\mathcal{Y}}}} +\newcommand{\X}{\mathcal{X}} +\newcommand{\wt}{\widetilde} +\newcommand{\wh}{\widehat} + +\DeclareMathOperator{\per}{per} +\DeclareMathOperator{\cov}{cov} +\DeclareMathOperator{\non}{non} +\DeclareMathOperator{\cf}{cf} +\DeclareMathOperator{\add}{add} +\DeclareMathOperator{\Cham}{Cham} +\DeclareMathOperator{\IM}{Im} +\DeclareMathOperator{\esssup}{ess\,sup} +\DeclareMathOperator{\meas}{meas} +\DeclareMathOperator{\seg}{seg} + +% \interval is used to provide better spacing after a [ that +% is used as a closing delimiter. +\newcommand{\interval}[1]{\mathinner{#1}} + +% Notation for an expression evaluated at a particular condition. The +% optional argument can be used to override automatic sizing of the +% right vert bar, e.g. \eval[\biggr]{...}_{...} +\newcommand{\eval}[2][\right]{\relax + \ifx#1\right\relax \left.\fi#2#1\rvert} + +% Enclose the argument in vert-bar delimiters: +\newcommand{\envert}[1]{\left\lvert#1\right\rvert} +\let\abs=\envert + +% Enclose the argument in double-vert-bar delimiters: +\newcommand{\enVert}[1]{\left\lVert#1\right\rVert} +\let\norm=\enVert + +\begin{document} +\maketitle +\markboth{Sample paper for the {\ntt\lowercase{amsmath}} and {\ntt\lowercase{lucidabr}} packages} +{Sample paper for the {\ntt\lowercase{amsmath}} and {\ntt\lowercase{lucidabr}} packages} +\renewcommand{\sectionmark}[1]{} + +\section{Introduction} + +{\def\thefootnote{} +% article.cls uses 1.8em for the footnote indent. +\footnotetext{\kern-1.8em \textregistered\ Lucida is a trademark of +Bigelow \& Holmes Inc.\ registered in the U.S. Patent \& Trademark +Office and other jurisdictions.} +} + +This paper contains examples of various features from the widely used +\pkg{amsmath} package used with the Lucida math fonts. + +When loading the packages, you must load \pkg{amsmath} before +\pkg{lucidabr}. Work is planned for improving interaction between these +packages. + +For more information about Lucida and \TeX, and an order form for the +fonts, please see {\tt http://tug.org/store/lucida}. + +\section{Enumeration of Hamiltonian paths in a graph} + +Let $\mathbf{A}=(a_{ij})$ be the adjacency matrix of graph $G$. The +corresponding Kirchhoff matrix $\mathbf{K}=(k_{ij})$ is obtained from +$\mathbf{A}$ by replacing in $-\mathbf{A}$ each diagonal entry by the +degree of its corresponding vertex; i.e., the $i$th diagonal entry is +identified with the degree of the $i$th vertex. It is well known that +\begin{equation} +\det\mathbf{K}(i|i)=\text{ the number of spanning trees of $G$}, +\quad i=1,\dots,n +\end{equation} +where $\mathbf{K}(i|i)$ is the $i$th principal submatrix of +$\mathbf{K}$. +\begin{verbatim} +\det\mathbf{K}(i|i)=\text{ the number of spanning trees of $G$}, +\end{verbatim} + +Let $C_{i(j)}$ be the set of graphs obtained from $G$ by attaching edge +$(v_iv_j)$ to each spanning tree of $G$. Denote by $C_i=\bigcup_j +C_{i(j)}$. It is obvious that the collection of Hamiltonian cycles is a +subset of $C_i$. Note that the cardinality of $C_i$ is $k_{ii}\det +\mathbf{K}(i|i)$. Let $\wh X=\{\hat x_1,\dots,\hat x_n\}$. +\begin{verbatim} +$\wh X=\{\hat x_1,\dots,\hat x_n\}$ +\end{verbatim} +Define multiplication for the elements of $\wh X$ by +\begin{equation}\label{multdef} +\hat x_i\hat x_j=\hat x_j\hat x_i,\quad \hat x^2_i=0,\quad +i,j=1,\dots,n. +\end{equation} +Let $\hat k_{ij}=k_{ij}\hat x_j$ and $\hat k_{ij}=-\sum_{j\not=i} \hat +k_{ij}$. Then the number of Hamiltonian cycles $H_c$ is given by the +relation \cite{liuchow:formalsum} +\begin{equation}\label{H-cycles} +\biggl(\prod^n_{\,j=1}\hat x_j\biggr)H_c=\frac{1}{2}\hat k_{ij}\det +\wh{\mathbf{K}}(i|i),\qquad i=1,\dots,n. +\end{equation} +The task here is to express \eqref{H-cycles} +in a form free of any $\hat x_i$, +$i=1,\dots,n$. The result also leads to the resolution of enumeration of +Hamiltonian paths in a graph. + +It is well known that the enumeration of Hamiltonian cycles and paths in +a complete graph $K_n$ and in a complete bipartite graph $K_{n_1n_2}$ +can only be found from \textit{first combinatorial principles} +\cite{hapa:graphenum}. One wonders if there exists a formula which can +be used very efficiently to produce $K_n$ and $K_{n_1n_2}$. Recently, +using Lagrangian methods, Goulden and Jackson have shown that $H_c$ can +be expressed in terms of the determinant and permanent of the adjacency +matrix \cite{gouja:lagrmeth}. However, the formula of Goulden and +Jackson determines neither $K_n$ nor $K_{n_1n_2}$ effectively. In this +paper, using an algebraic method, we parametrize the adjacency matrix. +The resulting formula also involves the determinant and permanent, but +it can easily be applied to $K_n$ and $K_{n_1n_2}$. In addition, we +eliminate the permanent from $H_c$ and show that $H_c$ can be +represented by a determinantal function of multivariables, each variable +with domain $\{0,1\}$. Furthermore, we show that $H_c$ can be written by +number of spanning trees of subgraphs. Finally, we apply the formulas to +a complete multigraph $K_{n_1\dots n_p}$. + +The conditions $a_{ij}=a_{ji}$, $i,j=1,\dots,n$, are not required in +this paper. All formulas can be extended to a digraph simply by +multiplying $H_c$ by 2. + +\section{Main Theorem} +\label{s:mt} + +\begin{notation} For $p,q\in P$ and $n\in\omega$ we write +$(q,n)\le(p,n)$ if $q\le p$ and $A_{q,n}=A_{p,n}$. +\begin{verbatim} +\begin{notation} For $p,q\in P$ and $n\in\omega$ +... +\end{notation} +\end{verbatim} +\end{notation} + +Let $\mathbf{B}=(b_{ij})$ be an $n\times n$ matrix. Let $\mathbf{n}=\{1, +\dots,n\}$. Using the properties of \eqref{multdef}, it is readily seen +that + +\begin{lem}\label{lem-per} +\begin{equation} +\prod_{i\in\mathbf{n}} +\biggl(\sum_{\,j\in\mathbf{n}}b_{ij}\hat x_i\biggr) +=\biggl(\prod_{\,i\in\mathbf{n}}\hat x_i\biggr)\per \mathbf{B} +\end{equation} +where $\per \mathbf{B}$ is the permanent of $\mathbf{B}$. +\end{lem} + +Let $\wh Y=\{\hat y_1,\dots,\hat y_n\}$. Define multiplication +for the elements of $\wh Y$ by +\begin{equation} +\hat y_i\hat y_j+\hat y_j\hat y_i=0,\quad i,j=1,\dots,n. +\end{equation} +Then, it follows that +\begin{lem}\label{lem-det} +\begin{equation}\label{detprod} +\prod_{i\in\mathbf{n}} +\biggl(\sum_{\,j\in\mathbf{n}}b_{ij}\hat y_j\biggr) +=\biggl(\prod_{\,i\in\mathbf{n}}\hat y_i\biggr)\det\mathbf{B}. +\end{equation} +\end{lem} + +Note that all basic properties of determinants are direct consequences +of Lemma ~\ref{lem-det}. Write +\begin{equation}\label{sum-bij} +\sum_{j\in\mathbf{n}}b_{ij}\hat y_j=\sum_{j\in\mathbf{n}}b^{(\lambda)} +_{ij}\hat y_j+(b_{ii}-\lambda_i)\hat y_i\hat y +\end{equation} +where +\begin{equation} +b^{(\lambda)}_{ii}=\lambda_i,\quad b^{(\lambda)}_{ij}=b_{ij}, +\quad i\not=j. +\end{equation} +Let $\mathbf{B}^{(\lambda)}=(b^{(\lambda)}_{ij})$. By \eqref{detprod} +and \eqref{sum-bij}, it is +straightforward to show the following +result: +\begin{thm}\label{thm-main} +\begin{equation}\label{detB} +\det\mathbf{B}= +\sum^n_{l =0}\sum_{I_l \subseteq n} +\prod_{i\in I_l}(b_{ii}-\lambda_i) +\det\mathbf{B}^{(\lambda)}(I_l |I_l ), +\end{equation} +where $I_l =\{i_1,\dots,i_l \}$ and $\mathbf{B}^{(\lambda)}(I_l |I_l )$ +is the principal submatrix obtained from $\mathbf{B}^{(\lambda)}$ +by deleting its $i_1,\dots,i_l $ rows and columns. +\end{thm} + +\begin{rem} +Let $\mathbf{M}$ be an $n\times n$ matrix. The convention +$\mathbf{M}(\mathbf{n}|\mathbf{n})=1$ has been used in \eqref{detB} and +hereafter. +\end{rem} + +Before proceeding with our discussion, we pause to note that +\thmref{thm-main} yields immediately a fundamental formula which can be +used to compute the coefficients of a characteristic polynomial +\cite{mami:matrixth}: +\begin{cor}\label{BI} +Write $\det(\mathbf{B}-x\mathbf{I})=\sum^n_{l =0}(-1) +^l b_l x^l $. Then +\begin{equation}\label{bl-sum} +b_l =\sum_{I_l \subseteq\mathbf{n}}\det\mathbf{B}(I_l |I_l ). +\end{equation} +\end{cor} +Let +\begin{equation} +\mathbf{K}(t,t_1,\dots,t_n) +=\begin{pmatrix} D_1t&-a_{12}t_2&\dots&-a_{1n}t_n\\ +-a_{21}t_1&D_2t&\dots&-a_{2n}t_n\\ +\hdotsfor[2]{4}\\ +-a_{n1}t_1&-a_{n2}t_2&\dots&D_nt\end{pmatrix}, +\end{equation} +\begin{verbatim} +\begin{pmatrix} D_1t&-a_{12}t_2&\dots&-a_{1n}t_n\\ +-a_{21}t_1&D_2t&\dots&-a_{2n}t_n\\ +\hdotsfor[2]{4}\\ +-a_{n1}t_1&-a_{n2}t_2&\dots&D_nt\end{pmatrix} +\end{verbatim} +where +\begin{equation} +D_i=\sum_{j\in\mathbf{n}}a_{ij}t_j,\quad i=1,\dots,n. +\end{equation} + +Set +\begin{equation*} +D(t_1,\dots,t_n)=\frac{\delta}{\delta t}\eval{\det\mathbf{K}(t,t_1,\dots,t_n) +}_{t=1}. +\end{equation*} +Then +\begin{equation}\label{sum-Di} +D(t_1,\dots,t_n) +=\sum_{i\in\mathbf{n}}D_i\det\mathbf{K}(t=1,t_1,\dots,t_n; i|i), +\end{equation} +where $\mathbf{K}(t=1,t_1,\dots,t_n; i|i)$ is the $i$th principal +submatrix of $\mathbf{K}(t=1,t_1,\dots,t_n)$. + +Theorem ~\ref{thm-main} leads to +\begin{equation}\label{detK1} +\det\mathbf{K}(t_1,t_1,\dots,t_n) +=\sum_{I\in\mathbf{n}}(-1)^{\envert{I}}t^{n-\envert{I}} +\prod_{i\in I}t_i\prod_{j\in I}(D_j+\lambda_jt_j)\det\mathbf{A} +^{(\lambda t)}(\overline{I}|\overline I). +\end{equation} +Note that +\begin{equation}\label{detK2} +\det\mathbf{K}(t=1,t_1,\dots,t_n)=\sum_{I\in\mathbf{n}}(-1)^{\envert{I}} +\prod_{i\in I}t_i\prod_{j\in I}(D_j+\lambda_jt_j)\det\mathbf{A} +^{(\lambda)}(\overline{I}|\overline{I})=0. +\end{equation} + +Let $t_i=\hat x_i,i=1,\dots,n$. Lemma ~\ref{lem-per} yields +\begin{multline} +\biggl(\sum_{\,i\in\mathbf{n}}a_{l _i}x_i\biggr) +\det\mathbf{K}(t=1,x_1,\dots,x_n;l |l )\\ +=\biggl(\prod_{\,i\in\mathbf{n}}\hat x_i\biggr) +\sum_{I\subseteq\mathbf{n}-\{l \}} +(-1)^{\envert{I}}\per\mathbf{A}^{(\lambda)}(I|I) +\det\mathbf{A}^{(\lambda)} +(\overline I\cup\{l \}|\overline I\cup\{l \}). +\label{sum-ali} +\end{multline} +\begin{verbatim} +\begin{multline} +\biggl(\sum_{\,i\in\mathbf{n}}a_{l _i}x_i\biggr) +\det\mathbf{K}(t=1,x_1,\dots,x_n;l |l )\\ +=\biggl(\prod_{\,i\in\mathbf{n}}\hat x_i\biggr) +\sum_{I\subseteq\mathbf{n}-\{l \}} +(-1)^{\envert{I}}\per\mathbf{A}^{(\lambda)}(I|I) +\det\mathbf{A}^{(\lambda)} +(\overline I\cup\{l \}|\overline I\cup\{l \}). +\label{sum-ali} +\end{multline} +\end{verbatim} + +By \eqref{H-cycles}, \eqref{detprod}, and \eqref{sum-bij}, we have +\begin{prop}\label{prop:eg} +\begin{equation} +H_c=\frac1{2n}\sum^n_{l =0}(-1)^{l} +D_{l}, +\end{equation} +where +\begin{equation}\label{delta-l} +D_{l}=\eval[2]{\sum_{I_{l}\subseteq \mathbf{n}} +D(t_1,\dots,t_n)}_{t_i=\left\{\begin{smallmatrix} +0,& \text{if }i\in I_{l}\quad\\% \quad added for centering +1,& \text{otherwise}\end{smallmatrix}\right.\;,\;\; i=1,\dots,n}. +\end{equation} +\end{prop} + +\section{Application} +\label{lincomp} + +We consider here the applications of Theorems~\ref{th-info-ow-ow} and +~\ref{th-weak-ske-owf} to a complete +multipartite graph $K_{n_1\dots n_p}$. It can be shown that the +number of spanning trees of $K_{n_1\dots n_p}$ +may be written +\begin{equation}\label{e:st} +T=n^{p-2}\prod^p_{i=1} +(n-n_i)^{n_i-1} +\end{equation} +where +\begin{equation} +n=n_1+\dots+n_p. +\end{equation} + +It follows from Theorems~\ref{th-info-ow-ow} +and~\ref{th-weak-ske-owf} that +\begin{equation}\label{e:barwq} +\begin{split} +H_c&=\frac1{2n} +\sum^n_{{l}=0}(-1)^{l}(n-{l})^{p-2} +\sum_{l _1+\dots+l _p=l}\prod^p_{i=1} +\binom{n_i}{l _i}\\ +&\quad\cdot[(n-l )-(n_i-l _i)]^{n_i-l _i}\cdot +\biggl[(n-l )^2-\sum^p_{j=1}(n_i-l _i)^2\biggr].\end{split} +\end{equation} +\begin{verbatim} +... \binom{n_i}{l _i}\\ +\end{verbatim} +and +\begin{equation}\label{joe} +\begin{split} +H_c&=\frac12\sum^{n-1}_{l =0} +(-1)^{l}(n-l )^{p-2} +\sum_{l _1+\dots+l _p=l} +\prod^p_{i=1}\binom{n_i}{l _i}\\ +&\quad\cdot[(n-l )-(n_i-l _i)]^{n_i-l _i} +\left(1-\frac{l _p}{n_p}\right) +[(n-l )-(n_p-l _p)]. +\end{split} +\end{equation} + +The enumeration of $H_c$ in a $K_{n_1\dotsm n_p}$ graph can also be +carried out by Theorem ~\ref{thm-H-param} or ~\ref{thm-asym} +together with the algebraic method of \eqref{multdef}. +Some elegant representations may be obtained. For example, $H_c$ in +a $K_{n_1n_2n_3}$ graph may be written +\begin{equation}\label{j:mark} +\begin{split} +H_c=& +\frac{n_1!\,n_2!\,n_3!} +{n_1+n_2+n_3}\sum_i\left[\binom{n_1}{i} +\binom{n_2}{n_3-n_1+i}\binom{n_3}{n_3-n_2+i}\right.\\ +&+\left.\binom{n_1-1}{i} +\binom{n_2-1}{n_3-n_1+i} +\binom{n_3-1}{n_3-n_2+i}\right].\end{split} +\end{equation} + +\section{Secret Key Exchanges} +\label{SKE} + +Modern cryptography is fundamentally concerned with the problem of +secure private communication. A Secret Key Exchange is a protocol +where Alice and Bob, having no secret information in common to start, +are able to agree on a common secret key, conversing over a public +channel. The notion of a Secret Key Exchange protocol was first +introduced in the seminal paper of Diffie and Hellman +\cite{dihe:newdir}. \cite{dihe:newdir} presented a concrete +implementation of a Secret Key Exchange protocol, dependent on a +specific assumption (a variant on the discrete log), specially +tailored to yield Secret Key Exchange. Secret Key Exchange is of +course trivial if trapdoor permutations exist. However, there is no +known implementation based on a weaker general assumption. + +The concept of an informationally one-way function was introduced +in \cite{imlelu:oneway}. We give only an informal definition here: + +\begin{defn} A polynomial time +computable function $f = \{f_k\}$ is informationally +one-way if there is no probabilistic polynomial time algorithm which +(with probability of the form $1 - k^{-e}$ for some $e > 0$) +returns on input $y \in \{0,1\}^{k}$ a random element of $f^{-1}(y)$. +\end{defn} +In the non-uniform setting \cite{imlelu:oneway} show that these are not +weaker than one-way functions: +\begin{thm}[\cite{imlelu:oneway} (non-uniform)] +\label{th-info-ow-ow} +The existence of informationally one-way functions +implies the existence of one-way functions. +\end{thm} +We will stick to the convention introduced above of saying +``non-uniform'' before the theorem statement when the theorem +makes use of non-uniformity. It should be understood that +if nothing is said then the result holds for both the uniform and +the non-uniform models. + +It now follows from \thmref{th-info-ow-ow} that + +\begin{thm}[non-uniform]\label{th-weak-ske-owf} Weak SKE +implies the existence of a one-way function. +\end{thm} + +More recently, the polynomial-time, interior point algorithms for linear +programming have been extended to the case of convex quadratic programs +\cite{moad:quadpro,ye:intalg}, certain linear complementarity problems +\cite{komiyo:lincomp,miyoki:lincomp}, and the nonlinear complementarity +problem \cite{komiyo:unipfunc}. The connection between these algorithms +and the classical Newton method for nonlinear equations is well +explained in \cite{komiyo:lincomp}. + +\section{Review} +\label{computation} + +We begin our discussion with the following definition: + +\begin{defn} + +A function $H\colon \Re^n \to \Re^n$ is said to be +\emph{B-differentiable} at the point $z$ if (i)~$H$ is Lipschitz +continuous in a neighborhood of $z$, and (ii)~ there exists a positive +homogeneous function $BH(z)\colon \Re^n \to \Re^n$, called the +\emph{B-derivative} of $H$ at $z$, such that +\[ \lim_{v \to 0} \frac{H(z+v) - H(z) - BH(z)v}{\enVert{v}} = 0. \] +The function $H$ is \textit{B-differentiable in set $S$} if it is +B-differentiable at every point in $S$. The B-derivative $BH(z)$ is said +to be \textit{strong} if +\[ \lim_{(v,v') \to (0,0)} \frac{H(z+v) - H(z+v') - BH(z)(v + -v')}{\enVert{v - v'}} = 0. \] +\end{defn} + + +\begin{lem}\label{limbog} There exists a smooth function $\psi_0(z)$ +defined for $\abs{z}>1-2a$ satisfying the following properties\textup{:} +\begin{enumerate} +\renewcommand{\labelenumi}{(\roman{enumi})} +\item $\psi_0(z)$ is bounded above and below by positive constants +$c_1\leq \psi_0(z)\leq c_2$. +\item If $\abs{z}>1$, then $\psi_0(z)=1$. +\item For all $z$ in the domain of $\psi_0$, $\Delta_0\ln \psi_0\geq 0$. +\item If $1-2a<\abs{z}<1-a$, then $\Delta_0\ln \psi_0\geq +c_3>0$. +\end{enumerate} +\end{lem} + +\begin{proof} +We choose $\psi_0(z)$ to be a radial function depending only on $r=\abs{z}$. +Let $h(r)\geq 0$ be a suitable smooth function satisfying $h(r)\geq c_3$ +for $1-2a<\abs{z}<1-a$, and $h(r)=0$ for $\abs{z}>1-\tfrac a2$. The radial +Laplacian +\[\Delta_0\ln\psi_0(r)=\left(\frac {d^2}{dr^2}+\frac +1r\frac d{dr}\right)\ln\psi_0(r)\] +has smooth coefficients for $r>1-2a$. Therefore, we may +apply the existence and uniqueness theory for ordinary differential +equations. Simply let $\ln \psi_0(r)$ be the solution of the differential +equation +\[\left(\frac{d^2}{dr^2}+\frac 1r\frac d{dr}\right)\ln \psi_0(r)=h(r)\] +with initial conditions given by $\ln \psi_0(1)=0$ and +$\ln\psi_0'(1)=0$. + +Next, let $D_\nu$ be a finite collection of pairwise disjoint disks, +all of which are contained in the unit disk centered at the origin in +$C$. We assume that $D_\nu=\{z\mid \abs{z-z_\nu}<\delta\}$. Suppose that +$D_\nu(a)$ denotes the smaller concentric disk $D_\nu(a)=\{z\mid +\abs{z-z_\nu}\leq (1-2a)\delta\}$. We define a smooth weight function +$\Phi_0(z)$ for $z\in C-\bigcup_\nu D_\nu(a)$ by setting $\Phi_ +0(z)=1$ when $z\notin \bigcup_\nu D_\nu$ and $\Phi_ +0(z)=\psi_0((z-z_\nu)/\delta)$ when $z$ is an element of $D_\nu$. It +follows from \lemref{limbog} that $\Phi_ 0$ satisfies the properties: +\begin{enumerate} +\renewcommand{\labelenumi}{(\roman{enumi})} +\item \label{boundab}$\Phi_ 0(z)$ is bounded above and below by +positive constants $c_1\leq \Phi_ 0(z)\leq c_2$. +\item \label{d:over}$\Delta_0\ln\Phi_ 0\geq 0$ for all +$z\in C-\bigcup_\nu D_\nu(a)$, +the domain where the function $\Phi_ 0$ is defined. +\item \label{d:ad}$\Delta_0\ln\Phi_ 0\geq c_3\delta^{-2}$ +when $(1-2a)\delta<\abs{z-z_\nu}<(1-a)\delta$. +\end{enumerate} +Let $A_\nu$ denote the annulus $A_\nu=\{(1-2a)\delta<\abs{z-z_\nu}<(1-a) +\delta \}$, and set $A=\bigcup_\nu A_\nu$. The +properties (\ref{d:over}) and (\ref{d:ad}) of $\Phi_ 0$ +may be summarized as $\Delta_0\ln \Phi_ 0\geq c_3\delta^{-2}\chi_A$, +where $\chi _A$ is the characteristic function of $A$. +\end{proof} + +Suppose that $\alpha$ is a nonnegative real constant. We apply +Proposition~\ref{prop:eg} with $\Phi(z)=\Phi_ 0(z) e^{\alpha\abs{z}^2}$. If +$u\in C^\infty_0(R^2-\bigcup_\nu D_\nu(a))$, assume that $\mathcal{D}$ +is a bounded domain containing the support of $u$ and $A\subset +\mathcal{D}\subset R^2-\bigcup_\nu D_\nu(a)$. A calculation gives +\[\int_{\mathcal{D}}\abs{\overline\partial u}^2\Phi_ 0(z) e^{\alpha\abs{z}^2} +\geq c_4\alpha\int_{\mathcal{D}}\abs{u}^2\Phi_ 0e^{\alpha\abs{z}^2} ++c_5\delta^{-2}\int_ A\abs{u}^2\Phi_ 0e^{\alpha\abs{z}^2}.\] + +The boundedness, property (\ref{boundab}) of $\Phi_ 0$, then yields +\[\int_{\mathcal{D}}\abs{\overline\partial u}^2e^{\alpha\abs{z}^2}\geq c_6\alpha +\int_{\mathcal{D}}\abs{u}^2e^{\alpha\abs{z}^2} ++c_7\delta^{-2}\int_ A\abs{u}^2e^{\alpha\abs{z}^2}.\] + +Let $B(X)$ be the set of blocks of $\Lambda_{X}$ +and let $b(X) = \abs{B(X)}$. If $\phi \in Q_{X}$ then +$\phi$ is constant on the blocks of $\Lambda_{X}$. +\begin{equation}\label{far-d} + P_{X} = \{ \phi \in M \mid \Lambda_{\phi} = \Lambda_{X} \}, +\qquad +Q_{X} = \{\phi \in M \mid \Lambda_{\phi} \geq \Lambda_{X} \}. +\end{equation} +If $\Lambda_{\phi} \geq \Lambda_{X}$ then +$\Lambda_{\phi} = \Lambda_{Y}$ for some $Y \geq X$ so that +\[ Q_{X} = \bigcup_{Y \geq X} P_{Y}. \] +Thus by M\"obius inversion +\[ \abs{P_{Y}}= \sum_{X\geq Y} \mu (Y,X)\abs{Q_{X}}.\] +Thus there is a bijection from $Q_{X}$ to $W^{B(X)}$. +In particular $\abs{Q_{X}} = w^{b(X)}$. + +Next note that $b(X)=\dim X$. We see this by choosing a +basis for $X$ consisting of vectors $v^{k}$ defined by +\[v^{k}_{i}= +\begin{cases} 1 & \text{if $i \in \Lambda_{k}$},\\ +0 &\text{otherwise.} \end{cases} +\] +\begin{verbatim} +\[v^{k}_{i}= +\begin{cases} 1 & \text{if $i \in \Lambda_{k}$},\\ +0 &\text{otherwise.} \end{cases} +\] +\end{verbatim} + +\begin{lem}\label{p0201} +Let $\A$ be an arrangement. Then +\[ \chi (\A,t) = \sum_{\B \subseteq \A} +(-1)^{\abs{\B}} t^{\dim T(\B)}. \] +\end{lem} + +In order to compute $R''$ recall the definition +of $S(X,Y)$ from \lemref{lem-per}. Since $H \in \B$, +$\A_{H} \subseteq \B$. Thus if $T(\B) = Y$ then +$\B \in S(H,Y)$. Let $L'' = L(\A'')$. Then +\begin{equation}\label{E_SXgYy} +\begin{split} +R''&= \sum_{H\in \B \subseteq \A} (-1)^{\abs{\B}} +t^{\dim T(\B)}\\ +&= \sum_{Y \in L''} \sum_{\B \in S(H,Y)} +(-1)^{\abs{\B}}t^{\dim Y} \\ +&= -\sum_{Y \in L''} \sum_{\B \in S(H,Y)} (-1)^ +{\abs{\B - \A_{H}}} t^{\dim Y} \\ +&= -\sum_{Y \in L''} \mu (H,Y)t^{\dim Y} \\ +&= -\chi (\A '',t). +\end{split} +\end{equation} + +\begin{cor}\label{tripleA} +Let $(\A,\A',\A'')$ be a triple of arrangements. Then +\[ \pi (\A,t) = \pi (\A',t) + t \pi (\A'',t). \] +\end{cor} + +\begin{defn} +Let $(\A,\A',\A'')$ be a triple with respect to +the hyperplane $H \in \A$. Call $H$ a \textit{separator} +if $T(\A) \not\in L(\A')$. +\end{defn} + +\begin{cor}\label{nsep} +Let $(\A,\A',\A'')$ be a triple with respect to $H \in \A$. +\begin{enumerate} +\renewcommand{\labelenumi}{(\roman{enumi})} +\item +If $H$ is a separator then +\[ \mu (\A) = - \mu (\A'') \] +and hence +\[ \abs{\mu (\A)} = \abs{ \mu (\A'')}. \] + +\item If $H$ is not a separator then +\[\mu (\A) = \mu (\A') - \mu (\A'') \] +and +\[ \abs{\mu (\A)} = \abs{\mu (\A')} + \abs{\mu (\A'')}. \] +\end{enumerate} +\end{cor} + +\begin{proof} +It follows from \thmref{th-info-ow-ow} that $\pi(\A,t)$ +has leading term +\[(-1)^{r(\A)}\mu (\A)t^{r(\A)}.\] +The conclusion +follows by comparing coefficients of the leading +terms on both sides of the equation in +Corollary~\ref{tripleA}. If $H$ is a separator then +$r(\A') < r(\A)$ and there is no contribution +from $\pi (\A',t)$. +\end{proof} + +The Poincar\'e polynomial of an arrangement +will appear repeatedly +in these notes. It will be shown to equal the +Poincar\'e polynomial +of the graded algebras which we are going to +associate with $\A$. It is also the Poincar\'e +polynomial of the complement $M(\A)$ for a +complex arrangement. Here we prove +that the Poincar\'e polynomial is the chamber +counting function for a real arrangement. The +complement $M(\A)$ is a disjoint union of chambers +\[M(\A) = \bigcup_{C \in \Cham(\A)} C.\] +The number +of chambers is determined by the Poincar\'e +polynomial as follows. + +\begin{thm}\label{th-realarr} +Let $\A_{\mathbf{R}}$ be a real arrangement. Then +\[ \abs{\Cham(\A_{\mathbf{R}})} = \pi (\A_{\mathbf{R}},1). \] +\end{thm} + +\begin{proof} +We check the properties required in Corollary~\ref{nsep}: +(i) follows from $\pi (\Phi_{ l},t) = 1$, and (ii) is a +consequence of Corollary~\ref{BI}. +\end{proof} + +\begin{figure} +\vspace{5cm} +(figure intentionally left blank) +\caption[]{$Q(\A_{1}) = xyz(x-z)(x+z)(y-z)(y+z)$} +\end{figure} + +\begin{figure} +\vspace{5cm} +(figure intentionally left blank) +\caption[]{$Q(\A_{2})= xyz(x+y+z)(x+y-z)(x-y+z)(x-y-z)$} +\end{figure} + + +\begin{thm} +\label{T_first_the_int} +Let $\phi$ be a protocol for a random pair $\XcY$. +If one of $\st_\phi(x',y)$ and $\st_\phi(x,y')$ is a prefix of the other +and $(x,y)\in\SXY$, then +\[ +\langle \st_j(x',y)\rangle_{j=1}^\infty +=\langle \st_j(x,y)\rangle_{j=1}^\infty +=\langle \st_j(x,y')\rangle_{j=1}^\infty . +\] +\end{thm} +\begin{proof} +We show by induction on $i$ that +\[ +\langle \st_j(x',y)\rangle_{j=1}^i +=\langle \st_j(x,y)\rangle_{j=1}^i +=\langle \st_j(x,y')\rangle_{j=1}^i. +\] +The induction hypothesis holds vacuously for $i=0$. Assume it holds for +$i-1$, in particular +$[\st_j(x',y)]_{j=1}^{i-1}=[\st_j(x,y')]_{j=1}^{i-1}$. Then one of +$[\st_j(x',y)]_{j=i}^{\infty}$ and $[\st_j(x,y')]_{j=i}^{\infty}$ is a +prefix of the other which implies that one of $\st_i(x',y)$ and +$\st_i(x,y')$ is a prefix of the other. If the $i$th message is +transmitted by $P_\X$ then, by the separate-transmissions property and +the induction hypothesis, $\st_i(x,y)=\st_i(x,y')$, hence one of +$\st_i(x,y)$ and $\st_i(x',y)$ is a prefix of the other. By the +implicit-termination property, neither $\st_i(x,y)$ nor $\st_i(x',y)$ +can be a proper prefix of the other, hence they must be the same and +$\st_i(x',y)=\st_i(x,y)=\st_i(x,y')$. If the $i$th message is +transmitted by $\PY$ then, symmetrically, $\st_i(x,y)=\st_i(x',y)$ by +the induction hypothesis and the separate-transmissions property, and, +then, $\st_i(x,y)=\st_i(x,y')$ by the implicit-termination property, +proving the induction step. +\end{proof} + +If $\phi$ is a protocol for $(X,Y)$, and $(x,y)$, $(x',y)$ are distinct +inputs in $\SXY$, then, by the correct-decision property, +$\langle\st_j(x,y)\rangle_{j=1}^\infty\ne\langle +\st_j(x',y)\rangle_{j=1}^\infty$. + +Equation~(\ref{E_SXgYy}) defined $\PY$'s ambiguity set $\SXgYy$ +to be the set of possible $X$ values when $Y=y$. +The last corollary implies that for all $y\in\SY$, +the multiset% +\footnote{A multiset allows multiplicity of elements. +Hence, $\{0,01,01\}$ is prefix free as a set, but not as a multiset.} +of codewords $\{\st_\phi(x,y):x\in\SXgYy\}$ is prefix free. + +\section{One-Way Complexity} +\label{S_Cp1} + +$\Cw1$, the one-way complexity of a random pair $\XcY$, +is the number of bits $P_\X$ must transmit in the worst case +when $\PY$ is not permitted to transmit any feedback messages. +Starting with $\SXY$, the support set of $\XcY$, we define $\G$, +the \textit{characteristic hypergraph} of $\XcY$, and show that +\[ +\Cw1=\lceil\,\log\chi(\G)\rceil\ . +\] + +Let $\XcY$ be a random pair. For each $y$ in $\SY$, the support set of +$Y$, Equation~(\ref{E_SXgYy}) defined $\SXgYy$ to be the set of possible +$x$ values when $Y=y$. The \textit{characteristic hypergraph} $\G$ of +$\XcY$ has $\SX$ as its vertex set and the hyperedge $\SXgYy$ for each +$y\in\SY$. + + +We can now prove a continuity theorem. +\begin{thm}\label{t:conl} +Let $\Omega \subset\mathbf{R}^n$ be an open set, let +$u\in BV(\Omega ;\mathbf{R}^m)$, and let +\begin{equation}\label{quts} +T^u_x=\left\{y\in\mathbf{R}^m: + y=\tilde u(x)+\left\langle \frac{Du}{\abs{Du}}(x),z +\right\rangle \text{ for some }z\in\mathbf{R}^n\right\} +\end{equation} +for every $x\in\Omega \backslash S_u$. Let $f\colon \mathbf{R}^m\to +\mathbf{R}^k$ be a Lipschitz continuous function such that $f(0)=0$, and +let $v=f(u)\colon \Omega \to \mathbf{R}^k$. Then $v\in BV(\Omega +;\mathbf{R}^k)$ and +\begin{equation} +Jv=\eval{(f(u^+)-f(u^-))\otimes \nu_u\cdot\, +\mathcal{H}_{n-1}}_{S_u}. +\end{equation} +In addition, for $\abs{\wt{D}u}$-almost every $x\in\Omega $ the +restriction of the function $f$ to $T^u_x$ is differentiable at $\tilde +u(x)$ and +\begin{equation} +\wt{D}v=\nabla (\eval{f}_{T^u_x})(\tilde u) +\frac{\wt{D}u}{\abs{\wt{D}u}}\cdot\abs{\wt{D}u}.\end{equation} +\end{thm} + +Before proving the theorem, we state without proof three elementary +remarks which will be useful in the sequel. +\begin{rem}\label{r:omb} +Let $\omega\colon \left]0,+\infty\right[\to \left]0,+\infty\right[$ +be a continuous function such that $\omega (t)\to 0$ as $t\to +0$. Then +\[\lim_{h\to 0^+}g(\omega(h))=L\Leftrightarrow\lim_{h\to +0^+}g(h)=L\] +for any function $g\colon \left]0,+\infty\right[\to \mathbf{R}$. +\end{rem} +\begin{rem}\label{r:dif} +Let $g \colon \mathbf{R}^n\to \mathbf{R}$ be a Lipschitz +continuous function and assume that +\[L(z)=\lim_{h\to 0^+}\frac{g(hz)-g(0)}h\] +exists for every $z\in\mathbf{Q}^n$ and that $L$ is a linear function of +$z$. Then $g$ is differentiable at 0. +\end{rem} +\begin{rem}\label{r:dif0} +Let $A \colon \mathbf{R}^n\to \mathbf{R}^m$ be a linear function, and +let $f \colon \mathbf{R}^m\to \mathbf{R}$ be a function. Then the +restriction of $f$ to the range of $A$ is differentiable at 0 if and +only if $f(A)\colon \mathbf{R}^n\to \mathbf{R}$ is differentiable at 0 +and +\[\nabla(\eval{f}_{\IM(A)})(0)A=\nabla (f(A))(0).\] +\end{rem} + +\begin{proof} + We begin by showing that $v\in BV(\Omega;\mathbf{R}^k)$ and +\begin{equation}\label{e:bomb} +\abs{Dv}(B)\le K\abs{Du}(B)\qquad\forall B\in\mathbf{B}(\Omega ), +\end{equation} +where $K>0$ is the Lipschitz constant of $f$. By \eqref{sum-Di} and by +the approximation result quoted in \secref{s:mt}, it is possible to find +a sequence $(u_h)\subset C^1(\Omega ;\mathbf{R}^m)$ converging to $u$ in +$L^1(\Omega ;\mathbf{R}^m)$ and such that +\[\lim_{h\to +\infty}\int_\Omega \abs{\nabla u_h}\,dx=\abs{Du}(\Omega ).\] +The functions $v_h=f(u_h)$ are locally Lipschitz continuous in $\Omega +$, and the definition of differential implies that $\abs{\nabla v_h}\le +K\abs{\nabla u_h}$ almost everywhere in $\Omega $. The lower semicontinuity +of the total variation and \eqref{sum-Di} yield +\begin{equation} +\begin{split} +\abs{Dv}(\Omega )\le\liminf_{h\to +\infty}\abs{Dv_h}(\Omega) & +=\liminf_{h\to +\infty}\int_\Omega \abs{\nabla v_h}\,dx\\ +&\le K\liminf_{h\to +\infty}\int_\Omega +\abs{\nabla u_h}\,dx=K\abs{Du}(\Omega). +\end{split}\end{equation} +Since $f(0)=0$, we have also +\[\int_\Omega \abs{v}\,dx\le K\int_\Omega \abs{u}\,dx;\] +therefore $u\in BV(\Omega ;\mathbf{R}^k)$. Repeating the same argument +for every open set $A\subset\Omega $, we get \eqref{e:bomb} for every +$B\in\mathbf{B}(\Omega)$, because $\abs{Dv}$, $\abs{Du}$ are Radon measures. To +prove \lemref{limbog}, first we observe that +\begin{equation}\label{e:SS} +S_v\subset S_u,\qquad\tilde v(x)=f(\tilde u(x))\qquad \forall x\in\Omega +\backslash S_u.\end{equation} +In fact, for every $\varepsilon >0$ we have +\[\{y\in B_\rho(x): \abs{v(y)-f(\tilde u(x))}>\varepsilon \}\subset \{y\in +B_\rho(x): \abs{u(y)-\tilde u(x)}>\varepsilon /K\},\] +hence +\[\lim_{\rho\to 0^+}\frac{\abs{\{y\in B_\rho(x): \abs{v(y)-f(\tilde u(x))}> +\varepsilon \}}}{\rho^n}=0\] +whenever $x\in\Omega \backslash S_u$. By a similar argument, if $x\in +S_u$ is a point such that there exists a triplet $(u^+,u^-,\nu_u)$ +satisfying \eqref{detK1}, \eqref{detK2}, then +\[ +(v^+(x)-v^-(x))\otimes \nu_v=(f(u^+(x))-f(u^-(x)))\otimes\nu_u\quad +\text{if }x\in S_v +\] +and $f(u^-(x))=f(u^+(x))$ if $x\in S_u\backslash S_v$. Hence, by (1.8) +we get +\begin{equation*}\begin{split} +Jv(B)=\int_{B\cap S_v}(v^+-v^-)\otimes \nu_v\,d\mathcal{H}_{n-1}&= +\int_{B\cap S_v}(f(u^+)-f(u^-))\otimes \nu_u\,d\mathcal{H}_{n-1}\\ +&=\int_{B\cap S_u}(f(u^+)-f(u^-))\otimes \nu_u\,d\mathcal{H}_{n-1} +\end{split}\end{equation*} +and \lemref{limbog} is proved. +\end{proof} + +To prove \eqref{e:SS}, it is not restrictive to assume that $k=1$. +Moreover, to simplify our notation, from now on we shall assume that +$\Omega = \mathbf{R}^n$. The proof of \eqref{e:SS} is divided into two +steps. In the first step we prove the statement in the one-dimensional +case $(n=1)$, using \thmref{th-weak-ske-owf}. In the second step we +achieve the general result using \thmref{t:conl}. + +\subsection*{Step 1} +Assume that $n=1$. Since $S_u$ is at most countable, \eqref{sum-bij} +yields that $\abs{\wt{D}v}(S_u\backslash S_v)=0$, so that +\eqref{e:st} and \eqref{e:barwq} imply that $Dv=\wt{D}v+Jv$ is +the Radon-Nikod\'ym decomposition of $Dv$ in absolutely continuous and +singular part with respect to $\abs{\wt{D} u}$. By +\thmref{th-weak-ske-owf}, we have +\begin{equation*} +\frac{\wt{D}v}{\abs{\wt{D}u}}(t)=\lim_{s\to t^+} +\frac{Dv(\interval{\left[t,s\right[})} +{\abs{\wt{D}u}(\interval{\left[t,s\right[})},\qquad +\frac{\wt{D}u}{\abs{\wt{D}u}}(t)=\lim_{s\to t^+} +\frac{Du(\interval{\left[t,s\right[})} +{\abs{\wt{D}u}(\interval{\left[t,s\right[})} +\end{equation*} +$\abs{\wt{D}u}$-almost everywhere in $\mathbf{R}$. It is well known +(see, for instance, \cite[2.5.16]{ste:sint}) that every one-dimensional +function of bounded variation $w$ has a unique left continuous +representative, i.e., a function $\hat w$ such that $\hat w=w$ almost +everywhere and $\lim_{s\to t^-}\hat w(s)=\hat w(t)$ for every $t\in +\mathbf{R}$. These conditions imply +\begin{equation} +\hat u(t)=Du(\interval{\left]-\infty,t\right[}), +\qquad \hat v(t)=Dv(\interval{\left]-\infty,t\right[})\qquad +\forall t\in\mathbf{R} +\end{equation} +and +\begin{equation}\label{alimo} +\hat v(t)=f(\hat u(t))\qquad\forall t\in\mathbf{R}.\end{equation} +Let $t\in\mathbf{R}$ be such that +$\abs{\wt{D}u}(\interval{\left[t,s\right[})>0$ for every $s>t$ and +assume that the limits in \eqref{joe} exist. By \eqref{j:mark} and +\eqref{far-d} we get +\begin{equation*}\begin{split} +\frac{\hat v(s)-\hat +v(t)}{\abs{\wt{D}u}(\interval{\left[t,s\right[})}&=\frac {f(\hat +u(s))-f(\hat u(t))}{\abs{\wt{D}u}(\interval{\left[t,s\right[})}\\ +&=\frac{f(\hat u(s))-f(\hat +u(t)+\dfrac{\wt{D}u}{\abs{\wt{D}u}}(t)\abs{\wt{D}u +}(\interval{\left[t,s\right[}))}% +{\abs{\wt{D}u}(\interval{\left[t,s\right[})}\\ +&+\frac +{f(\hat u(t)+\dfrac{\wt{D}u}{\abs{\wt{D}u}}(t)\abs{\wt{D} +u}(\interval{\left[t,s\right[}))-f(\hat +u(t))}{\abs{\wt{D}u}(\interval{\left[t,s\right[})} +\end{split}\end{equation*} +for every $s>t$. Using the Lipschitz condition on $f$ we find +{\setlength{\multlinegap}{0pt} +\begin{multline*} +\left\lvert\frac{\hat v(s)-\hat +v(t)}{\abs{\wt{D}u}(\interval{\left[t,s\right[})} -\frac{f(\hat +u(t)+\dfrac{\wt{D}u}{\abs{\wt{D}u}}(t) +\abs{\wt{D}u}(\interval{\left[t,s\right[}))-f(\hat +u(t))}{\abs{\wt{D}u}(\interval{\left[t,s\right[})}\right\rvert\\ +\le K\left\lvert +\frac{\hat u(s)-\hat u(t)} + {\abs{\wt{D}u}(\interval{\left[t,s\right[})} +-\frac{\wt{D}u}{\abs{ +\wt{D}u}}(t)\right\rvert.\end{multline*} +}% end of group with \multlinegap=0pt +By \eqref{e:bomb}, the function $s\to +\abs{\wt{D}u}(\interval{\left[t,s\right[})$ is continuous and +converges to 0 as $s\downarrow t$. Therefore Remark~\ref{r:omb} and the +previous inequality imply +\[\frac{\wt{D}v}{\abs{\wt{D}u}}(t)=\lim_{h\to 0^+} +\frac{f(\hat u(t)+h\dfrac{\wt{D}u}{\abs{\wt{D}u}} +(t))-f(\hat u(t))}h\quad\abs{\wt{D}u}\text{-a.e. in }\mathbf{R}.\] +By \eqref{joe}, $\hat u(x)=\tilde u(x)$ for every +$x\in\mathbf{R}\backslash S_u$; moreover, applying the same argument to +the functions $u'(t)=u(-t)$, $v'(t)=f(u'(t))=v(-t)$, we get +\[\frac{\wt{D}v}{\abs{\wt{D}u}}(t)=\lim_{h\to 0} +\frac{f(\tilde u(t) ++h\dfrac{\wt{D}u}{\abs{\wt{D}u}}(t))-f(\tilde u(t))}{h} +\qquad\abs{\wt{D}u}\text{-a.e. in }\mathbf{R}\] +and our statement is proved. + +\subsection*{Step 2} + +Let us consider now the general case $n>1$. Let $\nu\in \mathbf{R}^n$ be +such that $\abs{\nu}=1$, and let $\pi_\nu=\{y\in\mathbf{R}^n: \langle +y,\nu\rangle =0\}$. In the following, we shall identify $\mathbf{R}^n$ +with $\pi_\nu\times\mathbf{R}$, and we shall denote by $y$ the variable +ranging in $\pi_\nu$ and by $t$ the variable ranging in $\mathbf{R}$. By +the just proven one-dimensional result, and by \thmref{thm-main}, we get +\[\lim_{h\to 0}\frac{f(\tilde u(y+t\nu)+h\dfrac{\wt{D}u_y}{\abs{ +\wt{D}u_y}}(t))-f(\tilde u(y+t\nu))}h=\frac{\wt{D}v_y}{\abs{ +\wt{D}u_y}}(t)\qquad\abs{\wt{D}u_y}\text{-a.e. in }\mathbf{R}\] +for $\mathcal{H}_{n-1}$-almost every $y\in \pi_\nu$. We claim that +\begin{equation} +\frac{\langle \wt{D}u,\nu\rangle }{\abs{\langle \wt{D}u,\nu\rangle +}}(y+t\nu)=\frac{\wt{D}u_y} +{\abs{\wt{D}u_y}}(t)\qquad\abs{\wt{D}u_y}\text{-a.e. in }\mathbf{R} +\end{equation} +for $\mathcal{H}_{n-1}$-almost every $y\in\pi_\nu$. In fact, by +\eqref{sum-ali} and \eqref{delta-l} we get +\begin{multline*} +\int_{\pi_\nu}\frac{\wt{D}u_y}{\abs{\wt{D}u_y}}\cdot\abs{\wt{D}u_y +}\,d\mathcal{H}_{n-1}(y)=\int_{\pi_\nu}\wt{D}u_y\,d\mathcal{H}_{n-1}(y)\\ +=\langle \wt{D}u,\nu\rangle =\frac +{\langle \wt{D}u,\nu\rangle }{\abs{\langle \wt{D}u,\nu\rangle}}\cdot +\abs{\langle \wt{D}u,\nu\rangle }=\int_{\pi_\nu}\frac{ +\langle \wt{D}u,\nu\rangle }{\abs{\langle \wt{D}u,\nu\rangle }} +(y+\cdot \nu)\cdot\abs{\wt{D}u_y}\,d\mathcal{H}_{n-1}(y) +\end{multline*} +and \eqref{far-d} follows from \eqref{sum-Di}. By the same argument it +is possible to prove that +\begin{equation} +\frac{\langle \wt{D}v,\nu\rangle }{\abs{\langle \wt{D}u,\nu\rangle +}}(y+t\nu)=\frac{\wt{D}v_y}{\abs{\wt{D}u_y}}(t)\qquad\abs{ +\wt{D}u_y}\text{-a.e. in }\mathbf{R}\end{equation} +for $\mathcal{H}_{n-1}$-almost every $y\in \pi_\nu$. By \eqref{far-d} +and \eqref{E_SXgYy} we get +\[ +\lim_{h\to 0}\frac{f(\tilde u(y+t\nu)+h\dfrac{\langle \wt{D} +u,\nu\rangle }{\abs{\langle \wt{D}u,\nu\rangle }}(y+t\nu))-f(\tilde +u(y+t\nu))}{h} +=\frac{\langle \wt{D}v,\nu\rangle }{\abs{\langle +\wt{D}u,\nu\rangle }}(y+t\nu)\] +for $\mathcal{H}_{n-1}$-almost every $y\in\pi_\nu$, and using again +\eqref{detK1}, \eqref{detK2} we get +\[ +\lim_{h\to 0}\frac{f(\tilde u(x)+h\dfrac{\langle +\wt{D}u,\nu\rangle }{\abs{\langle \wt{D}u,\nu\rangle }}(x))-f(\tilde +u(x))}{h}=\frac{\langle \wt{D}v,\nu\rangle }{\abs{\langle \wt{D}u,\nu +\rangle }}(x) +\] +$\abs{\langle \wt{D}u,\nu\rangle}$-a.e. in $\mathbf{R}^n$. + +Since the function $\abs{\langle \wt{D}u,\nu\rangle }/\abs{\wt{D}u}$ +is strictly positive $\abs{\langle \wt{D}u,\nu\rangle }$-almost everywhere, +we obtain also +\begin{multline*} +\lim_{h\to 0}\frac{f(\tilde u(x)+h\dfrac{\abs{\langle +\wt{D}u,\nu\rangle }}{\abs{\wt{D}u}}(x)\dfrac{\langle \wt{D} +u,\nu\rangle }{\abs{\langle \wt{D}u,\nu\rangle }}(x))-f(\tilde u(x))}{h}\\ +=\frac{\abs{\langle \wt{D}u,\nu\rangle }}{\abs{\wt{D}u}}(x)\frac +{\langle \wt{D}v,\nu\rangle }{\abs{\langle +\wt{D}u,\nu\rangle }}(x) +\end{multline*} +$\abs{\langle \wt{D}u,\nu\rangle }$-almost everywhere in $\mathbf{R}^n$. + +Finally, since +\begin{align*} +&\frac{\abs{\langle \wt{D}u,\nu\rangle }}{\abs{\wt{D}u}} +\frac{\langle \wt{D}u,\nu\rangle }{\abs{\langle \wt{D}u,\nu\rangle}} +=\frac{\langle \wt{D}u,\nu\rangle }{\abs{\wt{D}u}} +=\left\langle \frac{\wt{D}u}{\abs{\wt{D}u}},\nu\right\rangle + \qquad\abs{\wt{D}u}\text{-a.e. in }\mathbf{R}^n\\ +&\frac{\abs{\langle \wt{D}u,\nu\rangle }}{\abs{\wt{D}u}} +\frac{\langle \wt{D}v,\nu\rangle }{\abs{\langle \wt{D}u,\nu\rangle}} +=\frac{\langle \wt{D}v,\nu\rangle }{\abs{\wt{D}u}} +=\left\langle \frac{\wt{D}v}{\abs{\wt{D}u}},\nu\right\rangle + \qquad\abs{\wt{D}u}\text{-a.e. in }\mathbf{R}^n +\end{align*} +and since both sides of \eqref{alimo} +are zero $\abs{\wt{D}u}$-almost everywhere +on $\abs{\langle \wt{D}u,\nu\rangle }$-negligible sets, we conclude that +\[ +\lim_{h\to 0}\frac{f\left( +\tilde u(x)+h\left\langle \dfrac{\wt{D} +u}{\abs{\wt{D}u}}(x),\nu\right\rangle \right)-f(\tilde u(x))}h +=\left\langle \frac{\wt{D}v}{\abs{\wt{D}u}}(x),\nu\right\rangle, +\] +$\abs{\wt{D}u}$-a.e. in $\mathbf{R}^n$. +Since $\nu$ is arbitrary, by Remarks \ref{r:dif} and~\ref{r:dif0} +the restriction of $f$ to +the affine space $T^u_x$ is differentiable at $\tilde u(x)$ for $\abs{\wt{D} +u}$-almost every $x\in \mathbf{R}^n$ and \eqref{quts} holds.\qed + +It follows from \eqref{sum-Di}, \eqref{detK1}, and \eqref{detK2} that +\begin{equation}\label{Dt} +D(t_1,\dots,t_n)=\sum_{I\in\mathbf{n}}(-1)^{\abs{I}-1}\abs{I} +\prod_{i\in I}t_i\prod_{j\in I}(D_j+\lambda_jt_j)\det\mathbf{A}^{(\lambda)} +(\overline I|\overline I). +\end{equation} +Let $t_i=\hat x_i$, $i=1,\dots,n$. Lemma 1 leads to +\begin{equation}\label{Dx} +D(\hat x_1,\dots,\hat x_n)=\prod_{i\in\mathbf{n}}\hat x_i +\sum_{I\in\mathbf{n}}(-1)^{\abs{I}-1}\abs{I}\per \mathbf{A} +^{(\lambda)}(I|I)\det\mathbf{A}^{(\lambda)}(\overline I|\overline I). +\end{equation} +By \eqref{H-cycles}, \eqref{sum-Di}, and \eqref{Dx}, +we have the following result: +\begin{thm}\label{thm-H-param} +\begin{equation}\label{H-param} +H_c=\frac{1}{2n}\sum^n_{l =1}l (-1)^{l -1}A_{l} +^{(\lambda)}, +\end{equation} +where +\begin{equation}\label{A-l-lambda} +A^{(\lambda)}_l =\sum_{I_l \subseteq\mathbf{n}}\per \mathbf{A} +^{(\lambda)}(I_l |I_l )\det\mathbf{A}^{(\lambda)} +(\overline I_{l}|\overline I_l ),\abs{I_{l}}=l . +\end{equation} +\end{thm} + +It is worth noting that $A_l ^{(\lambda)}$ of \eqref{A-l-lambda} is +similar to the coefficients $b_l $ of the characteristic polynomial of +\eqref{bl-sum}. It is well known in graph theory that the coefficients +$b_l $ can be expressed as a sum over certain subgraphs. It is +interesting to see whether $A_l $, $\lambda=0$, structural properties +of a graph. + +We may call \eqref{H-param} a parametric representation of $H_c$. In +computation, the parameter $\lambda_i$ plays very important roles. The +choice of the parameter usually depends on the properties of the given +graph. For a complete graph $K_n$, let $\lambda_i=1$, $i=1,\dots,n$. +It follows from \eqref{A-l-lambda} that +\begin{equation}\label{compl-gr} +A^{(1)}_l =\begin{cases} n!,&\text{if }l =1\\ +0,&\text{otherwise}.\end{cases} +\end{equation} +By \eqref{H-param} +\begin{equation} +H_c=\frac 12(n-1)!. +\end{equation} +For a complete bipartite graph $K_{n_1n_2}$, let $\lambda_i=0$, $i=1,\dots,n$. +By \eqref{A-l-lambda}, +\begin{equation} +A_l = +\begin{cases} -n_1!n_2!\delta_{n_1n_2},&\text{if }l =2\\ +0,&\text{otherwise }.\end{cases} +\label{compl-bip-gr} +\end{equation} +Theorem ~\ref{thm-H-param} +leads to +\begin{equation} +H_c=\frac1{n_1+n_2}n_1!n_2!\delta_{n_1n_2}. +\end{equation} + +Now, we consider an asymmetrical approach. Theorem \ref{thm-main} leads to +\begin{multline} +\det\mathbf{K}(t=1,t_1,\dots,t_n;l |l )\\ +=\sum_{I\subseteq\mathbf{n}-\{l \}} +(-1)^{\abs{I}}\prod_{i\in I}t_i\prod_{j\in I} +(D_j+\lambda_jt_j)\det\mathbf{A}^{(\lambda)} +(\overline I\cup\{l \}|\overline I\cup\{l \}). +\end{multline} + +By \eqref{H-cycles} and \eqref{sum-ali} we have the following asymmetrical +result: +\begin{thm}\label{thm-asym} +\begin{equation} +H_c=\frac12\sum_{I\subseteq\mathbf{n}-\{l \}} +(-1)^{\abs{I}}\per\mathbf{A}^{(\lambda)}(I|I)\det +\mathbf{A}^{(\lambda)} +(\overline I\cup\{l \}|\overline I\cup\{l \}) +\end{equation} +which reduces to Goulden--Jackson's formula when $\lambda_i=0,i=1,\dots,n$ +\cite{mami:matrixth}. +\end{thm} + +\section{Various font features of the \pkg{amsmath} package} +\label{s:font} +\subsection{Bold versions of special symbols} + +In the \pkg{amsmath} package \cn{boldsymbol} is used for getting +individual bold math symbols and bold Greek letters---everything in +math except for letters of the Latin alphabet, +where you'd use \cn{mathbf}. For example, +\begin{verbatim} +A_\infty + \pi A_0 \sim +\mathbf{A}_{\boldsymbol{\infty}} \boldsymbol{+} +\boldsymbol{\pi} \mathbf{A}_{\boldsymbol{0}} +\end{verbatim} +looks like this: +\[A_\infty + \pi A_0 \sim \mathbf{A}_{\boldsymbol{\infty}} +\boldsymbol{+} \boldsymbol{\pi} \mathbf{A}_{\boldsymbol{0}}\] + +\subsection{``Poor man's bold''} +If a bold version of a particular symbol doesn't exist in the +available fonts, +then \cn{boldsymbol} can't be used to make that symbol bold. +At the present time, this means that +\cn{boldsymbol} can't be used with symbols from +the \fn{msam} and \fn{msbm} fonts, among others. +In some cases, poor man's bold (\cn{pmb}) can be used instead +of \cn{boldsymbol}: +% Can't show example from msam or msbm because this document is +% supposed to be TeXable even if the user doesn't have +% AMSFonts. MJD 5-JUL-1990 +\[\frac{\partial x}{\partial y} +\pmb{\bigg\vert} +\frac{\partial y}{\partial z}\] +\begin{verbatim} +\[\frac{\partial x}{\partial y} +\pmb{\bigg\vert} +\frac{\partial y}{\partial z}\] +\end{verbatim} +So-called ``large operator'' symbols such as $\sum$ and $\prod$ +require an additional command, \cn{mathop}, +to produce proper spacing and limits when \cn{pmb} is used. +For further details see \textit{The \TeX book}. +\[\sum_{\substack{i\alpha\} +=\meas_n\{x\in R^n\colon \abs{f(x)}\geq\alpha\} +\quad \forall\alpha>0.\] +\begin{verbatim} +\[\meas_1\{u\in R_+^1\colon f^*(u)>\alpha\} +=\meas_n\{x\in R^n\colon \abs{f(x)}\geq\alpha\} +\quad \forall\alpha>0.\] +\end{verbatim} +\cn{esssup} and \cn{meas} would be defined in the document preamble as +\begin{verbatim} +\DeclareMathOperator*{\esssup}{ess\,sup} +\DeclareMathOperator{\meas}{meas} +\end{verbatim} + +The following special operator names are predefined in the \pkg{amsmath} +package: \cn{varlimsup}, \cn{varliminf}, \cn{varinjlim}, and +\cn{varprojlim}. Here's what they look like in use: +\begin{align} +&\varlimsup_{n\rightarrow\infty} + \mathcal{Q}(u_n,u_n-u^{\#})\le0\\ +&\varliminf_{n\rightarrow\infty} + \left\lvert a_{n+1}\right\rvert/\left\lvert a_n\right\rvert=0\\ +&\varinjlim (m_i^\lambda\cdot)^*\le0\\ +&\varprojlim_{p\in S(A)}A_p\le0 +\end{align} +\begin{verbatim} +\begin{align} +&\varlimsup_{n\rightarrow\infty} + \mathcal{Q}(u_n,u_n-u^{\#})\le0\\ +&\varliminf_{n\rightarrow\infty} + \left\lvert a_{n+1}\right\rvert/\left\lvert a_n\right\rvert=0\\ +&\varinjlim (m_i^\lambda\cdot)^*\le0\\ +&\varprojlim_{p\in S(A)}A_p\le0 +\end{align} +\end{verbatim} + +\subsection{\cn{mod} and its relatives} +The commands \cn{mod} and \cn{pod} are variants of +\cn{pmod} preferred by some authors; \cn{mod} omits the parentheses, +whereas \cn{pod} omits the `mod' and retains the parentheses. +Examples: +\begin{align} +x&\equiv y+1\pmod{m^2}\\ +x&\equiv y+1\mod{m^2}\\ +x&\equiv y+1\pod{m^2} +\end{align} +\begin{verbatim} +\begin{align} +x&\equiv y+1\pmod{m^2}\\ +x&\equiv y+1\mod{m^2}\\ +x&\equiv y+1\pod{m^2} +\end{align} +\end{verbatim} + +\subsection{Fractions and related constructions} +\label{fracs} + +The usual notation for binomials is similar to the fraction concept, +so it has a similar command \cn{binom} with two arguments. Example: +\begin{equation} +\begin{split} +\sum_{\gamma\in\Gamma_C} I_\gamma& +=2^k-\binom{k}{1}2^{k-1}+\binom{k}{2}2^{k-2}\\ +&\quad+\dots+(-1)^l\binom{k}{l}2^{k-l} ++\dots+(-1)^k\\ +&=(2-1)^k=1 +\end{split} +\end{equation} +\begin{verbatim} +\begin{equation} +\begin{split} +[\sum_{\gamma\in\Gamma_C} I_\gamma& +=2^k-\binom{k}{1}2^{k-1}+\binom{k}{2}2^{k-2}\\ +&\quad+\dots+(-1)^l\binom{k}{l}2^{k-l} ++\dots+(-1)^k\\ +&=(2-1)^k=1 +\end{split} +\end{equation} +\end{verbatim} +There are also abbreviations +\begin{verbatim} +\dfrac \dbinom +\tfrac \tbinom +\end{verbatim} +for the commonly needed constructions +\begin{verbatim} +{\displaystyle\frac ... } {\displaystyle\binom ... } +{\textstyle\frac ... } {\textstyle\binom ... } +\end{verbatim} + +The generalized fraction command \cn{genfrac} provides full access to +the six \TeX{} fraction primitives: +\begin{align} +\text{\cn{over}: }&\genfrac{}{}{}{}{n+1}{2}& +\text{\cn{overwithdelims}: }& + \genfrac{\langle}{\rangle}{}{}{n+1}{2}\\ +\text{\cn{atop}: }&\genfrac{}{}{0pt}{}{n+1}{2}& +\text{\cn{atopwithdelims}: }& + \genfrac{(}{)}{0pt}{}{n+1}{2}\\ +\text{\cn{above}: }&\genfrac{}{}{1pt}{}{n+1}{2}& +\text{\cn{abovewithdelims}: }& + \genfrac{[}{]}{1pt}{}{n+1}{2} +\end{align} +\begin{verbatim} +\text{\cn{over}: }&\genfrac{}{}{}{}{n+1}{2}& +\text{\cn{overwithdelims}: }& + \genfrac{\langle}{\rangle}{}{}{n+1}{2}\\ +\text{\cn{atop}: }&\genfrac{}{}{0pt}{}{n+1}{2}& +\text{\cn{atopwithdelims}: }& + \genfrac{(}{)}{0pt}{}{n+1}{2}\\ +\text{\cn{above}: }&\genfrac{}{}{1pt}{}{n+1}{2}& +\text{\cn{abovewithdelims}: }& + \genfrac{[}{]}{1pt}{}{n+1}{2} +\end{verbatim} + +\subsection{Continued fractions} +The continued fraction +\begin{equation} +\cfrac{1}{\sqrt{2}+ + \cfrac{1}{\sqrt{2}+ + \cfrac{1}{\sqrt{2}+ + \cfrac{1}{\sqrt{2}+ + \cfrac{1}{\sqrt{2}+\dotsb +}}}}} +\end{equation} +can be obtained by typing +\begin{verbatim} +\cfrac{1}{\sqrt{2}+ + \cfrac{1}{\sqrt{2}+ + \cfrac{1}{\sqrt{2}+ + \cfrac{1}{\sqrt{2}+ + \cfrac{1}{\sqrt{2}+\dotsb +}}}}} +\end{verbatim} +Left or right placement of any of the numerators is accomplished by using +\cn{cfrac[l]} or \cn{cfrac[r]} instead of \cn{cfrac}. + +\subsection{Smash} + +In \pkg{amsmath} there are optional arguments \verb"t" and \verb"b" for +the plain \TeX\ command \cn{smash}, because sometimes it is advantageous +to be able to `smash' only the top or only the bottom of something while +retaining the natural depth or height. In the formula +$X_j=(1/\sqrt{\smash[b]{\lambda_j}})X_j'$ \cn{smash}\verb=[b]= has been +used to limit the size of the radical symbol. +\begin{verbatim} +$X_j=(1/\sqrt{\smash[b]{\lambda_j}})X_j'$ +\end{verbatim} +Without the use of \cn{smash}\verb=[b]= the formula would have appeared +thus: $X_j=(1/\sqrt{\lambda_j})X_j'$, with the radical extending to +encompass the depth of the subscript $j$. + +\subsection{The `cases' environment} +`Cases' constructions like the following can be produced using +the \env{cases} environment. +\begin{equation} +P_{r-j}= + \begin{cases} + 0& \text{if $r-j$ is odd},\\ + r!\,(-1)^{(r-j)/2}& \text{if $r-j$ is even}. + \end{cases} +\end{equation} +\begin{verbatim} +\begin{equation} P_{r-j}= + \begin{cases} + 0& \text{if $r-j$ is odd},\\ + r!\,(-1)^{(r-j)/2}& \text{if $r-j$ is even}. + \end{cases} +\end{equation} +\end{verbatim} +Notice the use of \cn{text} and the embedded math. + +\subsection{Matrix} + +Here are samples of the matrix environments, +\cn{matrix}, \cn{pmatrix}, \cn{bmatrix}, \cn{Bmatrix}, \cn{vmatrix} +and \cn{Vmatrix}: +\begin{equation} +\begin{matrix} +\vartheta& \varrho\\\varphi& \varpi +\end{matrix}\quad +\begin{pmatrix} +\vartheta& \varrho\\\varphi& \varpi +\end{pmatrix}\quad +\begin{bmatrix} +\vartheta& \varrho\\\varphi& \varpi +\end{bmatrix}\quad +\begin{Bmatrix} +\vartheta& \varrho\\\varphi& \varpi +\end{Bmatrix}\quad +\begin{vmatrix} +\vartheta& \varrho\\\varphi& \varpi +\end{vmatrix}\quad +\begin{Vmatrix} +\vartheta& \varrho\\\varphi& \varpi +\end{Vmatrix} +\end{equation} +% +\begin{verbatim} +\begin{matrix} +\vartheta& \varrho\\\varphi& \varpi +\end{matrix}\quad +\begin{pmatrix} +\vartheta& \varrho\\\varphi& \varpi +\end{pmatrix}\quad +\begin{bmatrix} +\vartheta& \varrho\\\varphi& \varpi +\end{bmatrix}\quad +\begin{Bmatrix} +\vartheta& \varrho\\\varphi& \varpi +\end{Bmatrix}\quad +\begin{vmatrix} +\vartheta& \varrho\\\varphi& \varpi +\end{vmatrix}\quad +\begin{Vmatrix} +\vartheta& \varrho\\\varphi& \varpi +\end{Vmatrix} +\end{verbatim} + +To produce a small matrix suitable for use in text, use the +\env{smallmatrix} environment. +\begin{verbatim} +\begin{math} + \bigl( \begin{smallmatrix} + a&b\\ c&d + \end{smallmatrix} \bigr) +\end{math} +\end{verbatim} +To show +the effect of the matrix on the surrounding lines of +a paragraph, we put it here: \begin{math} + \bigl( \begin{smallmatrix} + a&b\\ c&d + \end{smallmatrix} \bigr) +\end{math} +and follow it with enough text to ensure that there will +be at least one full line below the matrix. + +\cn{hdotsfor}\verb"{"\textit{number}\verb"}" produces a row of dots in a matrix +spanning the given number of columns: +\[W(\Phi)= \begin{Vmatrix} +\dfrac\varphi{(\varphi_1,\varepsilon_1)}&0&\dots&0\\ +\dfrac{\varphi k_{n2}}{(\varphi_2,\varepsilon_1)}& +\dfrac\varphi{(\varphi_2,\varepsilon_2)}&\dots&0\\ +\hdotsfor{5}\\ +\dfrac{\varphi k_{n1}}{(\varphi_n,\varepsilon_1)}& +\dfrac{\varphi k_{n2}}{(\varphi_n,\varepsilon_2)}&\dots& +\dfrac{\varphi k_{n\,n-1}}{(\varphi_n,\varepsilon_{n-1})}& +\dfrac{\varphi}{(\varphi_n,\varepsilon_n)} +\end{Vmatrix}\] +\begin{verbatim} +\[W(\Phi)= \begin{Vmatrix} +\dfrac\varphi{(\varphi_1,\varepsilon_1)}&0&\dots&0\\ +\dfrac{\varphi k_{n2}}{(\varphi_2,\varepsilon_1)}& +\dfrac\varphi{(\varphi_2,\varepsilon_2)}&\dots&0\\ +\hdotsfor{5}\\ +\dfrac{\varphi k_{n1}}{(\varphi_n,\varepsilon_1)}& +\dfrac{\varphi k_{n2}}{(\varphi_n,\varepsilon_2)}&\dots& +\dfrac{\varphi k_{n\,n-1}}{(\varphi_n,\varepsilon_{n-1})}& +\dfrac{\varphi}{(\varphi_n,\varepsilon_n)} +\end{Vmatrix}\] +\end{verbatim} +The spacing of the dots can be varied through use of a square-bracket +option, for example, \verb"\hdotsfor[1.5]{3}". The number in square brackets +will be used as a multiplier; the normal value is 1. + +\subsection{The \cn{substack} command} + +The \cn{substack} command can be used to produce a multiline +subscript or superscript: +for example +\begin{verbatim} +\sum_{\substack{0\le i\le m\\ 0 + \ProvidesFile{lucidabr.dtx} +% +%\NeedsTeXFormat{LaTeX2e} +%\ProvidesPackage{lucidabr} +%\ProvidesPackage{lucidbrb} +%\ProvidesPackage{lucidbry} +%\ProvidesPackage{lucbmath} +%\ProvidesPackage{lucmtime} +%\ProvidesPackage{luctime} +%\ProvidesPackage{lucmin} +%\ProvidesPackage{lucid} +%\ProvidesFile{lucfont.tex} +%\ProvidesFile{lucida.drv} +% \fi +% \ProvidesFile{lucidabr.dtx} + [2005/11/29 v4.3 % +% Lucida Bright + +% Lucida Bright (Compatibility, KB Names) +% Lucida Bright (Compatibility, Y&Y Names) +% Lucida New Math + Lucida Expert +% + Adobe Times +% + Monotype Times +% + Minion +% Lucida Bright text font test + (SPQR/DPC/TUG)] +% \iffalse +%<*driver> +\documentclass{ltxdoc} +\usepackage[set]{longtable}% `set' in case an old copy of the package +\begin{document} +\DocInput{lucidabr.dtx} +\end{document} +% +% \fi +% +% \CheckSum{2079} +% +% \GetFileInfo{lucidabr.dtx} +% +% \title{The \textsf{lucidabr} package\thanks{This file +% has version number \fileversion, last +% revised \filedate.\newline +% \textregistered\ Lucida is a trademark of Bigelow \& Holmes Inc.\ +% registered in the U.S. Patent \& Trademark Office and other jurisdictions.}} +% \author{Sebastian Rahtz, David Carlisle, +% \\\TeX\ Users Group (\texttt{lucida@tug.org})} +% \date{\filedate} +% +% \changes{v4.06}{1997/09/01} +% {Remove use of double quote hex convention} +% \changes{v4.10}{1998/01/19} +% {(Lutz Haseloff) missing brace in provides package for lucbmath} +% \changes{v4.11}{2005/11/25} +% {(Karl Berry) documentation update for TUG distribution} +% +% \maketitle +% +% \section{Introduction} +% This file contains \LaTeXe\ package files needed to use +% Lucida Bright fonts, and \texttt{.fd} files for the fonts as named +% with the Berry naming scheme. It is accompanied on CTAN by the metric +% and other support files. The actual outline fonts need to be +% purchased from the \TeX\ Users Group (\texttt{http://tug.org/lucida}) +% or another source. +% +% TUG is now the maintainer of this \texttt{lucidabr} \LaTeX\ support +% package (many thanks to Morten H\o gholm), which is separate from the +% \texttt{lucida} package containing the basic font metric files (many +% thanks to Walter Schmidt). +% +% The \texttt{lucida-sample.tex} file in the distribution describes +% basic usage of the fonts and this package, and gives examples of all +% the fonts. +% +% The Lucida Bright font families: +% +% Note that the `demi bold' Lucida fonts are classed as `b' (bold) +% in \LaTeX. The only `bold' font in the Lucida collection is +% the bold sans serif font, which is classed as `ub' (ultra bold). +% +% \begin{longtable}{llll} +% \multicolumn{2}{c}{Font File Name}& +% \multicolumn{1}{c}{Font Name} +% &\multicolumn{1}{c}{\LaTeX}\\ +% Standard & Original & & \\ +% \hline\hline +% \endhead +% hlxb8a & lfd & LucidaFax-Demi & hlx/b/n\\ +% hlxbi8a & lfdi & LucidaFax-DemiItalic & hlx/b/it\\ +% hlxr8a & lfr & LucidaFax & hlx/m/n\\ +% hlxri8a & lfi & LucidaFax-Italic & hlx/m/it\\[5pt] +% +% hlhb8a & lbd & LucidaBright-Demi & hlh/b/n\\ +% hlhbi8a & lbdi & LucidaBright-DemiItalic & hlh/b/it\\ +% hlhr8a & lbr & LucidaBright & hlh/m/n\\ +% hlhri8a & lbi & LucidaBright-Italic & hlh/m/it\\ +% hlhro8a & lbsl & LucidaBrightSlanted & hlh/m/sl\\ +% hlhrc8a & lbrsc & LucidaBrightSmallcaps & hlh/m/sc\\ +% hlhbc8a & lbdsc & LucidaBrightSmallcaps-Demi & hlh/b/sc\\[5pt] +% +% hlsbi8a & lsdi & LucidaSans-DemiItalic & hls/b/it\\ +% hlsb8a & lsd & LucidaSans-Demi & hls/b/n\\ +% hlsri8a & lsi & LucidaSans-Italic & hls/m/it\\ +% hlsr8a & lsr & LucidaSans & hls/m/n\\ +% hlsu8a & lsb & LucidaSans-Bold & hls/ub/n\\ +% hlsui8a & lsbi & LucidaSans-BoldItalic & hls/ub/it\\[5pt] +% +% hlcrf8a & lbl & LucidaBlackletter & hlcf/m/n\\[5pt] +% +% hlcriw8a & lbh & LucidaHandwriting-Italic & hlcw/m/n\\[5pt] +% +% hlcrie8a & lbc & LucidaCalligraphy-Italic & hlce/m/it\\[5pt] +% +% hlcrn8a & lbkr & LucidaCasual & hlcn/m/n\\* +% hlcrin8a & lbki & LucidaCasual-Italic & hlcn/m/it\\[5pt] +% +% hlsrt8a & lstr & LucidaSans-Typewriter & hlst/m/n\\ +% hlsrot8a & lsto & LucidaSans-TypewriterOblique & hlst/m/sl\\ +% hlsbot8a & lstbo & LucidaSans-TypewriterBoldOblique & hlst/b/sl\\ +% hlsbt8a & lstb & LucidaSans-TypewriterBold & hlst/b/n\\[5pt] +% +% hlcrt8a & lbtr & LucidaTypewriter & hlct/m/n\\ +% hlcbt8a & lbtb & LucidaTypewriterBold & hlct/b/n\\ +% hlcrot8a & lbto & LucidaTypewriterOblique & hlct/m/sl\\ +% hlcbot8a & lbtbo & LucidaTypewriterBoldOblique & hlct/b/sl\\[5pt] +% +% hlcra & lbma & LucidaNewMath-Arrows & hlcm/m/n\\ +% hlcba & lbmad & LucidaNewMath-Arrows-Demi & hlcm/b/n\\ +% hlcrv & lbme & LucidaNewMath-Extension & hlcv/m/n\\ +% hlcry & lbms & LucidaNewMath-Symbol & hlcy/m/n\\ +% hlcdy & lbmsd & LucidaNewMath-Symbol-Demi & hlcy/b/n\\ +% hlcrim & lbmi & LucidaNewMath-Italic & hlcm/m/itx\\ +% hlcrima & lbmo & LucidaNewMath-AltItalic & hlcm/m/it\\ +% hlcdim & lbmdi & LucidaNewMath-DemiItalic & hlcm/b/itx\\ +% hlcdima & lbmdo & LucidaNewMath-AltDemiItalic & hlcm/b/it\\ +% hlcrm & lbmr & LucidaNewMath-Roman & hlcm/m/n\\ +% hlcdm & lbmd & LucidaNewMath-Demibold & hlcm/b/n\\ +% \hline +% \end{longtable} +% +% \StopEventually{} +% +% \section{Packages} +% +% +% \subsection{Lucmtime Package} +% Adobe Times with Lucida Math. +% \begin{macrocode} +%<*luctime> +\def\rmdefault{ptm} +\def\sfdefault{cmss} +\def\ttdefault{cmtt} +\def\Mathdefault{ptmluc} +\DeclareSymbolFont{letters}{OML}{ptmluc}{m}{it} +\DeclareSymbolFont{operators}{OT1}{ptm}{m}{n} +\SetSymbolFont{letters}{normal}{OML}{ptmluc}{m}{it} +\SetSymbolFont{letters}{bold}{OML}{ptmluc}{b}{it} +\SetSymbolFont{operators}{bold}{OT1}{ptm}{b}{n} +\SetSymbolFont{operators}{normal}{OT1}{ptm}{m}{n} +% +% \end{macrocode} +% Monotype Times with Lucida Math. +% \begin{macrocode} +%<*lucmtime> +\def\rmdefault{mntx} +\def\sfdefault{cmss} +\def\ttdefault{cmtt} +\def\Mathdefault{mntluc} +\DeclareSymbolFont{letters}{OML}{mntluc}{m}{it} +\DeclareSymbolFont{operators}{OT1}{mntx}{m}{n} +\SetSymbolFont{letters}{normal}{OML}{mntluc}{m}{it} +\SetSymbolFont{letters}{bold}{OML}{mntluc}{b}{it} +\SetSymbolFont{operators}{bold}{OT1}{mntx}{b}{n} +\SetSymbolFont{operators}{normal}{OT1}{mntx}{m}{n} +% +% \end{macrocode} +% +% \subsection{Lucmin Package} +% Adobe Minion with Lucida Math. +% \begin{macrocode} +%<*lucmin> +\def\rmdefault{zmn} +\def\sfdefault{zmy} +\def\ttdefault{hlct} +\renewcommand{\bfdefault}{b} +\def\Mathdefault{zmnluc} +\DeclareSymbolFont{letters}{OML}{zmnluc}{m}{it} +\DeclareSymbolFont{operators}{OT1}{zmn}{m}{n} +\SetSymbolFont{letters}{normal}{OML}{zmnluc}{m}{it} +\SetSymbolFont{letters}{bold}{OML}{zmnluc}{b}{it} +\SetSymbolFont{operators}{bold}{OT1}{zmn}{b}{n} +\SetSymbolFont{operators}{normal}{OT1}{zmn}{m}{n} +% +% \end{macrocode} +% +% \subsection{Lucidbrb and lucidbry Packages} +% Compatibility with earlier releases. +% \changes{v4.10}{1998/01/19} +% {(Berthold Horn) add option handling to compatibility packages} +% \begin{macrocode} +%<*lucidbrb> +\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{lucidabr}} +\ProcessOptions +\RequirePackage[expert,vargreek]{lucidabr} +% +%<*lucidbry> +\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{lucidabr}} +\ProcessOptions +\RequirePackage[LY1]{fontenc} +\RequirePackage[expert,vargreek]{lucidabr} +% +% \end{macrocode} +% +% \subsection{Lucidbr and lucbmath Packages} +% Set text and math with Lucida Bright fonts. +% (Lucbmath package only sets the math fonts.) +% \begin{macrocode} +%<*lucidabright|lucbmath> +\newif\iflucida@expert +\DeclareOption{expert}{\lucida@experttrue} +\DeclareOption{noexpert}{\lucida@expertfalse} +% \end{macrocode} +% Set up the variant text and math sizes which Y\&Y +% suggest for Lucida. The figures for these two +% options actually come from Frank Mittelbach (oh great one). +% +% The default is to scale, but two options allow you to +% revert to normal behaviour, or get even smaller. +% \begin{macrocode} +\DeclareOption{nolucidascale}{% + \def\DeclareLucidaFontShape#1#2#3#4#5#6{% + \DeclareFontShape{#1}{#2}{#3}{#4}{<->#5}{#6}}} +\DeclareOption{lucidascale}{% + \def\DeclareLucidaFontShape#1#2#3#4#5#6{% + \DeclareFontShape{#1}{#2}{#3}{#4}{% + <-5.5>s*[1.04]#5% + <5.5-6.5>s*[1.02]#5% + <6.5-7.5>s*[.99]#5% + <7.5-8.5>s*[.97]#5% + <8.5-9.5>s*[.96]#5% + <9.5-10.5>s*[.95]#5% + <10.5-11.5>s*[.94]#5% + <11.5-13>s*[.93]#5% + <13-15.5>s*[.92]#5% + <15.5-18.5>s*[.91]#5% + <18.5-22.5>s*[.9]#5% + <22.5->s*[.89]#5% + }{#6}}} +\DeclareOption{lucidasmallscale}{% + \def\DeclareLucidaFontShape#1#2#3#4#5#6{% + \DeclareFontShape{#1}{#2}{#3}{#4}{% + <-5.5>s*[.98]#5% + <5.5-6.5>s*[.96]#5% + <6.5-7.5>s*[.94]#5% + <7.5-8.5>s*[.92]#5% + <8.5-9.5>s*[.91]#5% + <9.5-10.5>s*[.9]#5% + <10.5-11.5>s*[.89]#5% + <11.5-13>s*[.88]#5% + <13-15.5>s*[.87]#5% + <15.5-18.5>s*[.86]#5% + <18.5-22.5>s*[.85]#5% + <22.5->s*[.84]#5% + }{#6}}} +% \end{macrocode} +% +% Choose style of letters. Italic3 is not really italic at all, +% more a roman font with math spacing. Italic2 is not really +% slanted but a different style of italic, so use an `itx' shape. +% \begin{macrocode} +\DeclareOption{mathitalic1}{\def\letters@shape{it}} +\DeclareOption{mathitalic2}{\def\letters@shape{itx}} +\DeclareOption{mathitalic3}{\def\letters@shape{n}} +% \end{macrocode} +% +% Choose between slanted and upright lowercase Greek. +% \begin{macrocode} +\DeclareOption{slantedgreek}{\def\lcgreek@alphabet{letters}} +\DeclareOption{uprightgreek}{\def\lcgreek@alphabet{mathupright}} +% \end{macrocode} +% +% Enable use of |\upalpha| and |\varGamma|. +% \begin{macrocode} +\DeclareOption{vargreek}{\let\upalpha\relax\let\varGamma\relax} +% \end{macrocode} +% +% Stop the AMS symbol names being declared. +% \begin{macrocode} +\DeclareOption{noamssymbols}{\let\blacksquare\endinput} +% \end{macrocode} +% +% Set up the text encoding used in the operators font. +% \changes{v4.05}{1997/04/17} +% {use \cs{edef} not \cs{let} to get rid of \cs{long}. psnfss/2441} +% \begin{macrocode} +\edef\operator@encoding{\encodingdefault} +\DeclareOption{OT1}{\def\operator@encoding{OT1}} +\DeclareOption{T1}{\def\operator@encoding{T1}} +\DeclareOption{LY1}{\def\operator@encoding{LY1}} +% \end{macrocode} +% +% Set up the text encodings (not in the \textsf{lucmath} package). +% \begin{macrocode} +%<*lucidabright> +\renewcommand{\rmdefault}{hlh} +\renewcommand{\sfdefault}{hls} +\renewcommand{\ttdefault}{hlst} +\renewcommand{\bfdefault}{b} +\DeclareOption{seriftt}{\def\ttdefault{hlct}} +\DeclareOption{fax}{\def\rmdefault{hlx}} +\DeclareOption{casual}{\def\rmdefault{hlcn}} +\DeclareOption{calligraphic}{% + \normalfont + \DeclareFontShape\encodingdefault\rmdefault{m}{it}% + {<->ssub*hlce/m/it}{}} +\DeclareOption{handwriting}{% + \normalfont + \DeclareFontShape\encodingdefault\rmdefault{m}{it}% + {<->ssub*hlcw/m/it}{}% + \DeclareFontShape\encodingdefault\rmdefault{b}{it}% + {<->ssub*hlcw/m/it}{}} +% \end{macrocode} +% The bullet in the lucida text fonts is rather small. +% Some people may prefer this option, to use a larger one +% from the math fonts. +% \changes{v4.10}{1998/01/19} +% {(Berthold Horn) add altbullet option for larger bullet} +% \begin{macrocode} +\DeclareOption{altbullet}{% + \normalfont + \DeclareTextCommand + \textbullet\encodingdefault{\UseTextSymbol{OMS}\textbullet}} +% \end{macrocode} +% +% \begin{macrocode} +% +% \end{macrocode} +% +% \changes{v4.04}{1997/03/12} +% {Add font tracing options copied from mathtime} +% +% This package makes a lot of redefinitions. The warnings can be rather +% annoying so some package options control whether the information +% is printed to the terminal or log file. More control can be obtained +% by loading the \textsf{tracefnt} package. +% +% Just show font errors; Warning and info to the log file. +% The default for this package. +% \begin{macrocode} +\DeclareOption{errorshow}{% + \def\@font@info#1{% + \GenericInfo{(Font)\@spaces\@spaces\@spaces\space\space}% + {LaTeX Font Info: \space\space\space#1}}% + \def\@font@warning#1{% + \GenericInfo{(Font)\@spaces\@spaces\@spaces\space\space}% + {LaTeX Font Warning: #1}}} +% \end{macrocode} +% +% The normal \LaTeX\ default, Font Info to the log file and Font +% Warning to the terminal. +% \begin{macrocode} +\DeclareOption{warningshow}{% + \def\@font@info#1{% + \GenericInfo{(Font)\@spaces\@spaces\@spaces\space\space}% + {LaTeX Font Info: \space\space\space#1}}% + \def\@font@warning#1{% + \GenericWarning{(Font)\@spaces\@spaces\@spaces\space\space}% + {LaTeX Font Warning: #1}}} +% \end{macrocode} +% +% On some machines writing all the log info may slow things down +% so extra option not to log font changes at all. +% \begin{macrocode} +\DeclareOption{nofontinfo}{% + \let\@font@info\@gobble + \let\@font@warning\@gobble} +% \end{macrocode} +% +% \begin{macrocode} +\ExecuteOptions{noexpert,lucidascale,slantedgreek,mathitalic1,errorshow} +\ProcessOptions +% \end{macrocode} +% +% \begin{macrocode} +% +% \end{macrocode} +% +% \begin{macrocode} +%<*lucbmath> +% \end{macrocode} +% New encoding scheme for Math Arrows font +% \begin{macrocode} + \DeclareFontEncoding{LMR}{}{} + \DeclareFontSubstitution{LMR}{hlcm}{m}{n} +% \DeclareSymbolFont{letters}{OML}{hlcm}{m}{\letters@shape} +\iflucida@expert + \DeclareSymbolFont{mathupright}{OML}{hlcm}{m}{n} +\fi + \DeclareSymbolFont{symbols}{OMS}{hlcy}{m}{n} + \DeclareSymbolFont{largesymbols}{OMX}{hlcv}{m}{n} +% \end{macrocode} +% The new Expert set for bold math +% \begin{macrocode} +\iflucida@expert +% \SetSymbolFont{letters}{bold}{OML}{hlcm}{b}{\letters@shape} + \SetSymbolFont{mathupright}{bold}{OML}{hlcm}{b}{n} + \SetSymbolFont{symbols}{bold}{OMS}{hlcy}{b}{n} +\fi +% \end{macrocode} +% +% \begin{macrocode} +% \DeclareSymbolFont{italics}{\encodingdefault}{\rmdefault}{m}{it} + \DeclareSymbolFont{arrows}{LMR}{hlcm}{m}{n} +\iflucida@expert +% \DeclareSymbolFont{boldarrows}{LMR}{hlcm}{b}{n} + \SetSymbolFont{arrows}{bold}{LMR}{hlcm}{b}{n} +\fi +% +%<*lucbmath> +%<*!luctim> +\DeclareSymbolFont{operators}{\operator@encoding}{\rmdefault}{m}{n} +\SetSymbolFont{operators}{bold}{\operator@encoding}{\rmdefault}{b}{n} +\SetSymbolFont{operators}{normal}{\operator@encoding}{\rmdefault}{m}{n} +% \end{macrocode} +% +% Explicitly redeclare all the alphabets just in case, but differentiate +% between pure Lucida, and the Times mixture, since those have genuine +% OT1 mimics. +% \begin{macrocode} +\DeclareMathAlphabet\mathbf \operator@encoding{\rmdefault}{b}{n} +\DeclareMathAlphabet\mathrm \operator@encoding{\rmdefault}{m}{n} +\DeclareMathAlphabet\mathsf \operator@encoding{\sfdefault}{m}{n} +\DeclareMathAlphabet\mathit \operator@encoding{\rmdefault}{m}{it} +\DeclareMathAlphabet\mathtt \operator@encoding{\ttdefault}{m}{n} +\DeclareMathAlphabet\mathfrak\operator@encoding{hlcf}{m}{n} +\SetMathAlphabet{\mathbf}{bold}{\operator@encoding}{\rmdefault}{b}{n} +\SetMathAlphabet{\mathsf}{bold}{\operator@encoding}{\sfdefault}{b}{n} +\SetMathAlphabet{\mathrm}{bold}{\operator@encoding}{\rmdefault}{b}{n} +\SetMathAlphabet{\mathit}{bold}{\operator@encoding}{\rmdefault}{b}{it} +\SetMathAlphabet{\mathtt}{bold}{\operator@encoding}{\ttdefault}{b}{n} +% +%<*luctim> +\DeclareMathAlphabet {\mathbf}{OT1}{\Mathdefault}{b}{n} +\DeclareMathAlphabet {\mathrm}{OT1}{\Mathdefault}{m}{n} +\DeclareMathAlphabet {\mathsf}{OT1}{\sfdefault}{m}{n} +\DeclareMathAlphabet {\mathit}{OT1}{\Mathdefault}{m}{it} +\DeclareMathAlphabet {\mathtt}{OT1}{\ttdefault}{m}{n} +\SetMathAlphabet{\mathbf}{bold}{OT1}{\Mathdefault}{b}{n} +\SetMathAlphabet{\mathsf}{bold}{OT1}{\sfdefault}{b}{n} +\SetMathAlphabet{\mathrm}{bold}{OT1}{\Mathdefault}{b}{n} +\SetMathAlphabet{\mathit}{bold}{OT1}{\Mathdefault}{b}{it} +\SetMathAlphabet{\mathtt}{bold}{OT1}{\ttdefault}{b}{n} +% +\DeclareSymbolFontAlphabet{\mathbb}{arrows} +\DeclareSymbolFontAlphabet{\mathscr}{symbols} +\iflucida@expert + \DeclareSymbolFontAlphabet{\mathup}{mathupright} +\fi + \DeclareMathAccent\vec {\mathord}{letters}{126} +% \end{macrocode} +% +% Symbols taken from the operators font. Need to be careful +% here as different encodings may have been used. +% +% First check that the AMS have not been redefining |\colon|. +% If it does not have this original plain \TeX\ definition, +% don't redefine it below. +% \changes{v4.07}{1997/10/11} +% {Clear \cs{@tempb}} +% \begin{macrocode} +\let\@tempb\@undefined +\DeclareMathSymbol{\@tempb}{\mathpunct}{operators}{58} +% \end{macrocode} +% +% \begin{macrocode} +\def\@tempa{T1} +\ifx\operator@encoding\@tempa + \DeclareMathSymbol{!}{\mathclose}{operators}{33} + \DeclareMathSymbol{:}{\mathrel}{operators}{58} + \DeclareMathSymbol{;}{\mathpunct}{operators}{59} + \DeclareMathSymbol{?}{\mathclose}{operators}{63} + \ifx\colon\@tempb + \DeclareMathSymbol{\colon}{\mathpunct}{operators}{58} + \fi + \DeclareMathAccent{\acute}{\mathalpha}{operators}{1} + \DeclareMathAccent{\grave}{\mathalpha}{operators}{0} + \DeclareMathAccent{\ddot}{\mathalpha}{operators}{4} + \DeclareMathAccent{\tilde}{\mathalpha}{operators}{3} + \DeclareMathAccent{\bar}{\mathalpha}{operators}{9} + \DeclareMathAccent{\breve}{\mathalpha}{operators}{8} + \DeclareMathAccent{\check}{\mathalpha}{operators}{7} + \DeclareMathAccent{\hat}{\mathalpha}{operators}{2} + \DeclareMathAccent{\dot}{\mathalpha}{operators}{10} +% \end{macrocode} +% +% \begin{macrocode} +\else +\def\@tempa{OT1} +\ifx\operator@encoding\@tempa + \DeclareMathSymbol{!}{\mathclose}{operators}{33} + \DeclareMathSymbol{:}{\mathrel}{operators}{58} + \DeclareMathSymbol{;}{\mathpunct}{operators}{59} + \DeclareMathSymbol{?}{\mathclose}{operators}{63} + \ifx\colon\@tempb + \DeclareMathSymbol{\colon}{\mathpunct}{operators}{58} + \fi + \DeclareMathAccent{\acute}{\mathalpha}{operators}{19} + \DeclareMathAccent{\grave}{\mathalpha}{operators}{18} + \DeclareMathAccent{\ddot}{\mathalpha}{operators}{127} + \DeclareMathAccent{\tilde}{\mathalpha}{operators}{126} + \DeclareMathAccent{\bar}{\mathalpha}{operators}{22} + \DeclareMathAccent{\breve}{\mathalpha}{operators}{21} + \DeclareMathAccent{\check}{\mathalpha}{operators}{20} + \DeclareMathAccent{\hat}{\mathalpha}{operators}{94} + \DeclareMathAccent{\dot}{\mathalpha}{operators}{95} +% \end{macrocode} +% +% \begin{macrocode} +\else +\def\@tempa{LY1} +\ifx\operator@encoding\@tempa + \DeclareMathSymbol{!}{\mathclose}{operators}{33} + \DeclareMathSymbol{:}{\mathrel}{operators}{58} + \DeclareMathSymbol{;}{\mathpunct}{operators}{59} + \DeclareMathSymbol{?}{\mathclose}{operators}{63} + \ifx\colon\@tempb + \DeclareMathSymbol{\colon}{\mathpunct}{operators}{58} + \fi + \DeclareMathAccent{\acute}{\mathalpha}{operators}{19} + \DeclareMathAccent{\grave}{\mathalpha}{operators}{18} + \DeclareMathAccent{\ddot}{\mathalpha}{operators}{127} + \DeclareMathAccent{\tilde}{\mathalpha}{operators}{126} + \DeclareMathAccent{\bar}{\mathalpha}{operators}{22} + \DeclareMathAccent{\breve}{\mathalpha}{operators}{21} + \DeclareMathAccent{\check}{\mathalpha}{operators}{20} + \DeclareMathAccent{\hat}{\mathalpha}{operators}{94} + \DeclareMathAccent{\vec}{\mathord}{letters}{126} + \DeclareMathAccent{\dot}{\mathalpha}{operators}{5} +% \end{macrocode} +% +% \begin{macrocode} +\else + \PackageWarningNoLine{lucidabr} + {Unknown Operator Encoding!\MessageBreak + Math accents may be wrong: assuming OT1 positions} +\fi\fi\fi +% \end{macrocode} +% +% +% This section derives mostly from Berthold Horn's files +% |lcdmacro.tex| and |amssymblb.tex| +% \copyright 1991, 1992 Y\&Y. All Rights Reserved +% Original from Version 1.2, 1992 June 14; updated \emph{ad hoc}. +% \begin{macrocode} +\@ifpackageloaded{amsmath}{% +% \end{macrocode} +% (From M J Downes): it's possible the factors 1.5, 2, 2.5, 3, 3.5 +% should be adjusted +% for Lucida fonts. But that has to be determined by looking at +% printed tests which I cannot do at the moment. [mjd,24-Jun-1993] +% \begin{macrocode} + \def\biggg{\bBigg@\thr@@} + \def\Biggg{\bBigg@{3.5}} +}{% + \def\big#1{{\hbox{$\left#1\vbox to8.20\p@{}\right.\n@space$}}} + \def\Big#1{{\hbox{$\left#1\vbox to10.80\p@{}\right.\n@space$}}} + \def\bigg#1{{\hbox{$\left#1\vbox to13.42\p@{}\right.\n@space$}}} + \def\Bigg#1{{\hbox{$\left#1\vbox to16.03\p@{}\right.\n@space$}}} + \def\biggg#1{{\hbox{$\left#1\vbox to17.72\p@{}\right.\n@space$}}} + \def\Biggg#1{{\hbox{$\left#1\vbox to21.25\p@{}\right.\n@space$}}} + \def\n@space{\nulldelimiterspace\z@ \m@th} +} +% \end{macrocode} +% Define some extra large sizes --- always done using extensible parts +% \begin{macrocode} +\def\bigggl{\mathopen\biggg} +\def\bigggr{\mathclose\biggg} +\def\Bigggl{\mathopen\Biggg} +\def\Bigggr{\mathclose\Biggg} +% \end{macrocode} +% Following is only really needed if the roman text font is not +% LucidaBright. +% Draw the small sizes of `[' and `]' from math italic instead of +% roman font +% \begin{macrocode} +\DeclareMathSymbol{[}{\mathopen} {letters}{134} +\DeclareMathDelimiter{[}{letters}{134}{largesymbols}{2} +\DeclareMathSymbol{]}{\mathclose}{letters}{135} +\DeclareMathDelimiter{]}{letters}{135}{largesymbols}{3} +% \end{macrocode} +% Draw the small sizes of `(' and `)' from math italic instead +% of roman font +% \begin{macrocode} +\DeclareMathSymbol{(}{\mathopen} {letters}{132} +\DeclareMathDelimiter{(}{letters}{132}{largesymbols}{0} +\DeclareMathSymbol{)}{\mathclose}{letters}{133} +\DeclareMathDelimiter{)}{letters}{133}{largesymbols}{1} +% \end{macrocode} +% Draw `=' and `+' from symbol font instead of roman +% \begin{macrocode} +\DeclareMathSymbol{=}{\mathrel} {symbols}{131} +\DeclareMathSymbol{+}{\mathbin} {symbols}{130} +% \end{macrocode} +% Draw small `/' from math italic instead of roman font +% \begin{macrocode} +\DeclareMathSymbol{/}{\mathord} {letters}{61} +\DeclareMathDelimiter{/}{letters}{61}{largesymbols}{14} +% \end{macrocode} +% Make open face brackets accessible, i.e. [[ and ]] +% \begin{macrocode} +\DeclareMathDelimiter{\ldbrack} + {\mathopen}{letters}{130}{largesymbols}{130} +\DeclareMathDelimiter{\rdbrack} + {\mathclose}{letters}{131}{largesymbols}{131} +% \end{macrocode} +% Provide access to surface integral signs +% (linked from text to display size) +% \begin{macrocode} +\DeclareMathSymbol{\surfintop}{\mathop}{largesymbols}{144} +\def\surfint{\surfintop\nolimits} +% \end{macrocode} +% Make medium size integrals available (NOT linked to display size) +% \begin{macrocode} +\DeclareMathSymbol{\midintop}{\mathop}{largesymbols}{146} +\def\midint{\midintop\nolimits} +\DeclareMathSymbol{\midointop}{\mathop}{largesymbols}{147} +\def\midoint{\midointop\nolimits} +\DeclareMathSymbol{\midsurfintop}{\mathop}{largesymbols}{148} +\def\midsurfint{\midsurfintop\nolimits} +% \end{macrocode} +% Extensible integral +% (use with |\bigg|, |\Bigg|, |\biggg|, |\Biggg| etc) +% \begin{macrocode} +\DeclareMathDelimiter{\largeint} + {\mathop}{largesymbols}{90}{largesymbols}{149} +% \end{macrocode} +% To close up gaps in special math characters constructed from pieces +% \begin{macrocode} +\def\joinrel{\mathrel{\mkern-4mu}} % \def\joinrel{\mathrel{\mkern-3mu}} +% \end{macrocode} +% The |\mkern-2.5mu| undoes the bogus `italic correction' +% after joiners in LBMA +% \begin{macrocode} +\DeclareMathSymbol{\relbar@}{\mathord}{arrows}{45} +\def\relbar{\mathrel{\smash\relbar@}\mathrel{\mkern-2.5mu}} +% \end{macrocode} +% \changes{v4.04}{1997/03/12} +% {Relbar is hex 3D not 2D} +% \begin{macrocode} +\DeclareMathSymbol{\Relbar@}{\mathrel}{arrows}{61} +\def\Relbar{\Relbar@\mathrel{\mkern-2.5mu}} +% \end{macrocode} +% The |\mkern4mu| undoes the overhang at the ends of the joiners +% (and more) +% \begin{macrocode} +\def\longleftarrow{\leftarrow\relbar\mathrel{\mkern4mu}} +\def\longrightarrow{\mathrel{\mkern4mu}\relbar\rightarrow} +\def\Longleftarrow{\Leftarrow\Relbar\mathrel{\mkern4mu}} +\def\Longrightarrow{\mathrel{\mkern4mu}\Relbar\Rightarrow} +% \end{macrocode} +% +% If \textsf{amsmath} is loaded, need to redefine the arrow fill commands +% as the relative spacing around |\relbar| and |\rightarrow| is not what +% the AMS code expects. +% \changes{v4.04}{1997/03/12} +% {Modify AMS arrowfill commands} +% \begin{macrocode} +\AtBeginDocument{% + \@ifpackageloaded{amsmath}{% + \def\rightarrowfill@#1{% + \m@th\setboxz@h{$#1\relbar$}\ht\z@\z@ + $#1\mkern4.5mu\mathrel{\copy\z@}% + \kern-\wd\z@ + \cleaders\hbox{$#1\mkern-2mu\box\z@\mkern-2mu$}\hfill% + \mkern-4.5mu % + \rightarrow$}% + \def\leftarrowfill@#1{% + \m@th\setboxz@h{$#1\relbar$}\ht\z@\z@ + $#1\leftarrow + \mkern-4.5mu % + \cleaders\hbox{$#1\mkern-2mu\copy\z@\mkern-2mu$}\hfill + \kern-\wd\z@ + \mathrel{\box\z@}\mkern4.5mu$} + \def\leftrightarrowfill@#1{\m@th\setboxz@h{$#1\relbar$}\ht\z@\z@ + $#1\leftarrow + \mkern-12mu % + \cleaders\hbox{$#1\mkern-2mu\box\z@\mkern-2mu$}\hfill + \rightarrow$}}% + {}} +% \end{macrocode} +% +% Some characters that need construction in CM exist complete in math +% italic or math symbol font. +% \begin{macrocode} +\let\bowtie\undefined +\let\models\undefined +\let\doteq\undefined +\let\cong\undefined +\let\angle\undefined +\DeclareMathSymbol{\bowtie}{\mathrel}{letters}{246} +\DeclareMathSymbol{\models}{\mathrel}{symbols}{238} +\DeclareMathSymbol{\doteq}{\mathrel}{symbols}{201} +\DeclareMathSymbol{\cong}{\mathrel}{symbols}{155} +\DeclareMathSymbol{\angle}{\mathord}{symbols}{139} +% \end{macrocode} +% These need undefining so that we can redeclare them. +% \begin{macrocode} +\let\Box\undefined +\let\Diamond\undefined +\let\leadsto\undefined +\let\neq\undefined +\let\hookleftarrow\undefined +\let\hookrightarrow\undefined +\let\mapsto\undefined +\let\notin\undefined +\let\rightleftharpoons\undefined +% \end{macrocode} +% Other characters may be found in LucidaNewMath-Arrows +% (more negated later). +% \begin{macrocode} +\DeclareMathSymbol{\neq}{\mathrel}{arrows}{148} +\DeclareMathSymbol{\rightleftharpoons}{\mathrel}{arrows}{122} +\DeclareMathSymbol{\leftrightharpoons}{\mathrel}{arrows}{121} +\DeclareMathSymbol{\hookleftarrow}{\mathrel}{arrows}{60} +\DeclareMathSymbol{\hookrightarrow}{\mathrel}{arrows}{62} +\DeclareMathSymbol{\mapsto}{\mathrel}{arrows}{44} +\def\longmapsto{\mapstochar\longrightarrow} +% \end{macrocode} +% Special \LaTeX\ character definitions +% (originally from \LaTeX\ symbol font) +% \begin{macrocode} +\let\Join\undefined +\let\rhd\undefined +\let\lhd\undefined +\let\unrhd\undefined +\let\unlhd\undefined +\DeclareMathSymbol{\Join}{\mathrel}{letters}{246} +\DeclareMathSymbol{\rhd}{\mathrel}{letters}{46} +\DeclareMathSymbol{\lhd}{\mathrel}{letters}{47} +\DeclareMathSymbol{\unlhd}{\mathrel}{symbols}{244} +\DeclareMathSymbol{\unrhd}{\mathrel}{symbols}{245} +\DeclareMathSymbol{\Box}{\mathord}{arrows}{2} +\DeclareMathSymbol{\Diamond}{\mathord}{arrows}{8} +\DeclareMathSymbol{\leadsto}{\mathrel}{arrows}{142} +\DeclareMathSymbol{\leadsfrom}{\mathrel}{arrows}{141} +\def\mathstrut{\vphantom{f}} +% \end{macrocode} +% In n-th root, don't want the `n' to come too close to the radical +% \begin{macrocode} +\def\r@@t#1#2{\setbox\z@\hbox{$\m@th#1\sqrt{#2}$}% + \dimen@\ht\z@ \advance\dimen@-\dp\z@ + \mkern5mu\raise.6\dimen@\copy\rootbox \mkern-7.5mu\box\z@} +% \end{macrocode} +% Here are some extra definitions of mathematical symbols and operators: +% \begin{macrocode} +\DeclareMathSymbol{\defineequal}{\mathrel}{symbols}{214} +%\let\notleq\nleq +%\let\notgeq\ngeq +\DeclareMathSymbol{\notequiv}{\mathrel}{arrows}{149} +%\let\notprec\nprec +%\let\notsucc\nsucc +\DeclareMathSymbol{\notapprox}{\mathrel}{arrows}{152} +%\let\notpreceq\npreceq +%\let\notsucceq\nsucceq +\DeclareMathSymbol{\notasymp}{\mathrel}{arrows}{243} +\DeclareMathSymbol{\notsubset}{\mathrel}{arrows}{198} +\DeclareMathSymbol{\notsupset}{\mathrel}{arrows}{199} +\DeclareMathSymbol{\notsim}{\mathrel}{arrows}{150} +\DeclareMathSymbol{\notsubseteq}{\mathrel}{arrows}{200} +\DeclareMathSymbol{\notsupseteq}{\mathrel}{arrows}{201} +\DeclareMathSymbol{\notsimeq}{\mathrel}{arrows}{151} +\DeclareMathSymbol{\notsqsubseteq}{\mathrel}{arrows}{212} +\DeclareMathSymbol{\notsqsupseteq}{\mathrel}{arrows}{213} +\DeclareMathSymbol{\notcong}{\mathrel}{arrows}{153} +\DeclareMathSymbol{\notin}{\mathrel}{arrows}{29} +\DeclareMathSymbol{\notni}{\mathrel}{arrows}{31} +%\let\notvdash\nvdash +%\let\notmodels\nvDash +%\let\notparallelparallel +%\let\noteq\neq +%\let\notless\nless +%\let\notgreater\ngtr +%\let\notmid\nmid +\let\Bbb\mathbb +% \end{macrocode} +% Normal \LaTeX\ draws upper case (upright) Greek from cmr10 --- +% when using the Cork encoding, that isn't there. +% \begin{macrocode} +\iflucida@expert +% \end{macrocode} +% If we have the LucidaBright Expert set, we'll draw them from the +% upright math font. That way we can get bold math to work on upright +% upper case Greek. +% +% Why doesn't this work? +%\begin{verbatim} +% \documentclass{article} +% \usepackage{lucidabr} +% $\mathbf{\Sigma}$ +% \end{document} +%\end{verbatim} +% The answer lies in the meaning of |\mathbf|; as fntguide.tex says, +% it is for alphabetic switching. The straight lucida style says +%\begin{verbatim} +% \DeclareMathSymbol{\Sigma}{\mathalpha}{largesymbols}{'326} +%\end{verbatim} +% and the |\mathalpha| signifies that the |\Sigma| can change with the +% alphabet; so this in fact looks for |\char'326| in the ``mathbf'' +% alphabet when we ask for that. That is defined with +%\begin{verbatim} +% \SetMathAlphabet{\mathbf}{bold}{\operator@encoding}{\rmdefault}{b}{n} +%\end{verbatim} +% ie normal text Lucida bold. It all works in CMR because the text fonts +% have Greek, which is why the symbols are defined as \mathalpha; in +% addition, the alphabets like |\mathbf| \emph{explicitly} ask for OT1: +%\begin{verbatim} +%\DeclareMathAlphabet {\mathbf}{OT1}{cmr}{bx}{n} +%\end{verbatim} +% so it works in T1 encoding too. +% +% When we get the symbols from other fonts in Lucida, we should no +% longer classify the fonts as |\mathalpha|, since the mechanism +% doesn't function. So we use |\mathord| instead, and you +% only get bold Greek if you change |\mathversion|. +% At least it's consistent. +% +% If, however, we are using the Times mixture, we can keep +% |\mathalpha|, as we have the right font layouts around. +% \begin{macrocode} +%<*!luctim> + \DeclareMathSymbol{\Gamma}{\mathord}{mathupright}{0} + \DeclareMathSymbol{\Delta}{\mathord}{mathupright}{1} + \DeclareMathSymbol{\Theta}{\mathord}{mathupright}{2} + \DeclareMathSymbol{\Lambda}{\mathord}{mathupright}{3} + \DeclareMathSymbol{\Xi}{\mathord}{mathupright}{4} + \DeclareMathSymbol{\Pi}{\mathord}{mathupright}{5} + \DeclareMathSymbol{\Sigma}{\mathord}{mathupright}{6} + \DeclareMathSymbol{\Upsilon}{\mathord}{mathupright}{7} + \DeclareMathSymbol{\Phi}{\mathord}{mathupright}{8} + \DeclareMathSymbol{\Psi}{\mathord}{mathupright}{9} + \DeclareMathSymbol{\Omega}{\mathord}{mathupright}{10} +\else +% \end{macrocode} +% It's in the extension font (largesymbols) +% \begin{macrocode} + \DeclareMathSymbol{\Gamma}{\mathord}{largesymbols}{'320} + \DeclareMathSymbol{\Delta}{\mathord}{largesymbols}{'321} + \DeclareMathSymbol{\Theta}{\mathord}{largesymbols}{'322} + \DeclareMathSymbol{\Lambda}{\mathord}{largesymbols}{'323} + \DeclareMathSymbol{\Xi}{\mathord}{largesymbols}{'324} + \DeclareMathSymbol{\Pi}{\mathord}{largesymbols}{'325} + \DeclareMathSymbol{\Sigma}{\mathord}{largesymbols}{'326} + \DeclareMathSymbol{\Upsilon}{\mathord}{largesymbols}{'327} + \DeclareMathSymbol{\Phi}{\mathord}{largesymbols}{'330} + \DeclareMathSymbol{\Psi}{\mathord}{largesymbols}{'331} + \DeclareMathSymbol{\Omega}{\mathord}{largesymbols}{'332} +\fi +% +%<*luctim> + \DeclareMathSymbol{\Gamma}{\mathalpha}{mathupright}{0} + \DeclareMathSymbol{\Delta}{\mathalpha}{mathupright}{1} + \DeclareMathSymbol{\Theta}{\mathalpha}{mathupright}{2} + \DeclareMathSymbol{\Lambda}{\mathalpha}{mathupright}{3} + \DeclareMathSymbol{\Xi}{\mathalpha}{mathupright}{4} + \DeclareMathSymbol{\Pi}{\mathalpha}{mathupright}{5} + \DeclareMathSymbol{\Sigma}{\mathalpha}{mathupright}{6} + \DeclareMathSymbol{\Upsilon}{\mathalpha}{mathupright}{7} + \DeclareMathSymbol{\Phi}{\mathalpha}{mathupright}{8} + \DeclareMathSymbol{\Psi}{\mathalpha}{mathupright}{9} + \DeclareMathSymbol{\Omega}{\mathalpha}{mathupright}{10} +\else +% \end{macrocode} +% It's in the extension font (largesymbols) +% \begin{macrocode} + \DeclareMathSymbol{\Gamma}{\mathord}{largesymbols}{'320} + \DeclareMathSymbol{\Delta}{\mathord}{largesymbols}{'321} + \DeclareMathSymbol{\Theta}{\mathord}{largesymbols}{'322} + \DeclareMathSymbol{\Lambda}{\mathord}{largesymbols}{'323} + \DeclareMathSymbol{\Xi}{\mathord}{largesymbols}{'324} + \DeclareMathSymbol{\Pi}{\mathord}{largesymbols}{'325} + \DeclareMathSymbol{\Sigma}{\mathord}{largesymbols}{'326} + \DeclareMathSymbol{\Upsilon}{\mathord}{largesymbols}{'327} + \DeclareMathSymbol{\Phi}{\mathord}{largesymbols}{'330} + \DeclareMathSymbol{\Psi}{\mathord}{largesymbols}{'331} + \DeclareMathSymbol{\Omega}{\mathord}{largesymbols}{'332} +\fi +% +% \end{macrocode} +% +% \begin{macrocode} +\DeclareMathSymbol{\alpha}{\mathord}{\lcgreek@alphabet}{11} +\DeclareMathSymbol{\beta}{\mathord}{\lcgreek@alphabet}{12} +\DeclareMathSymbol{\gamma}{\mathord}{\lcgreek@alphabet}{13} +\DeclareMathSymbol{\delta}{\mathord}{\lcgreek@alphabet}{14} +\DeclareMathSymbol{\epsilon}{\mathord}{\lcgreek@alphabet}{15} +\DeclareMathSymbol{\zeta}{\mathord}{\lcgreek@alphabet}{16} +\DeclareMathSymbol{\eta}{\mathord}{\lcgreek@alphabet}{17} +\DeclareMathSymbol{\theta}{\mathord}{\lcgreek@alphabet}{18} +\DeclareMathSymbol{\iota}{\mathord}{\lcgreek@alphabet}{19} +\DeclareMathSymbol{\kappa}{\mathord}{\lcgreek@alphabet}{20} +\DeclareMathSymbol{\lambda}{\mathord}{\lcgreek@alphabet}{21} +\DeclareMathSymbol{\mu}{\mathord}{\lcgreek@alphabet}{22} +\DeclareMathSymbol{\nu}{\mathord}{\lcgreek@alphabet}{23} +\DeclareMathSymbol{\xi}{\mathord}{\lcgreek@alphabet}{24} +\DeclareMathSymbol{\pi}{\mathord}{\lcgreek@alphabet}{25} +\DeclareMathSymbol{\rho}{\mathord}{\lcgreek@alphabet}{26} +\DeclareMathSymbol{\sigma}{\mathord}{\lcgreek@alphabet}{27} +\DeclareMathSymbol{\tau}{\mathord}{\lcgreek@alphabet}{28} +\DeclareMathSymbol{\upsilon}{\mathord}{\lcgreek@alphabet}{29} +\DeclareMathSymbol{\phi}{\mathord}{\lcgreek@alphabet}{30} +\DeclareMathSymbol{\chi}{\mathord}{\lcgreek@alphabet}{31} +\DeclareMathSymbol{\psi}{\mathord}{\lcgreek@alphabet}{32} +\DeclareMathSymbol{\omega}{\mathord}{\lcgreek@alphabet}{33} +\DeclareMathSymbol{\varepsilon}{\mathord}{\lcgreek@alphabet}{34} +\DeclareMathSymbol{\vartheta}{\mathord}{\lcgreek@alphabet}{35} +\DeclareMathSymbol{\varpi}{\mathord}{\lcgreek@alphabet}{36} +\DeclareMathSymbol{\varrho}{\mathord}{\lcgreek@alphabet}{37} +\DeclareMathSymbol{\varsigma}{\mathord}{\lcgreek@alphabet}{38} +\DeclareMathSymbol{\varphi}{\mathord}{\lcgreek@alphabet}{39} +% \end{macrocode} +% +% `Individual' Upright lowercase Greek (not currently activated). +% \begin{macrocode} +%<*upalpha> +\ifx\upalpha\relax + \DeclareMathSymbol{\upalpha}{\mathord}{mathupright}{11} + \DeclareMathSymbol{\upbeta}{\mathord}{mathupright}{12} + \DeclareMathSymbol{\upgamma}{\mathord}{mathupright}{13} + \DeclareMathSymbol{\updelta}{\mathord}{mathupright}{14} + \DeclareMathSymbol{\upepsilon}{\mathord}{mathupright}{15} + \DeclareMathSymbol{\upzeta}{\mathord}{mathupright}{16} + \DeclareMathSymbol{\upeta}{\mathord}{mathupright}{17} + \DeclareMathSymbol{\uptheta}{\mathord}{mathupright}{18} + \DeclareMathSymbol{\upiota}{\mathord}{mathupright}{19} + \DeclareMathSymbol{\upkappa}{\mathord}{mathupright}{20} + \DeclareMathSymbol{\uplambda}{\mathord}{mathupright}{21} + \DeclareMathSymbol{\upmu}{\mathord}{mathupright}{22} + \DeclareMathSymbol{\upnu}{\mathord}{mathupright}{23} + \DeclareMathSymbol{\upxi}{\mathord}{mathupright}{24} + \DeclareMathSymbol{\uppi}{\mathord}{mathupright}{25} + \DeclareMathSymbol{\uprho}{\mathord}{mathupright}{26} + \DeclareMathSymbol{\upsigma}{\mathord}{mathupright}{27} + \DeclareMathSymbol{\uptau}{\mathord}{mathupright}{28} + \DeclareMathSymbol{\upupsilon}{\mathord}{mathupright}{29} + \DeclareMathSymbol{\upphi}{\mathord}{mathupright}{30} + \DeclareMathSymbol{\upchi}{\mathord}{mathupright}{31} + \DeclareMathSymbol{\uppsi}{\mathord}{mathupright}{32} + \DeclareMathSymbol{\upomega}{\mathord}{mathupright}{33} + \DeclareMathSymbol{\upvarepsilon}{\mathord}{mathupright}{34} +\fi +% +% \end{macrocode} +% Slanted upright Greek. +% \begin{macrocode} +%<*varGamma> +\ifx\varGamma\relax + \DeclareMathSymbol{\varGamma}{\mathord}{letters}{0} + \DeclareMathSymbol{\varDelta}{\mathord}{letters}{1} + \DeclareMathSymbol{\varTheta}{\mathord}{letters}{2} + \DeclareMathSymbol{\varLambda}{\mathord}{letters}{3} + \DeclareMathSymbol{\varXi}{\mathord}{letters}{4} + \DeclareMathSymbol{\varPi}{\mathord}{letters}{5} + \DeclareMathSymbol{\varSigma}{\mathord}{letters}{6} + \DeclareMathSymbol{\varUpsilon}{\mathord}{letters}{7} + \DeclareMathSymbol{\varPhi}{\mathord}{letters}{8} + \DeclareMathSymbol{\varPsi}{\mathord}{letters}{9} + \DeclareMathSymbol{\varOmega}{\mathord}{letters}{10} +\fi +% +% \end{macrocode} +% Definitions for math symbols and operators +% (normally found in the AMS symbol fonts) +% using LucidaNewMath fonts +% MSAM* equivalents: +% +% Stop here if noamssymbols option given. +% \begin{macrocode} +\ifx\blacksquare\endinput\endinput\fi +% \end{macrocode} +% +% \begin{macrocode} +\DeclareMathSymbol{\boxdot}{\mathbin}{symbols}{237} +\DeclareMathSymbol{\boxplus}{\mathbin}{symbols}{234} +\DeclareMathSymbol{\boxtimes}{\mathbin}{symbols}{236} +\DeclareMathSymbol{\square}{\mathord}{arrows}{2} +\DeclareMathSymbol{\blacksquare}{\mathord}{arrows}{3} +\DeclareMathSymbol{\centerdot}{\mathbin}{arrows}{225} +\DeclareMathSymbol{\lozenge}{\mathord}{arrows}{8} +\DeclareMathSymbol{\blacklozenge}{\mathord}{arrows}{9} +\DeclareMathSymbol{\circlearrowright}{\mathrel}{arrows}{140} +\DeclareMathSymbol{\circlearrowleft}{\mathrel}{arrows}{139} +\DeclareMathSymbol{\rightleftharpoons}{\mathrel}{arrows}{122} +\DeclareMathSymbol{\leftrightharpoons}{\mathrel}{arrows}{121} +\DeclareMathSymbol{\boxminus}{\mathbin}{symbols}{235} +\DeclareMathSymbol{\Vdash}{\mathrel}{symbols}{240} +\DeclareMathSymbol{\Vvdash}{\mathrel}{letters}{211} +\DeclareMathSymbol{\vDash}{\mathrel}{symbols}{238} +\DeclareMathSymbol{\twoheadrightarrow}{\mathrel}{arrows}{37} +\DeclareMathSymbol{\twoheadleftarrow}{\mathrel}{arrows}{35} +\DeclareMathSymbol{\leftleftarrows}{\mathrel}{arrows}{113} +\DeclareMathSymbol{\rightrightarrows}{\mathrel}{arrows}{115} +\DeclareMathSymbol{\upuparrows}{\mathrel}{arrows}{114} +\DeclareMathSymbol{\downdownarrows}{\mathrel}{arrows}{116} +\DeclareMathSymbol{\upharpoonright}{\mathrel}{arrows}{117} +\DeclareMathSymbol{\downharpoonright}{\mathrel}{arrows}{119} +\DeclareMathSymbol{\upharpoonleft}{\mathrel}{arrows}{118} +\DeclareMathSymbol{\downharpoonleft}{\mathrel}{arrows}{120} +\DeclareMathSymbol{\rightarrowtail}{\mathrel}{arrows}{41} +\DeclareMathSymbol{\leftarrowtail}{\mathrel}{arrows}{40} +\DeclareMathSymbol{\leftrightarrows}{\mathrel}{arrows}{110} +\DeclareMathSymbol{\rightleftarrows}{\mathrel}{arrows}{109} +\DeclareMathSymbol{\Lsh}{\mathrel}{arrows}{123} +\DeclareMathSymbol{\Rsh}{\mathrel}{arrows}{125} +\DeclareMathSymbol{\rightsquigarrow}{\mathrel}{arrows}{142} +\DeclareMathSymbol{\leftsquigarrow}{\mathrel}{arrows}{141} +\DeclareMathSymbol{\leftrightsquigarrow}{\mathrel}{arrows}{145} +\DeclareMathSymbol{\looparrowleft}{\mathrel}{arrows}{63} +\DeclareMathSymbol{\looparrowright}{\mathrel}{arrows}{64} +\DeclareMathSymbol{\circeq}{\mathrel}{symbols}{208} +\DeclareMathSymbol{\succsim}{\mathrel}{symbols}{225} +\DeclareMathSymbol{\gtrsim}{\mathrel}{symbols}{221} +\DeclareMathSymbol{\gtrapprox}{\mathrel}{letters}{219} +\DeclareMathSymbol{\multimap}{\mathrel}{letters}{199} +\DeclareMathSymbol{\image}{\mathrel}{letters}{198} +\DeclareMathSymbol{\original}{\mathrel}{letters}{197} +\DeclareMathSymbol{\therefore}{\mathrel}{symbols}{144} +\DeclareMathSymbol{\because}{\mathrel}{symbols}{145} +\DeclareMathSymbol{\doteqdot}{\mathrel}{symbols}{202} +\DeclareMathSymbol{\triangleq}{\mathrel}{symbols}{213} +\DeclareMathSymbol{\precsim}{\mathrel}{symbols}{224} +\DeclareMathSymbol{\lesssim}{\mathrel}{symbols}{220} +\DeclareMathSymbol{\lessapprox}{\mathrel}{letters}{218} +\DeclareMathSymbol{\eqslantless}{\mathrel}{letters}{226} +\DeclareMathSymbol{\eqslantgtr}{\mathrel}{letters}{227} +\DeclareMathSymbol{\curlyeqprec}{\mathrel}{letters}{230} +\DeclareMathSymbol{\curlyeqsucc}{\mathrel}{letters}{231} +\DeclareMathSymbol{\preccurlyeq}{\mathrel}{letters}{228} +\DeclareMathSymbol{\leqq}{\mathrel}{symbols}{218} +\DeclareMathSymbol{\leqslant}{\mathrel}{letters}{224} +\DeclareMathSymbol{\lessgtr}{\mathrel}{symbols}{222} +\DeclareMathSymbol{\backprime}{\mathord}{letters}{200} +\DeclareMathSymbol{\axisshort}{\mathord}{arrows}{57} +\DeclareMathSymbol{\risingdotseq}{\mathrel}{symbols}{204} +\DeclareMathSymbol{\fallingdotseq}{\mathrel}{symbols}{203} +\DeclareMathSymbol{\succcurlyeq}{\mathrel}{letters}{229} +\DeclareMathSymbol{\geqq}{\mathrel}{symbols}{219} +\DeclareMathSymbol{\geqslant}{\mathrel}{letters}{225} +\DeclareMathSymbol{\gtrless}{\mathrel}{symbols}{223} +\let\sqsubset\undefined +\let\sqsupset\undefined +\DeclareMathSymbol{\sqsubset}{\mathrel}{symbols}{228} +\DeclareMathSymbol{\sqsupset}{\mathrel}{symbols}{229} +\DeclareMathSymbol{\vartriangleright}{\mathrel}{letters}{46} +\DeclareMathSymbol{\vartriangleleft}{\mathrel}{letters}{47} +\DeclareMathSymbol{\trianglerighteq}{\mathrel}{symbols}{245} +\DeclareMathSymbol{\trianglelefteq}{\mathrel}{symbols}{244} +\DeclareMathSymbol{\bigstar}{\mathord}{arrows}{171} +\DeclareMathSymbol{\between}{\mathrel}{letters}{242} +\DeclareMathSymbol{\blacktriangledown}{\mathord}{arrows}{7} +\DeclareMathSymbol{\blacktriangleright}{\mathrel}{letters}{241} +\DeclareMathSymbol{\blacktriangleleft}{\mathrel}{letters}{240} +\DeclareMathSymbol{\arrowaxisright}{\mathord}{arrows}{55} +\DeclareMathSymbol{\arrowaxisleft}{\mathord}{arrows}{54} +\DeclareMathSymbol{\vartriangle}{\mathrel}{arrows}{4} +\DeclareMathSymbol{\blacktriangle}{\mathord}{arrows}{5} +\DeclareMathSymbol{\triangledown}{\mathord}{arrows}{6} +\DeclareMathSymbol{\eqcirc}{\mathrel}{symbols}{207} +\DeclareMathSymbol{\lesseqgtr}{\mathrel}{letters}{232} +\DeclareMathSymbol{\gtreqless}{\mathrel}{letters}{233} +\DeclareMathSymbol{\lesseqqgtr}{\mathrel}{letters}{234} +\DeclareMathSymbol{\gtreqqless}{\mathrel}{letters}{235} +\DeclareMathSymbol{\Rrightarrow}{\mathrel}{arrows}{108} +\DeclareMathSymbol{\Lleftarrow}{\mathrel}{arrows}{106} +\DeclareMathSymbol{\veebar}{\mathbin}{letters}{210} +\DeclareMathSymbol{\barwedge}{\mathbin}{symbols}{246} +\DeclareMathSymbol{\angle}{\mathord}{symbols}{139} +\DeclareMathSymbol{\measuredangle}{\mathord}{symbols}{140} +\DeclareMathSymbol{\sphericalangle}{\mathord}{symbols}{141} +\DeclareMathSymbol{\varpropto}{\mathrel}{symbols}{47} % ? +\DeclareMathSymbol{\smallsmile}{\mathrel}{letters}{94} % ? +\DeclareMathSymbol{\smallfrown}{\mathrel}{letters}{95} % ? +\DeclareMathSymbol{\Subset}{\mathrel}{symbols}{248} +\DeclareMathSymbol{\Supset}{\mathrel}{symbols}{249} +\DeclareMathSymbol{\Cup}{\mathbin}{symbols}{250} +\DeclareMathSymbol{\Cap}{\mathbin}{symbols}{251} +\DeclareMathSymbol{\curlywedge}{\mathbin}{symbols}{132} +\DeclareMathSymbol{\curlyvee}{\mathbin}{symbols}{133} +\DeclareMathSymbol{\leftthreetimes}{\mathbin}{letters}{208} +\DeclareMathSymbol{\rightthreetimes}{\mathbin}{letters}{209} +\DeclareMathSymbol{\subseteqq}{\mathrel}{letters}{238} +\DeclareMathSymbol{\supseteqq}{\mathrel}{letters}{239} +\DeclareMathSymbol{\bumpeq}{\mathrel}{symbols}{200} +\DeclareMathSymbol{\Bumpeq}{\mathrel}{symbols}{199} +\DeclareMathSymbol{\lll}{\mathrel}{letters}{222} +\DeclareMathSymbol{\ggg}{\mathrel}{letters}{223} +\DeclareMathSymbol{\circledS}{\mathord}{letters}{202} +\DeclareMathSymbol{\pitchfork}{\mathrel}{letters}{243} +\DeclareMathSymbol{\dotplus}{\mathbin}{symbols}{137} +\DeclareMathSymbol{\backsim}{\mathrel}{letters}{248} +\DeclareMathSymbol{\backsimeq}{\mathrel}{letters}{249} +\DeclareMathSymbol{\complement}{\mathord}{letters}{148} +\DeclareMathSymbol{\intercal}{\mathbin}{letters}{217} +\DeclareMathSymbol{\circledcirc}{\mathbin}{symbols}{230} +\DeclareMathSymbol{\circledast}{\mathbin}{symbols}{231} +\DeclareMathSymbol{\circleddash}{\mathbin}{letters}{204} +% \end{macrocode} +% MSBM* equivalents +% \begin{macrocode} +\DeclareMathSymbol{\lvertneqq}{\mathrel}{arrows}{222} +\DeclareMathSymbol{\gvertneqq}{\mathrel}{arrows}{223} +\DeclareMathSymbol{\nleq}{\mathrel}{arrows}{156} +\DeclareMathSymbol{\ngeq}{\mathrel}{arrows}{157} +\DeclareMathSymbol{\nless}{\mathrel}{arrows}{154} +\DeclareMathSymbol{\ngtr}{\mathrel}{arrows}{155} +\DeclareMathSymbol{\nprec}{\mathrel}{arrows}{229} +\DeclareMathSymbol{\nsucc}{\mathrel}{arrows}{230} +\DeclareMathSymbol{\lneqq}{\mathrel}{arrows}{220} +\DeclareMathSymbol{\gneqq}{\mathrel}{arrows}{221} +\DeclareMathSymbol{\nleqslant}{\mathrel}{arrows}{214} +\DeclareMathSymbol{\ngeqslant}{\mathrel}{arrows}{215} +\DeclareMathSymbol{\lneq}{\mathrel}{arrows}{218} +\DeclareMathSymbol{\gneq}{\mathrel}{arrows}{219} +\DeclareMathSymbol{\npreceq}{\mathrel}{arrows}{231} +\DeclareMathSymbol{\nsucceq}{\mathrel}{arrows}{232} +\DeclareMathSymbol{\precnsim}{\mathrel}{arrows}{235} +\DeclareMathSymbol{\succnsim}{\mathrel}{arrows}{236} +\DeclareMathSymbol{\lnsim}{\mathrel}{arrows}{224} +\DeclareMathSymbol{\gnsim}{\mathrel}{arrows}{226} +\DeclareMathSymbol{\nleqq}{\mathrel}{arrows}{216} +\DeclareMathSymbol{\ngeqq}{\mathrel}{arrows}{217} +\DeclareMathSymbol{\precneqq}{\mathrel}{arrows}{233} +\DeclareMathSymbol{\succneqq}{\mathrel}{arrows}{234} +\DeclareMathSymbol{\precnapprox}{\mathrel}{arrows}{237} +\DeclareMathSymbol{\succnapprox}{\mathrel}{arrows}{238} +\DeclareMathSymbol{\lnapprox}{\mathrel}{arrows}{227} +\DeclareMathSymbol{\gnapprox}{\mathrel}{arrows}{228} +\DeclareMathSymbol{\nsim}{\mathrel}{arrows}{150} +\DeclareMathSymbol{\ncong}{\mathrel}{arrows}{153} +\DeclareMathSymbol{\diagup}{\mathrel}{arrows}{11} +\DeclareMathSymbol{\diagdown}{\mathrel}{arrows}{12} +\DeclareMathSymbol{\varsubsetneq}{\mathrel}{arrows}{208} +\DeclareMathSymbol{\varsupsetneq}{\mathrel}{arrows}{209} +\DeclareMathSymbol{\nsubseteqq}{\mathrel}{arrows}{202} +\DeclareMathSymbol{\nsupseteqq}{\mathrel}{arrows}{203} +\DeclareMathSymbol{\subsetneqq}{\mathrel}{arrows}{206} +\DeclareMathSymbol{\supsetneqq}{\mathrel}{arrows}{207} +\DeclareMathSymbol{\varsubsetneqq}{\mathrel}{arrows}{210} +\DeclareMathSymbol{\varsupsetneqq}{\mathrel}{arrows}{211} +\DeclareMathSymbol{\subsetneq}{\mathrel}{arrows}{204} +\DeclareMathSymbol{\supsetneq}{\mathrel}{arrows}{205} +\DeclareMathSymbol{\nsubseteq}{\mathrel}{arrows}{200} +\DeclareMathSymbol{\nsupseteq}{\mathrel}{arrows}{201} +\DeclareMathSymbol{\nparallel}{\mathrel}{arrows}{247} +\DeclareMathSymbol{\nmid}{\mathrel}{arrows}{246} +\DeclareMathSymbol{\nshortmid}{\mathrel}{arrows}{244} +\DeclareMathSymbol{\nshortparallel}{\mathrel}{arrows}{245} +\DeclareMathSymbol{\nvdash}{\mathrel}{arrows}{248} +\DeclareMathSymbol{\nVdash}{\mathrel}{arrows}{250} +\DeclareMathSymbol{\nvDash}{\mathrel}{arrows}{249} +\DeclareMathSymbol{\nVDash}{\mathrel}{arrows}{251} +\DeclareMathSymbol{\ntrianglerighteq}{\mathrel}{arrows}{242} +\DeclareMathSymbol{\ntrianglelefteq}{\mathrel}{arrows}{241} +\DeclareMathSymbol{\ntriangleleft}{\mathrel}{arrows}{239} +\DeclareMathSymbol{\ntriangleright}{\mathrel}{arrows}{240} +\DeclareMathSymbol{\nleftarrow}{\mathrel}{arrows}{50} +\DeclareMathSymbol{\nrightarrow}{\mathrel}{arrows}{51} +\DeclareMathSymbol{\nLeftarrow}{\mathrel}{arrows}{102} +\DeclareMathSymbol{\nRightarrow}{\mathrel}{arrows}{104} +\DeclareMathSymbol{\nLeftrightarrow}{\mathrel}{arrows}{103} +\DeclareMathSymbol{\nleftrightarrow}{\mathrel}{arrows}{52} +\DeclareMathSymbol{\divideontimes}{\mathbin}{letters}{247} +\DeclareMathSymbol{\varnothing}{\mathord}{letters}{156} +\DeclareMathSymbol{\nexists}{\mathord}{arrows}{32} +\DeclareMathSymbol{\Finv}{\mathord}{letters}{144} +\DeclareMathSymbol{\Game}{\mathord}{letters}{145} +\let\mho\undefined +\DeclareMathSymbol{\mho}{\mathord}{letters}{146} +\DeclareMathSymbol{\simeq}{\mathrel}{symbols}{39} +\DeclareMathSymbol{\eqsim}{\mathrel}{symbols}{153} +\DeclareMathSymbol{\beth}{\mathord}{letters}{149} +\DeclareMathSymbol{\gimel}{\mathord}{letters}{150} +\DeclareMathSymbol{\daleth}{\mathord}{letters}{151} +\DeclareMathSymbol{\lessdot}{\mathrel}{letters}{220} +\DeclareMathSymbol{\gtrdot}{\mathrel}{letters}{221} +\DeclareMathSymbol{\ltimes}{\mathbin}{letters}{206} +\DeclareMathSymbol{\rtimes}{\mathbin}{letters}{207} +\DeclareMathSymbol{\shortmid}{\mathrel}{letters}{244} +\DeclareMathSymbol{\shortparallel}{\mathrel}{letters}{245} +\DeclareMathSymbol{\smallsetminus}{\mathbin}{letters}{216} %? +\DeclareMathSymbol{\thicksim}{\mathrel}{symbols}{24} %? +\DeclareMathSymbol{\thickapprox}{\mathrel}{symbols}{25} %? +\DeclareMathSymbol{\approxeq}{\mathrel}{symbols}{157} +\DeclareMathSymbol{\succapprox}{\mathrel}{letters}{237} +\DeclareMathSymbol{\precapprox}{\mathrel}{letters}{236} +\DeclareMathSymbol{\curvearrowleft}{\mathrel}{arrows}{135} +\DeclareMathSymbol{\curvearrowright}{\mathrel}{arrows}{136} +\DeclareMathSymbol{\digamma}{\mathord}{letters}{70} %? +\DeclareMathSymbol{\varkappa}{\mathord}{letters}{155} +\DeclareMathSymbol{\Bbbk}{\mathord}{arrows}{107} +\DeclareMathSymbol{\hslash}{\mathord}{letters}{157} +\DeclareMathSymbol{\hbar}{\mathord}{arrows}{27} +\DeclareMathSymbol{\backepsilon}{\mathrel}{letters}{251} %? +\DeclareMathSymbol{\dashrightarrow}{\mathord}{arrows}{58} +\DeclareMathSymbol{\dashleftarrow}{\mathord}{arrows}{56} +\DeclareMathSymbol{\dashuparrow}{\mathord}{arrows}{57} +\DeclareMathSymbol{\dashdownarrow}{\mathord}{arrows}{59} +% \end{macrocode} +% \changes{v4.10}{1998/01/19} +% {(Patrick Daly) Fix codes in corner delimiters} +% \begin{macrocode} +\DeclareMathDelimiter\ulcorner{\mathopen}{arrows}{91}{arrows}{91} +\DeclareMathDelimiter\urcorner{\mathclose}{arrows}{92}{arrows}{92} +\DeclareMathDelimiter\llcorner{\mathopen}{arrows}{93}{arrows}{93} +\DeclareMathDelimiter\lrcorner{\mathclose}{arrows}{94}{arrows}{94} +\edef\checkmark{\noexpand\mathhexbox{\hexnumber@\symarrows}AC} +\edef\circledR{\noexpand\mathhexbox{\hexnumber@\symletters}C9} +\edef\maltese{\noexpand\mathhexbox{\hexnumber@\symletters}CB} +% \end{macrocode} +% Changes to default for |\Leftrightarrow|. I (SPQR) don't like 22C, so: +% \begin{macrocode} +\let\Leftrightarrow\undefined +\DeclareMathSymbol{\Leftrightarrow}{\mathrel}{arrows}{97} +% \end{macrocode} +% +% Override AMS logo, just to ensure we don't use any CM fonts! +% (Not done in this version.) +%\begin{verbatim} +%\def\AmS{{\protect\AmSfont +% A\kern-.1667em\lower.5ex\hbox{M}\kern-.125emS}} +%%\def\AmSfont{\usefont{OMS}{hlcy}{m}{n}} +%\end{verbatim} +% +% \begin{macrocode} +% +% \end{macrocode} +% +% \subsection{Lucfont test file} +% A test file for the Lucida fonts. +% \begin{macrocode} +%<*lucfont> +\documentclass{article} +%\usepackage[T1]{fontenc} +%\usepackage[LY1]{fontenc} +\begin{document} +\title{All the Lucida text fonts} +\author{prepared by Sebastian Rahtz} +\date{February 19th 1995} +\maketitle +\def\test#1#2#3#4#5{% + \item[#1/#2/#3]#4 (#5): + {\fontfamily{#1}\fontseries{#2}\fontshape{#3}\selectfont + Animadversion for a giraffe costs \pounds123. Wa\ss\ ist + das f\"ur ein Klopf? + We are often na{\"\i}ve vis-\`{a}-vis +the d{\ae}monic ph{\oe}nix's official r\^{o}le in fluffy souffl\'{e}s} +} + +\begin{description} +\test{hlx}{b}{it}{hlxdi8t}{LucidaFax-DemiItalic} +\test{hlx}{b}{n}{hlxd8t}{LucidaFax-Demi} +\test{hlx}{m}{it}{hlxrir8t}{LucidaFax-Italic} +\test{hlx}{m}{n}{hlxr8t}{LucidaFax} + +\test{hlh}{b}{it}{hlcdib8t}{LucidaBright-DemiItalic} +\test{hlh}{b}{n}{hlcdb8t}{LucidaBright-Demi} +\test{hlh}{m}{it}{hlcrib8t}{LucidaBright-Italic} +\test{hlh}{m}{n}{hlcrb8t}{LucidaBright} + +\test{hlce}{m}{it}{hlcrie8t}{LucidaCalligraphy-Italic} + +\test{hlcf}{m}{n}{hlcrf8t}{LucidaBlackletter} + +\test{hlcn}{m}{it}{hlcrin8t}{LucidaCasual-Italic} +\test{hlcn}{m}{n}{hlcrn8t}{LucidaCasual} + +\test{hlst}{b}{n}{hlsbt8t}{LucidaSans-TypewriterBold} +\test{hlst}{b}{sl}{hlsbot8t}{LucidaSans-TypewriterBoldOblique} + +\test{hls}{ub}{it}{hlsbi8t}{LucidaSans-BoldItalic} +\test{hls}{ub}{n}{hlsb8t}{LucidaSans-Bold} +\test{hls}{b}{it}{hlsdi8t}{LucidaSans-DemiItalic} +\test{hls}{b}{n}{hlsd8t}{LucidaSans-Demi} +\test{hls}{m}{it}{hlsri8t}{LucidaSans-Italic} +\test{hls}{m}{n}{hlsr8t}{LucidaSans} + +\test{hlct}{b}{n}{hlcbt8t}{LucidaTypewriterBold} +\test{hlct}{b}{sl}{hlcbot8t}{LucidaTypewriterOblique} +\test{hlcw}{m}{it}{hlcriw8t}{LucidaHandwriting-Italic} + +\end{description} +\end{document} +% +% \end{macrocode} +% \Finale diff --git a/texmf-dist/doc/latex/lucidabr/lucidabr.fdd b/texmf-dist/doc/latex/lucidabr/lucidabr.fdd new file mode 100644 index 00000000..68da3d3b --- /dev/null +++ b/texmf-dist/doc/latex/lucidabr/lucidabr.fdd @@ -0,0 +1,316 @@ +% \iffalse +% lucidabr.fdd - generate math-related .fd files for Lucida. +%% +%% Copyright 1995, 1996 Sebastian Rahtz +%% Copyright 1997 Sebastian Rahtz, David Carlisle +%% Copyright 2005 TeX Users Group +%% +%% This file is part of the lucidabr package. +%% +%% 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 2003/12/01 or later. +%% +%% This work has the LPPL maintenance status "maintained". +%% +%% The Current Maintainer of this work is the TeX Users Group; +%% (http://tug.org/lucida). +%% +%% The list of all files belonging to the lucidabr package is +%% given in the file `manifest.txt'. +%% +%% The list of derived (unpacked) files belonging to the distribution +%% and covered by LPPL is defined by the unpacking scripts (with +%% extension .ins) which are part of the distribution. +%% +%<*dtx> + \ProvidesFile{lucidabr.fdd} +% +%\ProvidesFile{ly1hlh.fd} +%\ProvidesFile{ly1hls.fd} +%\ProvidesFile{ly1hlst.fd} +%\ProvidesFile{ly1hlct.fd} +%\ProvidesFile{ly1hlx.fd} +%\ProvidesFile{ly1hlce.fd} +%\ProvidesFile{ly1hlcw.fd} +%\ProvidesFile{ly1hlcf.fd} +%\ProvidesFile{ly1hcn.fd} +%\ProvidesFile{omlhlcm.fd} +%\ProvidesFile{omshlcy.fd} +%\ProvidesFile{omxhlcv.fd} +%\ProvidesFile{lmrhlcm.fd} +%\ProvidesFile{omlhlh.fd} +%\ProvidesFile{omshlh.fd} +%\ProvidesFile{lucidayy.drv} +% \fi +% \ProvidesFile{lucidabr.fdd} + [2005/11/28 v4.3 % +% Lucida Bright +% Lucida Bright Sans +% Lucida Bright Sans Typewriter +% Lucida Bright Typewriter +% Lucida Fax +% Lucida Calligraphy +% Lucida Handwriting +% Lucida Black Letter +% Lucida Casual +% Lucida New Math Italic +% Lucida New Math Symbols +% Lucida New Math Extension +% Lucida New Math Arrows +% Lucida Bright +% Lucida Bright +% (Y&Y Names) + (SPQR/DPC/TUG)] +% \iffalse +%<*driver> +\documentclass{ltxdoc} +\DocInput{lucidabr.fdd} +\end{document} +% +% \fi +% +% \CheckSum{140} +% +% \GetFileInfo{lucida.dtx} +% +% \begin{document} +% \title{The \textsf{lucidabr} fd files\thanks{This file +% has version number \fileversion, last +% revised \filedate.}} +% \author{Sebastian Rahtz, David Carlisle} +% \date{\filedate} +% +% \maketitle +% +% \StopEventually{} +% +% \section{Text Font description files} +% +% +% \begin{macrocode} +\providecommand\DeclareLucidaFontShape[6]{% + \DeclareFontShape{#1}{#2}{#3}{#4}{<->#5}{#6}} +% \end{macrocode} +% +% \subsection{Lucida Bright font description files} +% \begin{macrocode} +%<*LY1hlh> +\DeclareFontFamily{LY1}{hlh}{} +\DeclareLucidaFontShape{LY1}{hlh}{m}{n}{lbr}{} +\DeclareLucidaFontShape{LY1}{hlh}{m}{it}{lbi}{} +\DeclareLucidaFontShape{LY1}{hlh}{m}{sl}{lbsl}{} +\DeclareLucidaFontShape{LY1}{hlh}{m}{sc}{lbrsc}{} +\DeclareLucidaFontShape{LY1}{hlh}{b}{n}{lbd}{} +\DeclareLucidaFontShape{LY1}{hlh}{b}{it}{lbdi}{} +\DeclareLucidaFontShape{LY1}{hlh}{b}{sc}{lbdsc}{} +\DeclareFontShape{LY1}{hlh}{b} {sl}{<->ssub * hlh/b/it}{} +\DeclareFontShape{LY1}{hlh}{bx}{n} {<->ssub * hlh/b/n}{} +\DeclareFontShape{LY1}{hlh}{bx}{it}{<->ssub * hlh/b/it}{} +\DeclareFontShape{LY1}{hlh}{bx}{sl}{<->ssub * hlh/b/it}{} +\DeclareFontShape{LY1}{hlh}{bx}{sc}{<->ssub * hlh/b/sc}{} +% +% \end{macrocode} +% +% \subsection{Lucida Sans font description files} +% \begin{macrocode} +%<*LY1hls> +\DeclareFontFamily{LY1}{hls}{} +\DeclareLucidaFontShape{LY1}{hls}{m}{n}{lsr}{} +\DeclareLucidaFontShape{LY1}{hls}{m}{it}{lsi}{} +\DeclareLucidaFontShape{LY1}{hls}{b}{n}{lsd}{} +\DeclareLucidaFontShape{LY1}{hls}{b}{it}{lsdi}{} +\DeclareLucidaFontShape{LY1}{hls}{ub}{n}{lsb}{} +\DeclareLucidaFontShape{LY1}{hls}{ub}{it}{lsbi}{} +\DeclareFontShape{LY1}{hls}{m}{sl}{<->ssub * hls/m/it}{} +\DeclareFontShape{LY1}{hls}{m}{sc}{<->ssub * hls/m/n}{} +\DeclareFontShape{LY1}{hls}{b}{sc}{<->ssub * hls/m/sc}{} +\DeclareFontShape{LY1}{hls}{bx}{sc}{<->ssub * hls/b/sc}{} +\DeclareFontShape{LY1}{hls}{b}{sl}{<->ssub * hls/b/it}{} +\DeclareFontShape{LY1}{hls}{bx}{n}{<->ssub * hls/ub/n}{} +\DeclareFontShape{LY1}{hls}{bx}{it}{<->ssub * hls/ub/it}{} +\DeclareFontShape{LY1}{hls}{bx}{sl}{<->ssub * hls/ub/it}{} +% +% \end{macrocode} +% +% \subsection{Lucida Bright Typewriter font description files} +% \begin{macrocode} +%<*LY1hlst> +\DeclareFontFamily{LY1}{hlst}{\hyphenchar \font\m@ne}% +\DeclareLucidaFontShape{LY1}{hlst}{m}{n}{lstr}{} +\DeclareFontShape{LY1}{hlst}{m}{sc}{<->ssub * hlst/m/n}{} +\DeclareLucidaFontShape{LY1}{hlst}{m}{it}{lsto}{} +\DeclareFontShape{LY1}{hlst}{m}{sl}{<->ssub * hlst/m/it}{} +\DeclareLucidaFontShape{LY1}{hlst}{b}{n}{lstb}{} +\DeclareLucidaFontShape{LY1}{hlst}{b}{it}{lstbo}{} +\DeclareFontShape{LY1}{hlst}{b}{sc} {<->ssub * hlst/m/sc}{} +\DeclareFontShape{LY1}{hlst}{b}{sl} {<->ssub * hlst/b/it}{} +\DeclareFontShape{LY1}{hlst}{m}{sl} {<->ssub * hlst/m/it}{} +\DeclareFontShape{LY1}{hlst}{bx}{n} {<->ssub * hlst/b/n}{} +\DeclareFontShape{LY1}{hlst}{bx}{it}{<->ssub * hlst/b/it}{} +\DeclareFontShape{LY1}{hlst}{bx}{sc}{<->ssub * hlst/b/sc}{} +\DeclareFontShape{LY1}{hlst}{bx}{sl}{<->ssub * hlst/m/sl}{} +% +% \end{macrocode} +% \subsection{Lucida Bright Serif Typewriter font description files} +% \begin{macrocode} +%<*LY1hlct> +\DeclareFontFamily{LY1}{hlct}{\hyphenchar \font\m@ne}% +\DeclareLucidaFontShape{LY1}{hlct}{m}{n}{lbtr}{} +\DeclareFontShape{LY1}{hlct}{m}{sc}{<->ssub * hlct/m/n}{} +\DeclareLucidaFontShape{LY1}{hlct}{m}{it}{lbto}{} +\DeclareFontShape{LY1}{hlct}{m}{sl}{<->ssub * hlct/m/it}{} +\DeclareLucidaFontShape{LY1}{hlct}{b}{n}{lbtb}{} +\DeclareLucidaFontShape{LY1}{hlct}{b}{it}{lbtbo}{} +\DeclareFontShape{LY1}{hlct}{b}{sc}{<->ssub * hlct/m/sc}{} +\DeclareFontShape{LY1}{hlct}{b}{sl}{<->ssub * hlct/b/it}{} +\DeclareFontShape{LY1}{hlct}{m}{sl}{<->ssub * hlct/m/it}{} +\DeclareFontShape{LY1}{hlct}{bx}{n}{<->ssub * hlct/b/n}{} +\DeclareFontShape{LY1}{hlct}{bx}{it}{<->ssub * hlct/b/it}{} +\DeclareFontShape{LY1}{hlct}{bx}{sc}{<->ssub * hlct/b/sc}{} +\DeclareFontShape{LY1}{hlct}{bx}{sl}{<->ssub * hlct/m/sl}{} +% +% \end{macrocode} +% +% \subsection{Lucida Fax font description files} +% \begin{macrocode} +%<*LY1hlx> +\DeclareFontFamily{LY1}{hlx}{} +\DeclareLucidaFontShape{LY1}{hlx}{m}{n}{lfr}{} +\DeclareLucidaFontShape{LY1}{hlx}{b}{n}{lfd}{} +\DeclareLucidaFontShape{LY1}{hlx}{m}{it}{lfi}{} +\DeclareLucidaFontShape{LY1}{hlx}{b}{it}{lfdi}{} +% +% \end{macrocode} +% +% \subsection{Lucida Calligraphic font description files} +% \begin{macrocode} +%<*LY1hlce> +\DeclareFontFamily{LY1}{hlce}{} +\DeclareLucidaFontShape{LY1}{hlce}{m}{it}{lbc}{} +\DeclareFontShape{LY1}{hlce}{m}{n}{<-> ssub * hlce/m/it}{} +\DeclareFontShape{LY1}{hlce}{b}{n}{<-> ssub * hlce/m/it}{} +\DeclareFontShape{LY1}{hlce}{b}{it}{<-> ssub * hlce/m/it}{} +% +% \end{macrocode} +% +% \subsection{Lucida Handwriting font description files} +% \begin{macrocode} +%<*LY1hlcw> +\DeclareFontFamily{LY1}{hlcw}{} +\DeclareLucidaFontShape{LY1}{hlcw}{m}{it}{lbh}{} +\DeclareFontShape{LY1}{hlcw}{m}{n}{<-> ssub * hlcw/m/it}{} +\DeclareFontShape{LY1}{hlcw}{b}{n}{<-> ssub * hlcw/m/it}{} +\DeclareFontShape{LY1}{hlcw}{b}{it}{<-> ssub * hlcw/m/it}{} +% +% \end{macrocode} +% +% \subsection{Lucida Black Letter font description files} +% \begin{macrocode} +%<*LY1hlcf> +\DeclareFontFamily{LY1}{hlcf}{} +\DeclareLucidaFontShape{LY1}{hlcf}{m}{n}{lbl}{} +\DeclareFontShape{LY1}{hlcf}{m}{it}{<-> ssub * hlcf/m/n}{} +\DeclareFontShape{LY1}{hlcf}{b}{n}{<-> ssub * hlcf/m/n}{} +\DeclareFontShape{LY1}{hlcf}{b}{it}{<-> ssub * hlcf/m/n}{} +% +% \end{macrocode} +% +% \subsection{Lucida Casual font description files} +% \begin{macrocode} +%<*LY1hlcn> +\DeclareFontFamily{LY1}{hlcn}{} +\DeclareLucidaFontShape{LY1}{hlcn}{m}{n}{lbkr}{} +\DeclareFontShape{LY1}{hlcn}{m}{b}{<-> ssub * hlcn/m/n}{} +\DeclareLucidaFontShape{LY1}{hlcn}{m}{it}{lbki}{} +\DeclareFontShape{LY1}{hlcn}{b}{it}{<-> ssub * hlcn/m/it}{} +% +% \end{macrocode} +% +% \section{Maths fonts font description files} +% +% \subsection{Lucida Math Italics font description files} +% \begin{macrocode} +%<*OMLhlcm> +\DeclareFontFamily{OML}{hlcm}{\skewchar\font=127} +%\DeclareLucidaFontShape{OML}{hlcm}{m}{n}{lbmr}{} +%\DeclareLucidaFontShape{OML}{hlcm}{m}{n}{hlcrm}{} +%\DeclareLucidaFontShape{OML}{hlcm}{b}{n}{lbmd}{} +%\DeclareLucidaFontShape{OML}{hlcm}{b}{n}{hlcdm}{} +%\DeclareLucidaFontShape{OML}{hlcm}{m}{it}{lbmo}{} +%\DeclareLucidaFontShape{OML}{hlcm}{m}{it}{hlcrima}{} +%\DeclareLucidaFontShape{OML}{hlcm}{b}{it}{lbmdo}{} +%\DeclareLucidaFontShape{OML}{hlcm}{b}{it}{hlcdima}{} +%\DeclareLucidaFontShape{OML}{hlcm}{m}{itx}{lbmi}{} +%\DeclareLucidaFontShape{OML}{hlcm}{m}{itx}{hlcrim}{} +%\DeclareLucidaFontShape{OML}{hlcm}{b}{itx}{lbmdi}{} +%\DeclareLucidaFontShape{OML}{hlcm}{b}{itx}{hlcdim}{} +% +% \end{macrocode} +% +% \subsection{Lucida Math Italics font description files} +% \begin{macrocode} +%<*OMLhlh> +\DeclareFontFamily{OML}{hlh}{} +\DeclareFontShape{OML}{hlh}{m}{n} {<-> ssub * hlcm/m/n}{} +\DeclareFontShape{OML}{hlh}{m}{it} {<-> ssub * hlcm/m/n}{} +\DeclareFontShape{OML}{hlh}{m}{sl} {<-> ssub * hlcm/m/n}{} +\DeclareFontShape{OML}{hlh}{m}{sc} {<-> ssub * hlcm/m/n}{} +\DeclareFontShape{OML}{hlh}{bx}{n} {<-> ssub * hlcm/b/n}{} +\DeclareFontShape{OML}{hlh}{bx}{it} {<-> ssub * hlcm/b/n}{} +\DeclareFontShape{OML}{hlh}{bx}{sl} {<-> ssub * hlcm/b/n}{} +\DeclareFontShape{OML}{hlh}{bx}{sc} {<-> ssub * hlcm/b/n}{} +% +% \end{macrocode} +% +% \subsection{Lucida Math Symbols font description files} +% \begin{macrocode} +%<*OMShlh> +\DeclareFontFamily{OMS}{hlh}{\skewchar\font=48} +\DeclareFontShape{OMS}{hlh}{m}{n} {<-> ssub * hlcy/m/n}{} +\DeclareFontShape{OMS}{hlh}{m}{it} {<-> ssub * hlcy/m/n}{} +\DeclareFontShape{OMS}{hlh}{m}{sl} {<-> ssub * hlcy/m/n}{} +\DeclareFontShape{OMS}{hlh}{m}{sc} {<-> ssub * hlcy/m/n}{} +\DeclareFontShape{OMS}{hlh}{bx}{n} {<-> ssub * hlcy/b/n}{} +\DeclareFontShape{OMS}{hlh}{bx}{it} {<-> ssub * hlcy/b/n}{} +\DeclareFontShape{OMS}{hlh}{bx}{sl} {<-> ssub * hlcy/b/n}{} +\DeclareFontShape{OMS}{hlh}{bx}{sc} {<-> ssub * hlcy/b/n}{} +% +% \end{macrocode} +% +% \subsection{LucidaNewMath-Symbols font description files} +% \begin{macrocode} +%<*OMShlcy> +\DeclareFontFamily{OMS}{hlcy}{\skewchar\font=48} +%\DeclareLucidaFontShape{OMS}{hlcy}{m}{n}{lbms}{} +%\DeclareLucidaFontShape{OMS}{hlcy}{m}{n}{hlcry}{} +%\DeclareLucidaFontShape{OMS}{hlcy}{b}{n}{lbmsd}{} +%\DeclareLucidaFontShape{OMS}{hlcy}{b}{n}{hlcdy}{} +% +% \end{macrocode} +% +% \subsection{LucidaNewMath-Extension font description files} +% \begin{macrocode} +%<*OMXhlcv> +\DeclareFontFamily{OMX}{hlcv}{} +%\DeclareLucidaFontShape{OMX}{hlcv}{m}{n}{lbme}{} +%\DeclareLucidaFontShape{OMX}{hlcv}{m}{n}{hlcrv}{} +% +% \end{macrocode} +% +% \subsection{LucidaNewMath-Arrows font description files} +% \begin{macrocode} +%<*LMRhlcm> +\DeclareFontFamily{LMR}{hlcm}{} +%\DeclareLucidaFontShape{LMR}{hlcm}{m}{n}{lbma}{} +%\DeclareLucidaFontShape{LMR}{hlcm}{m}{n}{hlcra}{} +%\DeclareLucidaFontShape{LMR}{hlcm}{b}{n}{lbmad}{} +%\DeclareLucidaFontShape{LMR}{hlcm}{b}{n}{hlcda}{} +% +% \end{macrocode} +% +% \Finale diff --git a/texmf-dist/doc/latex/lucidabr/lucidabr.ins b/texmf-dist/doc/latex/lucidabr/lucidabr.ins new file mode 100644 index 00000000..47a37831 --- /dev/null +++ b/texmf-dist/doc/latex/lucidabr/lucidabr.ins @@ -0,0 +1,75 @@ +% lucidabr.ins +%% Generate fast loadable files and documentation driver files from the +%% doc files in this package when run through LaTeX or TeX. +%% +%% Copyright 1995, 1996 Sebastian Rahtz +%% Copyright 1997 Sebastian Rahtz, David Carlisle +%% Copyright 2005 TeX Users Group +%% +%% This file is part of the lucidabr package. +%% +%% 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 2003/12/01 or later. +%% +%% This work has the LPPL maintenance status "maintained". +%% +%% The Current Maintainer of this work is the TeX Users Group +%% (http://tug.org/lucida). +%% +%% The list of all files belonging to the lucidabr package is +%% given in the file `manifest.txt'. +%% +%% The list of derived (unpacked) files belonging to the distribution +%% and covered by LPPL is defined by the unpacking scripts (with +%% extension .ins) which are part of the distribution. +%% +\def\batchfile{lucidabr.ins} +\input docstrip + +\keepsilent +\askforoverwritefalse + +\preamble +\endpreamble + + +% the style files. +\generate{% + \file{lucidabr.sty}{\from{lucidabr.dtx}{lucidabright,upalpha,varGamma,lucbmath}} + \file{lucidbrb.sty}{\from{lucidabr.dtx}{lucidbrb}} + \file{lucidbry.sty}{\from{lucidabr.dtx}{lucidbry}} + \file{luctime.sty}{\from{lucidabr.dtx}{luctime,lucbmath,luctim}} + \file{lucmtime.sty}{\from{lucidabr.dtx}{lucmtime,lucbmath,luctim}} + \file{lucmin.sty}{\from{lucidabr.dtx}{lucmin,lucbmath,luctim}} + \file{lucbmath.sty}{\from{lucidabr.dtx}{lucbmath}} + \file{lucfont.tex}{\from{lucidabr.dtx}{T1,lucfont}}} + + +% the math-related fd files. The text fd files are generated through +% fontinst, and are part of the (separate) lucida package, not the +% present (lucidabr) package. +% +\generate{% + \file{omlhlcm.fd}{\from{lucidabr.fdd}{lucidascale,OMLhlcm,kb}} + \file{omshlcy.fd}{\from{lucidabr.fdd}{lucidascale,OMShlcy,kb}} + \file{omxhlcv.fd}{\from{lucidabr.fdd}{lucidascale,OMXhlcv,kb}} + \file{lmrhlcm.fd}{\from{lucidabr.fdd}{lucidascale,LMRhlcm,kb}}} + +\generate{% + \file{omlhlh.fd}{\from{lucidabr.fdd}{OMLhlh,kb}} + \file{omshlh.fd}{\from{lucidabr.fdd}{OMShlh,kb}}} + +\Msg{***************************************************************} +\Msg{*} +\Msg{* \space To finish the installation you have to copy the files } +\Msg{* \space *.sty and *.fd into a directory searched by TeX} +\Msg{* \space (TDS directory: texmf/tex/latex/lucidabr/).} +\Msg{*} +\Msg{***************************************************************} + +\endinput diff --git a/texmf-dist/doc/latex/lucidabr/lucidabr.pdf b/texmf-dist/doc/latex/lucidabr/lucidabr.pdf new file mode 100644 index 00000000..55e8e815 Binary files /dev/null and b/texmf-dist/doc/latex/lucidabr/lucidabr.pdf differ diff --git a/texmf-dist/doc/latex/lucidabr/manifest.txt b/texmf-dist/doc/latex/lucidabr/manifest.txt new file mode 100644 index 00000000..29214a99 --- /dev/null +++ b/texmf-dist/doc/latex/lucidabr/manifest.txt @@ -0,0 +1,16 @@ +Files covered by the LPPL: +lucidabr.dtx +lucidar.fdd +lucida.ins +(and derivatives) + +Files with all-permissive licenses: +Makefile +README +README.TUG +lucida-amsmath.tex +lucida-oneline-samples.tex +lucida-sample.tex +manifest.txt :) +(and derivatives) + -- cgit v1.2.3