summaryrefslogtreecommitdiff
path: root/Master/texmf-doc/doc/english/comprehensive/source/makefakeMnSymbol
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-doc/doc/english/comprehensive/source/makefakeMnSymbol')
-rw-r--r--Master/texmf-doc/doc/english/comprehensive/source/makefakeMnSymbol254
1 files changed, 0 insertions, 254 deletions
diff --git a/Master/texmf-doc/doc/english/comprehensive/source/makefakeMnSymbol b/Master/texmf-doc/doc/english/comprehensive/source/makefakeMnSymbol
deleted file mode 100644
index cadebdfe37b..00000000000
--- a/Master/texmf-doc/doc/english/comprehensive/source/makefakeMnSymbol
+++ /dev/null
@@ -1,254 +0,0 @@
-#! /usr/bin/env perl
-
-# Convert MnSymbol.sty to a faked version which does not require
-# the definition of any additional math alphabets
-#
-# By Scott Pakin <scott.clsl@pakin.org>
-
-use POSIX;
-use warnings;
-use strict;
-
-# Output some header boilerplate.
-print "\%" x 43, "\n";
-print "\% This is a generated file. DO NOT EDIT. \%\n";
-print "\%" x 43, "\n";
-print "\n";
-print strftime("\\ProvidesPackage{fakeMnSymbol}[\%Y/\%m/\%d v1.0 faked version of MnSymbol.sty]\n", localtime());
-print <<'MACRODEFS';
-
-% Construct a text-sized delimiter from its constituent characters.
-\DeclareRobustCommand{\MNSfaketdelim}[3]{%
- \begingroup
- \def\char@in@box##1{%
- \setbox0=\hbox{\char##1}%
- \hbox{%
- \vrule width \wd0 height 0pt depth 0pt
- \vrule width 0pt height \ht0 depth \dp0
- \smash{\box0}%
- }%
- \vspace*{-1pt}% Why is this necessary?
- }%
- \offinterlineskip
- \vbox{%
- \halign{##\cr
- \char@in@box{#1}\cr % top
- \char@in@box{#2}\cr % mid
- \char@in@box{#3}\cr % bot
- }%
- }%
- \endgroup
-}
-
-% Construct a display-sized delimiter from its constituent characters.
-\DeclareRobustCommand{\MNSfakeddelim}[4]{%
- \begingroup
- \def\char@in@box##1{%
- \setbox0=\hbox{\char##1}%
- \hbox{%
- \vrule width \wd0 height 0pt depth 0pt
- \vrule width 0pt height \ht0 depth \dp0
- \smash{\box0}%
- }%
- \vspace*{-1pt}% Why is this necessary?
- }%
- \offinterlineskip
- \vbox to 4ex{%
- \halign{##\cr
- \char@in@box{#1}\cr % top
- \char@in@box{#4}\cr % rep
- \char@in@box{#4}\cr % rep
- \char@in@box{#2}\cr % mid
- \char@in@box{#4}\cr % rep
- \char@in@box{#4}\cr % rep
- \char@in@box{#3}\cr % bot
- }%
- \vss
- }%
- \endgroup
-}
-
-% Given a math expression, a small accent character, and a large
-% accent character, typeset the expression with the appropriate-sized
-% accent above it.
-\DeclareRobustCommand{\MNSfakewidetopaccent}[5]{%
- \setbox0=\hbox{\ensuremath{#1}}%
- \setbox1=\hbox{\ensuremath{abc}}%
- \ifdim\wd0<\wd1
- \rlap{\raisebox{#2}{\makebox[\wd0]{\usefont{U}{MnSymbolE}{m}{n}\char#3}}}%
- \else
- \rlap{\raisebox{#4}{\makebox[\wd0]{\usefont{U}{MnSymbolE}{m}{n}\char#5}}}%
- \fi
- \box0\relax
-}
-MACRODEFS
- ;
-
-# Read the font metrics for the largesymbol font in preparation for
-# faking the variable-sized delimiters.
-my $tfmfile = `kpsewhich MnSymbolE10.tfm`;
-my @nextlarger; # Map from a character number to the next larger character
-my @varchar; # Map from a character number to a varchar hash
-if ($tfmfile ne "") {
- chomp $tfmfile;
- open (LARGESYMBOLS, "tftopl $tfmfile|") || die "tftopl $tfmfile: $!\n";
- my $charnum = -1; # Character number of the current character
- while (my $oneline = <LARGESYMBOLS>) {
- chomp $oneline;
- if ($oneline =~ /^\(CHARACTER ([CO]) (\w+)/) {
- $charnum = $1 eq "O" ? oct($2) : ord($2);
- }
- elsif ($oneline =~ /\(NEXTLARGER ([CO]) (\w+)/) {
- $nextlarger[$charnum] = $1 eq "O" ? oct($2) : ord($2);
- }
- elsif ($oneline =~ /\((TOP|MID|BOT|REP) ([CO]) (\w+)/) {
- $varchar[$charnum]->{$1} = $2 eq "O" ? oct($3) : ord($3);
- }
- }
- close LARGESYMBOLS;
-}
-
-# Process each symbol declaration in turn.
-my $slot = 0;
-my %families;
-while (<>) {
- # Process all symbols defined with \Decl@Mn@Char.
- /\\Set\@Mn\@Sym\{(\d+)\}/ && do {$slot=0+$1; next};
- /^\\Decl\@Mn\@Char\\@?(\w+)\s*\{(\w+)\}/ && do {
- my $symname = $1;
- my $family = $2;
- if ($family =~ /^MnSy(\w)$/) {
- $family = "MnSymbol" . $1;
- }
- elsif ($family eq "symbols") {
- $family = "MnSymbolF";
- }
- else {
- die "${0}: unrecognized symbol family \"$family\"\n";
- }
- if (!defined $families{$family}) {
- $families{$family}++;
- print "\n";
- print "\\DeclareFontFamily{U}{$family}{}\n";
- print "\\DeclareFontShape{U}{$family}{m}{n}{<-> ${family}10}{}\n";
- }
- print "\\DeclareRobustCommand{\\MNS$symname}";
- print "{\\mbox{\\usefont{U}{$family}{m}{n}\\char$slot}}\n";
- $slot++;
- };
-
- # Process variable-sized symbols specially.
- /^\\Decl\@Mn\@(Open|Close|Delim)\s*\{([^\}]+)\}.*\{\'(\d+)\}\s*$/ && do {
- my $charnum = oct $3;
- my %sym2name = ("[" => "lbracket",
- "]" => "rbracket",
- "|" => "pipe",
- "<" => "less",
- ">" => "greater",
- "/" => "slash",
- "(" => "lparen",
- ")" => "rparen");
- my $symname = substr($2, 0, 1) eq "\\" ? substr($2, 1) : $sym2name{$2};
- my $family = "MnSymbolE";
- if (!defined $families{$family}) {
- $families{$family}++;
- print "\n";
- print "\\DeclareFontFamily{U}{$family}{}\n";
- print "\\DeclareFontShape{U}{$family}{m}{n}{<-> ${family}10}{}\n";
- }
- my $tcharnum; # Character number of the \big symbol size
- my $dcharnum; # Character number of the variable-sized symbol
- $tcharnum = defined $nextlarger[$charnum] ? $nextlarger[$charnum] : $charnum;
- for ($dcharnum=$tcharnum; defined $nextlarger[$dcharnum]; $dcharnum=$nextlarger[$dcharnum]) {
- }
-
- # Define the text-sized version of the delimiter.
- print "\\DeclareRobustCommand{\\MNSt$symname}";
- print "{\\mbox{\\usefont{U}{$family}{m}{n}";
- if (defined $varchar[$tcharnum]) {
- # Even the \big size is variable-sized.
- my $rep = $varchar[$tcharnum]->{REP};
- my $top = $varchar[$tcharnum]->{TOP} || $rep;
- my $bot = $varchar[$tcharnum]->{BOT} || $rep;
- my $mid = $varchar[$tcharnum]->{MID} || $rep;
- print "\\MNSfaketdelim{$top}{$mid}{$bot}";
- }
- else {
- print "\\char$tcharnum";
- }
- print "}}\n";
-
- # Define the display-sized version of the delimiter.
- print "\\DeclareRobustCommand{\\MNSd$symname}";
- print "{\\mbox{\\usefont{U}{$family}{m}{n}";
- my $rep = $varchar[$dcharnum]->{REP};
- if (defined $rep) {
- my $top = $varchar[$dcharnum]->{TOP} || $rep;
- my $bot = $varchar[$dcharnum]->{BOT} || $rep;
- my $mid = $varchar[$dcharnum]->{MID} || $rep;
- print "\\MNSfakeddelim{$top}{$mid}{$bot}{$rep}";
- }
- else {
- print "\\char$dcharnum";
- }
- print "}}\n";
- };
-}
-
-# Output some trailer boilerplate.
-print <<'TRAILER';
-
-% Redefine some problematic symbols.
-\DeclareRobustCommand{\MNSdlparen}{\mbox{\usefont{U}{MnSymbolE}{m}{n}\char140}}
-\DeclareRobustCommand{\MNSdrparen}{\mbox{\usefont{U}{MnSymbolE}{m}{n}\char145}}
-
-% The following symbols were renamed and adapted from MnSymbol.sty.
-\let\MNSrelbar=\MNSleftrightline
-\DeclareRobustCommand\MNSjoinrel{\mathrel{\mkern-12.4mu}}
-\DeclareRobustCommand\MNSlongrightarrow{\DOTSB\MNSleftrightline\MNSjoinrel\MNSrightarrow}
-\DeclareRobustCommand\MNSlongleftarrow{\DOTSB\MNSleftarrow\MNSjoinrel\MNSleftrightline}
-\DeclareRobustCommand\MNSlongleftrightarrow{\DOTSB\MNSleftarrow\MNSjoinrel\MNSrightarrow}
-\DeclareRobustCommand\MNSLongrightarrow{\DOTSB\MNSLeftrightline\MNSjoinrel\MNSRightarrow}
-\DeclareRobustCommand\MNSLongleftarrow{\DOTSB\MNSLeftarrow\MNSjoinrel\MNSLeftrightline}
-\DeclareRobustCommand\MNSLongleftrightarrow{\DOTSB\MNSLeftarrow\MNSjoinrel\MNSRightarrow}
-\DeclareRobustCommand\MNSlongmapsto{\DOTSB\MNSleftfootline\MNSjoinrel\MNSrightarrow}
-\DeclareRobustCommand\MNSemptyfilledspoon{\DOTSB\MNSleftspoon\mkern-13mu\MNSrightfilledspoon}
-\DeclareRobustCommand\MNSfilledemptyspoon{\DOTSB\MNSleftfilledspoon\mkern-13mu\MNSrightspoon}
-\DeclareRobustCommand\MNSlargeemptyfilledspoon{\DOTSB\mathrel{\MNScirc\mkern-3mu\MNSrelbar\mkern-3mu\MNSbullet}}
-\DeclareRobustCommand\MNSlargefilledemptyspoon{\DOTSB\mathrel{\MNSbullet\mkern-3mu\MNSrelbar\mkern-3mu\MNScirc}}
-
-% The following accents were renamed and adapted from MnSymbol.sty.
-\DeclareRobustCommand{\MNSoverbrace}[1]{\MNSfakewidetopaccent{#1}{1.5ex}{'251}{2.1ex}{'253}}
-\DeclareRobustCommand{\MNSunderbrace}[1]{\MNSfakewidetopaccent{#1}{-1.7ex}{'256}{-1.7ex}{'260}}
-\DeclareRobustCommand{\MNSwidehat}[1]{\MNSfakewidetopaccent{#1}{0ex}{'302}{0.6ex}{'303}}
-\DeclareRobustCommand{\MNSwidetilde}[1]{\MNSfakewidetopaccent{#1}{0ex}{'307}{0.6ex}{'310}}
-\DeclareRobustCommand{\MNSwideparen}[1]{\MNSfakewidetopaccent{#1}{0ex}{'314}{0.6ex}{'315}}
-\DeclareRobustCommand{\MNSvec}[1]{\MNSfakewidetopaccent{#1}{0ex}{'321}{0ex}{'321}}
-\def\MNSlinesegmentfill@{\arrowfill@\MNSleftfootline\MNSrelbar\MNSrightfootline}
-\def\MNSleftharpoonfill@{\arrowfill@\MNSleftharpooncw\MNSrelbar\MNSrelbar}
-\def\MNSrightharpoonfill@{\arrowfill@\MNSrelbar\MNSrelbar\MNSrightharpoonccw}
-\DeclareRobustCommand{\MNSoverlinesegment}{\mathpalette{\overarrow@\MNSlinesegmentfill@}}
-\DeclareRobustCommand{\MNSoverleftharpoon}{\mathpalette{\overarrow@\MNSleftharpoonfill@}}
-\DeclareRobustCommand{\MNSoverrightharpoon}{\mathpalette{\overarrow@\MNSrightharpoonfill@}}
-\DeclareRobustCommand{\MNSunderlinesegment}{\mathpalette{\underarrow@\MNSlinesegmentfill@}}
-\def\MNSbracefill@#1#2#3#4#5{$\m@th#5#1\leaders\hbox{$#4$}\hfill#2\leaders\hbox{$#4$}\hfill#3$}
-\def\MNSdowngroupfill@{\MNSbracefill@\MNSbraceld{}\MNSbracerd\MNSbracemid}
-\def\MNSupgroupfill@{\MNSbracefill@\MNSbracelu{}\MNSbraceru\MNSbracemid}
-\def\MNSoverbrace@#1#2#3{\vbox{\m@th\ialign{##\crcr
- #1#2\crcr\noalign{\kern2\p@\nointerlineskip}%
- $\m@th\hfil#2#3\hfil$\crcr}}}
-\def\MNSunderbrace@#1#2#3{\vtop{\m@th\ialign{##\crcr
- $\m@th\hfil#2#3\hfil$\crcr
- \noalign{\kern2\p@\nointerlineskip}%
- #1#2\crcr}}}
-\def\MNSbraceld{\mbox{\usefont{U}{MnSymbolE}{m}{n}\char'263}}
-\def\MNSbracelu{\mbox{\usefont{U}{MnSymbolE}{m}{n}\char'264}}
-\def\MNSbracerd{\mbox{\usefont{U}{MnSymbolE}{m}{n}\char'265}}
-\def\MNSbraceru{\mbox{\usefont{U}{MnSymbolE}{m}{n}\char'266}}
-\def\MNSbracemid{\mbox{\usefont{U}{MnSymbolE}{m}{n}\char'271}}
-\DeclareRobustCommand{\MNSovergroup}{\mathpalette{\MNSoverbrace@\MNSdowngroupfill@}}
-\DeclareRobustCommand{\MNSundergroup}{\mathpalette{\MNSunderbrace@\MNSupgroupfill@}}
-
-\endinput
-TRAILER
-;