From e0c6872cf40896c7be36b11dcc744620f10adf1d Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Mon, 2 Sep 2019 13:46:59 +0900 Subject: Initial commit --- macros/latex/contrib/diagnose/INSTALL | 49 +++ macros/latex/contrib/diagnose/README | 25 ++ macros/latex/contrib/diagnose/doc/diagnose.dvi | Bin 0 -> 9036 bytes macros/latex/contrib/diagnose/doc/diagnose.pdf | Bin 0 -> 91029 bytes macros/latex/contrib/diagnose/doc/diagnose.ps | 424 +++++++++++++++++++++ macros/latex/contrib/diagnose/doc/diagnose.tex | 166 ++++++++ macros/latex/contrib/diagnose/doc/mls-diag.tex | 188 +++++++++ .../latex/contrib/diagnose/texinput/diagnose.sty | 59 +++ 8 files changed, 911 insertions(+) create mode 100644 macros/latex/contrib/diagnose/INSTALL create mode 100644 macros/latex/contrib/diagnose/README create mode 100644 macros/latex/contrib/diagnose/doc/diagnose.dvi create mode 100644 macros/latex/contrib/diagnose/doc/diagnose.pdf create mode 100644 macros/latex/contrib/diagnose/doc/diagnose.ps create mode 100644 macros/latex/contrib/diagnose/doc/diagnose.tex create mode 100644 macros/latex/contrib/diagnose/doc/mls-diag.tex create mode 100644 macros/latex/contrib/diagnose/texinput/diagnose.sty (limited to 'macros/latex/contrib/diagnose') diff --git a/macros/latex/contrib/diagnose/INSTALL b/macros/latex/contrib/diagnose/INSTALL new file mode 100644 index 0000000000..f1834d8594 --- /dev/null +++ b/macros/latex/contrib/diagnose/INSTALL @@ -0,0 +1,49 @@ + Title: diagnose.sty + Version: 0.2 + Author: Oliver Corff + Copyright: Ulaanbaatar, Berlin, Beijing, Shanghai 2001 + Date: April 10th, 2001 + (Timestamp: April 10, 2001) + Archive Name: diagnose.zip + Description: Installation Diagnostics + Legal Notes: See end of this document + +0. Introduction + +diagnose.sty, if included as a package, helps identify available +and necessary but missing files, packages and tokens. + +diagnose.sty can be used by texts and other packages. For every +file or token checked it provides a counter and a set of messages, +one message if the file or token is found, the other for an absent +token or file. + + +1. Installation and Use + +Unpack the archive diagnose.zip in some temporary directory. +Copy the file diagnose.sty to a place where your TeX installation +can find it. Rehash the directory database, if possible (not all +distributions provide this possibility). + +The counter provided by diagnose.sty can be used to trigger appropriate +activity, either in the form of program branches or in the form of +variable texts. Messages can appear in log files and documents. + +See diagnose.tex for a complete documentation and mls-diag.tex for +a live example of what this is all about. + + +2. Legal Notes + +This software is published under the GPL. +Usual disclaimers apply. + +Thank you for using diagnose.sty! + + Ulaanbaatar, Beijing, + Berlin, Shanghai + April 2001 + + Oliver Corff + corff@zedat.fu-berlin.de diff --git a/macros/latex/contrib/diagnose/README b/macros/latex/contrib/diagnose/README new file mode 100644 index 0000000000..9bc9cfaab8 --- /dev/null +++ b/macros/latex/contrib/diagnose/README @@ -0,0 +1,25 @@ +Package name: diagnose.sty +Package authors: Oliver Corff +Version/Release: version 0.2 + +Features: + +This tool, diagnose.sty, is thought useful for package authors who +want to facilitate the successful distribution of their packages. +It helps the user (and the system administrator) to see what has to +be done *before* a new package is installed. + +diagnose.sty provides simple high-level tools for checking +the existence of files and tokens. Software action can be +triggered, messages can appear in log files and documents. + +Compiling the example mls-diag.tex and reading its source text will +show the idea behind this little utility. + +Installation: + +Unpack this archive and copy diagnose.sty to some place where +your LaTeX installation can find it. Rehash the directory database. +That's it! + +OC, April 2001 diff --git a/macros/latex/contrib/diagnose/doc/diagnose.dvi b/macros/latex/contrib/diagnose/doc/diagnose.dvi new file mode 100644 index 0000000000..caa0b2994a Binary files /dev/null and b/macros/latex/contrib/diagnose/doc/diagnose.dvi differ diff --git a/macros/latex/contrib/diagnose/doc/diagnose.pdf b/macros/latex/contrib/diagnose/doc/diagnose.pdf new file mode 100644 index 0000000000..ad11f6133b Binary files /dev/null and b/macros/latex/contrib/diagnose/doc/diagnose.pdf differ diff --git a/macros/latex/contrib/diagnose/doc/diagnose.ps b/macros/latex/contrib/diagnose/doc/diagnose.ps new file mode 100644 index 0000000000..d173f0a319 --- /dev/null +++ b/macros/latex/contrib/diagnose/doc/diagnose.ps @@ -0,0 +1,424 @@ +%!PS-Adobe-2.0 +%%Creator: dvips(k) 5.86 Copyright 1999 Radical Eye Software +%%Title: diagnose.dvi +%%Pages: 3 +%%PageOrder: Ascend +%%BoundingBox: 0 0 596 842 +%%DocumentFonts: Times-Roman Symbol Courier Times-Bold Courier-Bold +%%EndComments +%DVIPSWebPage: (www.radicaleye.com) +%DVIPSCommandLine: dvips -o diagnose.ps diagnose.dvi +%DVIPSParameters: dpi=600, compressed +%DVIPSSource: TeX output 2001.09.28:1043 +%%BeginProcSet: texc.pro +%! +/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S +N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72 +mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0 +0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{ +landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize +mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[ +matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round +exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{ +statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0] +N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin +/FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array +/BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2 +array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N +df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A +definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get +}B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub} +B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr +1 add N}if}B/id 0 N/rw 0 N/rc 0 N/gp 0 N/cp 0 N/G 0 N/CharBuilder{save 3 +1 roll S A/base get 2 index get S/BitMaps get S get/Cd X pop/ctr 0 N Cdx +0 Cx Cy Ch sub Cx Cw add Cy setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx +sub Cy .1 sub]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{ +rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp +gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B +/chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{ +/cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{ +A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy +get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse} +ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp +fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17 +{2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add +chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{ +1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop} +forall N/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn +/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put +}if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{ +bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A +mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{ +SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{ +userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X +1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4 +index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N +/p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{ +/Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT) +(LaserWriter 16/600)]{A length product length le{A length product exch 0 +exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse +end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask +grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot} +imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round +exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto +fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p +delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M} +B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{ +p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S +rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end + +%%EndProcSet +%%BeginProcSet: 8r.enc +% @@psencodingfile@{ +% author = "S. Rahtz, P. MacKay, Alan Jeffrey, B. Horn, K. Berry", +% version = "0.6", +% date = "1 July 1998", +% filename = "8r.enc", +% email = "tex-fonts@@tug.org", +% docstring = "Encoding for TrueType or Type 1 fonts +% to be used with TeX." +% @} +% +% Idea is to have all the characters normally included in Type 1 fonts +% available for typesetting. This is effectively the characters in Adobe +% Standard Encoding + ISO Latin 1 + extra characters from Lucida. +% +% Character code assignments were made as follows: +% +% (1) the Windows ANSI characters are almost all in their Windows ANSI +% positions, because some Windows users cannot easily reencode the +% fonts, and it makes no difference on other systems. The only Windows +% ANSI characters not available are those that make no sense for +% typesetting -- rubout (127 decimal), nobreakspace (160), softhyphen +% (173). quotesingle and grave are moved just because it's such an +% irritation not having them in TeX positions. +% +% (2) Remaining characters are assigned arbitrarily to the lower part +% of the range, avoiding 0, 10 and 13 in case we meet dumb software. +% +% (3) Y&Y Lucida Bright includes some extra text characters; in the +% hopes that other PostScript fonts, perhaps created for public +% consumption, will include them, they are included starting at 0x12. +% +% (4) Remaining positions left undefined are for use in (hopefully) +% upward-compatible revisions, if someday more characters are generally +% available. +% +% (5) hyphen appears twice for compatibility with both +% ASCII and Windows. +% +/TeXBase1Encoding [ +% 0x00 (encoded characters from Adobe Standard not in Windows 3.1) + /.notdef /dotaccent /fi /fl + /fraction /hungarumlaut /Lslash /lslash + /ogonek /ring /.notdef + /breve /minus /.notdef +% These are the only two remaining unencoded characters, so may as +% well include them. + /Zcaron /zcaron +% 0x10 + /caron /dotlessi +% (unusual TeX characters available in, e.g., Lucida Bright) + /dotlessj /ff /ffi /ffl + /.notdef /.notdef /.notdef /.notdef + /.notdef /.notdef /.notdef /.notdef + % very contentious; it's so painful not having quoteleft and quoteright + % at 96 and 145 that we move the things normally found there to here. + /grave /quotesingle +% 0x20 (ASCII begins) + /space /exclam /quotedbl /numbersign + /dollar /percent /ampersand /quoteright + /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash +% 0x30 + /zero /one /two /three /four /five /six /seven + /eight /nine /colon /semicolon /less /equal /greater /question +% 0x40 + /at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O +% 0x50 + /P /Q /R /S /T /U /V /W + /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore +% 0x60 + /quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o +% 0x70 + /p /q /r /s /t /u /v /w + /x /y /z /braceleft /bar /braceright /asciitilde + /.notdef % rubout; ASCII ends +% 0x80 + /.notdef /.notdef /quotesinglbase /florin + /quotedblbase /ellipsis /dagger /daggerdbl + /circumflex /perthousand /Scaron /guilsinglleft + /OE /.notdef /.notdef /.notdef +% 0x90 + /.notdef /.notdef /.notdef /quotedblleft + /quotedblright /bullet /endash /emdash + /tilde /trademark /scaron /guilsinglright + /oe /.notdef /.notdef /Ydieresis +% 0xA0 + /.notdef % nobreakspace + /exclamdown /cent /sterling + /currency /yen /brokenbar /section + /dieresis /copyright /ordfeminine /guillemotleft + /logicalnot + /hyphen % Y&Y (also at 45); Windows' softhyphen + /registered + /macron +% 0xD0 + /degree /plusminus /twosuperior /threesuperior + /acute /mu /paragraph /periodcentered + /cedilla /onesuperior /ordmasculine /guillemotright + /onequarter /onehalf /threequarters /questiondown +% 0xC0 + /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla + /Egrave /Eacute /Ecircumflex /Edieresis + /Igrave /Iacute /Icircumflex /Idieresis +% 0xD0 + /Eth /Ntilde /Ograve /Oacute + /Ocircumflex /Otilde /Odieresis /multiply + /Oslash /Ugrave /Uacute /Ucircumflex + /Udieresis /Yacute /Thorn /germandbls +% 0xE0 + /agrave /aacute /acircumflex /atilde + /adieresis /aring /ae /ccedilla + /egrave /eacute /ecircumflex /edieresis + /igrave /iacute /icircumflex /idieresis +% 0xF0 + /eth /ntilde /ograve /oacute + /ocircumflex /otilde /odieresis /divide + /oslash /ugrave /uacute /ucircumflex + /udieresis /yacute /thorn /ydieresis +] def + +%%EndProcSet +%%BeginProcSet: texps.pro +%! +TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2 +index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll +exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]/Metrics +exch def dict begin Encoding{exch dup type/integertype ne{pop pop 1 sub +dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get div def} +ifelse}forall Metrics/Metrics currentdict end def[2 index currentdict +end definefont 3 -1 roll makefont/setfont cvx]cvx def}def/ObliqueSlant{ +dup sin S cos div neg}B/SlantFont{4 index mul add}def/ExtendFont{3 -1 +roll mul exch}def/ReEncodeFont{CharStrings rcheck{/Encoding false def +dup[exch{dup CharStrings exch known not{pop/.notdef/Encoding true def} +if}forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def} +def end + +%%EndProcSet +TeXDict begin 39158280 55380996 1000 600 600 (diagnose.dvi) +@start +%DVIPSBitmapFont: Fa cmsy10 10 2 +/Fa 2 104 df<15FE1407141FEC7FC0ECFE00495AEB03F0A2495AB3A8495AA2495A49C7 +FC13FEEA07FCEAFFF0138013F0EA07FCC67E133F6D7E6D7EA26D7EB3A86D7EA2EB01FC6D +7EEC7FC0EC1FFE140714001F537BBD2A>102 D<127EEAFFE013F8EA07FEC67EEB3F806D +7E130F6D7EB3A86D7EA26D7E6D7E147FEC3FC0EC0FFE1403140FEC3FC0EC7F0014FC495A +495AA2495AB3A8495A131F495A01FFC7FCEA07FEEAFFF813E0007EC8FC1F537BBD2A>I +E +%EndDVIPSBitmapFont +/Fb 135[60 3[60 60 3[60 60 2[60 1[60 1[60 1[60 1[60 1[60 +4[60 2[60 4[60 3[60 1[60 60 8[60 68[{TeXBase1Encoding ReEncodeFont}18 +99.6264 /Courier-Bold rf /Fc 203[50 50 50 50 2[25 46[{ +TeXBase1Encoding ReEncodeFont}5 99.6264 /Times-Bold rf +/Fd 130[38 1[38 1[38 38 1[38 38 38 38 38 38 38 38 38 +38 38 38 1[38 38 38 38 38 38 38 38 38 4[38 2[38 1[38 +38 1[38 38 38 1[38 1[38 38 3[38 4[38 38 1[38 3[38 11[38 +2[38 1[38 6[38 3[38 33[{.85 ExtendFont TeXBase1Encoding ReEncodeFont}45 +74.7198 /Courier rf /Ff 140[72 3[72 72 4[72 1[72 1[72 +72 2[72 97[{TeXBase1Encoding ReEncodeFont}8 119.552 /Courier-Bold +rf /Fg 190[44 65[{TeXBase1Encoding ReEncodeFont}1 61.4362 +/Times-Roman rf /Fh 134[42 42 3[42 42 42 2[42 42 42 42 +42 1[42 1[42 42 42 42 42 1[42 4[42 2[42 4[42 3[42 1[42 +42 3[42 2[42 42 42 21[42 42 45[{ +.85 ExtendFont TeXBase1Encoding ReEncodeFont}29 83.022 +/Courier rf /Fi 154[36 101[{}1 83.022 /Symbol rf /Fj +134[42 42 60 42 42 23 32 28 42 42 42 42 65 23 42 1[23 +42 42 28 37 42 37 42 37 7[60 60 2[60 51 3[46 1[60 1[51 +2[28 1[60 46 51 60 1[55 60 5[23 23 5[42 42 42 42 2[21 +28 21 2[28 28 28 36[46 2[{TeXBase1Encoding ReEncodeFont}51 +83.022 /Times-Roman rf /Fk 140[50 3[50 50 4[50 1[50 1[50 +50 2[50 97[{TeXBase1Encoding ReEncodeFont}8 83.022 /Courier-Bold +rf /Fl 135[42 2[46 28 32 37 1[46 42 46 69 23 46 1[23 +46 42 1[37 46 37 1[42 12[55 46 2[51 3[55 2[32 3[55 16[42 +42 42 42 49[{TeXBase1Encoding ReEncodeFont}28 83.022 +/Times-Bold rf /Fm 135[60 2[66 40 47 53 1[66 60 66 100 +33 66 1[33 66 60 1[53 66 53 1[60 12[80 66 2[73 3[80 2[47 +3[80 1[86 14[60 60 60 60 49[{TeXBase1Encoding ReEncodeFont}29 +119.552 /Times-Bold rf /Fn 133[51 4[51 51 1[51 2[51 51 +1[51 2[51 2[51 51 51 51 51 51 32[51 17[51 51 45[{ +.85 ExtendFont TeXBase1Encoding ReEncodeFont}17 99.6264 +/Courier rf /Fp 137[50 1[28 1[33 1[50 50 2[28 2[28 50 +1[33 44 21[72 11[66 1[72 14[50 50 50 3[25 44[{ +TeXBase1Encoding ReEncodeFont}17 99.6264 /Times-Roman +rf /Fq 134[73 4[73 73 3[73 73 4[73 1[73 1[73 73 2[73 +50[73 46[{.85 ExtendFont TeXBase1Encoding ReEncodeFont}11 +143.462 /Courier rf /Fs 136[104 72 1[40 56 48 2[72 72 +1[40 2[40 72 72 1[64 1[64 1[64 23[48 4[104 17[72 1[72 +1[36 46[{TeXBase1Encoding ReEncodeFont}19 143.462 /Times-Roman +rf end +%%EndProlog +%%BeginSetup +%%Feature: *Resolution 600dpi +TeXDict begin +%%PaperSize: A4 + +%%EndSetup +%%Page: 1 1 +1 0 bop 1255 880 a Fs(Installation)33 b(Diagnostics)h(with)1305 +1063 y Fq(diagnose.sty)k Fs(v)n(ersion)c(0.2)1835 1303 +y Fp(Oli)n(v)o(er)24 b(Corf)n(f)1470 1420 y Fn +(corff@zedat.fu-berlin.de)1749 1614 y Fp(April)g(10th,)g(2001)606 +1977 y Fm(Contents)606 2163 y Fl(1)83 b(Intr)o(oduction)2329 +b(1)606 2345 y(2)83 b(The)21 b Fk(diagnose)e Fl(P)o(ackage)1907 +b(2)731 2445 y Fj(2.1)86 b Fh(\\PackageDiagnostics)28 +b Fj(.)41 b(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f +(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)125 b(2)731 +2544 y(2.2)86 b Fh(\\TokenDiagnostics)49 b Fj(.)42 b(.)f(.)g(.)g(.)h(.) +f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g +(.)h(.)f(.)g(.)g(.)125 b(2)731 2644 y(2.3)86 b Fh(\\TextMessageYes)71 +b Fj(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g +(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)125 +b(2)731 2744 y(2.4)86 b Fh(\\TextMessageNo)51 b Fj(.)41 +b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h +(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)125 b(3)606 +2926 y Fl(3)83 b(Examples)2435 b(3)606 3109 y(4)83 b(Legal)20 +b(Status)2340 b(3)606 3389 y Fm(1)119 b(Intr)n(oduction)606 +3575 y Fj(Lar)o(ge)19 b(L)840 3561 y Fg(A)872 3575 y +Fj(T)909 3593 y(E)949 3575 y(X)12 b(2)1063 3588 y Fi(e)1124 +3575 y Fj(packages)18 b(with)i(e)o(xtensi)n(v)o(e)f(functionality)e +(are)j(ideally)g(written)f(with)h(the)g(support)606 3674 +y(of)n(fered)29 b(by)h(the)h(L)1143 3660 y Fg(A)1175 +3674 y Fj(T)1212 3693 y(E)1252 3674 y(X)12 b(2)1366 3687 +y Fi(e)1438 3674 y Fj(installation)30 b(in)h(mind)f(as)i(it)g(does)e +(not)h(mak)o(e)f(sense)h(to)g(rein)m(v)o(ent)e(the)606 +3774 y(wheel)d(or)f(cop)o(y)g(code)g(from)g(other)g(packages.)40 +b(If)26 b(a)g(package)e(mak)o(es)i(use)g(of)f(other)g(packages)g(in)606 +3874 y(the)d(system)g(there)g(should)f(be)h(a)h(means)f(to)g(test)h +(for)e(the)h(presence)g(of)f(the)h(required)f(package,)g(or)g(a)606 +3973 y(required)d(tok)o(en.)731 4073 y(Depending)h(on)h(the)i(result)f +(of)g(this)g(test,)h(se)n(v)o(eral)f(situations)g(are)g(possible.)28 +b(Either)20 b(the)h(calling)606 4173 y(package)g(f)o(ails)j(completely) +-5 b(,)21 b(or)h(f)o(ails)i(to)f(pro)o(vide)d(the)j(intended)e(service) +h(in)h(its)h(full)f(scope,)f(or)h(has)606 4272 y(to)d(check)f(for)g +(some)h(alternati)n(v)o(e.)j(In)d(an)o(y)e(case,)j(an)e(informati)n(v)o +(e)f(message)h(should)g(be)h(written)f(into)606 4372 +y(the)h(log)g(\002le)h(and)f(perhaps)f(also)h(into)g(the)g(te)o(xt)g +(document.)731 4471 y(T)768 4490 y(E)808 4471 y(X)31 +b(and)g(L)1072 4457 y Fg(A)1104 4471 y Fj(T)1141 4490 +y(E)1181 4471 y(X)12 b(2)1295 4484 y Fi(e)1367 4471 y +Fj(pro)o(vide)29 b(basic)i(functionality)e(for)h(testing)h(the)g(e)o +(xistence)g(of)f(\002les)i(and)606 4571 y(tok)o(ens;)20 +b(this)h(package)d(goes)i(a)h(step)f(further)f(and)h(pro)o(vides)e +(mechanisms)h(for)h(informing)e(the)i(soft-)606 4671 +y(w)o(are)g(and)g(the)g(user)g(about)f(a)i(detected)e(condition.)731 +4770 y(Besides)26 b(pro)o(viding)c(a)j(simple)g(mechanism)f(for)h +(repeated)e(references)h(to)h(the)g(e)o(xistence)g(of)f(a)606 +4870 y(\002le)f(or)f(tok)o(en,)f(the)h(other)g(important)e(application) +h(is)i(for)e(checking)g(whether)g(a)i(comple)o(x)d(applica-)606 +4970 y(tion)27 b(can)f(be)h(used)g(immediately)e(after)i(installing)f +(or)h(whether)e(it)j(requires)e(additional)f(softw)o(are)606 +5069 y(to)g(be)h(installed.)39 b(F)o(or)25 b(this)h(purpose,)e(L)1760 +5055 y Fg(A)1792 5069 y Fj(T)1829 5088 y(E)1869 5069 +y(X)i(packages)e(can)h(no)n(w)g(be)g(accompanied)e(by)h(a)i(simple)606 +5169 y(te)o(xt)21 b(document)f(which,)g(when)h(compiled,)f(checks)h +(the)g(user')-5 b(s)22 b(en)m(vironment)c(and)j(mak)o(es)g(sugges-)606 +5268 y(tions)27 b(about)f(missing)h(softw)o(are,)g(if)g(necessary)-5 +b(.)44 b(An)27 b(e)o(xample)e(of)i(this)g(idea)g(is)h(gi)n(v)o(en)d(in) +i(the)g(\002le)606 5368 y Fh(mls-diag.tex)p Fj(.)2059 +5662 y(1)p eop +%%Page: 2 2 +2 1 bop 606 531 a Fm(2)119 b(The)31 b Ff(diagnose)c Fm(P)o(ackage)606 +717 y Fj(The)20 b Fh(diagnose)j Fj(package)c(is)i(included)e(with)h +(the)h(usual)606 875 y Fd(\\usepackage{diagnose})606 +1041 y Fj(statement.)k(There)19 b(are)h(no)g(options)f(at)i(present.)j +(The)c(four)f(commands)g(of)n(fered)f(are:)710 1207 y(1.)41 +b Fh(\\PackageDiagnostics)710 1373 y Fj(2.)g Fh(\\TokenDiagnostics)710 +1539 y Fj(3.)g Fh(\\TextMessageYes)710 1705 y Fj(4.)g +Fh(\\TextMessageNo)606 1943 y Fc(2.1)99 b Fb(\\PackageDiagnostics)606 +2090 y Fd(\\PackageDiagnostics{})40 b(\045)f(Tested)f(package)1330 +2181 y({})g(\045)h(Associated)g(counter)1330 2273 y({})f(\045)h +(message)f(if)h(file)f(available)1330 2364 y({})g(\045)h(message)f(if)h +(file)f(not)h(available)731 2546 y Fj(This)16 b(command)f(v)o +(eri\002es)h(whether)g(a)h(\002le)g(is)h(a)n(v)n(ailable)e(within)g +(the)h(T)2733 2565 y(E)2773 2546 y(X)g(directory)e(structure.)23 +b(It)606 2646 y(is)e(based)f(on)g(the)h(L)1140 2632 y +Fg(A)1172 2646 y Fj(T)1209 2665 y(E)1249 2646 y(X)12 +b(2)1363 2659 y Fi(e)1424 2646 y Fj(command)19 b Fh(\\IfFileExists)p +Fa(fg)24 b Fj(and)c(of)n(fers)f(the)i(possibility)f(to)g(create)606 +2746 y(a)27 b(counter)e(which)h(is)h(associated)g(with)f(the)h(e)o +(xistence)f(of)g(the)g(requested)f(\002le.)45 b(The)26 +b(counter)f(can)606 2845 y(then)18 b(be)h(used)f(throughout)e(the)i +(softw)o(are)g(without)g(additional)g(calls)h(of)f Fh(\\IfFileExists)p +Fa(fg)p Fj(.)29 b(T)-7 b(w)o(o)606 2945 y(message)21 +b(te)o(xts)g(can)g(be)g(gi)n(v)o(en;)f(one)h(will)h(be)f(printed)e(if)j +(the)f(\002le)h(e)o(xists,)f(the)g(other)f(will)i(be)f(printed)606 +3045 y(if)g(the)f(\002le)h(is)g(absent.)731 3144 y(By)31 +b(def)o(ault)g(the)g(message)g(te)o(xts)h(appear)e(in)h(the)g(log)g +(\002le)h(and)f(the)g(terminal)g(output)f(of)h(the)606 +3244 y(running)d(caller)j(program;)i(additionally)c(it)i(is)h(possible) +e(to)h(ha)n(v)o(e)f(the)g(messages)h(appear)e(in)i(the)606 +3344 y(output)19 b(te)o(xt)h(of)g(the)g(document.)606 +3581 y Fc(2.2)99 b Fb(\\TokenDiagnostics)606 3729 y Fd +(\\TokenDiagnostics{})40 b(\045)e(Tested)h(token)1254 +3820 y({})f(\045)g(Associated)i(counter)1254 3911 y({})e(\045)g +(message)h(if)g(token)f(available)1254 4002 y({})g(\045)g(message)h(if) +g(token)f(not)h(available)731 4185 y Fj(This)22 b(command)f(v)o +(eri\002es)h(whether)f(a)i(tok)o(en)f(\(a)g(command)f(sequence,)g +(etc.\))32 b(is)23 b(kno)n(wn)e(to)i(the)606 4285 y(system.)36 +b(Lik)o(e)24 b Fh(\\PackageDiagnostics)31 b Fj(it)24 +b(accepts)g(an)g(associated)f(counter)g(and)g(tw)o(o)h(message)606 +4384 y(te)o(xts)c(as)h(ar)o(guments.)606 4622 y Fc(2.3)99 +b Fb(\\TextMessageYes)606 4778 y Fj(By)18 b(def)o(ault,)e(messages)h +(generated)f(by)g(the)h(tw)o(o)h(diagnostics)e(commands)f(appear)h +(only)g(in)i(terminal)606 4877 y(output)25 b(and)h(log)g(\002les.)44 +b(If)26 b(the)g(messages)h(shall)f(also)h(be)f(displayed)f(in)i(the)f +(output)f(te)o(xt)h(then)g(the)606 4977 y(command)606 +5135 y Fd(\\TextMessageYes)606 5301 y Fj(is)20 b(to)f(be)g(used.)24 +b(It)19 b(is)h(not)e(follo)n(wed)g(by)g(an)o(y)g(ar)o(gument.)k(By)d +(def)o(ault,)g(message)f(te)o(xts)h(do)g(not)f(appear)606 +5400 y(in)i(the)h(output)e(te)o(xt,)g(only)h(in)g(log)g(\002les)h(and)f +(terminal)f(output.)2059 5662 y(2)p eop +%%Page: 3 3 +3 2 bop 606 531 a Fc(2.4)99 b Fb(\\TextMessageNo)606 +687 y Fj(If)30 b(output)f(of)g(diagnostics)h(messages)g(to)g(the)g +(main)f(te)o(xt)h(had)g(been)f(enabled)g(before,)h(it)h(can)f(be)606 +787 y(disabled)20 b(with)g(the)g(command)606 944 y Fd(\\TextMessageNo) +606 1110 y Fj(which)g(happens)f(to)h(be)g(the)g(def)o(ault)g(of)g(the)g +(diagnostics)f(package.)606 1391 y Fm(3)119 b(Examples)606 +1576 y Fj(T)-7 b(w)o(o)29 b(e)o(xamples)f(are)g(gi)n(v)o(en)g(here.)50 +b(First)29 b(the)g(usage)f(of)g(the)h(package)e(diagnostics)h(command)f +(is)606 1676 y(sho)n(wn,)16 b(and,)g(in)g(a)h(separate)e(\002le,)j(the) +e(reader)f(is)i(in)m(vited)e(to)h(compile)f(the)h(accompan)o(ying)d +(document)606 1775 y Fh(mls-diag.tex)25 b Fj(which)20 +b(sho)n(ws)g(a)g(real-life)g(application)f(of)h Fh(diagnose.sty)p +Fj(.)606 1950 y Fd(\\PackageDiagnostics{rotating.sty})42 +b(\045)c(Tested)h(package)644 2041 y({RotatingAvailable})h(\045)f +(Associated)g(counter)644 2132 y({Vertical)g(text)g(possible!})g(\045)f +(message)h(if)f(file)h(available)644 2224 y({rotating.sty)h(not)e +(found,)h(no)f(vertical)h(text!})g(\045)f(message)h(if)f(not)606 +2406 y(\\ifnum\\theRotatingAvailable=1)911 2498 y(You)g(can)h(use)f +(vertical)h(text)g(in)f(your)h(documents.)g(No)f(further)911 +2589 y(measure)h(is)f(required.)606 2680 y(\\else)911 +2772 y(Without)h(the)f(\\texttt{rotating.sty})j(package)d(vertical)h +(text)911 2863 y(cannot)g(be)f(typeset.)h(If)f(you)h(need)f(this)h +(option,)g(then)f(access)911 2954 y(CTAN)g(and)h(install)g +(\\texttt{rotating.sty})h(on)e(your)h(system.)911 3046 +y(Make)f(sure)h(you)f(can)h(process)g(PostScript)g(output.)606 +3137 y(\\fi)731 3320 y Fj(The)44 b(actual)i(output)d(of)i(this)h +(command)d(sequence)h(will)i(depend)e(on)h(the)g(presence)f(of)606 +3419 y Fh(rotating.sty)25 b Fj(on)20 b(the)g(system)g(where)g(this)h +(source)e(\002le)i(is)g(compiled:)814 3585 y(Y)-9 b(ou)19 +b(can)g(use)h(v)o(ertical)f(te)o(xt)g(in)h(your)e(documents.)23 +b(No)d(further)e(measure)h(is)h(required.)731 3751 y(Y)-9 +b(ou)31 b(can)i(also)f(see)h(that)g(the)f(log)g(\002le)h(and)f(the)h +(terminal)e(output)g(contain)h(the)g(appropriate)606 +3851 y(message.)606 4131 y Fm(4)119 b(Legal)30 b(Status)606 +4317 y Fj(This)20 b(softw)o(are)g(is)h(placed)f(under)f(the)h(GPL.)g +(Usual)h(disclaimers)e(apply)-5 b(.)731 4416 y(As)25 +b(this)g(softw)o(are)g(tool)f(is)i(still)f(under)f(de)n(v)o(elopment,)e +(suggestions)i(on)g(ho)n(w)h(to)f(impro)o(v)o(e)f(the)606 +4516 y(usability)d(and)f(v)o(ersatility)h(of)g(this)h(package)d(are)j +(highly)e(appreciated.)2059 5662 y(3)p eop +%%Trailer +end +userdict /end-hook known{end-hook}if +%%EOF diff --git a/macros/latex/contrib/diagnose/doc/diagnose.tex b/macros/latex/contrib/diagnose/doc/diagnose.tex new file mode 100644 index 0000000000..ee3d325708 --- /dev/null +++ b/macros/latex/contrib/diagnose/doc/diagnose.tex @@ -0,0 +1,166 @@ +\documentclass{ltxdoc} +\usepackage{diagnose} +\title{Installation Diagnostics with\\\texttt{diagnose.sty} version 0.2} +\author{Oliver Corff\\\texttt{corff@zedat.fu-berlin.de}} +\date{April 10th, 2001} + +\begin{document} +\maketitle +\tableofcontents +\section{Introduction} + +Large \LaTeXe\ packages with extensive functionality are ideally +written with the support offered by the \LaTeXe\ installation in +mind as it does not make sense to reinvent the wheel or copy code +from other packages. If a package makes use of other packages in +the system there should be a means to test for the presence of +the required package, or a required token. + +Depending on the result of this test, several situations are +possible. Either the calling package fails completely, or fails +to provide the intended service in its full scope, or has to check +for some alternative. In any case, an informative message should +be written into the log file and perhaps also into the text document. + +\TeX\ and \LaTeXe\ provide basic functionality for testing the +existence of files and tokens; this package goes a step further +and provides mechanisms for informing the software and the user +about a detected condition. + +Besides providing a simple mechanism for repeated references to +the existence of a file or token, +the other important application is for checking whether a +complex application can be used immediately after installing or +whether it requires additional software to be installed. For this +purpose, \LaTeX\ packages can now be accompanied by a simple text +document which, when compiled, checks the user's environment and +makes suggestions about missing software, if necessary. An example +of this idea is given in the file \texttt{mls-diag.tex}. + +\section{The \texttt{diagnose} Package} + +The \texttt{diagnose} package is included with the usual +\begin{verbatim} +\usepackage{diagnose} +\end{verbatim} +statement. There are no options at present. +The four commands offered are: +\begin{enumerate} + \item \texttt{\char92 PackageDiagnostics} + \item \texttt{\char92 TokenDiagnostics} + \item \texttt{\char92 TextMessageYes} + \item \texttt{\char92 TextMessageNo} +\end{enumerate} + +\subsection{\texttt{\char92 PackageDiagnostics}} + +\begin{verbatim} +\PackageDiagnostics{} % Tested package + {} % Associated counter + {} % message if file available + {} % message if file not available +\end{verbatim} + +This command verifies whether a file is available within the \TeX\ +directory structure. It is based on the \LaTeXe\ command +\texttt{\char92 IfFileExists\{\}} and offers the possibility to +create a counter which is associated with the existence of the +requested file. The counter can then be used throughout the software +without additional calls of \texttt{\char92 IfFileExists\{\}}. +Two message texts can be given; one will be printed if the file +exists, the other will be printed if the file is absent. + +By default the message texts appear in the log file and the terminal +output of the running caller program; additionally it is possible to +have the messages appear in the output text of the document. + +\subsection{\texttt{\char92 TokenDiagnostics}} + +\begin{verbatim} +\TokenDiagnostics{} % Tested token + {} % Associated counter + {} % message if token available + {} % message if token not available +\end{verbatim} + +This command verifies whether a token (a command sequence, etc.) +is known to the system. Like \texttt{\char92 PackageDiagnostics} +it accepts an associated counter and two message texts as arguments. + +\subsection{\texttt{\char92 TextMessageYes}} + +By default, messages generated by the two diagnostics commands +appear only in terminal output and log files. If the messages shall +also be displayed in the output text then the command +\begin{verbatim} +\TextMessageYes +\end{verbatim} +is to be used. It is not followed by any argument. By default, +message texts do not appear in the output text, only in log files +and terminal output. + +\subsection{\texttt{\char92 TextMessageNo}} + +If output of diagnostics messages to the main text had been enabled +before, it can be disabled with the command +\begin{verbatim} +\TextMessageNo +\end{verbatim} +which happens to be the default of the diagnostics package. + +\section{Examples} + +Two examples are given here. First the usage of the package +diagnostics command is shown, and, in a separate file, the +reader is invited to compile the accompanying document +\texttt{mls-diag.tex} which shows a real-life application of +\texttt{diagnose.sty}. + +\begin{verbatim} +\PackageDiagnostics{rotating.sty} % Tested package + {RotatingAvailable} % Associated counter + {Vertical text possible!} % message if file available + {rotating.sty not found, no vertical text!} % message if not + +\ifnum\theRotatingAvailable=1 + You can use vertical text in your documents. No further + measure is required. +\else + Without the \texttt{rotating.sty} package vertical text + cannot be typeset. If you need this option, then access + CTAN and install \texttt{rotating.sty} on your system. + Make sure you can process PostScript output. +\fi +\end{verbatim} + +The actual output of this command sequence will depend on the +presence of \texttt{rotating.sty} on the system where this source +file is compiled: +\begin{quote} +\PackageDiagnostics{rotating.sty} % Tested package + {RotatingAvailable} % Associated counter + {Vertical text possible!} % message if file available + {rotating.sty not found, no vertical text!} % message if not + +\ifnum\theRotatingAvailable=1 + You can use vertical text in your documents. No further + measure is required. +\else + Without the \texttt{rotating.sty} package vertical text + cannot be typeset. If you need this option, then access + CTAN and install \texttt{rotating.sty} on your system. + Make sure you can process PostScript output. +\fi +\end{quote} + +You can also see that the log file and the terminal output contain +the appropriate message. + +\section{Legal Status} + +This software is placed under the GPL. Usual disclaimers apply. + +As this software tool is still under development, suggestions on how +to improve the usability and versatility of this package are highly +appreciated. +\end{document} diff --git a/macros/latex/contrib/diagnose/doc/mls-diag.tex b/macros/latex/contrib/diagnose/doc/mls-diag.tex new file mode 100644 index 0000000000..e40c27f6ca --- /dev/null +++ b/macros/latex/contrib/diagnose/doc/mls-diag.tex @@ -0,0 +1,188 @@ +\documentclass[a4paper,11pt]{article} +\usepackage{diagnose} + +\title{Mon\TeX\ Diagnostics:\\ + System Compatibility Report} +\author{Oliver Corff} + +\begin{document} +\maketitle +\begin{abstract} + Running \LaTeXe\ on this article will give information + on the status of system software necessary for exploiting + advanced features of Mon\TeX: RL line orientation, vertical + text, extended Cyrillic characters for Kazakh and the + text-mode gamma. +\end{abstract} + +\section{Introduction} + +Mon\TeX\ relies on numerous functions supplied by the existing +\LaTeXe\ installation for offering advanced services. Before installing +Mon\TeX\ it might be interesting to find out which support is offered +by the system and which additional packages should be supplied in order +to raise Mon\TeX\ to its complete functionality. + +This document will tell you which functionality is really available on +your system and +what you should do in case the desired support is missing. Whenever the +text informs you that something from CTAN (the Comprehensive TeX Archive +Network) should be installed then you have the choice to obtain the +required software from CTAN via the Internet or from a CD-ROM with the +contents of the CTAN site. In short, this will usually be the same source +from which you obtained Mon\TeX. + + +\section{RL Line Orientation\label{RLSupport}} + +If you want to be able to print complete paragraphs of Uighur Mongolian +texts, and not limit yourself to individual words and phrases, then you +will most certainly require the correct writing direction for Uighur +Mongolian which starts at the right end of line rather than the left end, +as supplied by Implementation Levels III and IV of Mon\TeX. +Apart from its vertical orientation, Uighur Mongolian is a RL writing +much like Arab and Hebrew. The RL mechanism is provided by modern +\LaTeXe\ installations. + +\TokenDiagnostics% + {\TeXXeTstate} % Token tested for + {RLSupportAvailable} % Associated counter + {RL Support Available!} % Yes message + {RL Support Not Available!} % No! message + +\textbf{Your system status}: +\ifnum\theRLSupportAvailable=1 + Your system is up to date and provides support for RL writings. + No further action is required. +\else + During this \LaTeXe\ run, your system did not reveal that it is + capable of typesetting RL writings correctly. + + \textbf{Action required}: + Please make sure + \marginpar{\Huge!!!} + you started \texttt{elatex} instead of \texttt{latex} for calling + e-\LaTeXe. If this message persists then you should install a + recent \TeX\ distribution from CTAN. +\fi + + +\section{Vertical Text\label{VerticalText}} + +If you want to mix horizontal and vertical text on one page your +system needs PostScript support. This implies that your \TeX\ +installation can handle insertions of PostScript commands in +documents (this is done automatically without your interaction); +it does not imply that you can print the results on your printer +if your printing equipment is not PostScript-compatible. + +\PackageDiagnostics% + {rotating.sty} % Package tested for + {PostScriptAvailable} % Associated counter + {PostScript Support Available!} % Yes message + {PostScript Support Not Available!} % No! message + +\textbf{Your system status}: +\ifnum\thePostScriptAvailable=1 + Your \TeX\ installation can handle vertical text; if your + system does not display or print vertical text properly + then you should check whether you do have a PostScript + printer or interpreter like GhostScript and GhostView. +\else + Your \TeX\ installation cannot handle vertical text. + + \textbf{Action required}: + You should either install a \TeX\ system with pre-configured + \marginpar{\Huge!!!} + PostScript support or should install PostScript support + from CTAN. +\fi +% + +\section{Uighur Mongolian Text Pages} + +\textbf{Your system status}: +\ifnum\theRLSupportAvailable=0 + Since your system does not offer RL support (see above) + %\ref{RLSupport}) + this section is meaningless and should be skipped. +\else + If you want to put Uighur text in vertical pages which + show the proper orientation without physically rotating + the paper they are printed on (like in books with a + mixture of Uighur Mongolian and Modern Mongolian articles) + you must make sure that your installation has so-called + landscape orientation support. + + \PackageDiagnostics% + {lscape.sty} % Package tested for + {LandscapeAvailable} % Associated counter + {Mongol Bicig Page Support Available!} % Yes message + {Mongol Bicig Page Support Not Available!}% No! message + + \ifnum\theLandscapeAvailable=1 + Your system has landscape orientation support and + does not require any action. + \else + + \textbf{Action required}: + You should install landscape orientation support + (usually this is done together with support for + vertical text material, see above \ref{VerticalText}). + \fi +\fi + + +\section{Extended Cyrillic Support} + +Beyond the basic Cyrillic support which is provided by Mon\TeX\ for +writing Modern Xalx Mongolian, Buryat and last but not least, Russian, +Kazakh requires additional Cyrillic characters which are not supplied +by Mon\TeX. + +\PackageDiagnostics% + {x2enc.def} % Package tested for + {LHCyrillicAvailable} % Associated counter + {Cyrillic Support for Kazakh available!}% Yes message + {Cyrillic Support for Kazakh Not Available!}% No! message + +\textbf{Your system status}: +\ifnum\theLHCyrillicAvailable=1 + Since your installation offers the full range of extended + Cyrillic characters, it is possible to write Kazakh on your + system. No further measures are required. +\else + Your installation does not offer the extended Cyrillic character + set necessary for writing Kazakh. You should install the LH + Cyrillic package from CTAN. Even without this support, your + Mon\TeX\ package as such is fully functional. +\fi + +\section{Gamma Support} + +The Greek gamma $\gamma$ is used in transliterations for Uighur +Mongolian Script. Without support of Modern Greek fonts, only +the slim, italic $\gamma$ used in mathematics is available. +If you want to match its typeface with all Latin and Cyrillic +letters used in Mon\TeX\ then you should make sure the Modern +Greek fonts are installed. +% +\PackageDiagnostics% + {lgrenc.def} % Package tested for + {GreekAvailable} % Associated counter + {Greek Support for Gammas available!}% Yes message + {Greek Support for Gammas Not Available!}% No! message + +\textbf{Your system status}: +\ifnum\theGreekAvailable=1 + On this system, the Modern Greek fonts \textit{are} installed. + There is no further action necessary. +\else + Your system does not feature the Modern Greek fonts. + + \textbf{Action required}: + If you use transliterations extensively and need a matching + typeface for the $\gamma$ then you should get the Modern + Greek fonts from CTAN and install them now. +\fi +\end{document} diff --git a/macros/latex/contrib/diagnose/texinput/diagnose.sty b/macros/latex/contrib/diagnose/texinput/diagnose.sty new file mode 100644 index 0000000000..e9a6e414a4 --- /dev/null +++ b/macros/latex/contrib/diagnose/texinput/diagnose.sty @@ -0,0 +1,59 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% File: diagnose.sty +% Author: Oliver Corff +% Date: April 10, 2001 +% Version: 0.2 +% Copyright: Ulaanbaatar, Beijing, Berlin, Shanghai +% +% Description: Diagnostic Functions +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% ------------------- identification ------------------- +\ProvidesFile{diagnose.sty} + [2000/11/01 v0.2 Diagnostic Utility] + +\newif\ifmessagetext + +\newcommand{\TextMessageNo}{ + \messagetextfalse +} + +\newcommand{\TextMessageYes}{ + \messagetexttrue +} + +\newcommand{\TextMessage}[1]{% + \ifmessagetext % + #1% + \fi % +} + +\newcommand{\TokenDiagnostics}[4]{% + \newcounter{#2}% % Counter name + \ifx#1\undefined % Token name + \setcounter{#2}{0}% % `No' assignment to counter + \TextMessage{#4}% % `No' text in document + \message{^^J#4^^J^^J}% % `No' text in message and log file + \else % + \setcounter{#2}{1}% % `Yes' assignment to counter + \TextMessage{#3}% % `Yes' text in document + \message{^^J#3^^J^^J}% % `Yes' text in message and log file + \fi % +} + +\newcommand{\PackageDiagnostics}[4]{% + \newcounter{#2}% % Counter name + \IfFileExists{#1}{% % Package name + \setcounter{#2}{1}% % `Yes' assignment to counter + \TextMessage{#3}% % `Yes' text in document + \message{^^J#3^^J^^J}% % `Yes' text in message and log file + } % + {\setcounter{#2}{0}% % `No' assignment to counter + \TextMessage{#4}% % `No' text in document + \message{^^J#4^^J^^J}% % `No' text in message and log file + } +} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\TextMessageNo +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\endinput % End of package diagnose.sty -- cgit v1.2.3