From bb60952e6d6e5d94a78ecdff85570ce2535cb2c1 Mon Sep 17 00:00:00 2001 From: Don Armstrong Date: Sun, 2 Oct 2005 21:55:17 +0000 Subject: [PATCH] added texmf --- texmf/aliases | 0 texmf/bibtex/unsrtdon.bst | 949 +++++++++++++ texmf/invoice.def | 319 +++++ texmf/invoice.sty | 1012 ++++++++++++++ texmf/ls-R | 39 + texmf/metafont/kelly/cmg10.600pk | Bin 0 -> 8840 bytes texmf/metafont/kelly/cmg10.mf | 76 ++ texmf/metafont/kelly/cmg10.tfm | Bin 0 -> 940 bytes texmf/metafont/kelly/cmgb10.600pk | Bin 0 -> 9284 bytes texmf/metafont/kelly/cmgb10.mf | 75 + texmf/metafont/kelly/cmgb10.tfm | Bin 0 -> 964 bytes texmf/metafont/kelly/cmgi10.600pk | Bin 0 -> 10976 bytes texmf/metafont/kelly/cmgi10.mf | 76 ++ texmf/metafont/kelly/cmgi10.tfm | Bin 0 -> 1148 bytes texmf/metafont/kelly/cmgtt10.600pk | Bin 0 -> 7416 bytes texmf/metafont/kelly/cmgtt10.mf | 75 + texmf/metafont/kelly/cmgtt10.tfm | Bin 0 -> 816 bytes texmf/metafont/kelly/greek.aux | 3 + texmf/metafont/kelly/greek.dvi | Bin 0 -> 21296 bytes texmf/metafont/kelly/greek.log | 2032 ++++++++++++++++++++++++++++ texmf/metafont/kelly/greek.pdf | Bin 0 -> 113992 bytes texmf/metafont/kelly/greek.sty | 217 +++ texmf/metafont/kelly/greek.tex | 229 ++++ texmf/metafont/kelly/grktxt.mf | 1288 ++++++++++++++++++ texmf/metafont/ls-R | 26 + texmf/realcalc.tex | 581 ++++++++ 26 files changed, 6997 insertions(+) create mode 100644 texmf/aliases create mode 100644 texmf/bibtex/unsrtdon.bst create mode 100644 texmf/invoice.def create mode 100644 texmf/invoice.sty create mode 100644 texmf/ls-R create mode 100644 texmf/metafont/kelly/cmg10.600pk create mode 100644 texmf/metafont/kelly/cmg10.mf create mode 100644 texmf/metafont/kelly/cmg10.tfm create mode 100644 texmf/metafont/kelly/cmgb10.600pk create mode 100644 texmf/metafont/kelly/cmgb10.mf create mode 100644 texmf/metafont/kelly/cmgb10.tfm create mode 100644 texmf/metafont/kelly/cmgi10.600pk create mode 100644 texmf/metafont/kelly/cmgi10.mf create mode 100644 texmf/metafont/kelly/cmgi10.tfm create mode 100644 texmf/metafont/kelly/cmgtt10.600pk create mode 100644 texmf/metafont/kelly/cmgtt10.mf create mode 100644 texmf/metafont/kelly/cmgtt10.tfm create mode 100644 texmf/metafont/kelly/greek.aux create mode 100644 texmf/metafont/kelly/greek.dvi create mode 100644 texmf/metafont/kelly/greek.log create mode 100644 texmf/metafont/kelly/greek.pdf create mode 100644 texmf/metafont/kelly/greek.sty create mode 100644 texmf/metafont/kelly/greek.tex create mode 100644 texmf/metafont/kelly/grktxt.mf create mode 100644 texmf/metafont/ls-R create mode 100644 texmf/realcalc.tex diff --git a/texmf/aliases b/texmf/aliases new file mode 100644 index 0000000..e69de29 diff --git a/texmf/bibtex/unsrtdon.bst b/texmf/bibtex/unsrtdon.bst new file mode 100644 index 0000000..d99ecae --- /dev/null +++ b/texmf/bibtex/unsrtdon.bst @@ -0,0 +1,949 @@ +% BibTeX standard bibliography style `unsrt' + % version 0.99a for BibTeX versions 0.99a or later, LaTeX version 2.09. + % Copyright (C) 1985, all rights reserved. + % Copying of this file is authorized only if either + % (1) you make absolutely no changes to your copy, including name, or + % (2) if you do make changes, you name it something other than + % btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst. + % This restriction helps ensure that all standard styles are identical. + % The file btxbst.doc has the documentation for this style. + +ENTRY + { address + author + booktitle + chapter + edition + editor + howpublished + institution + journal + key + month + note + number + organization + pages + publisher + school + series + title + type + volume + year + } + {} + { label } + +INTEGERS { output.state before.all mid.sentence after.sentence after.block } + +FUNCTION {init.state.consts} +{ #0 'before.all := + #1 'mid.sentence := + #2 'after.sentence := + #3 'after.block := +} + +STRINGS { s t } + +FUNCTION {output.nonnull} +{ 's := + output.state mid.sentence = + { ", " * write$ } + { output.state after.block = + { add.period$ write$ + newline$ + "\newblock " write$ + } + { output.state before.all = + 'write$ + { add.period$ " " * write$ } + if$ + } + if$ + mid.sentence 'output.state := + } + if$ + s +} + +FUNCTION {output} +{ duplicate$ empty$ + 'pop$ + 'output.nonnull + if$ +} + +FUNCTION {output.check} +{ 't := + duplicate$ empty$ + { pop$ "empty " t * " in " * cite$ * warning$ } + 'output.nonnull + if$ +} + +FUNCTION {output.bibitem} +{ newline$ + "\bibitem{" write$ + cite$ write$ + "}" write$ + newline$ + "" + before.all 'output.state := +} + +FUNCTION {fin.entry} +{ add.period$ + write$ + newline$ +} + +FUNCTION {new.block} +{ output.state before.all = + 'skip$ + { after.block 'output.state := } + if$ +} + +FUNCTION {new.sentence} +{ output.state after.block = + 'skip$ + { output.state before.all = + 'skip$ + { after.sentence 'output.state := } + if$ + } + if$ +} + +FUNCTION {not} +{ { #0 } + { #1 } + if$ +} + +FUNCTION {and} +{ 'skip$ + { pop$ #0 } + if$ +} + +FUNCTION {or} +{ { pop$ #1 } + 'skip$ + if$ +} + +FUNCTION {new.block.checka} +{ empty$ + 'skip$ + 'new.block + if$ +} + +FUNCTION {new.block.checkb} +{ empty$ + swap$ empty$ + and + 'skip$ + 'new.block + if$ +} + +FUNCTION {new.sentence.checka} +{ empty$ + 'skip$ + 'new.sentence + if$ +} + +FUNCTION {new.sentence.checkb} +{ empty$ + swap$ empty$ + and + 'skip$ + 'new.sentence + if$ +} + +FUNCTION {field.or.null} +{ duplicate$ empty$ + { pop$ "" } + 'skip$ + if$ +} + +FUNCTION {emphasize} +{ duplicate$ empty$ + { pop$ "" } + { "{\em " swap$ * "}" * } + if$ +} + +INTEGERS { nameptr namesleft numnames } + +FUNCTION {format.names} +{ 's := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't := + nameptr #1 > + { namesleft #1 > + { ", " * t * } + { numnames #2 > + { "," * } + 'skip$ + if$ + t "others" = + { " et~al." * } + { " and " * t * } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {format.authors} +{ author empty$ + { "" } + { author format.names } + if$ +} + +FUNCTION {format.editors} +{ editor empty$ + { "" } + { editor format.names + editor num.names$ #1 > + { ", editors" * } + { ", editor" * } + if$ + } + if$ +} + +FUNCTION {format.title} +{ title empty$ + { "" } + { title } + if$ +} + +FUNCTION {n.dashify} +{ 't := + "" + { t empty$ not } + { t #1 #1 substring$ "-" = + { t #1 #2 substring$ "--" = not + { "--" * + t #2 global.max$ substring$ 't := + } + { { t #1 #1 substring$ "-" = } + { "-" * + t #2 global.max$ substring$ 't := + } + while$ + } + if$ + } + { t #1 #1 substring$ * + t #2 global.max$ substring$ 't := + } + if$ + } + while$ +} + +FUNCTION {format.date} +{ year empty$ + { month empty$ + { "" } + { "there's a month but no year in " cite$ * warning$ + month + } + if$ + } + { + year + } + if$ +} + +FUNCTION {format.btitle} +{ title emphasize +} + +FUNCTION {tie.or.space.connect} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ * * +} + +FUNCTION {either.or.check} +{ empty$ + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} + +FUNCTION {format.bvolume} +{ volume empty$ + { "" } + { "volume" volume tie.or.space.connect + series empty$ + 'skip$ + { " of " * series emphasize * } + if$ + "volume and number" number either.or.check + } + if$ +} + +FUNCTION {format.number.series} +{ volume empty$ + { number empty$ + { series field.or.null } + { output.state mid.sentence = + { "number" } + { "Number" } + if$ + number tie.or.space.connect + series empty$ + { "there's a number but no series in " cite$ * warning$ } + { " in " * series * } + if$ + } + if$ + } + { "" } + if$ +} + +FUNCTION {format.edition} +{ edition empty$ + { "" } + { output.state mid.sentence = + { edition "l" change.case$ " edition" * } + { edition "t" change.case$ " edition" * } + if$ + } + if$ +} + +INTEGERS { multiresult } + +FUNCTION {multi.page.check} +{ 't := + #0 'multiresult := + { multiresult not + t empty$ not + and + } + { t #1 #1 substring$ + duplicate$ "-" = + swap$ duplicate$ "," = + swap$ "+" = + or or + { #1 'multiresult := } + { t #2 global.max$ substring$ 't := } + if$ + } + while$ + multiresult +} + +FUNCTION {format.pages} +{ pages empty$ + { "" } + { pages multi.page.check + { "pages" pages n.dashify tie.or.space.connect } + { "page" pages tie.or.space.connect } + if$ + } + if$ +} + +FUNCTION {format.vol.num.pages} +{ volume field.or.null + number empty$ + 'skip$ + { "(" number * ")" * * + volume empty$ + { "there's a number but no volume in " cite$ * warning$ } + 'skip$ + if$ + } + if$ + pages empty$ + 'skip$ + { duplicate$ empty$ + { pop$ format.pages } + { ":" * pages n.dashify * } + if$ + } + if$ +} + +FUNCTION {format.chapter.pages} +{ chapter empty$ + 'format.pages + { type empty$ + { "chapter" } + { type "l" change.case$ } + if$ + chapter tie.or.space.connect + pages empty$ + 'skip$ + { ", " * format.pages * } + if$ + } + if$ +} + +FUNCTION {format.in.ed.booktitle} +{ booktitle empty$ + { "" } + { editor empty$ + { "In " booktitle emphasize * } + { "In " format.editors * ", " * booktitle emphasize * } + if$ + } + if$ +} + +FUNCTION {empty.misc.check} +{ author empty$ title empty$ howpublished empty$ + month empty$ year empty$ note empty$ + and and and and and + { "all relevant fields are empty in " cite$ * warning$ } + 'skip$ + if$ +} + +FUNCTION {format.thesis.type} +{ type empty$ + 'skip$ + { pop$ + type "t" change.case$ + } + if$ +} + +FUNCTION {format.tr.number} +{ type empty$ + { "Technical Report" } + 'type + if$ + number empty$ + { "t" change.case$ } + { number tie.or.space.connect } + if$ +} + +FUNCTION {format.article.crossref} +{ key empty$ + { journal empty$ + { "need key or journal for " cite$ * " to crossref " * crossref * + warning$ + "" + } + { "In {\em " journal * "\/}" * } + if$ + } + { "In " key * } + if$ + " \cite{" * crossref * "}" * +} + +FUNCTION {format.crossref.editor} +{ editor #1 "{vv~}{ll}" format.name$ + editor num.names$ duplicate$ + #2 > + { pop$ " et~al." * } + { #2 < + 'skip$ + { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { " et~al." * } + { " and " * editor #2 "{vv~}{ll}" format.name$ * } + if$ + } + if$ + } + if$ +} + +FUNCTION {format.book.crossref} +{ volume empty$ + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ + "In " + } + { "Volume" volume tie.or.space.connect + " of " * + } + if$ + editor empty$ + editor field.or.null author field.or.null = + or + { key empty$ + { series empty$ + { "need editor, key, or series for " cite$ * " to crossref " * + crossref * warning$ + "" * + } + { "{\em " * series * "\/}" * } + if$ + } + { key * } + if$ + } + { format.crossref.editor * } + if$ + " \cite{" * crossref * "}" * +} + +FUNCTION {format.incoll.inproc.crossref} +{ editor empty$ + editor field.or.null author field.or.null = + or + { key empty$ + { booktitle empty$ + { "need editor, key, or booktitle for " cite$ * " to crossref " * + crossref * warning$ + "" + } + { "In {\em " booktitle * "\/}" * } + if$ + } + { "In " key * } + if$ + } + { "In " format.crossref.editor * } + if$ + " \cite{" * crossref * "}" * +} + +FUNCTION {article} +{ output.bibitem + format.authors "author" output.check + new.block + format.title "title" output.check + new.block + crossref missing$ + { journal emphasize "journal" output.check + format.vol.num.pages output + format.date "year" output.check + } + { format.article.crossref output.nonnull + format.pages output + } + if$ + new.block + note output + fin.entry +} + +FUNCTION {book} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + new.block + format.btitle "title" output.check + crossref missing$ + { format.bvolume output + new.block + format.number.series output + new.sentence + publisher "publisher" output.check + address output + } + { new.block + format.book.crossref output.nonnull + } + if$ + format.edition output + format.date "year" output.check + new.block + note output + fin.entry +} + +FUNCTION {booklet} +{ output.bibitem + format.authors output + new.block + format.title "title" output.check + howpublished address new.block.checkb + howpublished output + address output + format.date output + new.block + note output + fin.entry +} + +FUNCTION {inbook} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + new.block + format.btitle "title" output.check + crossref missing$ + { format.bvolume output + format.chapter.pages "chapter and pages" output.check + new.block + format.number.series output + new.sentence + publisher "publisher" output.check + address output + } + { format.chapter.pages "chapter and pages" output.check + new.block + format.book.crossref output.nonnull + } + if$ + format.edition output + format.date "year" output.check + new.block + note output + fin.entry +} + +FUNCTION {incollection} +{ output.bibitem + format.authors "author" output.check + new.block + format.title "title" output.check + new.block + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + format.bvolume output + format.number.series output + format.chapter.pages output + new.sentence + publisher "publisher" output.check + address output + format.edition output + format.date "year" output.check + } + { format.incoll.inproc.crossref output.nonnull + format.chapter.pages output + } + if$ + new.block + note output + fin.entry +} + +FUNCTION {inproceedings} +{ output.bibitem + format.authors "author" output.check + new.block + format.title "title" output.check + new.block + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + format.bvolume output + format.number.series output + format.pages output + address empty$ + { organization publisher new.sentence.checkb + organization output + publisher output + format.date "year" output.check + } + { address output.nonnull + format.date "year" output.check + new.sentence + organization output + publisher output + } + if$ + } + { format.incoll.inproc.crossref output.nonnull + format.pages output + } + if$ + new.block + note output + fin.entry +} + +FUNCTION {conference} { inproceedings } + +FUNCTION {manual} +{ output.bibitem + author empty$ + { organization empty$ + 'skip$ + { organization output.nonnull + address output + } + if$ + } + { format.authors output.nonnull } + if$ + new.block + format.btitle "title" output.check + author empty$ + { organization empty$ + { address new.block.checka + address output + } + 'skip$ + if$ + } + { organization address new.block.checkb + organization output + address output + } + if$ + format.edition output + format.date output + new.block + note output + fin.entry +} + +FUNCTION {mastersthesis} +{ output.bibitem + format.authors "author" output.check + new.block + format.title "title" output.check + new.block + "Master's thesis" format.thesis.type output.nonnull + school "school" output.check + address output + format.date "year" output.check + new.block + note output + fin.entry +} + +FUNCTION {misc} +{ output.bibitem + format.authors output + title howpublished new.block.checkb + format.title output + howpublished new.block.checka + howpublished output + format.date output + new.block + note output + fin.entry + empty.misc.check +} + +FUNCTION {phdthesis} +{ output.bibitem + format.authors "author" output.check + new.block + format.btitle "title" output.check + new.block + "PhD thesis" format.thesis.type output.nonnull + school "school" output.check + address output + format.date "year" output.check + new.block + note output + fin.entry +} + +FUNCTION {proceedings} +{ output.bibitem + editor empty$ + { organization output } + { format.editors output.nonnull } + if$ + new.block + format.btitle "title" output.check + format.bvolume output + format.number.series output + address empty$ + { editor empty$ + { publisher new.sentence.checka } + { organization publisher new.sentence.checkb + organization output + } + if$ + publisher output + format.date "year" output.check + } + { address output.nonnull + format.date "year" output.check + new.sentence + editor empty$ + 'skip$ + { organization output } + if$ + publisher output + } + if$ + new.block + note output + fin.entry +} + +FUNCTION {techreport} +{ output.bibitem + format.authors "author" output.check + new.block + format.title "title" output.check + new.block + format.tr.number output.nonnull + institution "institution" output.check + address output + format.date "year" output.check + new.block + note output + fin.entry +} + +FUNCTION {unpublished} +{ output.bibitem + format.authors "author" output.check + new.block + format.title "title" output.check + new.block + note "note" output.check + format.date output + fin.entry +} + +FUNCTION {default.type} { misc } + +MACRO {jan} {"January"} + +MACRO {feb} {"February"} + +MACRO {mar} {"March"} + +MACRO {apr} {"April"} + +MACRO {may} {"May"} + +MACRO {jun} {"June"} + +MACRO {jul} {"July"} + +MACRO {aug} {"August"} + +MACRO {sep} {"September"} + +MACRO {oct} {"October"} + +MACRO {nov} {"November"} + +MACRO {dec} {"December"} + +MACRO {acmcs} {"ACM Computing Surveys"} + +MACRO {acta} {"Acta Informatica"} + +MACRO {cacm} {"Communications of the ACM"} + +MACRO {ibmjrd} {"IBM Journal of Research and Development"} + +MACRO {ibmsj} {"IBM Systems Journal"} + +MACRO {ieeese} {"IEEE Transactions on Software Engineering"} + +MACRO {ieeetc} {"IEEE Transactions on Computers"} + +MACRO {ieeetcad} + {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"} + +MACRO {ipl} {"Information Processing Letters"} + +MACRO {jacm} {"Journal of the ACM"} + +MACRO {jcss} {"Journal of Computer and System Sciences"} + +MACRO {scp} {"Science of Computer Programming"} + +MACRO {sicomp} {"SIAM Journal on Computing"} + +MACRO {tocs} {"ACM Transactions on Computer Systems"} + +MACRO {tods} {"ACM Transactions on Database Systems"} + +MACRO {tog} {"ACM Transactions on Graphics"} + +MACRO {toms} {"ACM Transactions on Mathematical Software"} + +MACRO {toois} {"ACM Transactions on Office Information Systems"} + +MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"} + +MACRO {tcs} {"Theoretical Computer Science"} + +READ + +STRINGS { longest.label } + +INTEGERS { number.label longest.label.width } + +FUNCTION {initialize.longest.label} +{ "" 'longest.label := + #1 'number.label := + #0 'longest.label.width := +} + +FUNCTION {longest.label.pass} +{ number.label int.to.str$ 'label := + number.label #1 + 'number.label := + label width$ longest.label.width > + { label 'longest.label := + label width$ 'longest.label.width := + } + 'skip$ + if$ +} + +EXECUTE {initialize.longest.label} + +ITERATE {longest.label.pass} + +FUNCTION {begin.bib} +{ preamble$ empty$ + 'skip$ + { preamble$ write$ newline$ } + if$ + "\begin{thebibliography}{" longest.label * "}" * write$ newline$ +} + +EXECUTE {begin.bib} + +EXECUTE {init.state.consts} + +ITERATE {call.type$} + +FUNCTION {end.bib} +{ newline$ + "\end{thebibliography}" write$ newline$ +} + +EXECUTE {end.bib} diff --git a/texmf/invoice.def b/texmf/invoice.def new file mode 100644 index 0000000..f6be4f4 --- /dev/null +++ b/texmf/invoice.def @@ -0,0 +1,319 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% File: invoice.def +% Author: Oliver Corff +% Date: 2003-12-12 +% +% This file contains messages, labels etc. in English, German +% and other languages. +% +% This file cannot be used alone but is called by invoice.sty +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% This file is the only file of this package which may be +% modified without renaming it. +% +% Adding a new language to labels is simple. Follow the +% instructions at line 275 of this file, and, please!, +% do not forget to send the result to +% +% corff@zedat.fu-berlin.de or oliver.corff@email.de +% +% Credits for language contributions given in invoice.sty. +% +% Thank you very much for your support of "invoice". +% +% Oliver Corff, +% +% Berlin, Guangzhou, Ulaanbaatar, Zagreb, Shenyang, Shanghai 2003 +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% English definitions are default. Other +% languages are selected automatically. +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Warning messages for non-fatal situations +% +\def\InvoiceCompleted {Invoice completed. Command ignored.}% +\def\FeeSTExists {You cannot print a fee subtotal twice!}% +\def\ProjectEmpty {Project empty. No subtotal possible!}% +\def\ProjectSTExists {You cannot print a project subtotal twice!}% +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Error messages for fatal situations +% +\def\InternalError {Package `invoice': Internal error!}% +% +\def\NoInvoiceNesting {Invoices cannot be nested. + Close this invoice first!}% +% +\def\InvoiceCompletedNoExpense {Invoice closed. + No new expense item allowed. + Start a new invoice + first!}% +% +\def\InvoiceCompletedNoFee {Invoice closed. + No new fee item allowed. + Start a new invoice + first!}% +% +\def\InvoiceCompletedNoFeeST {Invoice closed. + No fee subtotal allowed. + Start a new invoice + first!}% +% +\def\InvoiceCompletedNoProject {Invoice closed. + No new project allowed. + Start a new invoice + first!}% +% +\def\InvoiceCompletedNoProjectST {Invoice closed. + No project subtotal allowed. + Start a new invoice + first!}% +% +\def\MissingFee {No fee given. + You must charge at least one fee!}% +% +\def\MissingInputData {Missing input data!}% +% +\def\MissingOpening {You must open an invoice!}% +% +\def\MissingProject {No project given. + Open a project first!}% +% +\def\FeeBeforeExpense {Fees are charged first. + Expenses follow.}% +% +\def\NoProjectNesting {Projects cannot be nested. + Close this project first!}% +% +\def\ProjectCompletedNoExpense {Project closed. + No new expense item allowed. + Start a new project + first!}% +% +\def\ProjectCompletedNoFee {Project closed. + No new fee item allowed. + Start a new project + first!}% +% +\def\KOMA {Users of KOMA-Script's scrlettr.cls% + ^^Jsay `invoiceno' for the scrlettr + invoice command,^^Jand `invoiceenv' + for the invoice environment!}% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Labels. These ones are available in translation, too. See below. +% +\def\Warning {Warning}% +\def\Error {Error}% +\def\Expense {Expense}% +\def\Amount {Amount}% +\def\Currency {Currency}% +\def\Factor {Factor}% +\def\Activity {Activity}% +\def\Count {Count}% +\def\UnitRate {Rate/Unit}% +\def\Fees {Fees}% +\def\VAT {VAT}% +\def\Expenses {Expenses}% +\def\SumFees {Sum \Fees}% +\def\SumVAT {Sum \VAT}% +\def\SumExpenses {Sum \Expenses}% +\def\SubtotalFee {Subtotal \Fees}% +\def\SubtotalExpenses {Subtotal \Expenses}% +\def\SubtotalProject {Subtotal \Project}% + +\def\Total {Total}% +% +% This is German. +% +\ifx\l@german\undefined + \message{^^J(invoice) \Warning: + Language \string\l@german\space unknown.^^J^^J} +\else +\ifnum\number\invoice@language=\number\l@german + \def\Warning {Warnung}% + \def\Error {Fehler}% + \def\Expense {Auslage}% + \def\Amount {Betrag}% + \def\Currency {W\"ahrung}% + \def\Factor {Faktor}% + \def\Activity {Aktivit\"at}% + \def\Count {Anzahl}% + \def\UnitRate {Rate/Einheit}% + \def\Fees {Honorare}% + \def\VAT {MWSt.}% + \def\Expenses {Auslagen}% + \def\SumFees {Summe \Fees}% + \def\SumVAT {Summe \VAT}% + \def\SumExpenses {Summe \Expenses}% + \def\SubtotalFee {Zwischensumme \Fees}% + \def\SubtotalExpenses {Zwischensumme \Expenses}% + \def\SubtotalProject {Zwischensumme \Project}% + \def\Total {Gesamtsumme}% +\fi\fi +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% This is Dutch. +% +\ifx\l@dutch\undefined + \message{^^J(invoice) \Warning: + Language \string\l@dutch\space unknown.^^J^^J} +\else +\ifnum\number\invoice@language=\number\l@dutch + \def\Warning {Waarschuwing}% + \def\Error {Fout}% + \def\Expense {Onkosten}% + \def\Amount {Bedrag}% + \def\Currency {Valuta}% + \def\Factor {Faktor}% + \def\Activity {Activiteit}% + \def\Count {Aantal}% + \def\UnitRate {Prijs/Eenheid}% + \def\Fees {Honorarium}% + \def\VAT {BTW}% + \def\Expenses {Onkosten}% + \def\SumFees {Totaal \Fees}% + \def\SumVAT {Totaal \VAT}% + \def\SumExpenses {Totaal \Expenses}% + \def\SubtotalFee {Subtotaal \Fees}% + \def\SubtotalExpenses {Subtotaal \Expenses}% + \def\SubtotalProject {Subtotaal \Project}% + \def\Total {Totaal}% +\fi\fi +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% This is French. +% +\ifx\l@french\undefined + \message{^^J(invoice) \Warning: + Language \string\l@french\space unknown.^^J^^J} +\else +\ifnum\number\invoice@language=\number\l@french + \def\Warning {Avertissement}% + \def\Error {Erreur}% + \def\Expense {D\'epense}% + \def\Amount {Montant}% + \def\Currency {Devise}% + \def\Factor {Facteur}% + \def\Activity {Activit\'e}% + \def\Count {Quantit\'e}% + \def\UnitRate {Prix/Unit\'e}% + \def\Fees {Honoraires}% + \def\VAT {TVA}% + \def\Expenses {D\'epenses}% + \def\SumFees {Total \Fees}% + \def\SumVAT {Total \VAT}% + \def\SumExpenses {Total \Expenses}% + \def\SubtotalFee {Sous-Total \Fees}% + \def\SubtotalExpenses {Sous-Total \Expenses}% + \def\SubtotalProject {Sous-Total \Project}% + \def\Total {Total}% +\fi\fi +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% This is Afrikaans. +% +\ifx\l@afrikaans\undefined + \message{^^J(invoice) \Warning: + Language \string\l@afrikaans\space unknown.^^J^^J} +\else +\ifnum\number\invoice@language=\number\l@afrikaans + \def\Warning {Waarskuwing} + \def\Error {Fout} + \def\Expense {Onkostes} + \def\Amount {Bedrag} + \def\Currency {Valuta} + \def\Factor {Faktor} + \def\Activity {Aktiwiteit} + \def\Count {Aantal ure} + \def\UnitRate {Tarief} + \def\Fees {Fooie} + \def\VAT {BTW} + \def\Expenses {Uitgawes} + \def\SumFees {Totaal Fooie} + \def\SumVAT {Totaal BTW} + \def\SumExpenses {Totaal Uitgawes} + \def\SubtotalFee {Subtotaal \Fees} + \def\SubtotalExpenses {Subtotaal \Expenses} + \def\SubtotalProject {Subtotaal \Project} + \def\Total {Totaal} +\fi\fi +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% This is Italian. +% +\ifx\l@italian\undefined + \message{^^J(invoice) \Warning: + Language \string\l@italian\space unknown.^^J^^J} +\else +\ifnum\number\invoice@language=\number\l@italian + \def\Warning {Avvertenza}% + \def\Error {Errore}% + \def\Expense {Spesa}% + \def\Amount {Ammontare}% + \def\Currency {Valuta}% + \def\Factor {Fattore}% + \def\Activity {Attivit\'a}% + \def\Count {Quantit\'a}% + \def\UnitRate {Prezzo/Unit\'a}% + \def\Fees {Onorario}% + \def\VAT {IVA}% + \def\Expenses {Spese}% + \def\SumFees {Totale onorario}% + \def\SumVAT {Totale IVA}% + \def\SumExpenses {Totale spese}% + \def\SubtotalFee {Subtotale onorario}% + \def\SubtotalExpenses {Subtotale spese}% + \def\SubtotalProject {Subtotale progetto}% + \def\Total {Totale}% +\fi\fi +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% How to add new label languages to the `invoice' package: +% +% 1. Copy all following lines after this explanation +% and insert them above this comment. +% +% 2. Remove all comment symbols at the beginning of the lines. +% +% 3. Fill the empty parentheses {} with the appropriate +% translations. +% +% 4. Enter the correct internal language name used by LaTeX2e +% into the condition of the \ifnum clause. +% +% 5. Please do not forget to mail the resulting file to +% corff@zedat.fu-berlin.de or oliver.corff@email.de +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Name correct language name here --v-- +% and --v--! +%\ifx\l@german\undefined +% \message{^^J(invoice) \Warning: +% Language \string\l@german\space unknown.^^J^^J} +%\else +%\ifnum\number\invoice@language=\number\l@german +% \def\Warning {} % Enter translations here! +% \def\Error {} % +% \def\Expense {} % +% \def\Amount {} % +% \def\Currency {} % +% \def\Factor {} % +% \def\Activity {} % +% \def\Count {} % +% \def\UnitRate {} % +% \def\Fees {} % +% \def\VAT {} % +% \def\Expenses {} % +% \def\SumFees {} % +% \def\SumVAT {} % +% \def\SumExpenses {} % +% \def\SubtotalFee {} % +% \def\SubtotalExpenses {} % +% \def\SubtotalProject {} % +% \def\Total {} % +%\fi diff --git a/texmf/invoice.sty b/texmf/invoice.sty new file mode 100644 index 0000000..dbe6aaf --- /dev/null +++ b/texmf/invoice.sty @@ -0,0 +1,1012 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Datei: invoice.sty +% Autor: Oliver Corff +% Contact: corff@zedat.fu-berlin.de, oliver.corff@email.de +% Datum: December 16, 2003 +% Version: 0.7 +% Copyright: Ulaanbaatar, Beijing, Berlin, Zagreb, Shenyang, Shanghai +% Description: This collection of macros provides +% tools for generating complex invoices +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Corrections, suggestions and contributions by: +%%%%%% +% Jacopo, May 2003 +% e-mail: jacopo@ +% +% Contributed labels in Italian. +% +%%%%%% +% O. Corff, July 2003 +% +% fixed one nasty spacing bug, simplified internal table +% construction (table now has five instead of six columns, +% the second of which was never used). +% +%%%%%% +% Johann Spies, January 21, 2002 +% e-mail: jspies@sun.ac.za +% +% Hinted that \Subtotal Project should show the project name +% rather than just `Project'. +% +% Contributed labels in Afrikaans. +% +%%%%%% +% Robin Fairbairns, December 6, 2001 +% +% Hinted that the dollar sign can also be printed by saying +% \string$. +% +%%%%%% +% Vincent Tougait, France, November 27, 2001 +% +% Pointed out that fractions of VAT percents were not allowed. +% Bugfix on December 06, 2001 +% +%%%%%% +% Fred Donck, The Hague, The Netherlands, October, 2001 +% e-mail: fd0@donck.com +% +% Dutch labels +% +%%%%%% +% Ian Wormsbecker, October 31, 2001 +% +% Skips the VAT lines if VAT=0 +% Noticed that the terminal message will not accept a Dollar sign. +% The only workaround is to say \char`$ in \begin{invoice}{} +% +%%%%%% +% Fred Donck, The Hague, The Netherlands, Sept 18, 2001 +% e-mail: fd0@donck.com +% +% fixed some minor issues: +% real arithmetic will use integer intermediate values, so +% some calculations failed with the \Fee{title}{rate}{amount} +% where \rate is not an integer +% +% another fix is that in my opinion the VAT line should be +% printed also even though only one project is specified +% +% third fix is that the subtotal-line should not be printed +% on a project with only one \Fee line +% +%%%%%% +% Jacco Kok (fixed some labels), +% +%%%%%% +% Thilo Barth (discussed alternative names and command clashes +% with KOMA Script class scrlettr.cls), +% +%%%%%% +% Robert Inder (discussed general issues) +% +% were gladly and gratefully received and accepted. +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% ------------------- identification ------------------- +% +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{invoice}[2003/12/16] +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% ------------------- language options ------------------- +% +% +\newcount\invoice@language +\let\invoice@language=\language +% +\ifx\l@english\undefined \newlanguage\l@english \fi +\ifx\l@german\undefined \newlanguage\l@german \fi +\ifx\l@dutch\undefined \newlanguage\l@dutch \fi +\ifx\l@french\undefined \newlanguage\l@french \fi +\ifx\l@afrikaans\undefined \newlanguage\l@afrikaans \fi +\ifx\l@italian\undefined \newlanguage\l@italian \fi +% +\DeclareOption{english}{\invoice@language=\number\l@english} +\DeclareOption{german}{\invoice@language=\number\l@german} +\DeclareOption{dutch}{\invoice@language=\number\l@dutch} +\DeclareOption{french}{\invoice@language=\number\l@french} +\DeclareOption{afrikaans}{\invoice@language=\number\l@afrikaans} +\DeclareOption{italian}{\invoice@language=\number\l@italian} +% +\ProcessOptions +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% ------------------- initial code ------------------- +% +\RequirePackage{ifthen} +\RequirePackage{longtable} +\RequirePackage{calc} +\input{realcalc} +\input{invoice.def} +% +\newcommand{\InvoiceVersion}{0.7}% +\newcounter{Fee} % +\newcounter{VAT} % +%\newcounter{VAT@rate} % +\newcounter{Expenses} % +\newcounter{Discount} % Discount item +\newcounter{Total} % +\newcounter{Project} % +% +\newcounter{Fee@ctr} % Number of fees per project + % no subtotal will be printed in case of + % value < 2 +% +\newcounter{Expense@ctr} % Number of expense items per project + % no subtotal will be printed in case of + % value < 2 +% +\newcounter{One@Fee} % Individual Fee +\newcounter{One@VAT} % Individual VAT +\newcounter{One@Expense} % Individual Expense +% +\newcounter{ST@Fee} % Subtotal Fee +\newcounter{ST@VAT} % Subtotal VAT +\newcounter{ST@Expenses} % Subtotal Expenses +\newcounter{ST@Project} % Subtotal Project +% +\gdef\Flag{0}% % State 0: Invoice not started yet + % State 1: Start invoice + % State 2: Start project, print title + % State 3: Fee Item + % State 4: Print Subtotal Fee + % State 5: Expense Item + % State 6: Print Subtotal Expenses + % State 7: Print Subtotal Project + % State 8: Print Total, Close invoice +% +\gdef\Project{}% % Empty Project Name +\def\Null{0}% +\newif\ifVATnonzero +% \def\BC{Euro} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%\newcommand{\my@message}[1]{\message{^^J#1^^J^^J}} +\newcommand{\error@message}[1]{\errmessage{^^J\Error: #1^^J^^J}} +\newcommand{\warning@message}[1]{\message{^^J\Warning: #1^^J^^J}} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\ifx\invoice\undefined % False if KOMA Script scrlettr.cls + \def\my@invoice{invoice} % loaded. In this case one may say +\else % "invoice". If true, the environ- + \def\my@invoice{invoiceenv} % ment is renamed to "invoiceenv" + \let\invoiceno\invoice % and the scrlettr macro is renamed + \def\invoice#1{% % to "invoiceno". Thank you, Thilo, + \error@message{\KOMA}} % for this hint! +\fi % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newenvironment{\my@invoice}[2]{% + \setcounter{Fee@ctr}{0}% % reset counter + \setcounter{Expense@ctr}{0}% % reset counter + \def\Null{0}% + \setcounter{Project}{0}% + \ST@Reset\Total@Reset% + \def\BC{#1}% + \def\VAT@rate{#2}% + \ifx\VAT@rate\Null\VATnonzerofalse\else\VATnonzerotrue\fi% + \ifVATnonzero + \message{^^J^^JVAT is not zero!^^J^^J}% + \else + \message{^^J^^JVAT is zero!^^J^^J}% + \fi% + % The VAT is: \the\VAT@rate % Debugging Diagnostics only + \parindent=0cm% + \ifcase\Flag % 0: Invoice not started yet + % + \gdef\Flag{1}% + \begin{center}% + \begin{longtable}{p{5cm}lrrr}% + % + \else \error@message{\NoInvoiceNesting}% + \fi}% +% At the end of environment: +% Yields state 8->0, Close and complete invoice, finish tables, etc. +{% + \ifcase\Flag % 0: Invoice not started yet + % + \error@message{\MissingOpening}% + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \or % 1: Start invoice + % + \error@message{\MissingProject}% + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \or % 2: Start project, print title + % + \error@message{\MissingInputData}% + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \or % 3: Print remuneration item + % + \ifnum\theProject>0 \ST@Fee\ST@Project\fi% + \Tot@l% + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \or % 4: Print subtotal remuneration + % + \ifnum\theProject>1 \ST@Project\fi% + \Tot@l% + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \or % 5: Expense item + % + \ifnum\theProject>1 \ST@Expenses\ST@Project\fi% + \Tot@l% + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \or % 6: Print subtotal expenses + % + \ifnum\theProject>1 \ST@Project\fi% + \Tot@l% + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \or % 7: Print subtotal project + % + \Tot@l% + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \or % 8: Print total, close invoice + % + \warning@message{\InvoiceCompleted}% + % + \else \error@message{\InternalError}% + \fi% + \gdef\Flag{0}% +}% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newcommand{\ProjectTitle}[1]{% Yields state 2: Start Project + %\gdef\NewProject{#1} + % + \ifcase\Flag% 0: Invoice not started yet + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \or % 1: Start invoice + % + \Project@Title{#1}% + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \or % 2: Start project, print title + % + \error@message{\NoProjectNesting}% + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \or % 3: Print remuneration item + % + \ST@Fee% + \ST@Project% + \Project@Title{#1}% + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \or % 4: Print subtotal remuneration + % + \ST@Project% + \Project@Title{#1}% + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \or % 5: Expense item + % + \ST@Expenses% + \ST@Project% + \Project@Title{#1}% + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \or % 6: Print subtotal expenses + % + \ST@Project% + \Project@Title{#1}% + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \or % 7: Print subtotal project + % + \Project@Title{#1}% + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \or % 8: Print total, close invoice + % + \error@message{\InvoiceCompletedNoProject}% + % + \else \error@message{\InternalError}% + \fi% + \setcounter{Fee@ctr}{0}% % reset counter + \setcounter{Expense@ctr}{0}% % reset counter +} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newcommand{\Fee}[3]{% Yields state 3, Print Fee Item + % + % #1 Contents + % #2 Fee per Unit + % #3 Unit Count + % + \ifcase\Flag % 0: Invoice not started yet + \error@message{\MissingOpening}% + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \or % 1: Start invoice + % + \error@message{\MissingProject}% + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \or % 2: Start project, print title + % + \Fee@Title% + \Fee@Line{#1}{#2}{#3}% + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \or % 3: Print remuneration item + % + \Fee@Line{#1}{#2}{#3}% + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \or % 4: Print subtotal remuneration + % + \warning@message{\FeeSTExists}% + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \or % 5: Expense item + % + \error@message{\FeeBeforeExpense}% + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \or % 6: Print subtotal expenses + % + \error@message{\FeeBeforeExpense}% + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \or % 7: Print subtotal project + % + \error@message{\ProjectCompletedNoFee}% + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \or % 8: Print total, close invoice + % + \error@message{\InvoiceCompletedNoFee}% + % + % + \else \error@message{\InternalError}% + \fi% +}% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newcommand{\STFee}{% Yields state 4, print subtotal remuneration + % + \ifcase\Flag % 0: Invoice not started yet + % + \error@message{\MissingOpening}% + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \or % 1: Start invoice + % + \error@message{\MissingProject}% + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \or % 2: Start project, print title + % + \error@message{\MissingFee}% + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \or % 3: Print remuneration item + % + \Print@ST@Fees% + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \or % 4: Print subtotal remuneration + % + \warning@message{\FeeSTExists}% + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \or % 5: Expense item + % + \error@message{\FeeBeforeExpense}% + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \or % 6: Print subtotal expenses + % + \error@message{\FeeBeforeExpense}% + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \or % 7: Print subtotal project + % + \error@message{\ProjectCompletedNoFee}% + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \or % 8: Print total, close invoice + % + \error@message{\ProjectCompletedNoFee}% + % + \else \error@message{\InternalError}% + \fi% +}% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newcommand{\EBC}[2]{% Yields state 5: Expenses in BaseCurrency + % + % #1 Contents und Datum + % #2 Amount in BaseCurrency + % + \ifcase\Flag % 0: Invoice not started yet + % + \error@message{\MissingOpening}% + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \or % 1: Start invoice + % + \error@message{\MissingProject}% + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \or % 2: Start project, print title + % + \Expense@Title% + \Expense@BaseCurrency{#1}{#2}% + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \or % 3: Print remuneration item + % + \ST@Fee% + \Expense@Title% + \Expense@BaseCurrency{#1}{#2}% + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \or % 4: Print subtotal remuneration + % + \Expense@Title% + \Expense@BaseCurrency{#1}{#2}% + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \or % 5: Expense item + % + \Expense@BaseCurrency{#1}{#2}% + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \or % 6: Print subtotal expenses + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \or % 7: Print subtotal project + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \or % 8: Print total, close invoice + % + \error@message{\InvoiceCompletedNoExpense}% + % + \else \error@message{\InternalError}% + \fi% +}% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newcommand{\EBCi}[2]{% Yields state 5: Expenses in BaseCurrency + % But, unlike base form (no + % 'invisible') this version does + % not state the item, it only + % the total amount of expenses. + % + % #1 Contents und Datum + % #2 Amount in BaseCurrency + % + \ifcase\Flag % 0: Invoice not started yet + % + \error@message{\MissingOpening}% + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \or % 1: Start invoice + % + \error@message{\MissingProject}% + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \or % 2: Start project, print title + % + %\Expense@Title% + \Expense@Base@Currency{#1}{#2}% + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \or % 3: Print remuneration item + % + \ST@Fee% + %\Expense@Title% + \Expense@Base@Currency{#1}{#2}% + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \or % 4: Print subtotal remuneration + % + %\Expense@Title% + \Expense@Base@Currency{#1}{#2}% + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \or % 5: Expense item + % + \Expense@Base@Currency{#1}{#2}% + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \or % 6: Print subtotal expenses + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \or % 7: Print subtotal project + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \or % 8: Print total, close invoice + % + \error@message{\InvoiceCompletedNoExpense}% + % + \else \error@message{\InternalError}% + \fi% +}% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newcommand{\EFC}[5]{% Yields state 5: Expenses in ForeignCurrency + % + % #1 Contents und Datum + % #2 Currency + % #3 Amount + % #4 Exchange Rate + % #5 Amount Zielwaehrung + % + % Usage: + % 1. {Contents}{ForeignCurrency}{ExchangeRate}{} + % 2. {Contents}{ForeignCurrency}{}{BaseCurrency} + % 3. {Contents}{ForeignCurrency}{ExchangeRate}{BaseCurrency} + % + \ifcase\Flag % 0: Invoice not started yet + % + \error@message{\MissingOpening}% + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \or % 1: Start invoice + % + \error@message{\MissingProject}% + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \or % 2: Start project, print title + % + \Expense@Title% + \Expense@ForeignCurrency{#1}{#2}{#3}{#4}{#5}% + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \or % 3: Print remuneration item + % + \ST@Fee% + \Expense@Title% + \Expense@ForeignCurrency{#1}{#2}{#3}{#4}{#5}% + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \or % 4: Print subtotal remuneration + % + \Expense@Title% + \Expense@ForeignCurrency{#1}{#2}{#3}{#4}{#5}% + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \or % 5: Expense item + % + \Expense@ForeignCurrency{#1}{#2}{#3}{#4}{#5}% + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \or % 6: Print subtotal expenses + % + \error@message{\ProjectCompletedNoExpense}% + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \or % 7: Print subtotal project + % + \error@message{\ProjectCompletedNoExpense}% + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \or % 8: Print total, close invoice + % + \error@message{\InvoiceCompletedNoExpense}% + % + \else \error@message{\InternalError}% + \fi% +}% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newcommand{\EFCi}[5]{% Yields state 5: Expenses in ForeignCurrency + % But, unlike base form (no + % 'invisible') this version does + % not state the item, it only + % the total amount of expenses. + % + % #1 Contents und Datum + % #2 Currency + % #3 Amount + % #4 Exchange Rate + % #5 Amount Zielwaehrung + % + % Usage: + % 1. {Contents}{ForeignCurrency}{ExchangeRate}{} + % 2. {Contents}{ForeignCurrency}{}{BaseCurrency} + % 3. {Contents}{ForeignCurrency}{ExchangeRate}{BaseCurrency} + % + \ifcase\Flag % 0: Invoice not started yet + % + \error@message{\MissingOpening}% + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \or % 1: Start invoice + % + \error@message{\MissingProject}% + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \or % 2: Start project, print title + % + \Expense@Title% + \Expense@Foreign@Currency{#1}{#2}{#3}{#4}{#5}% + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \or % 3: Print remuneration item + % + \ST@Fee% + % \Expense@Title% + \Expense@Foreign@Currency{#1}{#2}{#3}{#4}{#5}% + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \or % 4: Print subtotal remuneration + % + % \Expense@Title% + \Expense@Foreign@Currency{#1}{#2}{#3}{#4}{#5}% + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \or % 5: Expense item + % + \Expense@Foreign@Currency{#1}{#2}{#3}{#4}{#5}% + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \or % 6: Print subtotal expenses + % + \error@message{\ProjectCompletedNoExpense}% + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \or % 7: Print subtotal project + % + \error@message{\ProjectCompletedNoExpense}% + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \or % 8: Print total, close invoice + % + \error@message{\InvoiceCompletedNoExpense}% + % + \else \error@message{\InternalError}% + \fi% +}% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newcommand{\STExpenses}{% Yields state 6: Ausgabe der ST Expenses + % + \ifcase\Flag % 0: Invoice not started yet + % + \error@message{\MissingOpening}% + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \or % 1: Start invoice + % + \error@message{\MissingProject}% + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + \or % 2: Start project, print title + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + \or % 3: Print remuneration item + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + \or % 4: Print subtotal remuneration + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \or % 5: Expense item + % + \Print@ST@Expenses% + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \or % 6: Print subtotal expenses + % + \warning@message{\ProjectCompletedNoExpense}% + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \or % 7: Print subtotal project + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \or % 8: Print total, close invoice + % + \error@message{\InvoiceCompletedNoExpense}% + % + \else \error@message{\InternalError}% + \fi% +}% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newcommand{\STProject}{% Yields state 7: Ausgabe der ST Project + % + \ifcase\Flag % 0: Invoice not started yet + % + \error@message{\MissingOpening}% + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \or % 1: Start invoice + % + \error@message{\MissingProject}% + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \or % 2: Start project, print title + % + \warning@message{\ProjectEmpty}% + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \or % 3: Print remuneration item + % + \ST@Fee% + \ST@Project% + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \or % 4: Print subtotal remuneration + % + \ST@Project% + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \or % 5: Expense item + % + \ST@Expenses% + \ST@Project% + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \or % 6: Print subtotal expenses + % + \ST@Project% + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \or % 7: Print subtotal project + % + \warning@message{\ProjectSTExists}% + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \or % 8: Print total, close invoice + % + \error@message{\InvoiceCompletedNoProjectST}% + % + \else \error@message{\InternalError}% + \fi% +}% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newcommand{\Discount}[2]{% Yields no particular state. + % Inserts discount in project total, + % names discount reason + % and amount of discount + % + \gdef\Discount@Contents{#1}% + \setcounter{Discount}{100 * \real{-#2}}% +}% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newcommand{\Total@Reset}{% + \setcounter{Fee}{0}% + \setcounter{VAT}{0}% + \setcounter{Expenses}{0}% + \setcounter{Total}{0}% +}% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newcommand{\ST@Reset}{% + \setcounter{ST@Fee}{0}% + \setcounter{ST@VAT}{0}% + \setcounter{ST@Expenses}{0}% + \setcounter{ST@Project}{0}% +}% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newcommand{\Print@Value}[1]{% + \Rmul\r#1{0.01}%% <- Reduce to BaseCurrency + \Rtrunc\r{2}\r% % <- Truncate to two digits + \r% % <- Output data! +}% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newcommand{\Message@Value}[1]{% + \Rmul\r#1{0.01}%% <- Reduce to BaseCurrency + \Rtrunc\r{2}\r% % <- Truncate to two digits + \message{\r}% % <- Output data! +}% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newcommand{\Project@Title}[1]{% + % Internal command called by \ProjectTitle. + % + \gdef\Flag{2}% + \gdef\Project{#1}% + \ST@Reset\addtocounter{Project}{1}% + \ifnum\theProject>1 \\\\\else\\\fi% + \multicolumn{5}{c}{\textbf{\large#1}}\\% +}% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newcommand{\Fee@Title}{% + \\ + \noindent\textbf{\Activity}&&\UnitRate&\Count&\Amount\ (\BC)\\ + \hline% +}% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newcommand{\Fee@Line}[3]{% + % + % #1 Contents + % #2 Charged Fee per Unit + % #3 Count + % + % Internal command, called by \Fee. + % + \gdef\Flag{3}% + % + #1 &   & +% +% next is reversed to allow real arithmetic. +% intermediate results are stored in integer format, so calculations are +% incorrect in case #2 is a real. +% fixed by exchanging the 1 and the 100 +% + \setcounter{One@Fee}{100 * \real{#2} * \real{#3} * 1}% +% + \addtocounter{ST@Fee}{\theOne@Fee}% + \addtocounter{Fee}{\theOne@Fee}% + \addtocounter{Fee@ctr}{1}% increase counter with 1 + \Print@Value{\theOne@Fee}\\% +}% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newcommand{\ST@Fee}{% + % \gdef\Flag{4}% + \ifnum\theST@Fee>0% + \ifthenelse{\theFee@ctr>1} % % if more than 1 \Fee line + {\Print@ST@Fees% % print it, else + }% + {}% % do nothing + \ifVATnonzero\ST@VAT@Printout\fi% + \fi% +}% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newcommand{\Print@ST@Fees}{% + \gdef\Flag{4}% + \SubtotalFee & & & &% print the subtotal of fees + \Print@Value{\theST@Fee}\\% +}% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newcommand{\ST@VAT@Printout}{% + \VAT\ (\VAT@rate\%) & & & &% + \setcounter{ST@VAT}{\theST@Fee * \real{\VAT@rate} / 100}% + \Print@Value{\theST@VAT}\\% +}% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newcommand{\Expense@BaseCurrency}[2]{% + #1 & \BC & & &% + \gdef\Flag{5}% + \Rmul\r{100}{#2}% + \setcounter{One@Expense}{1*\real{\r}}% + \addtocounter{ST@Expenses}{\theOne@Expense}% + \addtocounter{Expenses}{\theOne@Expense}% + \addtocounter{Expense@ctr}{1}%advance counter + \Print@Value{\theOne@Expense}\\% +}% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newcommand{\Expense@Base@Currency}[2]{% + \gdef\Flag{5}% + \Rmul\r{100}{#2}% + \setcounter{One@Expense}{1*\real{\r}}% + \addtocounter{ST@Expenses}{\theOne@Expense}% + \addtocounter{Expenses}{\theOne@Expense}% + \addtocounter{Expense@ctr}{1}%advance counter + & & & & \\[-1.2em]% This is an ugly kludge: + % Inserting an empty line + % which rolls backwards + % makes disappear the spurious + % spaces caused by external + % routines. +}% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newcommand{\Expense@ForeignCurrency}[5]{% + \gdef\Flag{5}% + % + % Folgende Angaben sind moeglich: + % 1. {Contents}{Currency}{Amount}{Umrechnung}{ } + % 2. {Contents}{Currency}{Amount}{ }{BaseCurrency} + % 3. {Contents}{Currency}{Amount}{Umrechnung}{BaseCurrency} + % + #1 & #2 & #3 & #4&% + \ifthenelse{\equal{#5}{}}% Target in BaseCurrency or not? + {% Target not in BaseCurrency + \Rmul\r{100}{#3}% + \Rmul\r \r {#4}% + }% + {% Target in BaseCurrency + \Rmul\r{100}{#5}% + }% + \setcounter{One@Expense}{1*\real{\r}}% + \addtocounter{ST@Expenses}{\theOne@Expense}% + \addtocounter{Expenses}{\theOne@Expense}% + \addtocounter{Expense@ctr}{1}%advance counter + \Print@Value{\theOne@Expense}% +\\% +}% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newcommand{\Expense@Foreign@Currency}[5]{% + \gdef\Flag{5}% + % + % Folgende Angaben sind moeglich: + % 1. {Contents}{Currency}{Amount}{Umrechnung}{ } + % 2. {Contents}{Currency}{Amount}{ }{BaseCurrency} + % 3. {Contents}{Currency}{Amount}{Umrechnung}{BaseCurrency} + % + \ifthenelse{\equal{#5}{}}% Target in BaseCurrency or not? + {% Target not in BaseCurrency + \Rmul\r{100}{#3}% + \Rmul\r\r{#4}% + }% + {% Target in BaseCurrency + \Rmul\r{100}{#5}% + }% + \setcounter{One@Expense}{1*\real{\r}}% + \addtocounter{ST@Expenses}{\theOne@Expense}% + \addtocounter{Expenses}{\theOne@Expense}% + \addtocounter{Expense@ctr}{1}%advance counter + & & & & \\[-1.2em]% ugly kludge as above +}% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newcommand{\Expense@Title}{% + \\% + \textbf{\Expense}&\Currency&\Amount&\Factor &\BC\\% + \hline% +}% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newcommand{\ST@Expenses}{% + % \gdef\Flag{6}% + \ifnum\theST@Expenses>0% + \ifthenelse{\theExpense@ctr>1}% % if more than 1 Expense line + {\Print@ST@Expenses}% % print it, else + {}% % do nothing + \fi% +}% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newcommand{\Print@ST@Expenses}{% + \gdef\Flag{6}% + & & & & \\[-1.2em]% ugly kludge as above + \SubtotalExpenses & & & &% print the subtotal of expenses + \Print@Value{\theST@Expenses}\\% +}% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newcommand{\ST@Project}{% + \gdef\Flag{7}% + \\ + %\multicolumn{4}{l}{\SubtotalProject}% + %\let\Project\NewProject% + %& + \SubtotalProject & & & & + \addtocounter{ST@Project}{\theST@Fee}% + \addtocounter{ST@Project}{\theST@VAT}% + \addtocounter{ST@Project}{\theST@Expenses}% + \Print@Value{\theST@Project}\\ +} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newcommand{\Total@VAT@Printout}{% + \setcounter{VAT}{\theFee*\real{\VAT@rate}/100}% + \SumVAT & & & &\Print@Value{\theVAT}\\% +}% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newcommand{\Tot@l}{% + \\\hline + \ifnum\theFee>0 \SumFees& & & &% + \Print@Value{\theFee}\\ + \ifVATnonzero% + \Total@VAT@Printout% + \fi% + \fi% + \ifnum\theExpenses>0 \SumExpenses& & & &% + \Print@Value{\theExpenses}\\ + \fi% + \ifnum\theDiscount<0 \Discount@Contents& & & &% + \Print@Value{\theDiscount}\\ + \fi% + \hline\hline + \textbf{\Total} & & & &% + \message{^^J\Currency: \BC}% + \message{^^J\VAT: \VAT@rate}% + \addtocounter{Total}{\theFee}% + \message{^^J\SumFees: }\Message@Value{\theFee}% + \addtocounter{Total}{\theVAT}% + \message{^^J\SumVAT: }\Message@Value{\theVAT}% + \addtocounter{Total}{\theExpenses}% + \message{^^J\SumExpenses: }\Message@Value{\theExpenses}% + \ifnum\theDiscount<0 % + \addtocounter{Total}{\theDiscount}% + \message{^^J\Discount@Contents: }\Message@Value{\theDiscount}% + \fi % + \textbf{\Print@Value{\theTotal}}% + \message{^^J\Total: }% + \Message@Value{\theTotal}\message{^^J^^J}\\% + \end{longtable} + \end{center} + \gdef\Flag{8}% +} +\endinput +% vim:ts=4:sw=4 diff --git a/texmf/ls-R b/texmf/ls-R new file mode 100644 index 0000000..bae79a0 --- /dev/null +++ b/texmf/ls-R @@ -0,0 +1,39 @@ +% ls-R -- filename database for kpathsea; do not change this line. +./: +.: +aliases +bibtex +invoice.def +invoice.sty +ls-R +metafont +realcalc.tex + +./bibtex: +unsrtdon.bst +unsrtdon.bst~ + +./metafont: +kelly +ls-R + +./metafont/kelly: +cmg10.600pk +cmg10.mf +cmg10.tfm +cmgb10.600pk +cmgb10.mf +cmgb10.tfm +cmgi10.600pk +cmgi10.mf +cmgi10.tfm +cmgtt10.600pk +cmgtt10.mf +cmgtt10.tfm +greek.aux +greek.dvi +greek.log +greek.pdf +greek.sty +greek.tex +grktxt.mf diff --git a/texmf/metafont/kelly/cmg10.600pk b/texmf/metafont/kelly/cmg10.600pk new file mode 100644 index 0000000000000000000000000000000000000000..7a07319a02591be86a9ee8980c736d69af429b47 GIT binary patch literal 8840 zcma)h30zZG_OM`8v|1IArFA1f63B}}0tq2`rLr$cb=Z+STY-=S@cXm3#=o>Rta9N% z4!BUXZ{sTGx9O}`%x~@B$NrOc@w)-$B`-8s_KUA%kukQEIT|YamLTb>GAy<08L|&a zE?SbeW~omS*)NMA#Vbi!ilsq`^R13wly}v`OJ6sS6T+iM-@gOP)iatuYg94BvU5|Gay7G;x&S}j5IHgo{|{a$C~~mnQ0trS{^+ox!pa| zEV(vhkh$o3HmC>hNsTj#AyV9iRn8$~jIaIvdChsr*>0myGSEJnusp_Cl-S$H-wu;3 zJOl$II8V!dQ4$$#fez&E6yTrcwJ-0$1D*S~W!LAKa579dky8zHSX zGQAC?06mkTBPD2=SsId1&8$+9nv~3Q3eq(>^Y*tS!(HagFzJUo%;(<#>%V4s-v$DP zSd3dh!XPVa01yrUl{bN=exSV%xb_t=)C(9cjx_;4R8KUJ*TVy^EU*6Y8mbq?Y*_r1 zL3Iq@dHeMORC*PaYV`|T>38GA`z-s(Ex^ew%#&M5b}2=9muMkRNPXv}?(-6OoV=jd zIzE@p;DnSij}e%OQi|#Au#;{9_LHuRWhb{AC$}U@pL8!Am+H??_1m4Py_E;o>vmED z7%#&1kh|oXT1iu!{tWk8s_`tly97(ll^EMt=V}a1z`4(Xri;1`pwikI(aEq%6D-dy zo$>!w&;`n>yA1)dmL?-n)>>txOZtT)p)ysLBgq_%mJKjQa%EQo3@sAG$v(ej$R}$> zB^@&zMRYyqRex%2y4j5 z(i>RQde)zHtYt0eq5-|sAW;Q|DLC1Y?NkJ+3JVmQ@ky;l+G|}g1MU3 z>E%{sy4|_q_JnNxgd|{mStXlR%O)gQBNCx;Stt8k(xjK1(=8iif)QEfs4RZ8Cv5c2 zn?}VUV8qy4#eRKzNjMd=^-+6}oBhC6yZGmTg%|Ta(tht*T;~m6X-mTNQsxxCvxp!~ zZn7@5TLL@xlBBNk&dq?=1Q0O3q>@-vGNoFk)JXa@vWr^T4WQBhH0hTNl47H*2pG}; z2KCaIggPd3ACs*ez1AaJV^=GTLoJ*){&<}ogGoj`V|#^UTtBW_^0fIN@8Sp+9G22e zzQ}$*WGPN<_eabb>LvaN9z$0c2w2*nBO?0)kmNSCJrJQ>RWIFAkTA6T1h7tR2RvI8 z$bNuOti({NGJvjLQkMW&KR|}72198jd=)!ihu}4$3VBbouI;7hHTi-9*xoxd`0j6- zrZ!CJr*+y>BR#K=ig4beY>M|75E(EE?Dv)Rsr_UZ)k|3hAX2CY_7h~qYN9Mh9Ux0q z2lPa$17(qFl8mAz_2AUNdLFBwk*kt3}b!hll)Gp_2T@jH_c%@W<=)AWWKjvQh(FBN%RbD6PAf7KzDK51Oj5Y}K}%k!Rj(4Gy5}$vW0s zy8qu=3-Y}ZUaJtV`&LZ&TpU+vtrznT5hrUpg?ot8AN}vnCa>vg`@h&noB6oZ<=*M*^xMmlq0h0Rp;^)>T5h~5g`25PW(zctc2=d9vIsQld{~XTL#%fF9@~iY<)*jEiM>f_E33hL z5neHlyl%X$)G84+J4UP2vXPA?hMtzp_V(nY$`kuo1in&4%U8Xp$rGh&Q@J_%9QdBU z|NZYSY<(E!v~klRGO(&Q&*iu2-z9I_zUgk|tioy-`%I%Rt3}c)^OcniC#o8&jyF}D zYN}fv>ShdGBg&gU`jgD%wwJuQy5m$UhRp14ujp=TYj3#KSfS+Ci!w6f^q*y9(S9kq8mYUCZo%8nFeN0hpQqUrF} zcC6N)2hOz`+W|w)*csLjk!TIs+s)i-xt=xoe6q8sGiejW%Z%$>&6x0$*@dHYSznVe zP*&3`ss2iq(=UtamqiZ9aJOWuZ^@i*ci6w_P<_*(9Pa44+kEhr(pw!g`_Roh z^33%s!o*g8eD_u-w$smo*-kIhlzt>kuNMy8t{fU_>b~~-q3-UxVeReca$}>pvJuno z3R``>lrP{XubS0CLv;{+Xe>%#8uPwtYt+nu)eR%AFNOJ%+c*AL5}uu5z{ zF(Mf{q(XzVsgPR=?1+LLHzpdSUWWoqtv_@!!YsAVO=s*MRZnhvRuuu>Huc@v#@rf`#=R=s5!?*JA;@GHsTM6DS&ZqDvi}B)e zw<2-5YsFOCv*{|hp>3*4Tz>k|P60ODEp*a}x?0)i<2=X9q?%2}&;qS@Dxf^qbIc>W*XZ@#geZYK*uQksX z#3x6Y(*2oyd`1=#?HfWLx;h2*9^$(!e!7Q9|HZG(a;I7ZEQG?A;OLbKU+x+? zg&o>Q)h7Bngl1siSQl$>BXnOtl|vcBlYNsdejp{%N+l;#Y!q@1Zqf(Lah-xb4w$aEp?_j+O*G>&b=b>4wq;SsaIuntDtDSo?_jFc#bw=7Wef{{<^;1*V zk57(~f!tS`#J7HFGfk<7?*p79X3z zJs}vJHrpXT^Ai)i%>;X(;&l_Uzl_O8lm?9s3wpIdIdbQR3Gq6#$n>6>oztZYW7kEG z^gKBrXH_|v;pt9(p{5h3bky`%o_{JMH#CQtgFnp5A^eW);aX`rOc3K;D=Z(=;n;`g z;MhyHBW5R>Q}h;j#_Dxx>G)lkR8i>mR17D&)SLlr&dSctDil0HGvKv6bDAB-M~De~ zXx76I#P5h7SU(7cWA};)Z{y88$Uh(DKS47Kh1uCp&Y&5PU#T^QQ#A*zlH-JH($crP zV`kuIewdGnH^Vz=`r9vj3W9~y%#aLP8ly)b|De#JH3Y&d|LFS^sXAcxcf<8>O&uE+ zxQAM+LpfoTJaa7p^hz#4>*&n0^ziG{^VWdj$YvX%7)<6A+>!}nGkLqO0j6W$Z~g4R%P>pYE6t&6@bI-XdItX;rWARi=vT>y8@=`#hlalr*2g z=#=2Y`szF+C&q4CuqRQWF;P)#wpwO$;jR0-? zM$dR9@^>u!dHeygJn;;DhADfXMyIX<*rJedHRxyJ?BeY7GkwR|3+=*8L9#p{o8LIP zy@w^?B3ubq!j`alwi_qJyNXQQ*@?kOAV3KDZ zbqF!g-^ur+`%%w#yo25h@(yijF((F)-TPWhtN`+ARSU{uu*j=h?=3RGzcV=M)ANbo zxZkC@MCi=rnS*fM!1R;B$wG0u*7j6q!Dbn1hNG-Bd3LeG;C6<-^wUlc$E2Au3bTaS zd{G9pHrwO4e^L*-LPEuKC_ACtZ)az3(OvSdNQ5btvpH0n@(3 z+XO$r<#kh8Pi+NI+Mq=Qg<>@(Xq$x#rCpv*hen-TCVNSxD`tTSKDJ&mIr5N1K?Ks*_lANW^f9CbG4IX4=d&u?_p!3p=B^SWT)3;BkTULK43qP6zIxDBp<}6Md zoIWs2*Yv*&m)VyBN%C0!Xt0#Z|< zV<0(KHOzG?rk9dLS1{w`q|Cca{xGxh4ypZX=GE%1I~9SX>6F%QOTvLbQ;EFV$uX?p zBqzqbhsEJQP~6}u)O&6ERP6& zk4tmf@s8((9S?C+y*U+*LF~c*>^B=njx8dGMOj+OnUu+5u)=lbF!{3UoLIBKt=1h9 zmFnKpvh%g<9GsSw>#Jd>U=Z!65`}~)5Wkq)@>JpN{IX+Z^*TVHVI5R)lN88yQilfd zydaO~t#j#9H{IS+T8S{=dS=8HA_sENmxJdp5 z{Bh2Q)9N?v2SsNLiqB7?X4|>m)6Nd%B(a>r4bUlTD95+d6u|!R%s7c{85jlDjsV+6 zmK36kO70B+Z(w;CmlQ~=LewP}^~pv3gLVB^1(zC9Lc1!G(=KI1rQf7S<}2ipWvWXA zQ6{BaqbS!LJ46>{D4uGNoivSTuP9Dw7saYXG3uu(QM!_wuMp)cxb<@O*#Tn#TU$Gx z&)L2sLvx||^^J=yQ4tOcyLIoe(`u*H8Gy33WRw;U*mG;fLl|V|s2bESfb7=4^fjrk zk9qMM(q2-ZBkB5vg!?+_VjtSh!( zWq=tP(w~(2Rcf~Ttwi3z?6Qjd^4o*WCpr!eeAE9`-`(Duy^0eJee$@CD_#lPHU7O< zg6X?p8o`t+T@$ZOxRUNxpYNAepLivI+zhMddPYyNhv_BA_}Nc?PHaygMk`NFi@@Y!GK$=KLivT_UpD^(gK%X zCL4l*WCM;Bsi&|hdMb;e3uWQ7F>F^&Ts9C>cTsgv0C>o26A^$egEk_6?df?5B~AT_ zbFY4Z-7Dt=Ih4mY{1x3K9@|u&Zq0)HP|j=SB*_1BDCR?mcL+b3`v9)rX%jardQ9ht z`ETPVc@Qt(%722<`VU|`(11A$icOzF=fzuk-wJm0w>|7RUByz5aND$hd|6O~{Qf@D z^d<19w}9fP^$B}PmrHs8uE@XYlDvsUEK%371d+NLRwK^vkx1aB(R`==2+5@CB-8d$ ziGB>39z&+aMc=Qa4<@)z91(gAWk+7p1h8{zwRCoIsUFX6Nil|^95*u=XSeL`6;gkj znnE%PNVu_;ilkR7t5K=bszzkHdj%m5UjEqqbNoje zXFo(Ui+4%aPxLH#j^hvuVayj%#*Ks^eHlhP(#pqPjj9`TVMuYCHV{dB$BnJGJ4e%rMgP zgmH_+m9z;Hl9ps@0lfNT!>i z8fc^HOM!|MEuR%vs;tUB!ADqJ(e`eoyqNZz^lZ}MO=3=5nF(QuvPD&*#;0fl?8P_p z;ph*=eDXwh$>e9TPMT*- zGv+Cab;=ZN8i2hM(bBOs&|5K*V z34SYG<;7DH%esj5d0{;nrV8=1d(yuV?!(VYv6CFFNa|6E3M4|LkShY$nli;8N4!aI zMLk^|3^#9n#&EwOtZZy5D8N*K&F1VzJ>7n-`8(s%4M9bHgFqkHlvJspoRn>YW!OlwL>i3srdjTaFey*25ieB18Vj_EyJH~hTYy2Jg}IiXN^R&CnxjvRN$(Y5EMXN<3=L7r6{ zfJP<7B*euf#3V(5zHZjw9f!A|Tio7^sX?fZc%|XyCyeMz@8atT z75Msytdy+O#298M2DByRQTbaRIB4E-c}^=ec{GO%g_xqFIqqRMne{u|kD~4$I%>Vw zFVm@(xVD`MRi158mLQalbD-b!e#M|#GTQdGeP+M%hqhJ<_L>>CdkX=KD0Xr#vHVw( zYjFgud{nTW?6@;}tog-#3Z-*@?d36Jh4lYY{j=$Zj;`p7ySET=3>?+L#Y*Evd}+U1bNhL2I1L(F5DK zpSp6RgSHf;gHLYOEMzB=wU@i*vf1Rz1FGpl$a$IzIZr{anZW;yyBUDf%m7qsVnTH& z3B~|Aqq;oD4ul7~E-xeoLXT_C-cJud;2O<*$Gy|psqAF$PQr@vdOv4SGxmOF_NL+% zt4p2{=vbi9Xmo=70C8>DgWYb)%b=A^U3n44o>$yWj~!RZU7T$uEIu|t*tOCheE_{- zh4!RjuPu8y{+Lt59$m1n2u_IQu?0)OD61nz>JJ3`+T}}-{3|NTQH{|=V8P$~Yumk? zJ^tng&>rg{Xboz|7_9Jdcd**^D}VQYjs~Py<{1_pGv>#=4mq9hCdf~*vzJ5!N*Ie<+UL-b)g?s(9xQD_tw*F>t zdusy5PsTG$Ht*@TPbMg9dUpc{&5@_0L^?)p~j1-jyMxya4Z$AHT9K zaPC9ag(v?(HvgXx{cAt>$&W5<3twUH_uO}deULchnAtNb=zT-;RM*Ag z+^2ZjQf^8P7T1gDrC8)Tv4!AM-Hf1&XHHt6}}8n zehKc1R)AYNs}uMzMCElqoYf1nMCC322*46otST6zsis^}SNf8;Vb#lyGF3HW!EiNf8`H(MaYklbUJ%k#DAp-Rk{nq#j|W#avm*`PS2J{dKth zI^V8ZYFAlQYiVi?FRvu6HaF%96^~jhrYY$?s;Sq6cdQBH?N?0Q0gq2zQ-ij|k)M<- zWRW#pb5HtapZ3jioo5TlSGs1OUYrwxgEjL4@?^<99{4obX>F9#TB?($n?@^_i9{|s ztsMDABbwAB8Utc6O8SkmK4UP_YM>x3h7hDgABq&~=|~E8UX0QuAQWAq#7&!xxN1e~ z`n6oIR;`FwtrO8pv`AQr4vDAgkqiv@ZU)IgosUGI_mNcUaFR+5MN*~qlVmGHWPU_B ztt0Jtd_zV3LERnpb{1=+&`>3hjc~k=?Zkd4T(em;4XtQChY)GY1vC7uhsEF?kl{+A;0KIsW111Lm0Of2 zJi;%@74Tpln99rC9aqfb74F_AIx0Av!z+EX(LtPlIG2}GRmyw3>MyHSJ=#=Ilyl@T zMxG1vgM%Kefe-V+;76~+MR`0>RFGd(R{Y5AsIZbJDtYfHulPOTkz4^t3krI)F-LSb ow~$v12JNAQK61$yibTRAV9=vCir&jDDlX>bmI{lGfWc4x5A3H6rT_o{ literal 0 HcmV?d00001 diff --git a/texmf/metafont/kelly/cmg10.mf b/texmf/metafont/kelly/cmg10.mf new file mode 100644 index 0000000..0e96d60 --- /dev/null +++ b/texmf/metafont/kelly/cmg10.mf @@ -0,0 +1,76 @@ +% Computer Modern Greek Text 10 point +if unknown cmbase: input cmbase fi + +font_identifier:="CMG"; font_size 10pt#; + +u#:=20/36pt#; % unit width +width_adj#:=0pt#; % width adjustment for certain characters +serif_fit#:=0pt#; % extra sidebar near lowercase serifs +cap_serif_fit#:=5/36pt#; % extra sidebar near uppercase serifs +letter_fit#:=0pt#; % extra space added to all sidebars + +body_height#:=270/36pt#; % height of tallest characters +asc_height#:=250/36pt#; % height of lowercase ascenders +cap_height#:=246/36pt#; % height of caps +fig_height#:=232/36pt#; % height of numerals +x_height#:=155/36pt#; % height of lowercase without ascenders +math_axis#:=90/36pt#; % axis of symmetry for math symbols +bar_height#:=87/36pt#; % height of crossbar in lowercase e +comma_depth#:=70/36pt#; % depth of comma below baseline +desc_depth#:=70/36pt#; % depth of lowercase descenders + +crisp#:=0pt#; % diameter of serif corners +tiny#:=8/36pt#; % diameter of rounded corners +fine#:=7/36pt#; % diameter of sharply rounded corners +thin_join#:=7/36pt#; % width of extrafine details +hair#:=9/36pt#; % lowercase hairline breadth +stem#:=25/36pt#; % lowercase stem breadth +curve#:=30/36pt#; % lowercase curve breadth +ess#:=27/36pt#; % breadth in middle of lowercase s +flare#:=33/36pt#; % diameter of bulbs or breadth of terminals +dot_size#:=38/36pt#; % diameter of dots +cap_hair#:=11/36pt#; % uppercase hairline breadth +cap_stem#:=32/36pt#; % uppercase stem breadth +cap_curve#:=37/36pt#; % uppercase curve breadth +cap_ess#:=35/36pt#; % breadth in middle of uppercase s +rule_thickness#:=.4pt#; % thickness of lines in math symbols + +dish#:=1/36pt#; % amount erased at top or bottom of serifs +bracket#:=20/36pt#; % vertical distance from serif base to tangent +jut#:=28/36pt#; % protrusion of lowercase serifs +cap_jut#:=37/36pt#; % protrusion of uppercase serifs +beak_jut#:=10/36pt#; % horizontal protrusion of beak serifs +beak#:=70/36pt#; % vertical protrusion of beak serifs +vair#:=8/36pt#; % vertical diameter of hairlines +notch_cut#:=10pt#; % maximum breadth above or below notches +bar#:=11/36pt#; % lowercase bar thickness +slab#:=11/36pt#; % serif and arm thickness +cap_bar#:=11/36pt#; % uppercase bar thickness +cap_band#:=11/36pt#; % uppercase thickness above/below lobes +cap_notch_cut#:=10pt#; % max breadth above/below uppercase notches +serif_drop#:=4/36pt#; % vertical drop of sloped serifs +stem_corr#:=1/36pt#; % for small refinements of stem breadth +vair_corr#:=1/36pt#; % for small refinements of hairline height +apex_corr#:=0pt#; % extra width at diagonal junctions + +o#:=8/36pt#; % amount of overshoot for curves +apex_o#:=8/36pt#; % amount of overshoot for diagonal junctions + +slant:=0; % tilt ratio $(\Delta x/\Delta y)$ +fudge:=1; % factor applied to weights of heavy characters +math_spread:=0; % extra openness of math symbols +superness:=1/sqrt2; % parameter for superellipses +superpull:=1/6; % extra openness inside bowls +beak_darkness:=11/30; % fraction of triangle inside beak serifs +ligs:=2; % level of ligatures to be included + +square_dots:=false; % should dots be square? +hefty:=false; % should we try hard not to be overweight? +serifs:=true; % should serifs and bulbs be attached? +monospace:=false; % should all characters have the same width? +variant_g:=false; % should an italic-style g be used? +low_asterisk:=false; % should the asterisk be centered at the axis? +math_fitting:=false; % should math-mode spacing be used? + +generate grktxt % switch to the driver file + diff --git a/texmf/metafont/kelly/cmg10.tfm b/texmf/metafont/kelly/cmg10.tfm new file mode 100644 index 0000000000000000000000000000000000000000..43c519cccc64816b4ebea83dccea0ef40158c9d7 GIT binary patch literal 940 zcma)5O=}ZT6g_v6nRzpr#59>S3RT)}TnV!fEOnvcq5%~bwNlVU6#@afNK11u8HotcVK5Dy&gJLjEu^FA{8js}2dIEMfp%4nlR z?H(Mye2x@o-0QB+E)BZfC$l%!`@KhxyH7cN8l{_emQK4k46Xpdd%&ayPRbeuf5jRJ z5Eg7jfWy3fIbUN_pTMNrgIp`>b)ZRY+xRCW5(sm;cKRLbXI3(#mQ+gR5uh}C^p@$h z0V@(m>h#p_{~v{W74BUT&gIoj^WSMEz!a&NW<67ktE@U#Ds-4gtIlz|@bzAriBxr+ zuF<<{B+^h{p}IzDkAM{2Z~8}#IZnk2BEaJtDD0G^R`~ihq;;Yr3B5G;U3!M}BQcuQ zcd2BaOsTKXzDD1cb6JgS_iR+o-zla?W+-obfxU7c_WpS|3*X?*Y{I2>hgV@>!E7AB zj1zeDz5NUD>G``K;nSR?Z7`eVy^*vWSIP97R(BBGF*f;8lyDRCkOlr3UJ?eeG7PVjP)4t?O5V9 zJj6xJ<63ORbL1s#k=xjW#65uQp@R-<2h04Tcp{DrwbJ6)XI1{rO^$~PlON+92=7Os PcV+E<$h4kE&&au7hhvR{ literal 0 HcmV?d00001 diff --git a/texmf/metafont/kelly/cmgb10.600pk b/texmf/metafont/kelly/cmgb10.600pk new file mode 100644 index 0000000000000000000000000000000000000000..8619c1f0d5f9be10e04423a7f68ca05e73556e06 GIT binary patch literal 9284 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 Mb5HWNJbm`R0j=W$&;S4c literal 0 HcmV?d00001 diff --git a/texmf/metafont/kelly/cmgb10.mf b/texmf/metafont/kelly/cmgb10.mf new file mode 100644 index 0000000..34c649f --- /dev/null +++ b/texmf/metafont/kelly/cmgb10.mf @@ -0,0 +1,75 @@ +% Computer Modern Bold Extended Greek 10 point +if unknown cmbase: input cmbase fi + +font_identifier:="CMGB"; font_size 10pt#; + +u#:=23/36pt#; % unit width +width_adj#:=11/36pt#; % width adjustment for certain characters +serif_fit#:=0pt#; % extra sidebar near lowercase serifs +cap_serif_fit#:=7/36pt#; % extra sidebar near uppercase serifs +letter_fit#:=0pt#; % extra space added to all sidebars + +body_height#:=270/36pt#; % height of tallest characters +asc_height#:=250/36pt#; % height of lowercase ascenders +cap_height#:=247/36pt#; % height of caps +fig_height#:=232/36pt#; % height of numerals +x_height#:=160/36pt#; % height of lowercase without ascenders +math_axis#:=90/36pt#; % axis of symmetry for math symbols +bar_height#:=85/36pt#; % height of crossbar in lowercase e +comma_depth#:=70/36pt#; % depth of comma below baseline +desc_depth#:=70/36pt#; % depth of lowercase descenders + +crisp#:=0pt#; % diameter of serif corners +tiny#:=13/36pt#; % diameter of rounded corners +fine#:=10/36pt#; % diameter of sharply rounded corners +thin_join#:=10/36pt#; % width of extrafine details +hair#:=17/36pt#; % lowercase hairline breadth +stem#:=41/36pt#; % lowercase stem breadth +curve#:=46/36pt#; % lowercase curve breadth +ess#:=38/36pt#; % breadth in middle of lowercase s +flare#:=45/36pt#; % diameter of bulbs or breadth of terminals +dot_size#:=56/36pt#; % diameter of dots +cap_hair#:=19/36pt#; % uppercase hairline breadth +cap_stem#:=51/36pt#; % uppercase stem breadth +cap_curve#:=55/36pt#; % uppercase curve breadth +cap_ess#:=53/36pt#; % breadth in middle of uppercase s +rule_thickness#:=.6pt#; % thickness of lines in math symbols + +dish#:=1/36pt#; % amount erased at top or bottom of serifs +bracket#:=10/36pt#; % vertical distance from serif base to tangent +jut#:=25/36pt#; % protrusion of lowercase serifs +cap_jut#:=39/36pt#; % protrusion of uppercase serifs +beak_jut#:=11/36pt#; % horizontal protrusion of beak serifs +beak#:=70/36pt#; % vertical protrusion of beak serifs +vair#:=13/36pt#; % vertical diameter of hairlines +notch_cut#:=10pt#; % maximum breadth above or below notches +bar#:=17/36pt#; % lowercase bar thickness +slab#:=17/36pt#; % serif and arm thickness +cap_bar#:=17/36pt#; % uppercase bar thickness +cap_band#:=17/36pt#; % uppercase thickness above/below lobes +cap_notch_cut#:=10pt#; % max breadth above/below uppercase notches +serif_drop#:=3/36pt#; % vertical drop of sloped serifs +stem_corr#:=2/36pt#; % for small refinements of stem breadth +vair_corr#:=1.5/36pt#; % for small refinements of hairline height +apex_corr#:=0pt#; % extra width at diagonal junctions + +o#:=4/36pt#; % amount of overshoot for curves +apex_o#:=3/36pt#; % amount of overshoot for diagonal junctions + +slant:=0; % tilt ratio $(\Delta x/\Delta y)$ +fudge:=1; % factor applied to weights of heavy characters +math_spread:=.5; % extra openness of math symbols +superness:=8/11; % parameter for superellipses +superpull:=1/8; % extra openness inside bowls +beak_darkness:=.4; % fraction of triangle inside beak serifs +ligs:=2; % level of ligatures to be included + +square_dots:=false; % should dots be square? +hefty:=false; % should we try hard not to be overweight? +serifs:=true; % should serifs and bulbs be attached? +monospace:=false; % should all characters have the same width? +variant_g:=false; % should an italic-style g be used? +low_asterisk:=false; % should the asterisk be centered at the axis? +math_fitting:=false; % should math-mode spacing be used? + +generate grktxt % switch to the driver file diff --git a/texmf/metafont/kelly/cmgb10.tfm b/texmf/metafont/kelly/cmgb10.tfm new file mode 100644 index 0000000000000000000000000000000000000000..b7479790c94104e37b8cf9cad88c9f97eb324ec9 GIT binary patch literal 964 zcma)5J!n%=7(MsB3$=Rn!dm4D)4LHnzO;C3xBVq`2uN)KPRmB3MGgJG zs>U>sAFvQ|W7b=<{WTWjAsksNEDv-Z7-ww7hZX-;6)G64bIFPOT>FSh<{7J&GUHDH zq0^>!kzNikLuIKnJ@M=RM-_4{dl%#<`)YF!*=Jk>qoiO$18Gu_)cstHD%hvh=!gdP zlY7Zrq$&WB<+GgC9<8!+UIK|Tq|~NJ#eQW@Q8_CWQ5mTa@OTFTi{9{DefBH&V=^!B zLp9)%t09vLBCs3ZRH0j#MatnO(f zrr*Mz(XcOnh5dX5&TI(h@lQA}Y`BL%!o9u(FB8B!(t7~wS`MLlva8b=P`{b9My)N zBxkTm-oOTwt^#BgC6uTooZ+9gL6%@M78-nZslq>Xy>6$~`}Ly@!|Tr>=VxZpQ7p5_ He9Zj@U4)L? literal 0 HcmV?d00001 diff --git a/texmf/metafont/kelly/cmgi10.600pk b/texmf/metafont/kelly/cmgi10.600pk new file mode 100644 index 0000000000000000000000000000000000000000..1881c1741c193055f600538cae5beee47dbbf4c1 GIT binary patch literal 10976 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 literal 0 HcmV?d00001 diff --git a/texmf/metafont/kelly/cmgi10.mf b/texmf/metafont/kelly/cmgi10.mf new file mode 100644 index 0000000..d8c4c31 --- /dev/null +++ b/texmf/metafont/kelly/cmgi10.mf @@ -0,0 +1,76 @@ +% Computer Modern Greek Text Italic 10 point +if unknown cmbase: input cmbase fi + +font_identifier:="CMGI"; font_size 10pt#; + +u#:=18.4/36pt#; % unit width +width_adj#:=0pt#; % width adjustment for certain characters +serif_fit#:=0pt#; % extra sidebar near lowercase serifs +cap_serif_fit#:=5/36pt#; % extra sidebar near uppercase serifs +letter_fit#:=9.2/36pt#; % extra space added to all sidebars + +body_height#:=270/36pt#; % height of tallest characters +asc_height#:=250/36pt#; % height of lowercase ascenders +cap_height#:=246/36pt#; % height of caps +fig_height#:=232/36pt#; % height of numerals +x_height#:=155/36pt#; % height of lowercase without ascenders +math_axis#:=90/36pt#; % axis of symmetry for math symbols +bar_height#:=87/36pt#; % height of crossbar in lowercase e +comma_depth#:=70/36pt#; % depth of comma below baseline +desc_depth#:=70/36pt#; % depth of lowercase descenders + +crisp#:=8/36pt#; % diameter of serif corners +tiny#:=8/36pt#; % diameter of rounded corners +fine#:=7/36pt#; % diameter of sharply rounded corners +thin_join#:=7/36pt#; % width of extrafine details +hair#:=11/36pt#; % lowercase hairline breadth +stem#:=23/36pt#; % lowercase stem breadth +curve#:=28/36pt#; % lowercase curve breadth +ess#:=27/36pt#; % breadth in middle of lowercase s +flare#:=29/36pt#; % diameter of bulbs or breadth of terminals +dot_size#:=38/36pt#; % diameter of dots +cap_hair#:=11/36pt#; % uppercase hairline breadth +cap_stem#:=29/36pt#; % uppercase stem breadth +cap_curve#:=34/36pt#; % uppercase curve breadth +cap_ess#:=31/36pt#; % breadth in middle of uppercase s +rule_thickness#:=.4pt#; % thickness of lines in math symbols + +dish#:=1/36pt#; % amount erased at top or bottom of serifs +bracket#:=20/36pt#; % vertical distance from serif base to tangent +jut#:=30/36pt#; % protrusion of lowercase serifs +cap_jut#:=34/36pt#; % protrusion of uppercase serifs +beak_jut#:=9/36pt#; % horizontal protrusion of beak serifs +beak#:=70/36pt#; % vertical protrusion of beak serifs +vair#:=8/36pt#; % vertical diameter of hairlines +notch_cut#:=10pt#; % maximum breadth above or below notches +bar#:=11/36pt#; % lowercase bar thickness +slab#:=11/36pt#; % serif and arm thickness +cap_bar#:=11/36pt#; % uppercase bar thickness +cap_band#:=11/36pt#; % uppercase thickness above/below lobes +cap_notch_cut#:=10pt#; % max breadth above/below uppercase notches +serif_drop#:=4/36pt#; % vertical drop of sloped serifs +stem_corr#:=1/36pt#; % for small refinements of stem breadth +vair_corr#:=1/36pt#; % for small refinements of hairline height +apex_corr#:=0pt#; % extra width at diagonal junctions + +o#:=8/36pt#; % amount of overshoot for curves +apex_o#:=8/36pt#; % amount of overshoot for diagonal junctions + +slant:=.25; % tilt ratio $(\Delta x/\Delta y)$ +fudge:=1; % factor applied to weights of heavy characters +math_spread:=0; % extra openness of math symbols +superness:=1/sqrt2; % parameter for superellipses +superpull:=1/6; % extra openness inside bowls +beak_darkness:=11/30; % fraction of triangle inside beak serifs +ligs:=2; % level of ligatures to be included + +square_dots:=false; % should dots be square? +hefty:=false; % should we try hard not to be overweight? +serifs:=true; % should serifs and bulbs be attached? +monospace:=false; % should all characters have the same width? +variant_g:=true; % should an italic-style g be used? +low_asterisk:=false; % should the asterisk be centered at the axis? +math_fitting:=false; % should math-mode spacing be used? + +generate grktxt % switch to the driver file + diff --git a/texmf/metafont/kelly/cmgi10.tfm b/texmf/metafont/kelly/cmgi10.tfm new file mode 100644 index 0000000000000000000000000000000000000000..4d9b09931e9d11c7f2b21b3e15e8c87cfa1c2501 GIT binary patch literal 1148 zcma)+U1%It6vuz(WEsBCwD=HLxi%^tm5z)LAq}s+aQwd0Y@WP+-^*?j& zJ?Gw$+h_(}B2StGTWO;~?fBPM_uqpL&BNu9!uD#p{8ZuLiOI?nswC{YC{lHlVVG z9h&48^+ls=l>b!36~y;R_}#S6bz+wmXkR)>&L33&v4%+f9FckkyI3dJmqFUVxK2zm zT2Etka^ZhL+&oguhkM9v=nQ4tU(`BJ(&A|!y@}A*u6o9MJ=7b$;~M*v21T%1y$^Ct z8ei|7SO592CoSGrP7upzepd6c-ihX*U%|?%Z=Ls1$aTE;k@^Ka=Qk>!(;nT0)V$z~ z#&P>e&JTw2X|CrM>Xr20BYRWFnJ=@jYyZKQWSPWt5UIJu)Z zgMZLCa+b{Aa9_ycUZNN4#4gQZwRWN@L$a}#;UdA<{Q`F7;s4Dzbho@qsn7m)c!kW&^pt+~1vIeQfOG>H`YQ&6R!&INayi&&Kp3OTuF-u(p zFMOg#ZLlV_F-EzQjXYE{wGE0cUQkRkrPrqdiV6b^s2rfAe~2lCK0&nu7}b+11FZ2@ e|7^RwdiB{yk$2w<`xngK9B@KAm`N}vjr|QqrRci= literal 0 HcmV?d00001 diff --git a/texmf/metafont/kelly/cmgtt10.600pk b/texmf/metafont/kelly/cmgtt10.600pk new file mode 100644 index 0000000000000000000000000000000000000000..0f57cd74e0d235e314d9821508abbf06e3ad1d10 GIT binary patch literal 7416 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 B)aw8M literal 0 HcmV?d00001 diff --git a/texmf/metafont/kelly/cmgtt10.mf b/texmf/metafont/kelly/cmgtt10.mf new file mode 100644 index 0000000..5b9442c --- /dev/null +++ b/texmf/metafont/kelly/cmgtt10.mf @@ -0,0 +1,75 @@ +% Computer Modern Greek Typewriter Text for use with 10 point +if unknown cmbase: input cmbase fi + +font_identifier:="CMGTT"; font_size 10pt#; + +u#:=21/36pt#; % unit width +width_adj#:=0pt#; % width adjustment for certain characters +serif_fit#:=0pt#; % extra sidebar near lowercase serifs +cap_serif_fit#:=0pt#; % extra sidebar near uppercase serifs +letter_fit#:=0pt#; % extra space added to all sidebars + +body_height#:=250/36pt#; % height of tallest characters +asc_height#:=220/36pt#; % height of lowercase ascenders +cap_height#:=220/36pt#; % height of caps +fig_height#:=220/36pt#; % height of numerals +x_height#:=155/36pt#; % height of lowercase without ascenders +math_axis#:=110/36pt#; % axis of symmetry for math symbols +bar_height#:=79/36pt#; % height of crossbar in lowercase e +comma_depth#:=50/36pt#; % depth of comma below baseline +desc_depth#:=80/36pt#; % depth of lowercase descenders + +crisp#:=22/36pt#; % diameter of serif corners +tiny#:=22/36pt#; % diameter of rounded corners +fine#:=21/36pt#; % diameter of sharply rounded corners +thin_join#:=21/36pt#; % width of extrafine details +hair#:=25/36pt#; % lowercase hairline breadth +stem#:=25/36pt#; % lowercase stem breadth +curve#:=25/36pt#; % lowercase curve breadth +ess#:=22/36pt#; % breadth in middle of lowercase s +flare#:=32/36pt#; % diameter of bulbs or breadth of terminals +dot_size#:=36/36pt#; % diameter of dots +cap_hair#:=25/36pt#; % uppercase hairline breadth +cap_stem#:=25/36pt#; % uppercase stem breadth +cap_curve#:=25/36pt#; % uppercase curve breadth +cap_ess#:=25/36pt#; % breadth in middle of uppercase s +rule_thickness#:=25/36pt#; % thickness of lines in math symbols + +dish#:=0pt#; % amount erased at top or bottom of serifs +bracket#:=0pt#; % vertical distance from serif base to tangent +jut#:=34/36pt#; % protrusion of lowercase serifs +cap_jut#:=34/36pt#; % protrusion of uppercase serifs +beak_jut#:=0pt#; % horizontal protrusion of beak serifs +beak#:=34/36pt#; % vertical protrusion of beak serifs +vair#:=22/36pt#; % vertical diameter of hairlines +notch_cut#:=25/36pt#; % maximum breadth above or below notches +bar#:=22/36pt#; % lowercase bar thickness +slab#:=22/36pt#; % serif and arm thickness +cap_bar#:=22/36pt#; % uppercase bar thickness +cap_band#:=22/36pt#; % uppercase thickness above/below lobes +cap_notch_cut#:=25/36pt#; % max breadth above/below uppercase notches +serif_drop#:=0pt#; % vertical drop of sloped serifs +stem_corr#:=0pt#; % for small refinements of stem breadth +vair_corr#:=0pt#; % for small refinements of hairline height +apex_corr#:=10/36pt#; % extra width at diagonal junctions + +o#:=4/36pt#; % amount of overshoot for curves +apex_o#:=3/36pt#; % amount of overshoot for diagonal junctions + +slant:=0; % tilt ratio $(\Delta x/\Delta y)$ +fudge:=0.81; % factor applied to weights of heavy characters +math_spread:=-1; % extra openness of math symbols +superness:=1/sqrt2; % parameter for superellipses +superpull:=0; % extra openness inside bowls +beak_darkness:=0; % fraction of triangle inside beak serifs +ligs:=0; % level of ligatures to be included + +square_dots:=false; % should dots be square? +hefty:=true; % should we try hard not to be overweight? +serifs:=true; % should serifs and bulbs be attached? +monospace:=true; % should all characters have the same width? +variant_g:=false; % should an italic-style g be used? +low_asterisk:=true; % should the asterisk be centered at the axis? +math_fitting:=false; % should math-mode spacing be used? + +generate grktxt % switch to the driver file diff --git a/texmf/metafont/kelly/cmgtt10.tfm b/texmf/metafont/kelly/cmgtt10.tfm new file mode 100644 index 0000000000000000000000000000000000000000..31420947283ef8297614dddbf1db990fb411df2a GIT binary patch literal 816 zcma)4F;Bu^5Pb&%Ef^&jnJ@tdolLr52#XpAy0{1!2M08%A?iTDO^r=loEX#};H3Y+ zIP2iTUmy;|#ou7WyRTnc5C@yQzVF_>yI$@qddL8{LoYCxEj{DC(tF&Ipr@hOU;Nk@U>VMZ$oop zyx(6@P%CwJ8gh1t=$2Wq&e&#T85T`Znpt$^`v=SHt56RWH2OQabeenr44q&AO+zSKepPNAFebTJFb>tyo5VS8M7%EQ+hTK%?2v&$V(-{vBHs z3v#YEllrJ}c%V4K@A!j*_@E1;z60Z83Fh<_%$YLGw*{nfZSf7i-tFP{Qxa6KGU}k` z4@61>L~|WPyJgi2*%!BgJuG7pYcAXZV+Ci7b98vkO@Psa4V&3UmH+Mz!-m1JAj0P) Vvmo?QzpwiHGfN=zrhBho?FZ(rVW9v3 literal 0 HcmV?d00001 diff --git a/texmf/metafont/kelly/greek.aux b/texmf/metafont/kelly/greek.aux new file mode 100644 index 0000000..e6aea0f --- /dev/null +++ b/texmf/metafont/kelly/greek.aux @@ -0,0 +1,3 @@ +\relax +\@writefile{lot}{\contentsline {table}{\numberline {1}{\ignorespaces Transliteration from Keyboard Input to Greek}}{3}} +\newlabel{gr-trans}{{1}{3}} diff --git a/texmf/metafont/kelly/greek.dvi b/texmf/metafont/kelly/greek.dvi new file mode 100644 index 0000000000000000000000000000000000000000..6f886e399c25df6caa33e534fa371edb5c169183 GIT binary patch literal 21296 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 literal 0 HcmV?d00001 diff --git a/texmf/metafont/kelly/greek.log b/texmf/metafont/kelly/greek.log new file mode 100644 index 0000000..4fe582f --- /dev/null +++ b/texmf/metafont/kelly/greek.log @@ -0,0 +1,2032 @@ +This is pdfeTeX, Version 3.14159-1.10b-2.1 (Web2C 7.4.5) (format=pdflatex 2004.12.13) 15 DEC 2004 19:17 +entering extended mode +**greek.tex +(./greek.tex{/usr/share/texmf/pdftex/config/pdftex.cfg} +LaTeX2e <2001/06/01> +Babel and hyphenation patterns for american, french, ngerman, nohyphena +tion, loaded. +(/usr/share/texmf/tex/latex/base/latex209.def +File: latex209.def 1998/05/13 v0.52 Standard LaTeX file + + + Entering LaTeX 2.09 COMPATIBILITY MODE + ************************************************************* + !!WARNING!! !!WARNING!! !!WARNING!! !!WARNING!! + + This mode attempts to provide an emulation of the LaTeX 2.09 + author environment so that OLD documents can be successfully + processed. It should NOT be used for NEW documents! + + New documents should use Standard LaTeX conventions and start + with the \documentclass command. + + Compatibility mode is UNLIKELY TO WORK with LaTeX 2.09 style + files that change any internal macros, especially not with + those that change the FONT SELECTION or OUTPUT ROUTINES. + + Therefore such style files MUST BE UPDATED to use + Current Standard LaTeX: LaTeX2e. + If you suspect that you may be using such a style file, which + is probably very, very old by now, then you should attempt to + get it updated by sending a copy of this error message to the + author of that file. + ************************************************************* + +\footheight=\dimen102 +\@maxsep=\dimen103 +\@dblmaxsep=\dimen104 +\@cla=\count79 +\@clb=\count80 +\mscount=\count81 +(/usr/share/texmf/tex/latex/base/tracefnt.sty +Package: tracefnt 1997/05/29 v3.0j Standard LaTeX package (font tracing) +\tracingfonts=\count82 +LaTeX Info: Redefining \selectfont on input line 96. +) +\symbold=\mathgroup4 +\symsans=\mathgroup5 +\symtypewriter=\mathgroup6 +\symitalic=\mathgroup7 +\symsmallcaps=\mathgroup8 +\symslanted=\mathgroup9 +LaTeX Font Info: Redeclaring math alphabet \mathbf on input line 288. +LaTeX Font Info: Redeclaring math alphabet \mathsf on input line 289. +LaTeX Font Info: Redeclaring math alphabet \mathtt on input line 290. +LaTeX Font Info: Redeclaring math alphabet \mathit on input line 296. +LaTeX Info: Redefining \em on input line 306. + +(/usr/share/texmf/tex/latex/base/latexsym.sty +Package: latexsym 1998/08/17 v2.2e Standard LaTeX package (lasy symbols) +\symlasy=\mathgroup10 +LaTeX Font Info: Overwriting symbol font `lasy' in version `bold' +(Font) U/lasy/m/n --> U/lasy/b/n on input line 42. +) +LaTeX Font Info: Redeclaring math delimiter \lgroup on input line 370. +LaTeX Font Info: Redeclaring math delimiter \rgroup on input line 372. +LaTeX Font Info: Redeclaring math delimiter \bracevert on input line 374. + +(/usr/share/texmf/tex/latex/config/latex209.cfg +File: latex209.cfg 2001/06/05 v1.0 teTeX customized LaTeX 2.09 compatibility mo +de setup +) +(/usr/share/texmf/tex/latex/tools/rawfonts.sty +Package: rawfonts 1994/05/08 Low-level LaTeX 2.09 font compatibility + +(/usr/share/texmf/tex/latex/tools/somedefs.sty +Package: somedefs 1994/06/01 Toolkit for optional definitions +) +LaTeX Font Info: Try loading font information for U+lasy on input line 44. + +(/usr/share/texmf/tex/latex/base/ulasy.fd +File: ulasy.fd 1998/08/17 v2.2e LaTeX symbol font definitions +))) +(/usr/share/texmf/tex/latex/base/article.cls +Document Class: article 2001/04/21 v1.4e Standard LaTeX document class +(/usr/share/texmf/tex/latex/base/size10.clo +File: size10.clo 2001/04/21 v1.4e Standard LaTeX file (size option) +) +\c@part=\count83 +\c@section=\count84 +\c@subsection=\count85 +\c@subsubsection=\count86 +\c@paragraph=\count87 +\c@subparagraph=\count88 +\c@figure=\count89 +\c@table=\count90 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +Compatibility mode: definition of \rm ignored. +Compatibility mode: definition of \sf ignored. +Compatibility mode: definition of \tt ignored. +Compatibility mode: definition of \bf ignored. +Compatibility mode: definition of \it ignored. +Compatibility mode: definition of \sl ignored. +Compatibility mode: definition of \sc ignored. +LaTeX Info: Redefining \cal on input line 501. +LaTeX Info: Redefining \mit on input line 502. +\bibindent=\dimen105 +) (./greek.sty +\grfam=\mathgroup11 +\grbfam=\mathgroup12 +\grifam=\mathgroup13 +\grtfam=\mathgroup14 + +! Undefined control sequence. +l.105 \@addfontinfo + \@vpt{\def\pgr{\@prtct\gr@vpt}% +? q +OK, entering \batchmode... + +! LaTeX Error: Missing \begin{document}. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.105 \@addfontinfo\@vpt + {\def\pgr{\@prtct\gr@vpt}% +You're in trouble here. Try typing to proceed. +If that doesn't work, type X to quit. + +! Undefined control sequence. +l.109 \@addfontinfo + \@vipt{\def\pgr{\@prtct\gr@vipt}% +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +l.113 \@addfontinfo + \@viipt{\def\pgr{\@prtct\gr@viipt}% +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +l.117 \@addfontinfo + \@viiipt{\def\pgr{\@prtct\gr@viiipt}% +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +l.121 \@addfontinfo + \@ixpt{\def\pgr{\@prtct\gr@ixpt}% +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +l.125 \@addfontinfo + \@xpt{\def\pgr{\@prtct\gr@xpt}% +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +l.129 \@addfontinfo + \@xipt{\def\pgr{\@prtct\gr@xipt}% +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +l.133 \@addfontinfo + \@xiipt{\def\pgr{\@prtct\gr@xiipt}% +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +l.137 \@addfontinfo + \@xivpt{\def\pgr{\@prtct\gr@xivpt}% +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +l.141 \@addfontinfo + \@xviipt{\def\pgr{\@prtct\gr@xviipt}% +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +l.145 \@addfontinfo + \@xxpt{\def\pgr{\@prtct\gr@xxpt}% +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +l.149 \@addfontinfo + \@xxvpt{\def\pgr{\@prtct\gr@xxvpt}% +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +) + +! LaTeX Error: Command \SLiTeX already defined. + Or name \end... illegal, see p.192 of the manual. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.13 -.1667em\lower.7ex\hbox{E}\kern-.125emX}} + +Your command was ignored. +Type I to replace it with another command, +or to continue without it. + + (./greek.aux) +\openout1 = `greek.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 16. +LaTeX Font Info: ... okay on input line 16. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 16. +LaTeX Font Info: ... okay on input line 16. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 16. +LaTeX Font Info: ... okay on input line 16. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 16. +LaTeX Font Info: ... okay on input line 16. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 16. +LaTeX Font Info: ... okay on input line 16. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 16. +LaTeX Font Info: ... okay on input line 16. + [1 + +{/var/lib/texmf/dvips/config/pdftex.map}] +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <12> on input line 17. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <8> on input line 17. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <6> on input line 17. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <5> on input line 17. +! Undefined control sequence. +\grbf ->\protect \pgrbf + +l.30 uses `{\tt H}' to represent `{\grbf + Y}'\footnote{The {\tt\bs grbf} font... +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <7> on input line 30. +! Undefined control sequence. +\grbf ->\protect \pgrbf + +l.32 ...n lower-case [`{\tt h}'$\not\simeq$`{\grbf + y}']) --- I feel +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\grbf ->\protect \pgrbf + +l.35 ...ple, `{\tt ks}' and `{\tt rh}' for `{\grbf + x}' +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\grbf ->\protect \pgrbf + +l.36 and `{\grbf + r}' respectively; the latter caused a minor disaster with the +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\grbf ->\protect \pgrbf + +l.37 Greek for `I start' ({\grbf + arh\'izw}) which has to be input as `{\tt +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\grbf ->\protect \pgrbf + +l.44 ...capital letters in the wrong place ({\grbf + \'Y} whereas it +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\grbf ->\protect \pgrbf + +l.45 should be {\grbf + \'{}Y}), but one doesn't always need to accent capitals, +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + + [2] +! Undefined control sequence. +\grbf ->\protect \pgrbf + +l.60 ^^I \exmp A + & \exmp a\\ +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\grbf ->\protect \pgrbf + +l.60 ^^I \exmp A & \exmp a + \\ +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\grbf ->\protect \pgrbf + +l.61 ^^I \exmp B + & \exmp b\\ +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\grbf ->\protect \pgrbf + +l.61 ^^I \exmp B & \exmp b + \\ +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\grbf ->\protect \pgrbf + +l.62 ^^I \exmp G + & \exmp g\\ +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\grbf ->\protect \pgrbf + +l.62 ^^I \exmp G & \exmp g + \\ +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\grbf ->\protect \pgrbf + +l.63 ^^I \exmp D + & \exmp d\\ +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\grbf ->\protect \pgrbf + +l.63 ^^I \exmp D & \exmp d + \\ +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\grbf ->\protect \pgrbf + +l.64 ^^I \exmp E + & \exmp e\\ +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\grbf ->\protect \pgrbf + +l.64 ^^I \exmp E & \exmp e + \\ +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\grbf ->\protect \pgrbf + +l.65 ^^I \exmp Z + & \exmp z\\ +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\grbf ->\protect \pgrbf + +l.65 ^^I \exmp Z & \exmp z + \\ +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\grbf ->\protect \pgrbf + +l.66 ^^I \exmp Y + & \exmp y\\ +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\grbf ->\protect \pgrbf + +l.66 ^^I \exmp Y & \exmp y + \\ +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\grbf ->\protect \pgrbf + +l.67 ^^I \grbf + TH & \tt TH \rm or \tt Th & \exmp{th}\\ +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\grbf ->\protect \pgrbf + +l.67 ...grbf TH & \tt TH \rm or \tt Th & \exmp{th} + \\ +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\grbf ->\protect \pgrbf + +l.68 ^^I \exmp I + & \exmp i\\ +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\grbf ->\protect \pgrbf + +l.68 ^^I \exmp I & \exmp i + \\ +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\grbf ->\protect \pgrbf + +l.69 ^^I \exmp K + & \exmp k\\ +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\grbf ->\protect \pgrbf + +l.69 ^^I \exmp K & \exmp k + \\ +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\grbf ->\protect \pgrbf + +l.70 ^^I \exmp L + & \exmp l\\ +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\grbf ->\protect \pgrbf + +l.70 ^^I \exmp L & \exmp l + \\ +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\grbf ->\protect \pgrbf + +l.71 ^^I \exmp M + & \exmp m\\ +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\grbf ->\protect \pgrbf + +l.71 ^^I \exmp M & \exmp m + \\ +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\grbf ->\protect \pgrbf + +l.72 ^^I \exmp N + & \exmp n\\ +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\grbf ->\protect \pgrbf + +l.72 ^^I \exmp N & \exmp n + \\ +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\grbf ->\protect \pgrbf + +l.73 ^^I \exmp X + & \exmp x\\ +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\grbf ->\protect \pgrbf + +l.73 ^^I \exmp X & \exmp x + \\ +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\grbf ->\protect \pgrbf + +l.74 ^^I \exmp O + & \exmp o\\ +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\grbf ->\protect \pgrbf + +l.74 ^^I \exmp O & \exmp o + \\ +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\grbf ->\protect \pgrbf + +l.75 ^^I \exmp P + & \exmp p\\ +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\grbf ->\protect \pgrbf + +l.75 ^^I \exmp P & \exmp p + \\ +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\grbf ->\protect \pgrbf + +l.76 ^^I \exmp R + & \exmp r\\ +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\grbf ->\protect \pgrbf + +l.76 ^^I \exmp R & \exmp r + \\ +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\grbf ->\protect \pgrbf + +l.77 ^^I \exmp S + & \exmp s\\ +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\grbf ->\protect \pgrbf + +l.77 ^^I \exmp S & \exmp s + \\ +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\grbf ->\protect \pgrbf + +l.78 ^^I & & \grbf + \s & \tt\bs s\\ +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +l.78 ^^I & & \grbf \s + & \tt\bs s\\ +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\grbf ->\protect \pgrbf + +l.79 ^^I \exmp T + & \exmp t\\ +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\grbf ->\protect \pgrbf + +l.79 ^^I \exmp T & \exmp t + \\ +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\grbf ->\protect \pgrbf + +l.80 ^^I \exmp U + & \exmp u\\ +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\grbf ->\protect \pgrbf + +l.80 ^^I \exmp U & \exmp u + \\ +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\grbf ->\protect \pgrbf + +l.81 ^^I \grbf + PH & \tt PH \rm or \tt Ph & \exmp{ph}\\ +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\grbf ->\protect \pgrbf + +l.81 ...rbf PH & \tt PH \rm or \tt Ph & \exmp{ph} + \\ +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\grbf ->\protect \pgrbf + +l.82 ^^I \exmp H + & \exmp h\\ +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\grbf ->\protect \pgrbf + +l.82 ^^I \exmp H & \exmp h + \\ +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\grbf ->\protect \pgrbf + +l.83 ^^I \grbf + PS & \tt PS \rm or \tt Ps & \exmp{ps}\\ +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\grbf ->\protect \pgrbf + +l.83 ...grbf PS & \tt PS \rm or \tt Ps & \exmp{ps} + \\ +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\grbf ->\protect \pgrbf + +l.84 ^^I \exmp W + & \exmp w +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\grbf ->\protect \pgrbf + +l.84 ^^I \exmp W & \exmp w + +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + + [3] +LaTeX Font Info: Try loading font information for OMS+cmr on input line 110. + + (/usr/share/texmf/tex/latex/base/omscmr.fd +File: omscmr.fd 1999/05/25 v2.5h Standard LaTeX font definitions +) +LaTeX Font Info: Font shape `OMS/cmr/m/n' in size <10> not available +(Font) Font shape `OMS/cmsy/m/n' tried instead on input line 110. +! Undefined control sequence. +\grbf ->\protect \pgrbf + +l.134 {\grbf + z} and {\grbf x}) is not that normally expected in Greek text. +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\grbf ->\protect \pgrbf + +l.134 {\grbf z} and {\grbf + x}) is not that normally expected in Greek text. +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\grit ->\protect \pgrit + +l.153 but I feel that {\grit + m' \'ezwsan} [``encircled me''] makes more sens... +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\grit ->\protect \pgrit + +l.154 referring to lightning than {\grit + m' \'exwsan} [``evicted me''] --- +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\grit ->\protect \pgrit + +l.155 my {\grit + Meg\'alo ep\'itomo lexik\'on ty\s\ Ellynik\'y\s\ gl\'wssa\s\/} +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +l.155 my {\grit Meg\'alo ep\'itomo lexik\'on ty\s + \ Ellynik\'y\s\ gl\'wssa\s\/} +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +l.155 ...lo ep\'itomo lexik\'on ty\s\ Ellynik\'y\s + \ gl\'wssa\s\/} +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +l.155 ... lexik\'on ty\s\ Ellynik\'y\s\ gl\'wssa\s + \/} +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + + [4] +! Undefined control sequence. +\gr ->\protect \pgr + +l.179 {\gr + \bodytext} +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\bodytext ...\'oso bar\'u 'nai to must\'yrio ty\s + \ xomol\'ogysy\s . W\s \ t... +l.179 {\gr \bodytext + } +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\bodytext ... to must\'yrio ty\s \ xomol\'ogysy\s + . W\s \ t\'wra, kane\'i\s ... +l.179 {\gr \bodytext + } +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\bodytext ...st\'yrio ty\s \ xomol\'ogysy\s . W\s + \ t\'wra, kane\'i\s \ den ... +l.179 {\gr \bodytext + } +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\bodytext ...l\'ogysy\s . W\s \ t\'wra, kane\'i\s + \ den x\'erei p\'w\s \ p\'... +l.179 {\gr \bodytext + } +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\bodytext ...'wra, kane\'i\s \ den x\'erei p\'w\s + \ p\'erasa ta du\'o hr\'on... +l.179 {\gr \bodytext + } +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\bodytext ...hr\'onia mou sto \'{}Agion \'{}Oro\s + . Oi ph\'iloi mou tharro\'... +l.179 {\gr \bodytext + } +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\bodytext ...\s . Oi ph\'iloi mou tharro\'un pw\s + \^^Mp\'yga na dw buzantin\... +l.179 {\gr \bodytext + } +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\bodytext ...ntr\'epomai na mil\'ysw. \par P\'w\s + \ na to pw\@; Thumo\'umai ... +l.179 {\gr \bodytext + } +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\bodytext ...h\'uella me k\'uklwse kont\'a stou\s + \^^MPentaulo\'u\s . T\'oso... +l.179 {\gr \bodytext + } +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\bodytext ...wse kont\'a stou\s \^^MPentaulo\'u\s + . T\'oso phober\'o\s \ ane... +l.179 {\gr \bodytext + } +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\bodytext ...^MPentaulo\'u\s . T\'oso phober\'o\s + \ anemos\'iphouna\s , pou ... +l.179 {\gr \bodytext + } +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\bodytext ...'oso phober\'o\s \ anemos\'iphouna\s + , pou \'epesa katag\'y\s \... +l.179 {\gr \bodytext + } +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\bodytext ...\'iphouna\s , pou \'epesa katag\'y\s + \^^Mgi\'a na m\'yn gkremis... +l.179 {\gr \bodytext + } +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\bodytext ...na m\'yn gkremist\'w. Oi astrap\'e\s + \ m'~\'ezwsan olo\'uthe ki... +l.179 {\gr \bodytext + } +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\bodytext ...pase y mp\'ora, \'epesen o \'anemo\s + , kai hontr\'e\s , therm\'... +l.179 {\gr \bodytext + } +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\bodytext ...'epesen o \'anemo\s , kai hontr\'e\s + , therm\'e\s \ st\'ale\s \... +l.179 {\gr \bodytext + } +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\bodytext ...nemo\s , kai hontr\'e\s , therm\'e\s + \ st\'ale\s \ broh\'y ht\'... +l.179 {\gr \bodytext + } +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\bodytext ... hontr\'e\s , therm\'e\s \ st\'ale\s + \ broh\'y ht\'upysan ta de... +l.179 {\gr \bodytext + } +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\bodytext ...m\'ena ap' to ner\'o, t\'inaxan ti\s + \ murwdi\'e\s \ tou\s \ ki... +l.179 {\gr \bodytext + } +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\bodytext ...ner\'o, t\'inaxan ti\s \ murwdi\'e\s + \ tou\s \ ki \'oly y gy\s ... +l.179 {\gr \bodytext + } +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\bodytext ...t\'inaxan ti\s \ murwdi\'e\s \ tou\s + \ ki \'oly y gy\s \^^Mm\'u... +l.179 {\gr \bodytext + } +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\bodytext ...urwdi\'e\s \ tou\s \ ki \'oly y gy\s + \^^Mm\'urise. +l.179 {\gr \bodytext + } +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + + [5] +! Undefined control sequence. +\grit ->\protect \pgrit + +l.215 {\grit + \bodytext} +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\bodytext ...\'oso bar\'u 'nai to must\'yrio ty\s + \ xomol\'ogysy\s . W\s \ t... +l.215 {\grit \bodytext + } +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\bodytext ... to must\'yrio ty\s \ xomol\'ogysy\s + . W\s \ t\'wra, kane\'i\s ... +l.215 {\grit \bodytext + } +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\bodytext ...st\'yrio ty\s \ xomol\'ogysy\s . W\s + \ t\'wra, kane\'i\s \ den ... +l.215 {\grit \bodytext + } +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\bodytext ...l\'ogysy\s . W\s \ t\'wra, kane\'i\s + \ den x\'erei p\'w\s \ p\'... +l.215 {\grit \bodytext + } +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\bodytext ...'wra, kane\'i\s \ den x\'erei p\'w\s + \ p\'erasa ta du\'o hr\'on... +l.215 {\grit \bodytext + } +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\bodytext ...hr\'onia mou sto \'{}Agion \'{}Oro\s + . Oi ph\'iloi mou tharro\'... +l.215 {\grit \bodytext + } +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\bodytext ...\s . Oi ph\'iloi mou tharro\'un pw\s + \^^Mp\'yga na dw buzantin\... +l.215 {\grit \bodytext + } +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\bodytext ...ntr\'epomai na mil\'ysw. \par P\'w\s + \ na to pw\@; Thumo\'umai ... +l.215 {\grit \bodytext + } +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\bodytext ...h\'uella me k\'uklwse kont\'a stou\s + \^^MPentaulo\'u\s . T\'oso... +l.215 {\grit \bodytext + } +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\bodytext ...wse kont\'a stou\s \^^MPentaulo\'u\s + . T\'oso phober\'o\s \ ane... +l.215 {\grit \bodytext + } +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\bodytext ...^MPentaulo\'u\s . T\'oso phober\'o\s + \ anemos\'iphouna\s , pou ... +l.215 {\grit \bodytext + } +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\bodytext ...'oso phober\'o\s \ anemos\'iphouna\s + , pou \'epesa katag\'y\s \... +l.215 {\grit \bodytext + } +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\bodytext ...\'iphouna\s , pou \'epesa katag\'y\s + \^^Mgi\'a na m\'yn gkremis... +l.215 {\grit \bodytext + } +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\bodytext ...na m\'yn gkremist\'w. Oi astrap\'e\s + \ m'~\'ezwsan olo\'uthe ki... +l.215 {\grit \bodytext + } +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\bodytext ...pase y mp\'ora, \'epesen o \'anemo\s + , kai hontr\'e\s , therm\'... +l.215 {\grit \bodytext + } +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\bodytext ...'epesen o \'anemo\s , kai hontr\'e\s + , therm\'e\s \ st\'ale\s \... +l.215 {\grit \bodytext + } +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\bodytext ...nemo\s , kai hontr\'e\s , therm\'e\s + \ st\'ale\s \ broh\'y ht\'... +l.215 {\grit \bodytext + } +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\bodytext ... hontr\'e\s , therm\'e\s \ st\'ale\s + \ broh\'y ht\'upysan ta de... +l.215 {\grit \bodytext + } +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\bodytext ...m\'ena ap' to ner\'o, t\'inaxan ti\s + \ murwdi\'e\s \ tou\s \ ki... +l.215 {\grit \bodytext + } +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\bodytext ...ner\'o, t\'inaxan ti\s \ murwdi\'e\s + \ tou\s \ ki \'oly y gy\s ... +l.215 {\grit \bodytext + } +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\bodytext ...t\'inaxan ti\s \ murwdi\'e\s \ tou\s + \ ki \'oly y gy\s \^^Mm\'u... +l.215 {\grit \bodytext + } +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\bodytext ...urwdi\'e\s \ tou\s \ ki \'oly y gy\s + \^^Mm\'urise. +l.215 {\grit \bodytext + } +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\grbf ->\protect \pgrbf + +l.220 {\grbf + \bodytext} +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\bodytext ...\'oso bar\'u 'nai to must\'yrio ty\s + \ xomol\'ogysy\s . W\s \ t... +l.220 {\grbf \bodytext + } +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\bodytext ... to must\'yrio ty\s \ xomol\'ogysy\s + . W\s \ t\'wra, kane\'i\s ... +l.220 {\grbf \bodytext + } +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\bodytext ...st\'yrio ty\s \ xomol\'ogysy\s . W\s + \ t\'wra, kane\'i\s \ den ... +l.220 {\grbf \bodytext + } +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\bodytext ...l\'ogysy\s . W\s \ t\'wra, kane\'i\s + \ den x\'erei p\'w\s \ p\'... +l.220 {\grbf \bodytext + } +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\bodytext ...'wra, kane\'i\s \ den x\'erei p\'w\s + \ p\'erasa ta du\'o hr\'on... +l.220 {\grbf \bodytext + } +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\bodytext ...hr\'onia mou sto \'{}Agion \'{}Oro\s + . Oi ph\'iloi mou tharro\'... +l.220 {\grbf \bodytext + } +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\bodytext ...\s . Oi ph\'iloi mou tharro\'un pw\s + \^^Mp\'yga na dw buzantin\... +l.220 {\grbf \bodytext + } +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\bodytext ...ntr\'epomai na mil\'ysw. \par P\'w\s + \ na to pw\@; Thumo\'umai ... +l.220 {\grbf \bodytext + } +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\bodytext ...h\'uella me k\'uklwse kont\'a stou\s + \^^MPentaulo\'u\s . T\'oso... +l.220 {\grbf \bodytext + } +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\bodytext ...wse kont\'a stou\s \^^MPentaulo\'u\s + . T\'oso phober\'o\s \ ane... +l.220 {\grbf \bodytext + } +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\bodytext ...^MPentaulo\'u\s . T\'oso phober\'o\s + \ anemos\'iphouna\s , pou ... +l.220 {\grbf \bodytext + } +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\bodytext ...'oso phober\'o\s \ anemos\'iphouna\s + , pou \'epesa katag\'y\s \... +l.220 {\grbf \bodytext + } +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\bodytext ...\'iphouna\s , pou \'epesa katag\'y\s + \^^Mgi\'a na m\'yn gkremis... +l.220 {\grbf \bodytext + } +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\bodytext ...na m\'yn gkremist\'w. Oi astrap\'e\s + \ m'~\'ezwsan olo\'uthe ki... +l.220 {\grbf \bodytext + } +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\bodytext ...pase y mp\'ora, \'epesen o \'anemo\s + , kai hontr\'e\s , therm\'... +l.220 {\grbf \bodytext + } +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\bodytext ...'epesen o \'anemo\s , kai hontr\'e\s + , therm\'e\s \ st\'ale\s \... +l.220 {\grbf \bodytext + } +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\bodytext ...nemo\s , kai hontr\'e\s , therm\'e\s + \ st\'ale\s \ broh\'y ht\'... +l.220 {\grbf \bodytext + } +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\bodytext ... hontr\'e\s , therm\'e\s \ st\'ale\s + \ broh\'y ht\'upysan ta de... +l.220 {\grbf \bodytext + } +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\bodytext ...m\'ena ap' to ner\'o, t\'inaxan ti\s + \ murwdi\'e\s \ tou\s \ ki... +l.220 {\grbf \bodytext + } +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\bodytext ...ner\'o, t\'inaxan ti\s \ murwdi\'e\s + \ tou\s \ ki \'oly y gy\s ... +l.220 {\grbf \bodytext + } +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\bodytext ...t\'inaxan ti\s \ murwdi\'e\s \ tou\s + \ ki \'oly y gy\s \^^Mm\'u... +l.220 {\grbf \bodytext + } +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\bodytext ...urwdi\'e\s \ tou\s \ ki \'oly y gy\s + \^^Mm\'urise. +l.220 {\grbf \bodytext + } +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + + [6] +! Undefined control sequence. +\grtt ->\protect \pgrtt + +l.225 {\grtt + \bodytext} +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\bodytext ...\'oso bar\'u 'nai to must\'yrio ty\s + \ xomol\'ogysy\s . W\s \ t... +l.225 {\grtt \bodytext + } +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\bodytext ... to must\'yrio ty\s \ xomol\'ogysy\s + . W\s \ t\'wra, kane\'i\s ... +l.225 {\grtt \bodytext + } +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\bodytext ...st\'yrio ty\s \ xomol\'ogysy\s . W\s + \ t\'wra, kane\'i\s \ den ... +l.225 {\grtt \bodytext + } +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\bodytext ...l\'ogysy\s . W\s \ t\'wra, kane\'i\s + \ den x\'erei p\'w\s \ p\'... +l.225 {\grtt \bodytext + } +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\bodytext ...'wra, kane\'i\s \ den x\'erei p\'w\s + \ p\'erasa ta du\'o hr\'on... +l.225 {\grtt \bodytext + } +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\bodytext ...hr\'onia mou sto \'{}Agion \'{}Oro\s + . Oi ph\'iloi mou tharro\'... +l.225 {\grtt \bodytext + } +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\bodytext ...\s . Oi ph\'iloi mou tharro\'un pw\s + \^^Mp\'yga na dw buzantin\... +l.225 {\grtt \bodytext + } +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\bodytext ...ntr\'epomai na mil\'ysw. \par P\'w\s + \ na to pw\@; Thumo\'umai ... +l.225 {\grtt \bodytext + } +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\bodytext ...h\'uella me k\'uklwse kont\'a stou\s + \^^MPentaulo\'u\s . T\'oso... +l.225 {\grtt \bodytext + } +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\bodytext ...wse kont\'a stou\s \^^MPentaulo\'u\s + . T\'oso phober\'o\s \ ane... +l.225 {\grtt \bodytext + } +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\bodytext ...^MPentaulo\'u\s . T\'oso phober\'o\s + \ anemos\'iphouna\s , pou ... +l.225 {\grtt \bodytext + } +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\bodytext ...'oso phober\'o\s \ anemos\'iphouna\s + , pou \'epesa katag\'y\s \... +l.225 {\grtt \bodytext + } +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\bodytext ...\'iphouna\s , pou \'epesa katag\'y\s + \^^Mgi\'a na m\'yn gkremis... +l.225 {\grtt \bodytext + } +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\bodytext ...na m\'yn gkremist\'w. Oi astrap\'e\s + \ m'~\'ezwsan olo\'uthe ki... +l.225 {\grtt \bodytext + } +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\bodytext ...pase y mp\'ora, \'epesen o \'anemo\s + , kai hontr\'e\s , therm\'... +l.225 {\grtt \bodytext + } +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\bodytext ...'epesen o \'anemo\s , kai hontr\'e\s + , therm\'e\s \ st\'ale\s \... +l.225 {\grtt \bodytext + } +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\bodytext ...nemo\s , kai hontr\'e\s , therm\'e\s + \ st\'ale\s \ broh\'y ht\'... +l.225 {\grtt \bodytext + } +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\bodytext ... hontr\'e\s , therm\'e\s \ st\'ale\s + \ broh\'y ht\'upysan ta de... +l.225 {\grtt \bodytext + } +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\bodytext ...m\'ena ap' to ner\'o, t\'inaxan ti\s + \ murwdi\'e\s \ tou\s \ ki... +l.225 {\grtt \bodytext + } +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\bodytext ...ner\'o, t\'inaxan ti\s \ murwdi\'e\s + \ tou\s \ ki \'oly y gy\s ... +l.225 {\grtt \bodytext + } +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\bodytext ...t\'inaxan ti\s \ murwdi\'e\s \ tou\s + \ ki \'oly y gy\s \^^Mm\'u... +l.225 {\grtt \bodytext + } +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +! Undefined control sequence. +\bodytext ...urwdi\'e\s \ tou\s \ ki \'oly y gy\s + \^^Mm\'urise. +l.225 {\grtt \bodytext + } +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + + [7] (./greek.aux) ) +Here is how much of TeX's memory you used: + 641 strings out of 95329 + 6821 string characters out of 1188919 + 52697 words of memory out of 1000001 + 3717 multiletter control sequences out of 10000+50000 + 26054 words of font info for 97 fonts, out of 500000 for 1000 + 14 hyphenation exceptions out of 1000 + 25i,9n,22p,267b,223s stack positions out of 1500i,500n,5000p,200000b,5000s + 80 PDF objects out of 300000 + 0 named destinations out of 131072 + 0 words of extra memory for PDF output out of 65536 +{/usr/share/texmf/dvips/tetex/f7b6d320.enc}{/usr/share/texmf/dvips/tetex/aae443f0.enc} +{/usr/share/texmf/dvips/tet +ex/0ef0afca.enc}{/usr/shar +e/texmf/dvips/tetex/09fbbfac.enc}{/ +usr/share/texmf/dvips/tetex/bbad153f.enc}{/usr/share/texmf/dvips/tetex/74afc74c.enc} +Output written on greek.pdf (7 pages, 113992 bytes). diff --git a/texmf/metafont/kelly/greek.pdf b/texmf/metafont/kelly/greek.pdf new file mode 100644 index 0000000000000000000000000000000000000000..a630c9a2395155cb37ecc8354454be681ae2f8c4 GIT binary patch literal 113992 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: {left}(x4'-1,lower_notch){up}... fi + {z5-z6}diag_in(6r,5r,1,5l)--cycle; % diagonal +else: penpos5(whatever,0); penpos6(whatever,90); + z5l=z1l; z6l=z4l; + z7=z6l+(max(eps,cap_stem-3stem_corr-tiny),0) rotated (angle(z5l-z6l)-90); + z5r=z7+whatever*(z5l-z6l); z6r=z7+whatever*(z5l-z6l); + filldraw stroke z5e..z6e; fi % diagonal +if serifs: if hefty: serif(1,2,a,1/3,-cap_jut); % upper left serif + else: serif(5,6,a,1/3,-cap_jut); fi % upper left serif + dish_serif(2,1,b,1/2,cap_jut,c,1/2,cap_jut)(dark); % lower left serif + dish_serif(3,4,e,1/2,cap_jut,f,1/2,cap_jut)(dark); fi % upper right serif +math_fit(0,max(.5ic#-.5u#,0)); penlabels(1,1',2,3,4,4',5,6,7); endchar; + +cmchar "Uppercase Greek Xi"; +beginchar("X",12u#,cap_height#,0); +italcorr cap_height#*slant-.35u#; +adjust_fit(0,0); +h:=vround(h-2stem_corr); +numeric shaved_stem; shaved_stem=hround .9[vair,.85cap_stem]; +% Next line added by BHK 870902 --- see TUGboat 87#2 Errata & Changes supplement +if shaved_stemtop y7r+.75cap_jut: xjut=.5cap_jut; + else: bot y2=top y7r+1.5xjut; fi + pos11(hair,0); pos12(hair,0); y11=y12; + pos13(hair,0); pos14(hair,0); y13=y14; + lft x11l=lft x13l=w-rt x12r=w-rt x14r=hround 2.5u; + top y11-bot y13=shaved_stem+2xjut; .5[y11,y13]=y7; + filldraw stroke z11e--z13e; filldraw stroke z12e--z14e; fi % middle serifs +math_fit(0,.5ic#); penlabels(1,2,3,4,5,6,7,8,11,12,13,14); endchar; + +cmchar "The letter Omicron"; +beginchar("O",14u#-width_adj#,cap_height#,0); +italcorr .7cap_height#*slant-.5u#; +adjust_fit(0,0); +penpos1(vair',90); penpos3(vround(vair+1.5vair_corr),-90); +penpos2(cap_curve,180); penpos4(cap_curve,0); +if monospace: x2r=hround 1.5u; + interim superness:=sqrt superness; % make |"O"|, not |"0"| +else: x2r=hround u; fi +x4r=w-x2r; x1=x3=.5w; y1r=h+o; y3r=-o; +y2=y4=.5h-vair_corr; y2l:=y4l:=.52h; +penstroke pulled_super_arc.e(1,2)(.5superpull) + & pulled_super_arc.e(2,3)(.5superpull) + & pulled_super_arc.e(3,4)(.5superpull) + & pulled_super_arc.e(4,1)(.5superpull) & cycle; % bowl +math_fit(-.3cap_height#*slant-.5u#,ic#-.5u#); penlabels(1,2,3,4); endchar; + +cmchar "Uppercase Greek Pi"; +beginchar("P",13u#+width_adj#,cap_height#,0); +italcorr cap_height#*slant-cap_serif_fit#+cap_jut#-2.5u#+min(.5cap_stem#,u#); +adjust_fit(cap_serif_fit#,cap_serif_fit#); pickup tiny.nib; +h:=vround(h-stem_corr); +pos1(cap_stem,0); pos2(cap_stem,0); pos3(cap_stem,0); pos4(cap_stem,0); +lft x1l=lft x2l=hround max(2u,3u-.5cap_stem); x3=x4=w-x1; +top y1=top y3=h; bot y2=bot y4=0; +filldraw stroke z1e--z2e; % left stem +filldraw stroke z3e--z4e; % right stem +penpos5(cap_bar,90); penpos6(cap_bar,90); +x5=x1; x6=x3; y5r=y6r=h; +fill stroke z5e--z6e; % bar +if serifs: numeric inner_jut; + if rt x1r+cap_jut+.5u+1<=lft x3l-cap_jut: inner_jut=cap_jut; + else: rt x1r+inner_jut+.5u+1=lft x3l-inner_jut; fi + nodish_serif(1,2,a,1/3,cap_jut,b,1/3,eps); % upper left serif + dish_serif(2,1,c,1/3,cap_jut,d,1/3,inner_jut); % lower left serif + nodish_serif(3,4,e,1/3,eps,f,1/3,cap_jut); % upper right serif + dish_serif(4,3,g,1/3,inner_jut,h,1/3,cap_jut); fi % lower right serif +math_fit(0,.5ic#); penlabels(1,2,3,4,5,6); endchar; + +cmchar "The letter P (Rho)"; +beginchar("R",12u#,cap_height#,0); +italcorr .75cap_height#*slant-.5u#; +adjust_fit(cap_serif_fit#,0); +pickup tiny.nib; penpos1(cap_stem'-tiny,0); penpos2(cap_stem-tiny,0); +pos0(cap_stem',0); pos0'(cap_stem,0); +lft x1l=hround max(2u,3u-.5cap_stem'); top y1=h; bot y2=0; +x1l=x2l=x0l=x0'l; y0=y0'=y7; +penpos3(cap_band,90); penpos4(cap_band,90); +penpos5(cap_curve if hefty:-3stem_corr fi,0); +penpos6(.5[vair,cap_band],-90); penpos7(.5[vair,cap_band],-90); +z3r=top z1; y4=y3; y5=.5[y4l,y6l]; y6=y7; +x7=x2; y7l=vround .5h; x4=x6=.5w+.75u; x5r=hround(w-u); +x4l:=x6l:=x4-.25cap_curve; +filldraw stroke z1e--z0e--z0'e--z2e; % stem +fill stroke z3e..pulled_arc.e(4,5) & pulled_arc.e(5,6)..z7e; % lobe +if serifs: nodish_serif(1,0,a,1/3,cap_jut,b,1/3,.5cap_jut); % upper serif + dish_serif(2,0',c,1/3,cap_jut,d,1/3,cap_jut); fi % lower serif +math_fit(0,ic#-2.5u#); penlabels(0,1,2,3,4,5,6,7); endchar; + +cmchar "Uppercase Greek Sigma"; +beginchar("S",13u#,cap_height#,0); +italcorr cap_height#*slant-beak_jut#-.5u#; +adjust_fit(0,0); +numeric bot_arm_thickness; +bot_arm_thickness=Vround .25[slab,cap_vstem]; +pickup tiny.nib; lft x1l=hround u; x1l=x2l=x4l; +top y1=h; bot y2=h-slab-eps; bot y4=0; x3l-x1l=4/11(w-2u); y3=.5h; +numeric alpha[]; alpha1=((x3l-x1l)++(y2-y3))/(y2-y3); +penpos1(alpha1*(cap_stem-tiny),0); penpos2(alpha1*(cap_stem-tiny),0); +penpos3(alpha1*(cap_stem-tiny),0); +alpha2=diag_ratio(1,cap_hair-tiny,y3-y4,x3r-x4l); +penpos4(alpha2*(cap_hair-tiny),0); +z0=whatever[z2l,z3l]=z4l+whatever*(z3r-z4r); +filldraw z1l--z2l--z0--z4l--z4r--z3r--z2r--z1r--cycle; % diagonals +pickup crisp.nib; pos5(slab,90); pos6(hair,0); +top y5r=h; x5=x1; rt x6r=hround(w-u); y6=good.y(y5l-beak)-eps; +arm(5,6,a,beak_darkness,beak_jut); % upper arm and beak +pos7(bot_arm_thickness,-90); pos8(hair,0); +bot y7r=0; z7l=whatever[z4,z3]; x7r:=x4; x8=x6; y8=good.y(y7l+beak)+eps; +arm(7,8,b,beak_darkness,beak_jut); % lower arm and beak +math_fit(0,.5ic#); penlabels(0,1,2,3,4,5,6,7,8); endchar; + +cmchar "The letter Tau"; +beginchar("T",13u#-width_adj#,cap_height#,0); +italcorr cap_height#*slant-beak_jut#-.25u#; +adjust_fit(0,0); +h:=vround(h-2stem_corr); +pickup tiny.nib; pos1(cap_stem,0); pos2(cap_stem,0); +lft x1l=lft x2l=hround(.5w-.5cap_stem); top y1=h; bot y2=0; +filldraw stroke z1e--z2e; % stem +pickup crisp.nib; pos3(slab,90); pos4(hair,0); +top y3r=h; x3=x1; rt x4r=hround(w-.65u); y4=good.y(y3l-beak)-eps; +arm(3,4,e,beak_darkness,.7beak_jut); % right arm and beak +pos5(hair,180); x5=w-x4; y5=y4; +arm(3,5,f,beak_darkness,-.7beak_jut); % left arm and beak +if serifs: dish_serif(2,1,c,1/3,1.414cap_jut,d,1/3,1.414cap_jut); % lower serif + nodish_serif(1,2,a,1/3,.5cap_jut,b,1/3,.5cap_jut); fi % upper bracketing +math_fit(-.75cap_height#*slant,ic#-2.5u#); penlabels(1,2,3,4,5,6); endchar; + +cmchar "Uppercase Greek Upsilon"; +beginchar("U",14u#,cap_height#,0); +italcorr .8cap_height#*slant-.5u#; +adjust_fit(0,0); +pickup tiny.nib; pos1(cap_stem,0); pos2(cap_stem,0); +lft x1l=lft x2l=hround(.5w-.5cap_stem); y1=.5h; bot y2=0; +filldraw stroke z1e--z2e; % stem +penpos3(.6cap_stem,0); penpos4(.75cap_curve,90); penpos5(cap_hair,180); +z3l=lft z1l; x5r=hround u; y5=bot .8h; x4=.61803[x3l,x5l]; y4r=h+o; +penpos5'(cap_hair,180); x5'=x5; y5'=h; +fill z3r{up}...z4r{left}...{down}diag_end(5'r,5r,1,1,5l,5'l){up} + ...{right}z4l...{down}z3l--cycle; % left arc +penpos6(.6cap_stem,0); penpos7(.75cap_curve,-90); penpos8(cap_hair,-180); +z6r=rt z1r; x8=w-x5; y8=y5; x7=w-x4; y7=y4; +penpos8'(cap_hair,-180); x8'=x8; y8'=h; +fill z6r{up}...z7r{right}...{down}diag_end(8'r,8r,1,1,8l,8'l){up} + ...{left}z7l...{down}z6l--cycle; % right arc +if serifs: dish_serif(2,1,a,1/3,1.25cap_jut,b,1/3,1.25cap_jut); fi % serif +math_fit(-.8cap_height#*slant-.5u#,ic#-2.5u#); +penlabels(1,2,3,4,5,6,7,8); endchar; + +cmchar "Uppercase Greek Phi"; +beginchar(oct"010",13u#,cap_height#,0); +italcorr .5cap_height#*slant-.5u#; +adjust_fit(0,0); +numeric shaved_stem,light_curve; +shaved_stem=cap_stem-hround 2stem_corr; +light_curve=cap_curve-hround stem_corr; +pickup tiny.nib; pos1(shaved_stem,0); pos2(shaved_stem,0); +lft x1l=lft x2l=hround(.5w-.5cap_stem); top y1=h; bot y2=0; +filldraw stroke z1e--z2e; % stem +penpos3(vair,90); penpos5(vair,-90); +penpos4(light_curve,180); penpos6(light_curve,0); +x4r=hround u; x6r=w-x4r; x3=x5=.5w; +y3r=vround(.85h if serifs:-slab fi); y4=y6=.5[y3,y5]; +y5r=vround(.15h if serifs:+slab fi); +penstroke pulled_arc.e(3,4) & pulled_arc.e(4,5) + & pulled_arc.e(5,6) & pulled_arc.e(6,3) & cycle; % bowl +if serifs: dish_serif(1,2,a,1/3,1.25cap_jut,b,1/3,1.25cap_jut); % upper serif + dish_serif(2,1,c,1/3,1.25cap_jut,d,1/3,1.25cap_jut); fi % lower serif +math_fit(-.5cap_height#*slant-.5u#,ic#); penlabels(1,2,3,4,5,6); endchar; + +cmchar "The letter X (Chi)"; +beginchar("H",13u#,cap_height#,0); +italcorr cap_height#*slant-.25u#; +adjust_fit(cap_serif_fit#,cap_serif_fit#); +numeric stem[],outer_jut,xjut,alpha[]; +stem1=cap_stem-2stem_corr; stem2=min(cap_hair,stem1); +outer_jut=.75cap_jut; xjut= if serifs: (stem1-stem2)/4 else: 0 fi; +x1l=l+letter_fit+.5u+outer_jut; x2r=r-letter_fit-u-outer_jut-xjut; +x3l=l+letter_fit+.25u+outer_jut+xjut; x4r=r-letter_fit-.25u-outer_jut; +y1=y2=h; y3=y4=0; +alpha1=diag_ratio(1,stem1,h,x4r-x1l); +alpha2=diag_ratio(1,stem2,h,x2r-x3l); +penpos1(alpha1*stem1,0); penpos2(alpha2*stem2,0); +penpos3(alpha2*stem2,0); penpos4(alpha1*stem1,0); +if hefty: z0=whatever[z1,z4]=whatever[z2,z3]; + x12=x34=x0; y13=y24=y0; + z12=whatever[z2l,z3l]; z13=whatever[z2l,z3l]; + z24=whatever[z2r,z3r]; z34=whatever[z2r,z3r]; + forsuffixes $=13,24,34: z$'=.1[z$,z0]; endfor + fill diag_end(12,1r,.5,1,1l,13')--z13'--diag_end(13',3l,1,.5,3r,34')--z34' + --diag_end(34',4l,.5,1,4r,24')--z24' + --diag_end(24',2r,1,.5,2l,12)--z12--cycle; % diagonals +else: fill diag_end(4r,1r,.5,1,1l,4l) + --diag_end(1l,4l,.5,1,4r,1r)--cycle; % left diagonal + fill diag_end(2l,3l,.5,1,3r,2r) + --diag_end(3r,2r,.5,1,2l,3l)--cycle; fi % right diagonal +if serifs: numeric inner_jut[]; pickup tiny.nib; + prime_points_inside(1,4); prime_points_inside(2,3); + prime_points_inside(3,2); prime_points_inside(4,1); + if rt x1'r+cap_jut+.5u+1<=lft x2'l-cap_jut-xjut: inner_jut1=cap_jut; + else: rt x1'r+inner_jut1+.5u+1=lft x2'l-inner_jut1-xjut; fi + if rt x3'r+cap_jut+.5u+1<=lft x4'l-cap_jut-xjut: inner_jut2=cap_jut; + else: rt x3'r+inner_jut2+.5u+1=lft x4'l-inner_jut2-xjut; fi + dish_serif(1',4,a,1/3,outer_jut,b,2/3,inner_jut1); % upper left serif + dish_serif(4',1,c,2/3,inner_jut2,d,1/3,outer_jut); % lower right serif + dish_serif(2',3,e,2/3,inner_jut1+xjut, + f,1/2,outer_jut+xjut)(dark); % upper right serif + dish_serif(3',2,g,1/2,outer_jut+xjut, + h,2/3,inner_jut2+xjut)(dark); fi % lower left serif +math_fit(0,.5ic#); penlabels(0,1,2,3,4,12,13,24,34); endchar; + +cmchar "Uppercase Greek Psi"; +beginchar(oct"011",14u#,cap_height#,0); +italcorr .8cap_height#*slant-.5u#; +adjust_fit(0,0); +numeric shaved_stem; +shaved_stem=cap_stem-hround 2stem_corr; +pickup tiny.nib; pos1(shaved_stem,0); pos2(shaved_stem,0); +lft x1l=lft x2l=hround(.5w-.5cap_stem); top y1=h; bot y2=0; +filldraw stroke z1e--z2e; % stem +pos3(shaved_stem,-180); pos4(shaved_stem,-180); +pos5(vair,-90); x5=x1; bot y5r=vround(.15h if serifs:+slab fi); +pos6(shaved_stem,0); pos7(shaved_stem,0); +lft x3r=hround u; x7=w-x3; lft x4r=hround(3u-.5shaved_stem); x6=w-x4; +pos3'(vair,90); pos7'(vair,90); z3'r=z3r; z7'r=z7r; +y3=y7; y4=y6=.6h; y3=good.y(y3+.84h if serifs:-slab fi-y3'); +interim superness:=more_super; +filldraw z3'l{right}...z4r{down} & super_arc.r(4,5) + & super_arc.r(5,6) & z6r{up}...z7'l{right} + --z7r---z7l...z6l{down} & super_arc.l(6,5) + & super_arc.l(5,4) & z4l{up}...z3l---z3r--cycle; % stroke +if serifs: dish_serif(1,2,a,1/3,1.25cap_jut,b,1/3,1.25cap_jut); % upper serif + dish_serif(2,1,c,1/3,1.25cap_jut,d,1/3,1.25cap_jut); fi % lower serif +math_fit(-.8cap_height#*slant-.5u#,.4cap_height#*slant-1.25u#); +penlabels(1,2,3,4,5,6,7); endchar; + +cmchar "Uppercase Greek Omega"; +beginchar("W",13u#,cap_height#,0); +italcorr .75cap_height#*slant-.5u#; +adjust_fit(0,0); +pickup tiny.nib; pos1(vair,90); pos2(cap_curve,180); +pos3(vair,180); pos4(cap_curve,0); pos5(vair,0); +x1=.5w; top y1r=h+o; lft x2r=hround u; y2=y4=2/3h; x4=w-x2; +rt x3l=hround(1/3(w+.5u)+.5hair); bot y3=bot y5=0; x5=w-x3; +filldraw stroke z3e{up}...{up}z2e + & pulled_super_arc.e(2,1)(.5superpull) + & pulled_super_arc.e(1,4)(.5superpull) + & z4e{down}...{down}z5e; % bowl +numeric arm_thickness; path p; p=z3{up}...{up}z2; +arm_thickness=Vround(if hefty:slab+2stem_corr else:.75[slab,cap_vstem] fi); +pickup crisp.nib; pos6(arm_thickness,-90); pos7(fudged.hair,-180); +bot y6r=0; x6=x3; lft x7r=hround .8u; y7=good.y(y6l+.5beak)+eps; +(x,y)=p intersectionpoint((0,y6l)--(w,y6l)); x6l:=x; +arm(6,7,a,.5beak_darkness,-1.2beak_jut); % left arm and beak +pos8(arm_thickness,-90); pos9(fudged.hair,0); +y8=y6; y9=y7; x8+x6=x9+x7=w; x8l:=w-x6l; +arm(8,9,b,.5beak_darkness,1.2beak_jut); % right arm and beak +math_fit(0,.5ic#); penlabels(1,2,3,4,5,6,7,8,9); endchar; + +% Greek lower-case --- the majority of these programs take from greekl + +% Revised BHK 880923 to occupy only 9u of the 11u width: original at end +cmchar "Lowercase Greek alpha"; +beginchar("a",11u#,x_height#,0); +italcorr max(1/3x_height#*slant+.5hair#-.5u#,x_height#*slant-.5u#); +adjust_fit(0,0); pickup fine.nib; +pos0(hair,0); pos1(vair,-90); pos2(curve,-180); pos3(vair,-270); +z4=(w-3.9u,9/16h); z5=(w-3.4u,.5[vair,y4]); +numeric theta; theta=angle(z4-z5)-90; +pos4(stem,theta); pos5(stem,theta); +pos6(vair,90); pos7(hair,180); +rt x0r=hround(w-2u); x1=x3=.5w-u; lft x2r=hround(1.5u-.5curve); +x6=w-2u; x7+.5hair=hround(w-u+.5hair-epsilon); +top y0=vround .8[bar_height,h]; bot y1r=bot y6l=-oo; +y2=.5[y1,y3]; top y3r=h+oo; y7=1/4bar_height; +filldraw stroke z0e{down}...pulled_arc.e(1,2) & pulled_arc.e(2,3) + ...z4e---z5e...z6e{right}...{up}z7e; % diagonal, bowl, and hook +math_fit(-.3x_height#*slant+.5curve#-u#,1/3x_height#*slant+.5hair#+.5u#); +penlabels(0,1,2,3,4,5,6,7); endchar; + +cmchar "Lowercase Greek beta"; +beginchar("b",9.5u#,asc_height#,desc_depth#); +italcorr .5[x_height#,asc_height#]*slant-u#; +adjust_fit(0,0); pickup fine.nib; +pos0(hair,180); pos1(hair,180); pos2(vair,90); +pos3(stem,0); pos4(vair,-90); pos5(hair,-180); +pos6(vair,-270); pos7(curve,-360); pos8(vair,-450); pos9(hair,-540); +x0=x1=x9; lft x0l=hround(1.5u-.5hair); x2=x4=x6=x8=.5w+.25u; +rt x3r=hround(w-1.5u); rt x7r=hround(w-1.5u+.5curve); rt x5l=hround(x4-u); +bot y0=-d; y1=top y6r=x_height; top y2r=h+oo; y3=.5[y2,y4]; +y5=.5[y4,y6]; top y6r-bot y4r=vstem+eps; bot y8=-oo; y7=y9=.5[y6,y8]; +if y6ly3r: y1r:=y3r:=y2; fi +lft x4l=hround u; x4r-x4l=(hround .6[vair,stem])-fine; +x6+.5u=x7=w-2u; x8=.5w+.75u; +y6=-.1d; y8=-3/4d-oo; bot y7r=-d-oo; +ellipse_set(3l,4l,5l,6l); ellipse_set(3r,4r,5r,6r); +y4l:=.9[y6,y4l]; y4=y4r:=.9[y6,y4r]; +filldraw circ_stroke z0e{down}...z1e{right}...{up}z2e; % opening hook +filldraw circ_stroke z8e{x7-x8,2(y7-y8)}...z7e{right} + ...z6e---z5e....{up}z4e + ..tension 1 and atleast1.5..{right}z3e...{down}z2e; % main stroke +math_fit(-.2asc_height#*slant-.5u#,0); +penlabels(0,1,2,3,4,5,6,7,8); endchar; + +cmchar "Lowercase Greek eta"; +beginchar("y",9u#,x_height#,desc_depth#); +italcorr .8x_height#*slant+.5stem#-u#; +adjust_fit(0,0); pickup fine.nib; +x0=0; x1=x2; pos2(stem,0); lft x2l=hround(2.5u-.5stem); y2-.5stem=-oo; +hook_in(0,a,1); % opening hook +filldraw circ_stroke z2e--z1e; % left stem +x4+.5stem=hround(w-1.5u+.5stem); ital_arch(2,3,4); % arch +pos5(stem,0); x5=x4; y5-.5stem=-d-o; +filldraw circ_stroke z5e--z4e; % right stem +math_fit(-2/3x_height#*slant+.5hair#+.5u#,ic#-1/3x_height#*slant); +penlabels(0,a,1,2,3,4,5); endchar; + +cmchar "Lowercase Greek theta"; % The variant is preferred +beginchar(oct"003",8.25u#,asc_height#,0); +italcorr .7asc_height#*slant+.5curve#-u#; +adjust_fit(0,0); pickup fine.nib; +pos1(vair,90); pos2(curve,180); pos3(vair,270); pos4(curve,360); +x1=x3=.5w; lft x2r=hround(1.5u-.5curve); x4=w-x2; +top y1r=h+oo; y2=y4=.5[y1,y3]; bot y3r=-oo; +filldraw stroke pulled_arc.e(1,2) & pulled_arc.e(2,3) + & pulled_arc.e(3,4) & pulled_arc.e(4,1); % bowl +pos2'(bar,90); pos4'(bar,90); z2'=z2l; z4'=z4l; +filldraw stroke z2'e--z4'e; % bar +math_fit(-.3asc_height#*slant-u#+.5curve#,ic#-.5u#); +penlabels(1,2,3,4); endchar; + +% Modified BHK 880926 to make enclosing box one u wider +cmchar "Lowercase Greek iota"; +beginchar("i",6u#,x_height#,0); +italcorr 1/3x_height#*slant+.5hair#-.5u#; +adjust_fit(if monospace: u#,u# else: 0,0 fi); pickup fine.nib; +pos1(stem,0); lft x1l=hround(1.5u-.5stem); y1+.5stem=h+oo; +x2=x1-.25u; x4=w-u; hook_out(2,3,4)(skewed); % closing hook +filldraw circ_stroke z1e{down}...{-u,-x_height}z2e; % stem +math_fit(0,ic#); penlabels(1,2,3,4); endchar; + +% Designed BHK 880926 (based on \varkappa from msym10 [MF in SAIL]) +cmchar "Lowercase Greek kappa (variant)"; +beginchar("k",10u#,x_height#,0); +adjust_fit(0,0); pickup fine.nib; +italcorr 1/3x_height#*slant+.5hair#-.5u#; +% Following definitions made character too heavy compared with rest +%pos1(hair,-45); pos2(curve,-90); pos3(vair,180); pos4(stem,135); +%pos14(stem,135); pos13(vair,180); pos12(curve,-90); pos11(hair,45); +pos1(hair,-45); pos2(stem,-90); pos3(vair,180); pos4(stem,90); +pos14(stem,90); pos13(vair,180); pos12(stem,-90); pos11(hair,45); +x1l=u; x11=w-x1; y1=good.y(.4[bar_height,h]); y11=h-y1; +x2=.25[x1,w/2]=w-x12; y2l=h+oo; y12r=0; +x3-x2=x2-x1; x13=w-x3; y3=y13=h/2; +x4r=x1l; y4l=0; x14=w-x4; y14r=h+oo; +filldraw circ_stroke z1e{up}..z2e{right}..z3e{-.2,-1}..z4e{-1,-1}; % left +filldraw circ_stroke z11e{down}..z12e{left}..z13e{.2,1}..z14e{1,1}; % right +filldraw z4l--z14l--z14r--z4r--cycle; % diagonal +penlabels(1,2,3,4,11,12,13,14); +endchar; + +cmchar "Lowercase Greek kappa (math type)"; +beginchar(oct"004",9u#,x_height#,0); +italcorr 1/3x_height#*slant+.5hair#+.5u#; +adjust_fit(0,0); pickup fine.nib; +pos1(stem,0); pos2(stem,0); pos3(vair,90); pos4(vair,90); pos5(flare,90); +x1=x2=x3; lft x1l=hround(1.5u-.5stem); y1+.5stem=h+oo; y2-.5stem=-oo; +filldraw z1l---z2l..z2r---z1r..cycle; % stem +y3=bar_height; top y4r=h; x4+.5flare=hround(w-1.5u); z5r=z4r; +path p,q; p=z3l{right}..{right}z4l; q=z5r{right}..z5l{left}...cycle; +numeric t; t=ypart(p intersectiontimes q); +filldraw stroke z3e{right}..{right}z4e; % upper diagonal +filldraw subpath(0,t) of q--cycle; % bulb +pos7(stem,0); pos8(vair,90); pos9(hair,180); +x9+.5hair=hround(w+.5hair-epsilon); y9=1/3x_height; +lft x7l=hround(w-2.75u-.5stem); y7=1/2y3; x8=w-1.2u; bot y8l=-oo; +filldraw stroke z3e{right}...z7e{down} + ...z8e{right}...{up}z9e; % lower diagonal +math_fit(0,ic#); penlabels(1,2,3,4,5,7,8,9); endchar; + +% Revised BHK 880923 to make narrower +cmchar "Lowercase Greek lambda"; +beginchar("l",9.5u#,asc_height#,0); +adjust_fit(0,0); pickup fine.nib; +pos1(vair,90); lft x1=hround .1u; top y1r=h; +x2=x1+2u; y2=.7[x_height,h]; x3=w-2u; bot y4=-oo; y3=max(.07h,y4+eps); +z4-(.25u,0)=whatever[z2,z3]; numeric theta; theta=angle(z2-z3)-90; +pos2(stem,theta); pos3(stem,theta); pos4(stem,0); +filldraw circ_stroke z1e{right}...z2e---z3e + ...{2(x4e-x3e),y4e-y3e}z4e; % long diagonal +y5=.5[bar_height,x_height]; z5=whatever[z2,z3]; +x6=1.5u; y6-.5stem=-oo; pos5(hair,theta-90); pos6(stem,angle(z5-z6)-90); +filldraw circ_stroke z6e--z5e; % short diagonal +penlabels(1,2,3,4,5,6); endchar; + +% Revised BHK 880923 to make one unit wider (avoiding running into next char) +cmchar "Lowercase Greek mu"; +beginchar("m",10u#,x_height#,desc_depth#); +italcorr 1/3x_height#*slant+.5hair#-.5u#; +adjust_fit(0,0); pickup fine.nib; interim superness:=more_super; +pos1(stem,-180); pos2(stem,-180); x1=x2=x3; lft x1r=hround(1.5u-.5stem); +y1+.5stem=h+oo; y2-.5stem=-d-o; +filldraw z1r---z2r..z2l---z1l..cycle; % left stem +pos3(stem,-180); pos4(vair,-90); pos5(hair,0); x4=.5[x3,x5]; +pos6(stem,0); rt x6r=hround(w-3.5u+.5stem); +x5=x6=x7; x9=w-u; hook_out(7,8,9); % closing hook +y3=.7[y4,y5]; bot y4r=-oo; y5=.57h; y6+.5stem=h; +filldraw stroke super_arc.e(3,4)...{up}z5e; % left stem and arc +filldraw circ_stroke z6e--z7e; % right stem +math_fit(desc_depth#*slant+.5stem#-u#,ic#); +penlabels(1,2,3,4,5,6,7,8,9); endchar; + +% Changed BHK 880923 to make left stem curved and reduce overhang on left +cmchar "Lowercase Greek nu"; +beginchar("n",8.5u#,x_height#,0); +italcorr x_height#*slant+.5stem#-u#; +adjust_fit(0,0); pickup fine.nib; +pos3(vair,-90); pos4(stem,0); bot y3r=0; y4+.5stem=h+oo; +x3-.5stem=hround(1.5u-.5stem); x4+.5stem=hround(w-1.5u+.5stem); +filldraw circ_stroke z4e{down}...{-36u,-h}z3e; % diagonal +pickup tiny.nib; +pos1(stem,10); pos2(stem,10); +top y1=h+min(oo,serif_drop); bot y2=0; x2=x3; +z=((z4{down}...{-36u,-h}z3)intersectionpoint((x2r,0)--(x2r,h))); +x1-.5stem=hround(2.5u-.5stem); +x5-x1=.6u; y5=.5[y1,y2]; pos5(stem,0); +z1'=.2[z1,z5]; +filldraw stroke z1e...z5e...z2e; +%filldraw z1l--z2l--z--z1r--cycle; % stem +if serifs: sloped_serif.l(1,1',a,1/3,jut,serif_drop); fi % upper left serif +math_fit(0,ic#-1/3x_height#*slant-.5u#); penlabels(1,2,3,4); endchar; + +cmchar "Lowercase Greek xi"; +beginchar("x",9u#,asc_height#,desc_depth#); +italcorr .75[x_height#,asc_height#]*slant-2u#; +adjust_fit(0,0); pickup fine.nib; +pos10(hair,-720); pos11(vair,-630); pos12(hair,-540); pos13(vair,-450); +lft x10l=hround 1/3w; x11=x13=.5[x10,x12]; rt x12l=hround(w-2.5u); +top y10=h; top y13l=bot y11l+vstem+eps=vround(y10-.25(h-x_height)); +y12=.5[y11,y13]; if y11r>y13r: y11r:=y13r:=y12; fi +pos0(curve,-360); pos1(vair,-270); pos2(hair,-180); pos3(vair,-90); +numeric theta; theta=90-angle(22u,x_height); slope:=-x_height/22u; +pos6(stem,theta); pos7(vair,-90); pos8(vair,-135); +lft x0l=hround u; x1=x3=x11; x2=x12; +y0=.5[y13,y1]; top y3l=vround .5h=bot y1l+vstem+eps; y2=.5[y1,y3]; +if y1r>y3r: y1r:=y3r:=y2; fi +lft x4l=hround u; x4r-x4l=hround .5[vair,stem]-fine; +x6=x7=w-2u; x8=.5w+.5u; y6=-.3d; bot y7r=-d-oo; y8=max(-3/4d-oo,y7l); +ellipse_set(3l,4l,5l,6l); ellipse_set(3r,4r,5r,6r); +y4l:=.9[y6,y4l]; y4=y4r:=.9[y6,y4r]; +filldraw circ_stroke z10e{down}...z11e{right}...{up}z12e; % opening hook +filldraw stroke z12e{up}...z13e{left}...z0e{down} + ...z1e{right}...{up}z2e; % upper arc +filldraw circ_stroke z8e{x7-x8,2(y7-y8)}...z7e{right}...z6e + ---z5e...{up}z4e...{right}z3e...{down}z2e; % main stroke +math_fit(-.2asc_height#*slant-.5u#,0); +penlabels(0,1,2,3,4,5,6,7,8,10,11,12,13); endchar; + +cmchar "The letter omicron"; % Taken from "o" in romanl +beginchar("o",9u#,x_height#,0); +italcorr .7x_height#*slant; +adjust_fit(if monospace: .5u#,.5u# else: 0,0 fi); +penpos1(vair,90); penpos3(vair',-90); +penpos2(curve,180); penpos4(curve,0); +x2r=hround max(.5u,1.25u-.5curve); +x4r=w-x2r; x1=x3=.5w; y1r=h+vround 1.5oo; y3r=-oo; +y2=y4=.5h-vair_corr; y2l:=y4l:=.52h; +penstroke pulled_arc.e(1,2) & pulled_arc.e(2,3) + & pulled_arc.e(3,4) & pulled_arc.e(4,1) & cycle; % bowl +penlabels(1,2,3,4); endchar; + +cmchar "Lowercase Greek pi"; +beginchar("p",10u#,x_height#,0); +italcorr x_height#*slant+.5stem#-u#; +adjust_fit(0,0); pi_stroke; % hook and bar +pos4(hair,0); pos6(hair,0); x4=3.5u; x6=w-4u; y4=y6=y2; +x5=3u; x7=w-2.5u; y5=y7=.5stem-oo; +pair v[]; v1=(z4-z5) xscaled 3.14159; v2=(z6-z7) xscaled 3.14159; +pos5(stem,angle v1-90); pos7(stem,angle v2-90); +filldraw circ_stroke z5e{v1}...{up}z4e; % left stem +filldraw circ_stroke z7e{v2}...{up}z6e; % right stem +math_fit(-.7x_height#*slant+.5hair#+.5u#,ic#-1/3x_height#*slant); +penlabels(1,2,3,4,5,6,7); endchar; + +cmchar "Variant lowercase Greek rho"; % We prefer this one +beginchar("r",8.25u#,x_height#,desc_depth#); +italcorr .7x_height#*slant+.5curve#-u# if math_fitting:-.5u# fi; +adjust_fit(0,0); pickup fine.nib; +pos2(stem,180); pos3(vair,90); pos4(curve,0); pos5(vair,-90); pos6(stem,-180); +lft x2r=hround(1.5u-.5stem); x2=x6; x3=x5=.5[x2,x4]; +rt x4r=hround(w-1.5u+.5curve); +y2=y4=y6=.5[y3,y5]; top y3r=h+oo; bot y5r=-oo; +filldraw circ_stroke pulled_arc.e(2,3) & pulled_arc.e(3,4) + & pulled_arc.e(4,5) & pulled_arc.e(5,6); % bowl +pos2'(hair,-180); z2'r=z2r; pos1(vstem,-90); pos1'(vstem,90); z1'=z1; +pos0(hair,0); rt x0r=hround(w-u); bot y0=-d; bot y1r=vround-.9d; x1=x5; +interim superness:=sqrt superness; +filldraw stroke pulled_arc.e(0,1'); filldraw stroke pulled_arc.e(1,2'); % tail +math_fit(desc_depth#*slant+.5stem#-u#,ic#); +penlabels(0,1,2,3,4,5,6); endchar; + +cmchar "Lowercase Greek sigma"; +beginchar("s",10.25u#,x_height#,0); +italcorr x_height#*slant+.5stem#-u#; +adjust_fit(0,0); pickup fine.nib; +pos1(vstem,90); pos2(stem,0); pos3(vair,-90); +pos4(stem,-180); pos5(vstem,-270); pos6(vstem,-270); +x1=x3=x5=.5[x2,x4]; rt x2r=hround(w-2.5u); +lft x4r=hround(1.5u-.5curve);x6=w-1.5u; +top y1r=h; y2=y4=.5[y1,y3]; bot y3r=-oo; y5=y6=y1; +filldraw circ_stroke z6e..pulled_arc.e(5,4) & pulled_arc.e(4,3) + & pulled_arc.e(3,2) & pulled_arc.e(2,1); % ear and bowl +math_fit(-.3x_height#*slant+.5curve#-u#,ic#-1/3x_height#*slant); +penlabels(1,2,3,4,5,6); endchar; + +cmchar "Lowercase Greek tau"; +beginchar("t",9u#,x_height#,0); +italcorr x_height#*slant+.5stem#-u#; +adjust_fit(0,0); pi_stroke; % hook and bar +pos4(hair,0); pos5(stem,0); +x4=x5; x5-.5stem=hround(.5w-.5u-.5stem); y4=y2; y5-.5stem=-oo; +filldraw circ_stroke z5e--z4e; % stem +math_fit(-.7x_height#*slant+.5hair#+.5u#,-.5u#); +penlabels(1,2,3,4,5); endchar; + +cmchar "Lowercase Greek upsilon"; +beginchar("u",9u#,x_height#,0); +italcorr x_height#*slant; +adjust_fit(0,0); pickup fine.nib; interim superness:=more_super; +x0=0; x2=x3+.25u; pos3(stem,-180); lft x3r=hround(2.5u-.5stem); +hook_in(0,1,2)(skewed); % opening hook +pos2'(stem,-180); z2'=z2; pos4(vair,-90); pos5(hair,0); +x4=.5w+u; rt x5r=hround(w-.5u); y3=.7[y4,y5]; bot y4r=-oo; y5=.57h; +filldraw stroke z2'e{-u,-x_height}...super_arc.e(3,4) + ..tension atleast 1.05..{up}z5e; % left stem and arc +v_bulb(5,6); % closing bulb +math_fit(-2/3x_height#*slant+.5hair#+.5u#,2/3ic#); +penlabels(0,1,2,3,4,5,6); endchar; + +cmchar "Lowercase Greek phi"; % The variant is preferred +beginchar(oct"016",11u#,asc_height#,desc_depth#); +italcorr .7x_height#*slant+.5curve#-u# if math_fitting:-.5u# fi; +adjust_fit(0,0); pickup fine.nib; +numeric light_curve; light_curve=hround(.5[stem,curve]-2stem_corr); +pos1(vair,90); pos2(light_curve,180); pos3(vair,270); pos4(light_curve,360); +x1=x3=.5w; lft x2r=hround(1.5u-.5light_curve); x4=w-x2; +top y1=x_height+oo; y2=y4=.5[y1,y3]; bot y3=-oo; +filldraw stroke pulled_arc.e(1,2) & pulled_arc.e(2,3) + & pulled_arc.e(3,4) & pulled_arc.e(4,1); % bowl +pos5(hair,0); pos6(hair,0); x5=x6=.5w; top y5=h; bot y6=-d-oo; +filldraw stroke z5e--z6e; % stem +math_fit(-.3x_height#*slant+.5curve#-u#,ic#); +penlabels(1,2,3,4,5,6); endchar; + +cmchar "Lowercase Greek chi"; +beginchar("h",11u#,x_height#,desc_depth#); +italcorr x_height#*slant+.5hair#-1.5u#; +adjust_fit(0,0); pickup fine.nib; +pos1(hair,180); pos2(vair,80); pos5(vair,80); pos6(hair,180); +x1-.5hair=hround-.5hair; x6=w-x1; x2=w-x5=u; +y1=y2l-h/8; top y2r=h+oo; bot y5l=-d-oo; y6=y5r+h/8; +z0=.5[z2,z5]; z2'=z2l+(.5u,0); z5'=z5r-(.5u,0); +numeric theta; theta=angle(z5'-z2')+90; +pos3(stem,theta); pos4(stem,theta); +y3r=y2r-h/8; y4l=y5l+h/8; z3l=whatever[z2',z0]; z4r=whatever[z0,z5']; +filldraw stroke z1e{up}...z2e{right}...z3e{z4r-z3l} + ..z4e{z4r-z3l}...{right}z5e...{up}z6e; % major diagonal and hooks +x8=w-x7=2u; y7+.5hair=h; y8-.5hair=-d; +numeric theta; theta=angle(z7-z8)-90; +pos7(hair,theta); pos8(hair,theta); +filldraw z7l---z8l..z8r---z7r..cycle; % minor diagonal +math_fit((desc_depth#-x_height#)*slant+ic#,ic#); +penlabels(0,1,2,2',3,4,5',5,6,7,8); endchar; + +cmchar "Lowercase Greek psi"; +beginchar(oct"001",11u#,asc_height#,desc_depth#); +italcorr x_height#*slant; +adjust_fit(0,0); pickup fine.nib; interim superness:=more_super; +x0=0; x2=x3+.25u; pos3(stem,-180); lft x3r=hround(2.5u-.5stem); +hook_in(0,1,2)(skewed); % opening hook +pos2'(stem,-180); z2'=z2; pos4(vair,-90); pos5(hair,0); +x4=.5w+u; rt x5r=hround(w-.5u); +y3=.7[y4,y5]; bot y4r=-oo; y5=.57x_height; +filldraw stroke z2'e{-u,-x_height}...super_arc.e(3,4) + ..tension atleast 1.05..{up}z5e; % left stem and arc +v_bulb(5,6); % closing bulb +pos7(hair,0); pos8(hair,0); x7=x8=.5w+.5u; top y7=h; bot y8=-d-oo; +filldraw stroke z7e--z8e; % stem +math_fit(-2/3x_height#*slant+.5hair#+.5u#,2/3ic#); +penlabels(0,1,2,3,4,5,6,7,8); endchar; + +cmchar "Lowercase Greek omega"; +beginchar("w",11u#,x_height#,0); +italcorr x_height#*slant; +adjust_fit(0,0); pickup fine.nib; +pos2(hair,-180); lft x2r=hround.5u; y2=y4=y6=y8=bar_height; +y1+.5hair=h; x1=x2+.75u; pos1(hair,angle(2(x1-x2),y1-y2)+90); +pos3(vstem+dw,-90); pos4(hair,0); pos5(vair,90); +pos6(hair,180); pos7(vstem+dw,270); pos8(hair,360); +bot y3r=bot y7r=-oo; top y5r=vround(.2[y4,h]+.5vair); +x3=.5[x2,x4]; x7+.25u=.5[x6,x8]; rt x8r=hround(w-.5u); +x5+.5stem=hround(.5w+.5stem)+eps; +x5=.5[x4,x6]; rt x4r-lft x6r=min(stem,2hair)+2eps; +if x4l \Psi, \Phi + "H" =: oct"010", "h" =: oct"010"; +ligtable "t": "h" =: oct"002"; %\tau +ligtable "T": "H" =: oct"012", "h" =: oct"012"; +ligtable "k": "h" =: "h"; +ligtable "K": "H" =: "H", "h" =: "H"; +%ligtable "r": "h" =: "r"; +%ligtable "R": "H" =: "R", "h" =: "R"; % $\Rho:$ +bye. + + +% Here follow various programs which have been revised above + +cmchar "Lowercase Greek alpha"; +beginchar("a",11u#,x_height#,0); +italcorr max(1/3x_height#*slant+.5hair#+.5u#,x_height#*slant-.5u#); +adjust_fit(0,0); pickup fine.nib; +pos0(hair,0); pos1(vair,-90); pos2(curve,-180); pos3(vair,-270); +z4=(w-3.25u,9/16h); z5=(w-2.75u,.5[vair,y4]); +numeric theta; theta=angle(z4-z5)-90; +pos4(stem,theta); pos5(stem,theta); +pos6(vair,90); pos7(hair,180); +rt x0r=hround(w-u); x1=x3=.5w-u; lft x2r=hround(1.5u-.5curve); +x6=w-u; x7+.5hair=hround(w+.5hair-epsilon); +top y0=vround .8[bar_height,h]; bot y1r=bot y6l=-oo; +y2=.5[y1,y3]; top y3r=h+oo; y7=1/4bar_height; +filldraw stroke z0e{down}...pulled_arc.e(1,2) & pulled_arc.e(2,3) + ...z4e---z5e...z6e{right}...{up}z7e; % diagonal, bowl, and hook +math_fit(-.3x_height#*slant+.5curve#-u#,1/3x_height#*slant+.5hair#+.5u#); +penlabels(0,1,2,3,4,5,6,7); endchar; + +cmchar "Lowercase Greek iota"; +beginchar("i",5u#,x_height#,0); +italcorr 1/3x_height#*slant+.5hair#+.5u#; +adjust_fit(if monospace: u#,u# else: 0,0 fi); pickup fine.nib; +pos1(stem,0); lft x1l=hround(1.5u-.5stem); y1+.5stem=h+oo; +x2=x1-.25u; x4=w; hook_out(2,3,4)(skewed); % closing hook +filldraw circ_stroke z1e{down}...{-u,-x_height}z2e; % stem +math_fit(0,ic#); penlabels(1,2,3,4); endchar; + +cmchar "Lowercase Greek lambda"; +beginchar("l",10.5u#,asc_height#,0); +adjust_fit(0,0); pickup fine.nib; +pos1(vair,90); lft x1=hround .1u; top y1r=h; +x2=x1+2u; y2=.7[x_height,h]; x3=w-2u; bot y4=-oo; y3=max(.07h,y4+eps); +z4-(.25u,0)=whatever[z2,z3]; numeric theta; theta=angle(z2-z3)-90; +pos2(stem,theta); pos3(stem,theta); pos4(stem,0); +filldraw circ_stroke z1e{right}...z2e---z3e + ...{2(x4e-x3e),y4e-y3e}z4e; % long diagonal +y5=.5[bar_height,x_height]; z5=whatever[z2,z3]; +x6=1.5u; y6-.5stem=-oo; pos5(hair,theta-90); pos6(stem,angle(z5-z6)-90); +filldraw circ_stroke z6e--z5e; % short diagonal +penlabels(1,2,3,4,5,6); endchar; + +cmchar "Lowercase Greek mu"; +beginchar("m",9u#,x_height#,desc_depth#); +italcorr 1/3x_height#*slant+.5hair#+.5u#; +adjust_fit(0,0); pickup fine.nib; interim superness:=more_super; +pos1(stem,-180); pos2(stem,-180); x1=x2=x3; lft x1r=hround(1.5u-.5stem); +y1+.5stem=h+oo; y2-.5stem=-d-o; +filldraw z1r---z2r..z2l---z1l..cycle; % left stem +pos3(stem,-180); pos4(vair,-90); pos5(hair,0); x4=.5[x3,x5]; +pos6(stem,0); rt x6r=hround(w-2.5u+.5stem); +x5=x6=x7; x9=w; hook_out(7,8,9); % closing hook +y3=.7[y4,y5]; bot y4r=-oo; y5=.57h; y6+.5stem=h; +filldraw stroke super_arc.e(3,4)...{up}z5e; % left stem and arc +filldraw circ_stroke z6e--z7e; % right stem +math_fit(desc_depth#*slant+.5stem#-u#,ic#); +penlabels(1,2,3,4,5,6,7,8,9); endchar; + +cmchar "Lowercase Greek nu"; +beginchar("n",8.5u#,x_height#,0); +italcorr x_height#*slant+.5stem#-u#; +adjust_fit(0,0); pickup fine.nib; +pos3(vair,-90); pos4(stem,0); bot y3r=0; y4+.5stem=h+oo; +x3-.5stem=hround(1.5u-.5stem); x4+.5stem=hround(w-1.5u+.5stem); +filldraw circ_stroke z4e{down}...{-36u,-h}z3e; % diagonal +pickup tiny.nib; pos1(stem,0); pos2(stem,0); +top y1=h+min(oo,serif_drop); bot y2=0; x1=x2=x3; +z=((z4{down}...{-36u,-h}z3)intersectionpoint((x2r,0)--(x2r,h))); +filldraw z1l--z2l--z--z1r--cycle; % stem +sloped_serif.l(1,2,a,1/3,jut,serif_drop); % upper left serif +math_fit(0,ic#-1/3x_height#*slant-.5u#); penlabels(1,2,3,4); endchar; + +cmchar "Lowercase Greek xi"; +beginchar("x",9u#,asc_height#,desc_depth#); +italcorr .75[x_height#,asc_height#]*slant-2u#; +adjust_fit(0,0); pickup fine.nib; +pos10(hair,-720); pos11(vair,-630); pos12(hair,-540); pos13(vair,-450); +lft x10l=hround 1/3w; x11=x13=.5[x10,x12]; rt x12l=hround(w-2.5u); +top y10=h; top y13l=bot y11l+vstem+eps=vround(y10-.25(h-x_height)); +y12=.5[y11,y13]; if y11r>y13r: y11r:=y13r:=y12; fi +pos0(curve,-360); pos1(vair,-270); pos2(hair,-180); pos3(vair,-90); +numeric theta; theta=90-angle(22u,x_height); slope:=-x_height/22u; +pos6(stem,theta); pos7(vair,-90); pos8(vair,-135); +lft x0l=hround u; x1=x3=x11; x2=x12; +y0=.5[y13,y1]; top y3l=vround .5h=bot y1l+vstem+eps; y2=.5[y1,y3]; +if y1r>y3r: y1r:=y3r:=y2; fi +lft x4l=hround u; x4r-x4l=hround .5[vair,stem]-fine; +x6=x7=w-2u; x8=.5w+.5u; y6=-.3d; bot y7r=-d-oo; y8=max(-3/4d-oo,y7l); +ellipse_set(3l,4l,5l,6l); ellipse_set(3r,4r,5r,6r); +y4l:=.9[y6,y4l]; y4=y4r:=.9[y6,y4r]; +filldraw circ_stroke z10e{down}...z11e{right}...{up}z12e; % opening hook +filldraw stroke z12e{up}...z13e{left}...z0e{down} + ...z1e{right}...{up}z2e; % upper arc +filldraw circ_stroke z8e{x7-x8,2(y7-y8)}...z7e{right}...z6e + ---z5e...{up}z4e...{right}z3e...{down}z2e; % main stroke +math_fit(-.2asc_height#*slant-.5u#,0); +penlabels(0,1,2,3,4,5,6,7,8,10,11,12,13); endchar; + diff --git a/texmf/metafont/ls-R b/texmf/metafont/ls-R new file mode 100644 index 0000000..b6d2a75 --- /dev/null +++ b/texmf/metafont/ls-R @@ -0,0 +1,26 @@ +% ls-R -- filename database for kpathsea; do not change this line. +./: +.: +kelly +ls-R + +./kelly: +cmg10.600pk +cmg10.mf +cmg10.tfm +cmgb10.600pk +cmgb10.mf +cmgb10.tfm +cmgi10.600pk +cmgi10.mf +cmgi10.tfm +cmgtt10.600pk +cmgtt10.mf +cmgtt10.tfm +greek.aux +greek.dvi +greek.log +greek.pdf +greek.sty +greek.tex +grktxt.mf diff --git a/texmf/realcalc.tex b/texmf/realcalc.tex new file mode 100644 index 0000000..be46167 --- /dev/null +++ b/texmf/realcalc.tex @@ -0,0 +1,581 @@ +%% realcalc.tex +%% +%% (C) Frank Buchholz, Jan. 1993 +%% e-mail: buchholz@lusty.informatik.uni-dortmund.de +% User documentation: All lines starting with two % +% Try grep to extract these lines. +%% +%% Real arithmetic with big values and high precision. +%% Calculations are done with 9 decimal digits. +%% Usable with TeX and LaTeX. +%% +%% Parameter: +%% +%% Macro, witch catches the result. +%% String or macro witch expands to a value in the range +%% from -2147483647.999999999 to 2147483647.999999999 +%% Number from 0 to 9 +%% +%% Functions: +%% + +% Don't read this file twice +\ifx\Radd\undefined \else \endinput \fi + +% Make "@" be a letters +\chardef\catamp=\the\catcode`\@ +\catcode`@=11 + +\def\@Rversion{Version 1.0, Jan. 1993} +\message{`Real arithmetic', \@Rversion (C) Frank Buchholz} + +% Allocation of temporary registers +\newcount\@ta +\newcount\@tb +% +\newcount\@xs % Sign of 1st value +\newcount\@xi % Integer part of 1st value +\newcount\@xf % Fractional part of 1st value +% +\newcount\@ys % Sign of 2nd value +\newcount\@yi % Integer part of 2nd value +\newcount\@yf % Fractional part of 2nd value +% +\newcount\@mil \@mil=1000000000 % 10^9 +% +\countdef\@xa240 +\countdef\@xb241 +\countdef\@xc242 +\countdef\@xd243 +\countdef\@xe244 +\countdef\@ya245 +\countdef\@yb246 +\countdef\@yc247 +\countdef\@yd248 +\countdef\@ye249 +\let\@f=\@tb +\let\@product=\@ta + +\chardef\@zero=0 + +%% \Radd Addition +\def\Radd#1#2#3{\@callc\@Radd#1{#2}{#3}} + +%% \Rsub Subtraction +\def\Rsub#1#2#3{\@callc\@Radd#1{#2}{-#3}} + +\def\@Radd#1#2.#3.#4\relax#5.#6.#7\relax{% + % #1 Macro, witch gets the result + % #2 integer part of 1st value + % #3 fractional part of 1st value + % #4 dummy to swallow everthing after the 2nd '.' + % #5 integer part of 2nd value + % #6 fractional part of 2nd value + % #7 dummy to swallow everthing after the 2nd '.' + % + \@readvalue\@xs\@xi\@xf{#2}{#3}% + \@readvalue\@ys\@yi\@yf{#5}{#6}% + % + % Add integer parts + \@ta=\@xi \advance\@ta\@yi% + % + % Add fractional parts if they are not zero + \ifnum\@xf=\@zero% + \ifnum\@yf=\@zero% + \@tb=\@zero% + \else% + \@longadd% + \fi% + \else% + \@longadd% + \fi% + % + % Store result + \@store#1\@ta\@tb% +} + +\def\@longadd{% + % Propagate sign to fractional parts + \multiply\@xf\@xs \multiply\@yf\@ys% + % + % Add fractional parts + \@tb=\@xf \advance\@tb\@yf% + % + % Calculate carry + \ifnum\@tb<\@zero% + \ifnum\@tb<-\@mil \advance\@ta -\@ne \advance\@tb\@mil \fi% + \else% + \ifnum\@tb<\@mil \else \advance\@ta \@ne \advance\@tb-\@mil \fi% + \fi% +} + +%% \Rmul Multiplication +\def\Rmul#1#2#3{\@callc\@Rmul#1{#2}{#3}} + +\def\@Rmul#1#2.#3.#4\relax#5.#6.#7\relax{% + % #1 Macro, witch gets the result + % #2 integer part of 1st value + % #3 fractional part of 1st value + % #4 dummy to swallow everthing after the 2nd '.' + % #5 integer part of 2nd value + % #6 fractional part of 2nd value + % #7 dummy to swallow everthing after the 2nd '.' + % + % How to do real multiplications: + % Split values in various parts + % x y = 1234 567890 . 123 456 789 + % -> xa xb xc xd xe + % -> ya yb yc yd ye + % Do 21 (!) integer multiplications if there are any fractional parts + % r = x * Y + % -> r = xi*yi + % + (xa*yc + xa*yc )*10^3 + % + (xa*yd + xd*ya )*10^-0 + % + (xa*ye + xe*ya + xb*yc + xc*yb)*10^-3 + % + (xb*yd + xd*yb + xc*yc )*10^-6 + % + (xb*ye + xe*yb + xc*yd + xd*yc)*10^-9 + % + (xc*ye + xe*yc + xd*yd )*10^-12 + % + (xd*ye + xe*yd )*10^-15 + % + (xe*ye )*10^-18 + % + % -> r = ((((( xe*ye / 1000 + % + xd*ye + xe*yd ) / 1000 + % + xc*ye + xe*yc + xd*yd ) / 1000 + % + xb*ye + xe*yb + xc*yd + xd*yc ) / 1000 + % + xb*yd + xd*yb + xc*yc ) / 1000 + % + xa*ye + ye*xa + xb*yc + xc*yb ) / 1000 + % + xa*yd + xd*ya + (xa*yc + ya*xc)*1000 + xi*yi + % The last three digigs are saved just before the divisions. + % + % Init + % + \@readvalue\@xs\@xi\@xf{#2}{#3}% + \@readvalue\@ys\@yi\@yf{#5}{#6}% + % + % Sign + \multiply\@xi\@xs% + \multiply\@yi\@ys% + \multiply\@xs\@ys% + % + \@product=\@zero% + % + \ifnum\@xf=\@zero% + \ifnum\@yf=\@zero% + % No fractional parts + \edef\@frac{000000000} % digits of fractional part + \else% + \@longmul % Long multiplication + \fi% + \else% + \@longmul % Long multiplication + \fi% + % + % Multiply integer parts + \count@=\@xi \multiply\count@\@yi% + \advance\@product\count@% + % + % Sign + \multiply\@product\@xs% + % + % Store result + \edef#1{\number\@product.\@frac}% +} + +% Do long multiplication +\def\@longmul{% + % Split values in pieces + \@f=1000000% + \count@=\@xi% + \divide\count@\@f \@xa=\count@% + \multiply\count@-\@f \advance\count@\@xi \@xb=\count@% + \count@=\@xf% + \divide\count@\@f \@xc=\count@% + \multiply\count@-\@f \advance\count@\@xf% + \@f=1000% + \@xe=\count@% + \divide\count@\@f \@xd=\count@% + \multiply\count@-\@f \advance\count@\@xe \@xe=\count@% + % + \@f=1000000% + \count@=\@yi% + \divide\count@\@f \@ya=\count@% + \multiply\count@-\@f \advance\count@\@yi \@yb=\count@% + \count@=\@yf% + \divide\count@\@f \@yc=\count@% + \multiply\count@-\@f \advance\count@\@yf% + \@f=1000% + \@ye=\count@% + \divide\count@\@f \@yd=\count@% + \multiply\count@-\@f \advance\count@\@ye \@ye=\count@% + % + \edef\@frac{} % digits of fractional part + % + \@mul ee \relax\@shift % 10^-18 + \@mul de ed \relax\@shift % 10^-15 + \@mul ce ec dd \relax\@shift % 10^-12 + \@mul be eb cd dc \relax\@saveshift % 10^-9 + \@mul bd db cc \relax\@saveshift % 10^-6 + \@mul ae ea bc cb \relax\@saveshift % 10^-3 + \multiply\@xa\@f \multiply\@xc\@f % 10^3 + \@mul ad da ac ca \relax% +} + +\def\@mul#1#2#3{% + \count@=\csname @x#1\endcsname% + \multiply\count@\csname @y#2\endcsname% + \advance\@product\count@% + % + \ifx#3\relax% + \let\next=\relax% + \else% + \let\next=\@mul% + \fi% + \next#3% +} + +\def\@shift{% + \divide\@product\@f% +} + +\def\@saveshift{% + % Save rightmost digits + \count@=\@product% + \divide\@product\@f% + \multiply\@product\@f% + \advance\count@-\@product% + \advance\count@\@f% + \edef\@frac{\expandafter\@ignorenext\number\count@\@frac}% + % + \divide\@product\@f% +} + +%% \Rdiv Division +\def\Rdiv#1#2#3{\@callc\@Radd#1{#2}{#3}} + +\def\@Rdiv#1#2.#3.#4\relax#5.#6.#7\relax{% + % #1 Macro, witch gets the result + % #2 integer part of 1st value + % #3 fractional part of 1st value + % #4 dummy to swallow everthing after the 2nd '.' + % #5 integer part of 2nd value + % #6 fractional part of 2nd value + % #7 dummy to swallow everthing after the 2nd '.' + % + \message{Error: Rdiv not ready} + % + \@readvalue\@xs\@xi\@xf{#2}{#3}% + \@readvalue\@ys\@yi\@yf{#5}{#6}% + % + \ifnum\@yi=\@zero + \@xi=\@zero + \else + \divide\@xi\@yi + \fi + % + \@store#1\@xi\@xf% +} + +%% \Rneg Negation +\def\Rneg#1#2{% + % Expand the value and split it into the integer and the fractional part + \edef\next{\noexpand\@Rneg\noexpand#1#2..\noexpand\relax}% + \next% +} + +\def\@Rneg#1#2.#3.#4\relax{ + % #1 Macro, witch gets the result + % #2 Integer part of value + % #3 Fractional part of value + % #4 Remaining tokens + % + \@readvalue\@xs\@xi\@xf{#2}{#3}% + % + % Change sign + \multiply\@xi-\@ne% + \multiply\@xf-\@xs% + % + % Store result + \@store#1\@xi\@xf% +} + +%% +%% \Rtrunc Truncate value to specified precision +\def\Rtrunc#1#2#3{% + % Expand parameter and split the value into the integer and fractional part + \edef\next{\noexpand\@Rtrunc\noexpand#1#2#3..\noexpand\relax}% + \next% +} + +\def\@Rtrunc#1#2#3.#4.#5\relax{% + % #1 Macro, witch gets the result + % #2 Number of decimal places + % #3 Integer part of value + % #4 Fractional part of value + % #5 dummy to swallow everthing after the 2nd '.' + % + \count@=#2% + \edef\next{\empty}% + \ifnum\count@>\@zero% + \expandafter\@@Rtrunc#4000000000\relax% + \fi% + \edef#1{#3\next}% +} + +\def\@@Rtrunc#1#2#3#4#5#6#7#8#9{% + % #1...#9 fractional part, padded with trailing zeros + \edef\next{.#1% + \ifnum\count@>1 #2\fi% + \ifnum\count@>2 #3\fi% + \ifnum\count@>3 #4\fi% + \ifnum\count@>4 #5\fi% + \ifnum\count@>5 #6\fi% + \ifnum\count@>6 #7\fi% + \ifnum\count@>7 #8\fi% + \ifnum\count@>8 #9\fi% + }% + \@swallow% +} + +%% +%% \Rifle Test v1 < v2 +\def\Rifle#1#2{\@callb\@Rifle{#1}{#2}} + +\def\@Rifle#1.#2.#3\relax#4.#5.#6\relax{% + % #1 integer part of 1st value + % #2 fractional part of 1st value + % #3 dummy to swallow everthing after the 2nd '.' + % #4 integer part of 2nd value + % #5 fractional part of 2nd value + % #6 dummy to swallow everthing after the 2nd '.' + % + \@readvalue\@xs\@xi\@xf{#1}{#2}% + \@readvalue\@ys\@yi\@yf{#4}{#5}% + % + \ifnum\@xs<\@ys% + \Rtesttrue% + \else% + \ifnum\@xs>\@ys% + \Rtestfalse% + \else% + \Rtestfalse% + \ifnum\@xi<\@yi \Rtesttrue \fi% + \ifnum\@xi=\@yi% + \multiply\@xf\@xs \multiply\@yf\@ys% + \ifnum\@xf<\@yf \Rtesttrue \fi% + \fi% + \fi% + \fi% + % + \ifRtest% +} + +%% \Rifeq Test v1 = v2 +\def\Rifeq#1#2{\@callb\@Rifeq{#1}{#2}} + +\def\@Rifeq#1.#2.#3\relax#4.#5.#6\relax{% + % #1 integer part of 1st value + % #2 fractional part of 1st value + % #3 dummy to swallow everthing after the 2nd '.' + % #4 integer part of 2nd value + % #5 fractional part of 2nd value + % #6 dummy to swallow everthing after the 2nd '.' + % + \@readvalue\@xs\@xi\@xf{#1}{#2}% + \@readvalue\@ys\@yi\@yf{#4}{#5}% + % + \Rtestfalse% + \ifnum\@xi=\@yi\ifnum\@xf=\@yf \Rtesttrue \fi\fi% + \ifRtest% +} + +%% \Rifgt Test v1 > v2 +\def\Rifgt#1#2{\@callb\@Rifgt{#1}{#2}} + +\def\@Rifgt#1.#2.#3\relax#4.#5.#6\relax{% + % #1 integer part of 1st value + % #2 fractional part of 1st value + % #3 dummy to swallow everthing after the 2nd '.' + % #4 integer part of 2nd value + % #5 fractional part of 2nd value + % #6 dummy to swallow everthing after the 2nd '.' + % + \@readvalue\@xs\@xi\@xf{#1}{#2}% + \@readvalue\@ys\@yi\@yf{#4}{#5}% + % + \ifnum\@xs>\@ys% + \Rtesttrue% + \else% + \ifnum\@xs<\@ys% + \Rtestfalse% + \else% + \Rtestfalse% + \ifnum\@xi>\@yi \Rtesttrue \fi% + \ifnum\@xi=\@yi% + \multiply\@xf\@xs \multiply\@yf\@ys% + \ifnum\@xf>\@yf \Rtesttrue \fi% + \fi% + \fi% + \fi% + % + \ifRtest% +} + +%% \Rifneg Test v < 0 +\def\Rifneg#1{\@calla\@Rifneg{#1}} + +\def\@Rifneg#1.#2.#3\relax{% + % #1 Integer part of value + % #2 Fractional part of value + % #3 dummy to swallow everthing after the 2nd '.' + % + \@readvalue\@xs\@xi\@xf{#1}{#2}% + % + \ifnum\@xs<0 \Rtesttrue \else \Rtestfalse \fi% + \ifRtest% + } + +%% \Rifzero Test v = 0 +\def\Rifzero#1{\@calla\@Rifzero{#1}} + +\def\@Rifzero#1.#2.#3\relax{% + % #1 Integer part of value + % #2 Fractional part of value + % #3 dummy to swallow everthing after the 2nd '.' + % + \@readvalue\@xs\@xi\@xf{#1}{#2}% + % + \Rtestfalse% + \ifnum\@xi=\@zero \ifnum\@xf=\@zero \Rtesttrue \fi \fi% + \ifRtest% +} + +%% \Rifpos Test v >= 0 +%% Take care to have a corresponding \fi +\def\Rifpos#1{\@calla\@Rifpos{#1}} + +\def\@Rifpos#1.#2.#3\relax{% + % #1 Integer part of value + % #2 Fractional part of value + % #3 dummy to swallow everthing after the 2nd '.' + % + \@readvalue\@xs\@xi\@xf{#1}{#2}% + % + \ifnum\@xs<0 \Rtestfalse \else \Rtesttrue \fi% + \ifRtest% +} + +%% \Rifint Test v is an integer value +%% Take care to have a corresponding \fi +\def\Rifint#1{\@calla\@Rifint{#1}} + +\def\@Rifint#1.#2.#3\relax{% + % #1 Integer part of value + % #2 Fractional part of value + % #3 dummy to swallow everthing after the 2nd '.' + % + \@readvalue\@xs\@xi\@xf{#1}{#2}% + % + \ifnum\@xf=0 \Rtesttrue \else \Rtestfalse \fi% + \ifRtest% +} + +% Utility macros + +\def\@calla#1#2{% + % #1 Macro to call + % #2 Value + % Expand the value and split them into the integer and the fractional part + \edef\next{\noexpand#1#2..\noexpand\relax}% + \next% +} + +\def\@callb#1#2#3{% + % #1 Macro to call + % #2 1st value + % #3 2nd value + % Expand the values and split them into the integer and the fractional parts + \edef\next{\noexpand#1#2..\noexpand\relax#3..\noexpand\relax}% + \next% +} + +\def\@callc#1#2#3#4{% + % #1 Macro to call + % #2 Macro, witch gets the result + % #3 1st value + % #4 2nd value + % Expand the values and split them into the integer and the fractional parts + \edef\next{\noexpand#1\noexpand#2#3..\noexpand\relax#4..\noexpand\relax}% + \next% +} + +%% \ifRtest ... \else ... \fi Re-execute the last test +\newif\ifRtest + +% +% Read value +% +\def\@readvalue#1#2#3#4#5{% + % #1 macro to catch the sign ( -1 or 1 ) + % #2 macro to catch the integer part (maybe negative) + % #3 macro to catch the fractional part (positive) + % #4.#5 value + % + % Regular expression [-...d]d...["."[d...]] + % Attention: There has to be at least one digit between "-" and "."! + % + % Integer part + \if !#4! #2=\@zero \else #2=#4 \fi% + % + % Sign + \ifnum#2<\@zero #1=-\@ne \else #1=\@ne \fi% + \ifnum#2=\@zero \ifnum #4#5<\@zero #1=-\@ne \fi \fi% + % + % Fractional part + \if !#5!% + #3=\@zero% + \else% + \@@setcount@#5000000000\relax% + #3=\count@% + \fi% +} + +% Set count@ to fractional part with trailing zeros +\def\@@setcount@#1#2#3#4#5#6#7#8#9{% + % #1...#9 fractional part, padded with '0' + \count@=#1#2#3#4#5#6#7#8#9% + \@swallow% +} + +% Swallow everything up to next \relax +\def\@swallow#1\relax{} + +% +% Store result +% +\def\@store#1#2#3{% + % #1 marcro to catch the result + % #2 counter with integer part (maybe negative) + % #3 counter with fractional part (maybe negative} + % + % Sign + \edef#1{}% + \count@=#3% + \ifnum\count@<\@zero% + \count@=-\count@% + \ifnum#2=\@zero% + \edef#1{-}% + \fi% + \fi% + % + % Pad fractional part with leading zeros + \advance\count@\@mil% + % + % Store result + \edef#1{#1\number#2.\expandafter\@ignorenext\number\count@}% +} + +% Ignore next token +\def\@ignorenext#1{} + +% Restore catcode of "@" +\catcode`\@=\catamp -- 2.39.2