diff options
author | Karl Berry <karl@freefriends.org> | 2009-03-23 17:31:41 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2009-03-23 17:31:41 +0000 |
commit | da44abf54037ab8597fd36e09b8dc5a255acae4d (patch) | |
tree | a9896042ae70f13071b7f851723d419d0e558bdf | |
parent | 59f9d0d90a870182237f27397182f09b1a811011 (diff) |
-mnew support script fragmaster (19mar09)
git-svn-id: svn://tug.org/texlive/trunk@12500 c570f23f-e606-0410-a88d-b1316a301751
20 files changed, 4965 insertions, 3 deletions
diff --git a/Master/texmf-dist/doc/support/fragmaster/AUTHORS b/Master/texmf-dist/doc/support/fragmaster/AUTHORS new file mode 100644 index 00000000000..d7b66a80553 --- /dev/null +++ b/Master/texmf-dist/doc/support/fragmaster/AUTHORS @@ -0,0 +1,2 @@ +Tilman Vogel <tilman vogel web de> (dot at dot) + diff --git a/Master/texmf-dist/doc/support/fragmaster/COPYING b/Master/texmf-dist/doc/support/fragmaster/COPYING new file mode 100644 index 00000000000..d511905c164 --- /dev/null +++ b/Master/texmf-dist/doc/support/fragmaster/COPYING @@ -0,0 +1,339 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + <one line to give the program's name and a brief idea of what it does.> + Copyright (C) <year> <name of author> + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + <signature of Ty Coon>, 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. diff --git a/Master/texmf-dist/doc/support/fragmaster/CREDITS b/Master/texmf-dist/doc/support/fragmaster/CREDITS new file mode 100644 index 00000000000..01984f5e5ba --- /dev/null +++ b/Master/texmf-dist/doc/support/fragmaster/CREDITS @@ -0,0 +1,8 @@ +This script was inspired by a posting from + Karsten Roemke <k roemke gmx de> (dot at dot) +with subject + "psfrag pdflatex, lange her" +in de.comp.text.tex on 2003-11-11 05:25:44 PST. + +Karsten Roemke was inspired for his solution by postings from +Thomas Wimmer. diff --git a/Master/texmf-dist/doc/support/fragmaster/README b/Master/texmf-dist/doc/support/fragmaster/README new file mode 100644 index 00000000000..e6e4b9ab2f3 --- /dev/null +++ b/Master/texmf-dist/doc/support/fragmaster/README @@ -0,0 +1,154 @@ +====================================================================== +Using psfrag with pdflatex +====================================================================== + +German version: README.de + +psfrag is a LaTeX package which allows to replace text elements in +included EPS graphics by arbitrary LaTeX output. E.g. you can make fonts +in your graphics match your document fonts or even include mathematical +formulae in your graphics. For example: + +\psfrag{x}{$x$} +\psfrag{y}{$y = x^2$} +\includegraphics{diagram} + +When using latex (not pdflatex) the file diagram.eps will be included. +The extension is appended automatically. While doing this, every +occurrence of "x" in the diagram is replaced by "x" using math font and +every "y" is replaced by the LaTeX formula "y = x^2". Partial strings +are not replaced, only completely matching strings. + +Because psfrag uses Postscript for making the replacements, in principle +you can't use psfrag with pdflatex which doesn't have any interfaces to +postscript. + +The basic idea around the problem is the following: + +Produce a new EPS from your original EPS which already contains all +those psfrag replacements. This new EPS graphic actually can be +converted to PDF including all replacements. The resulting +"encapsulated" PDF then can be used with pdflatex. + +To make such an EPS which already contains the replacements, it is +necessary to create a separate LaTeX document for every EPS file you +use. To simplify that task, I wrote the included fragmaster.pl perl +script. + +This script needs: perl, latex, dvips and the common EPS to PDF +converter script epstopdf. + +To use the script you have to create two files per graphic: + + * <graphics>_fm.eps: the EPS file itself, + * <graphics>_fm: a fragmaster control file. + +From these files the psfragged graphics will be created: + + * <graphics>.eps, + * <graphics>.pdf + +The control file is basically a LaTeX file (with optionally special +comments) and can look like this: + +% Just an ordinary comment +% +% A special comment: +% fmopt: width=6cm +% +% Another special comment: +% head: +% \usepackage{amsmath} +% end head + +% psfrag commands: +\psfrag{x}{$x$} +\psfrag{y}{$y = x^2$} + + +The special comment fmopt: will be evaluated such that the following +text will by passed as optional argument to \includegraphics. This way +you can e.g. adjust the relation between graphics size and font size +using something like width=6cm. + +The special comment construct "head:"/"end head" causes the lines in +between to be included in the preamble of the LaTeX temporary document +after having the leading comment characters "%" stripped off. This way, +you can include LaTeX packages. + +fragmaster.pl will scan the current directory for files which end in _fm +and their _fm.eps counterparts. Looking at the modification dates, the +script checks if the output files have to be remade and does so if +necessary (a little like "make" would do it). + +In your LaTeX document you can include the produced graphics using + +\includegraphics{<graphics>} + + +conveniently omitting the file extension. latex will choose the EPS, +pdflatex will choose the PDF. + +====================================================================== +Example +====================================================================== +The following example files are included: + + * parabel_fm.gp + gnuplot file to create the following EPS graphics, + * parabel_fm.eps + raw EPS without psfrag replacements, + * parabel_fm + fragmaster file with the psfrag commands, + * parabel.eps + the produced EPS graphics, + * parabel.pdf + the produced PDF graphics, + * document.tex + LaTeX example including the graphics, + * document.pdf + example PDF, + * document.ps + example PS, + * parabel_fm.pdf + PDF version of the raw EPS graphics (only necessary for the + example!). + + +====================================================================== +Problems and solutions +====================================================================== + +In case the EPS will be produced as landscape graphics, i.e. gv shows +"Landscape" instead of "Portrait" in the menu bar, and the graphic will +end up turned around 90° in your document, then it is likely that your +original EPS is wider than it is tall. In this case some (more recent) +versions of dvips make the "smart" assumption that your graphic is +landscape, even though the graphic's proportions don't tell anything +about the orientation of its contents... Anyway, you can make dvips +behave nicer by specifying the following line in + +/usr/share/texmf/dvips/config/config.pdf + +(or a local equivalent inside /usr/local/share/texmf): + +@ custom 0pt 0pt + + +In the likely case that you're wondering why, I'd recommend the dvipsk +sources warmly to you... + +Have fun with the script! Feedback is very much appreciated. + +Tilman Vogel <tilman vogel web de> (fill in: dot at dot) + + +====================================================================== +Pointers to other solutions +====================================================================== + + * Pdfrack <http://www.enseeiht.fr/~boyer/Pdfrack/> + * unpsfrag <http://www.gts.tsc.uvigo.es/~fiz/unpsfrag> + + +Last modified: Thu Mar 19 20:52:45 CET 2009 diff --git a/Master/texmf-dist/doc/support/fragmaster/README.de b/Master/texmf-dist/doc/support/fragmaster/README.de new file mode 100644 index 00000000000..b28b3d99664 --- /dev/null +++ b/Master/texmf-dist/doc/support/fragmaster/README.de @@ -0,0 +1,150 @@ +====================================================================== +Verwendung von psfrag mit pdflatex +====================================================================== + +English version: README + +psfrag ist ein LaTeX-Paket, das es erlaubt, in eingebundenen +EPS-Grafiken Textelemente durch LaTeX-Text zu ersetzen. Dadurch kann man +erreichen, dass die Beschriftung von Grafiken im Schrifttyp zum übrigen +Text passt und vor allem auch mathematische Formeln sehr elegant in die +Grafik einbringen. Bsp.: + +\psfrag{x}{$x$} +\psfrag{y}{$y = x^2$} +\includegraphics{diagramm} + +Benutzt man latex (nicht pdflatex) wird die Datei diagramm.eps +eingebunden. Die Endung wird automatisch angefügt. Dabei wird jedes +Vorkommen von "x" im Diagramm durch "x" im Mathe-Font ersetzt und jedes +"y" durch die Formel "y = x^2". Teilstrings werden dabei übrigens nicht +ersetzt, sondern nur komplette Strings. + +Da psfrag Postscript benutzt, um die Ersetzungen durchzuführen, +funktioniert es prinzipiell nicht, psfrag mit pdflatex zu verwenden, das +keinerlei Schnittstellen zu Postscript besitzt. + +Einen möglichen Ausweg, wie man das Problem umgehen kann, möchte ich +hier darstellen: + +Die Idee ist, aus der EPS-Grafik eine neue EPS-Grafik zu erzeugen, in +der die LaTeX-Ersetzungen bereits durchgeführt sind. Diese neue +EPS-Grafik kann dann samt der Ersetzungen nach PDF konvertiert werden +und in pdflatex eingebunden werden. + +Um das zu erreichen, muss pro Grafik ein neues LaTeX-Dokument für die +psfrag-Ersetzung angelegt werden und diverse Konvertierungen +durchgeführt werden. Um das zu vereinfachen, habe ich das +fragmaster.pl Perlskript geschrieben. + +Das Skript benötigt neben perl, latex und dvips zur Konvertierung von +EPS nach PDF das Programm epstopdf. + +Um das Skript zu verwenden legt man je Grafik zwei Dateien an: + + * <grafik>_fm.eps: die EPS-Grafik selbst, + * <grafik>_fm: eine fragmaster-Steuerdatei. + +Daraus werden dann die Grafiken mit Ersetzung erzeugt: + + * <grafik>.eps, + * <grafik>.pdf + +Die Steuerdatei ist eine LaTeX-Datei und kann so aussehen: + +% Ein normaler Kommentar. +% +% Ein spezieller Kommentar: +% fmopt: width=6cm +% +% Ein anderer spezieller Kommentar: +% head: +% \usepackage{amsmath} +% end head + +% psfrag-Befehle: +\psfrag{x}{$x$} +\psfrag{y}{$y = x^2$} + + +Der spezielle Kommentar fmopt: wird so ausgewertet, dass das +Nachfolgende als Option an \includegraphics weitergegeben wird. So kann +z.B. durch width=6cm die Grafik an die Schriftgröße angepasst werden. + +Das spezielle Kommentarkonstrukt "head:"/"end head" führt dazu, dass die +dazwischenliegenden Kommentarzeilen (ohne die voranstehenden +Kommentarzeichen "%") in die Präambel der LaTeX-Hilfsdatei übernommen +werden. + +fragmaster.pl durchsucht das aktuelle Verzeichnis nach Dateien, die in +_fm enden und nach den entsprechenden _fm.eps-Dateien. Das Skript +überprüft anhand des Dateidatums, ob die Grafiken mit Ersetzung neu +erzeugt werden müssen und erstellt die entsprechenden Dateien +automatisch (in etwa so wie "make" es tun würde). + +Im LaTeX-Dokument kann man diese Dateien dann mit + +\includegraphics{<grafik>} + + +ohne die Dateiendung einbinden. latex wählt die EPS-Datei, pdflatex +wählt die PDF-Datei. + +====================================================================== +Beispiel +====================================================================== + +Die folgenden Beispieldateien sind beigefügt: + + * parabel_fm.gp + Gnuplot-Datei um folgende EPS-Grafik zu erzeugen, + * parabel_fm.eps + Roh-EPS-Datei ohne psfrag-Ersetzungen, + * parabel_fm + fragmaster-Datei mit den psfrag-Befehlen, + * parabel.eps + die fertige EPS-Datei, + * parabel.pdf + die fertige PDF-Datei, + * document.tex + LaTeX-Beispiel, das die Grafik einbindet, + * document.pdf + Beispiel-PDF, + * document.ps + Beispiel-PS, + * parabel_fm.pdf + PDF-Version der Roh-EPS-Datei (nur für das Beispiel notwendig!). + + +====================================================================== +Probleme und Lösungen +====================================================================== + +Wenn das EPS als Landscape-Grafik erzeugt wird, also im gv oben statt +"Portrait" "Landscape" steht, und die Grafik im Dokument nachher um 90° +Grad gedreht erscheint, dann liegt das wahrscheinlich daran, dass das +Originalbild breiter ist als hoch. Manche (neuere) Versionen von dvips +schließen dann "clever" darauf, dass das Landscape sei, wobei das Format +natürlich nichts über die Ausrichtung des Inhalts sagt... Jedenfalls +kann man das dvips abgewöhnen, indem man folgende Zeile in +/usr/share/texmf/dvips/config/config.pdf einträgt: + +@ custom 0pt 0pt + +Wen's genauer interessiert, dem seien die Quellen von dvipsk ans Herz +gelegt... + +Viel Spaß mit dem Skript! + +Tilman + + +====================================================================== +Links zu anderen Lösungen +====================================================================== + + * Pdfrack <http://www.enseeiht.fr/~boyer/Pdfrack/> + * unpsfrag <http://www.gts.tsc.uvigo.es/~fiz/unpsfrag> + + +Letzte Änderung: Do 19. Mär 20:57:37 CET 2009 diff --git a/Master/texmf-dist/doc/support/fragmaster/example/document.pdf b/Master/texmf-dist/doc/support/fragmaster/example/document.pdf Binary files differnew file mode 100644 index 00000000000..c3abcb0fa33 --- /dev/null +++ b/Master/texmf-dist/doc/support/fragmaster/example/document.pdf diff --git a/Master/texmf-dist/doc/support/fragmaster/example/document.ps b/Master/texmf-dist/doc/support/fragmaster/example/document.ps new file mode 100644 index 00000000000..90ac8076a49 --- /dev/null +++ b/Master/texmf-dist/doc/support/fragmaster/example/document.ps @@ -0,0 +1,2221 @@ +%!PS-Adobe-2.0 +%%Creator: dvips(k) 5.86 Copyright 1999 Radical Eye Software +%%Title: document.dvi +%%Pages: 1 +%%PageOrder: Ascend +%%BoundingBox: 0 0 612 792 +%%DocumentFonts: Helvetica CMR12 CMMI12 CMR8 +%%EndComments +%DVIPSWebPage: (www.radicaleye.com) +%DVIPSCommandLine: dvips document.dvi -o document.ps +%DVIPSParameters: dpi=600, compressed +%DVIPSSource: TeX output 2004.02.04:1321 +%%BeginProcSet: texc.pro +%! +/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S +N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72 +mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0 +0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{ +landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize +mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[ +matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round +exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{ +statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0] +N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin +/FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array +/BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2 +array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N +df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A +definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get +}B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub} +B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr +1 add N}if}B/id 0 N/rw 0 N/rc 0 N/gp 0 N/cp 0 N/G 0 N/CharBuilder{save 3 +1 roll S A/base get 2 index get S/BitMaps get S get/Cd X pop/ctr 0 N Cdx +0 Cx Cy Ch sub Cx Cw add Cy setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx +sub Cy .1 sub]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{ +rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp +gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B +/chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{ +/cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{ +A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy +get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse} +ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp +fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17 +{2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add +chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{ +1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop} +forall N/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn +/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put +}if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{ +bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A +mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{ +SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{ +userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X +1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4 +index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N +/p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{ +/Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT) +(LaserWriter 16/600)]{A length product length le{A length product exch 0 +exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse +end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask +grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot} +imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round +exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto +fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p +delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M} +B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{ +p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S +rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end + +%%EndProcSet +%%BeginProcSet: special.pro +%! +TeXDict begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N +/vs 792 N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 0 N/rwiSeen false N +/rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N +/@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{ +/hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho +X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B +/@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{ +/urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known +{userdict/md get type/dicttype eq{userdict begin md length 10 add md +maxlength ge{/md md dup length 20 add dict copy def}if end md begin +/letter{}N/note{}N/legal{}N/od{txpose 1 0 mtx defaultmatrix dtransform S +atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{ +itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll +transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll +curveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdf +pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack} +if}N/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 +-1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 +get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip +yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub +neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{ +noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop +90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get +neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr +1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr +2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4 +-1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S +TR}if}N/cp{pop pop showpage pm restore}N end}if}if}N/normalscale{ +Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale +}if 0 setgray}N/psfts{S 65781.76 div N}N/startTexFig{/psf$SavedState +save N userdict maxlength dict begin/magscale true def normalscale +currentpoint TR/psf$ury psfts/psf$urx psfts/psf$lly psfts/psf$llx psfts +/psf$y psfts/psf$x psfts currentpoint/psf$cy X/psf$cx X/psf$sx psf$x +psf$urx psf$llx sub div N/psf$sy psf$y psf$ury psf$lly sub div N psf$sx +psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub +TR/showpage{}N/erasepage{}N/copypage{}N/p 3 def @MacSetUp}N/doclip{ +psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll newpath 4 copy 4 2 +roll moveto 6 -1 roll S lineto S lineto S lineto closepath clip newpath +moveto}N/endTexFig{end psf$SavedState restore}N/@beginspecial{SDict +begin/SpecialSave save N gsave normalscale currentpoint TR +@SpecialDefaults count/ocount X/dcount countdictstack N}N/@setspecial{ +CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs neg 0 rlineto +closepath clip}if ho vo TR hsc vsc scale ang rotate rwiSeen{rwi urx llx +sub div rhiSeen{rhi ury lly sub div}{dup}ifelse scale llx neg lly neg TR +}{rhiSeen{rhi ury lly sub div dup scale llx neg lly neg TR}if}ifelse +CLIP 2 eq{newpath llx lly moveto urx lly lineto urx ury lineto llx ury +lineto closepath clip}if/showpage{}N/erasepage{}N/copypage{}N newpath}N +/@endspecial{count ocount sub{pop}repeat countdictstack dcount sub{end} +repeat grestore SpecialSave restore end}N/@defspecial{SDict begin}N +/@fedspecial{end}B/li{lineto}B/rl{rlineto}B/rc{rcurveto}B/np{/SaveX +currentpoint/SaveY X N 1 setlinecap newpath}N/st{stroke SaveX SaveY +moveto}N/fil{fill SaveX SaveY moveto}N/ellipse{/endangle X/startangle X +/yrad X/xrad X/savematrix matrix currentmatrix N TR xrad yrad scale 0 0 +1 startangle endangle arc savematrix setmatrix}N end + +%%EndProcSet +TeXDict begin 40258437 52099151 1000 600 600 (document.dvi) +@start +%DVIPSBitmapFont: Fa cmr7 7 1 +/Fa 1 66 df<140EA2141FA34A7EA3EC6FC0A2ECEFE014C7A290380183F0A390380301F8 +A201067F1400A249137EA2011C137F01187FA24980013FB5FCA2903960000FC0A201E080 +491307A248486D7EA200038115011207D81FC0497ED8FFF890383FFFE0A22B2A7EA931> +65 D E +%EndDVIPSBitmapFont +%DVIPSBitmapFont: Fb cmmi10 10 2 +/Fb 2 122 df<903907E001F090391FF807FC9039783E0E0F9039E01F1C1FD801C09038 +383F803A03800FF07F0100EBE0FF5A000E4A1300000C157E021F133C001C4AC7FC1218A2 +C7123FA292C8FCA25CA2147EA214FEA24A130CA20101141C001E1518003F5BD87F811438 +01835C00FF1560010714E03AFE0E7C01C0D87C1C495A2778383E0FC7FC391FF00FFC3907 +C003F029267EA42F>120 D<13F8D803FE1470D8070F14F8000EEB8001121C1218003814 +03003015F0EA701F1260013F130700E0010013E012C05BD8007E130F16C013FE5B151F00 +0115805BA2153F000315005BA25D157EA315FE5D1401000113033800F80790387C1FF8EB +3FF9EB0FE1EB00035DA2000E1307D83F805B007F495AA24A5A92C7FCEB003E007C5B0070 +5B6C485A381E07C06CB4C8FCEA01FC25367EA429>I E +%EndDVIPSBitmapFont +%DVIPSBitmapFont: Fc cmtt10 10 13 +/Fc 13 121 df<121FEA3F80EA7FC0EAFFE0A5EA7FC0EA3F80EA1F000B0B708A2C>46 +D<3801FFF0000713FE001F6D7E15E048809038C01FF81407EC01FC381F80000006C77EC8 +127EA3ECFFFE131F90B5FC1203120F48EB807E383FF800EA7FC090C7FC12FE5AA47E007F +14FEEB8003383FE01F6CB612FC6C15FE6C14BF0001EBFE1F3A003FF007FC27247CA32C> +97 D<EC0FFE4A7EA380EC003FAAEB07F8EB3FFE90B512BF4814FF5A3807FC0F380FF003 +48487E497E48487F90C7FC007E80A212FE5AA87E007E5CA2007F5C6C7E5C6C6C5A380FF0 +073807FC1F6CB612FC6CECBFFE6C143FEB3FFC90390FF01FFC27337DB22C>100 +D<EB03FE90381FFFC0017F13F048B57E48803907FE03FE390FF800FFD81FE0EB3F805B48 +48EB1FC090C7120F5A007E15E015075AB7FCA416C000FCC9FC7E127EA2127F6CEC03C06D +EB07E06C7ED80FF0130F6C6CEB3FC001FF13FF000190B512806C1500013F13FC010F13F0 +0101138023247CA32C>I<EC0FF8EC3FFE91B5FC4914805B903807FC7F14F090390FE03F +0014C092C7FCA6007FB512FEB7FCA36C5C26000FC0C7FCB3A8003FB512F04880A36C5C21 +337DB22C>I<ED03F8903907F80FFC90391FFE3FFE017FB6FC48B7FC48ECFE7F9038FC0F +F82607F003133E3A0FE001FC1CD9C0001300001F8049137EA66D13FE000F5CEBE0016C6C +485A3903FC0FF048B5FC5D481480D99FFEC7FCEB87F80180C8FCA37F6C7E90B512F06C14 +FE48ECFF804815E04815F03A3FC0001FF848C7EA03FC007E1400007C157C00FC157E4815 +3EA46C157E007E15FCD87F801303D83FE0EB0FF8D81FFCEB7FF06CB612E0000315806C15 +00D8003F13F8010713C028387EA42C>I<387FFFE0B57EA37EEA0003B3B3A5007FB61280 +B712C0A36C158022337BB22C>108 D<3A7F83F007E09039CFFC1FF83AFFDFFE3FFCD87F +FF13FF91B57E3A07FE1FFC3E01FCEBF83F496C487E01F013E001E013C0A301C01380B33B +7FFC3FF87FF0027F13FFD8FFFE6D13F8D87FFC4913F0023F137F2D2481A32C>I<397FF0 +1FE039FFF8FFF801FB13FE90B6FC6C158000019038F07FC09138801FE091380007F049EB +03F85BED01FC491300A216FE167EA816FE6D14FCA2ED01F86D13036DEB07F0150F913880 +1FE09138E07FC091B51280160001FB5B01F813F8EC3FC091C8FCAD387FFFE0B57EA36C5B +27367FA32C>112 D<D87FFEEB3FC0B53801FFF0020713F8021F13FC6C5B39003F7FE1EC +FF019138FC00F84A13704A13005CA25C5CA391C8FCAF007FB512E0B67EA36C5C26247EA3 +2C>114 D<90387FF8700003B512F8120F5A5A387FC00F387E00034813015AA36CEB00F0 +007F140013F0383FFFC06C13FE6CEBFF80000314E0C66C13F8010113FCEB0007EC00FE00 +78147F00FC143F151F7EA26C143F6D133E6D13FE9038F007FC90B5FC15F815E000F81480 +39701FFC0020247AA32C>I<131E133FA9007FB6FCB71280A36C1500D8003FC8FCB1ED03 +C0ED07E0A5EC800F011FEB1FC0ECE07F6DB51280160001035B6D13F89038003FE0232E7E +AD2C>I<3A3FFF03FFF048018713F8A36C010313F03A00FC007E005D90387E01F8013F5B +EB1F83EC87E090380FCFC0903807EF80EB03FF6D90C7FC5C6D5A147C14FE130180903803 +EF80903807CFC0EB0FC7EC83E090381F01F0013F7FEB7E00017C137C49137E0001803A7F +FF01FFFC1483B514FE6C15FC140127247EA32C>120 D E +%EndDVIPSBitmapFont +%DVIPSBitmapFont: Fd cmr10 10 29 +/Fd 29 122 df<121C127FEAFF80A5EA7F00121C0909798817>46 +D<EB01C013031307131F13FFB5FCA2131F1200B3B3A8497E007FB512F0A31C3879B72A> +49 D<121C127FEAFF80A5EA7F00121CC7FCB2121C127FEAFF80A5EA7F00121C092479A3 +17>58 D<B812FCA30001903880000F6C90C71201EE007E173E171E170EA31706A3170783 +16C0A394C7FCA31501A21503150F91B5FCA3EC000F15031501A21500A21860A318E093C7 +12C0A41701A3EF0380A21707A2170F173F177F486D903807FF00B9FCA333397DB839>69 +D<B612E0A3000101C0C8FC6C90C9FCB3AD1718A517381730A31770A317F0A21601160316 +0FEE1FE0486D13FFB8FCA32D397DB834>76 D<003FB812E0A3D9C003EB001F273E0001FE +130348EE01F00078160000701770A300601730A400E01738481718A4C71600B3B0913807 +FF80011FB612E0A335397DB83C>84 D<007FB590383FFFFCA3C601F801071380D97FE0D9 +03FCC7FC013FEC01F06D6C5C5F6D6C5C6D6C13034CC8FC6D6C1306160E6D6C5B6DEB8018 +163891387FC0306E6C5A16E06E6C5A91380FF18015FB6EB4C9FC5D14036E7EA26E7F6F7E +A24B7E15DF9138019FF09138038FF8150F91380607FC91380E03FE140C4A6C7EEC380002 +30804A6D7E14E04A6D7E49486D7E130391C76C7E01066E7E130E010C6E7E011C1401013C +8101FE822607FF80010713E0B500E0013FEBFF80A339397EB83E>88 +D<EB1FE0EBFFFC3803E03F3907000F80390F8007E0486C6C7E13E06E7EA26E7E6C5A6C5A +C8FCA4147FEB07FFEB3FE0EBFE00EA03F8EA0FF0EA1FC0123F485A90C7FC160C12FEA314 +01A26C13036CEB077C903980063E18383FC01E3A0FE0781FF03A03FFF00FE03A007F8007 +C026277DA52A>97 D<EA03F012FFA3120F1203B0EC1FE0EC7FF89038F1E03E9039F3801F +809039F7000FC001FEEB07E049EB03F049EB01F85BED00FCA216FEA2167E167FAA167E16 +FEA216FC15016D14F8ED03F07F01EEEB07E001C6EB0FC09039C7801F00903881E07E9038 +00FFF8C7EA1FC0283B7EB92E>I<EB03FC90381FFF8090387E03E03901F80070484813F8 +3907E001FC380FC003A2EA1F80123F90380001F848EB00F01500A2127E12FEAA127E127F +A26C14067F001F140E6D130C000F141C6C6C13386C6C13706C6C13E039007C07C090381F +FF00EB07F81F277DA525>I<ED0FC0EC03FFA3EC003F150FB0EB03F8EB1FFF90387E078F +9038F801EF3903F0007F4848133F4848131FA24848130F123F90C7FC5AA2127E12FEAA12 +7E127FA27EA26C6C131FA26C6C133F6C6C137F6C6CEBEFF03A01F801CFFF39007C078F90 +381FFE0FD907F813C0283B7DB92E>I<EB07F8EB1FFF90387C0FC03901F803E03903F001 +F0D807E013F8380FC0004848137CA248C7127E153E5A153F127E12FEA3B7FCA248C8FCA5 +127EA2127FA26C14037F001F14076C6C13060007140E6D131CD801F013386C6C13709038 +7E03E090381FFF80903803FC0020277EA525>I<147E903803FF8090380FC1E0EB1F8790 +383F0FF0137EA213FCA23901F803C091C7FCADB512FCA3D801F8C7FCB3AB487E387FFFF8 +A31C3B7FBA19>I<ED03F090390FF00FF890393FFC3C3C9039F81F707C3901F00FE03903 +E007C03A07C003E010000FECF000A248486C7EA86C6C485AA200075C6C6C485A6D485A6D +48C7FC38073FFC38060FF0000EC9FCA4120FA213C06CB512C015F86C14FE6CECFF804815 +C03A0F80007FE048C7EA0FF0003E140348140116F8481400A56C1401007C15F06CEC03E0 +003F1407D80F80EB0F80D807E0EB3F003901FC01FC39007FFFF0010790C7FC26387EA52A +>I<EA03F012FFA3120F1203B0EC0FF0EC3FFCECF03F9039F1C01F809039F3800FC0EBF7 +0013FE496D7EA25BA35BB3A3486C497EB500C1B51280A3293A7EB92E>I<EA0380EA0FE0 +487EA56C5AEA0380C8FCAAEA03F012FFA312071203B3AA487EB512C0A312387EB717>I< +EA03F012FFA3120F1203B3B3AD487EB512C0A3123A7EB917>108 +D<2703F00FF0EB1FE000FFD93FFCEB7FF8913AF03F01E07E903BF1C01F83803F3D0FF380 +0FC7001F802603F70013CE01FE14DC49D907F8EB0FC0A2495CA3495CB3A3486C496CEB1F +E0B500C1B50083B5FCA340257EA445>I<3903F00FF000FFEB3FFCECF03F9039F1C01F80 +3A0FF3800FC03803F70013FE496D7EA25BA35BB3A3486C497EB500C1B51280A329257EA4 +2E>I<EB03FE90380FFF8090383E03E09038F800F84848137C48487F48487F4848EB0F80 +001F15C090C712074815E0A2007EEC03F0A400FE15F8A9007E15F0A2007F14076C15E0A2 +6C6CEB0FC0000F15806D131F6C6CEB3F006C6C137EC66C13F890387E03F090381FFFC0D9 +03FEC7FC25277EA52A>I<3903F01FE000FFEB7FF89038F1E07E9039F3801F803A0FF700 +0FC0D803FEEB07E049EB03F04914F849130116FC150016FEA3167FAA16FEA3ED01FCA26D +EB03F816F06D13076DEB0FE001F614C09039F7803F009038F1E07E9038F0FFF8EC1FC091 +C8FCAB487EB512C0A328357EA42E>I<3807E01F00FFEB7FC09038E1E3E09038E387F038 +0FE707EA03E613EE9038EC03E09038FC0080491300A45BB3A2487EB512F0A31C257EA421 +>114 D<EBFF03000313E7380F80FF381E003F487F487F00707F12F0A2807EA27EB490C7 +FCEA7FE013FF6C13E06C13F86C7F00037FC67F01071380EB007F141F00C0EB0FC01407A2 +6C1303A37E15806C13077EEC0F00B4131E38F3C07C38E1FFF038C03F801A277DA521>I< +1318A51338A31378A313F8120112031207001FB5FCB6FCA2D801F8C7FCB215C0A93800FC +011580EB7C03017E13006D5AEB0FFEEB01F81A347FB220>I<D803F0EB07E000FFEB01FF +A3000FEB001F00031407B3A4150FA3151F12016D133F0000EC77F86D9038E7FF8090383F +03C790381FFF87903A03FC07E00029267EA42E>I<B538803FFEA33A0FF8000FF06C48EB +07E00003EC03C06D148000011500A26C6C1306A26D130E017E130CA26D5BA2EC8038011F +1330A26D6C5AA214E001075BA2903803F180A3D901FBC7FCA214FF6D5AA2147CA31438A2 +27257EA32C>I<B53A1FFFE03FFEA3260FF8009038000FF86C48017EEB03E018C0000302 +3EEB0180A26C6C013FEB0300A36C6CEC8006156FA2017E9038EFC00C15C7A2D93F016D5A +15830281EBF038D91F831430150102C3EBF87090260FC6001360A2D907E66D5A02EC137C +A2D903FCEB7F804A133FA2010192C7FC4A7FA20100141E4A130E0260130C37257EA33C> +I<B538807FFFA33A03FE003FF00001EC1F80000092C7FC017E131C6D13186D6C5AECC070 +010F5B6D6C5AECF180EB03FB6DB4C8FC6D5AA2147F804A7E8114CF903801C7E090380383 +F090380703F8EB0601496C7E011C137E49137F01787F496D7E486C80000FEC3FF0D8FFFE +90B51280A329247FA32C>I<B538803FFEA33A0FF8000FF06C48EB07C00003EC03806C7E +16007F00001406A2017E5BA2137F6D5BA26D6C5AA2ECC070010F1360A26D6C5AA214F101 +035BA2D901FBC7FCA214FF6D5AA2147CA31438A21430A214701460A25CA2EA7C0100FE5B +130391C8FC1306EAFC0EEA701C6C5AEA1FF0EA0FC027357EA32C>I +E +%EndDVIPSBitmapFont +%DVIPSBitmapFont: Fe cmr12 12 19 +/Fe 19 122 df<121EEA7F8012FF13C0A213E0A3127FEA1E601200A413E013C0A3120113 +80120313005A1206120E5A5A5A12600B1D78891B>44 D<14FF010713E090381F81F89038 +3E007C01FC133F4848EB1F8049130F4848EB07C04848EB03E0A2000F15F0491301001F15 +F8A2003F15FCA390C8FC4815FEA54815FFB3A46C15FEA56D1301003F15FCA3001F15F8A2 +6C6CEB03F0A36C6CEB07E0000315C06D130F6C6CEB1F806C6CEB3F00013E137C90381F81 +F8903807FFE0010090C7FC28447CC131>48 D<EB03FE90381FFFC0017F13F03901F80FFC +3903C001FE48486C7E000EC7EA7F8048EC3FC0ED1FE04815F00030140F007015F8006014 +07126CB415FC7F7F1503A46C4813076CC7FCC8FC16F8A2150F16F0151F16E0A2ED3FC0ED +7F8016005D5D4A5A4A5A4A5A5D4A5A4A5A4AC7FC147C5C5C495A495A495A49C7120C131E +5B013814185B5B485A4848143848C81230000E1570001FB612F0A25A5AB712E0A326427B +C131>50 D<ED0380A21507150FA2151F153FA2157F15FFA25CEC03BF153F14071406140C +141C141814301470146014C013011480EB03005B13065B131C13185B1370136013E0485A +5B120390C7FC1206120E120C5A123812305A12E0B812C0A3C8383F8000ADEDFFE0027FEB +FFC0A32A437DC231>52 D<B912F0A3000101C0C7127F6C6C48EC0FF81703170117001878 +1838A2181CA3180CA4180E1806160CA21800A5161CA2163C167CED01FC91B5FCA3EC8001 +ED007C163C161CA2160CA793C8FCB08048487EB612F8A337447CC340>70 +D<003FB912F8A3903BF0001FF8001F01806D481303003EC7150048187C0078183CA20070 +181CA30060180CA5481806A5C81600B3B3A54B7EED7FFE49B77EA33F447DC346>84 +D<B692383FFFF0A3000301E003071300C649ED01FC4A5E017F705A6E5E133F616E150101 +1F5FA26D6C4BC7FCA28001071606A26E150E0103160CA26D6C5DA2806D5EA26F1470027F +156081023F5DA281021F4A5AA26F1303020F92C8FC8102071406A26F130E0203140CA26E +6C5BA2816E5CA2EE8070037F1360A26F6C5AA216E092381FE180A216F3030F90C9FC16FB +ED07FEA36F5AA36F5AA26F5AA3166044467EC349>86 D<EB07FC90383FFF809038F80FE0 +3903C003F048C66C7E000E6D7ED80FC0137E486C137F6D6D7EA36F7EA26C5AEA0380C8FC +A4EC0FFF49B5FC90380FFE1FEB3FC0EBFF00EA03FC485A485A485A485A127F5B176048C7 +FCA3153FA36D137F007F14EF6D9038C7E0C0003F13013A1FE00783F13B07F81E03FF8027 +01FFFC0113003A001FE0007C2B2E7CAC31>97 D<EA01FC12FFA3120712031201B3EC03FC +91380FFF8091383C07E091387001F89039FDE0007E02807F01FFEC1F8091C713C049EC0F +E049140717F0A2EE03F8A217FCA2160117FEAB17FC1603A217F8A2EE07F0A26DEC0FE017 +C06D141F01FBEC3F80D9F380EB7E00D9E1C05B9039E0F001F89039C03C07E09039801FFF +80C7D803FCC7FC2F467DC436>I<EB01FE903807FFC090381F03F090387E00FC49137E48 +487F485A4848EB1F80000F15C049130F121F484814E01507A2007F15F090C7FCA25AA390 +B6FCA290C9FCA67EA27FA2123F16306C7E1670000F15606D14E06C6C14C0000314016C6C +EB03806C6CEB0700013E131E90381F80F8903803FFE0010090C7FC242E7DAC2B>101 +D<EE0F80D901FCEB7FE0903A0FFF81F0F090393F07E3819039FC01FF033A01F800FE0148 +48017E13E00007027FC7FC497F000F8149131F001F81A9000F5D6D133F000792C7FC6D5B +0003147E6C6C5B6D485A3903BF07E090380FFF80260701FCC8FC90CAFCA25AA37F6C7E7F +90B512F86C14FF16E06C15F86C6C8048B67E3A07C0000FFF48481300003FC8EA3F80003E +151F48ED0FC0A2481507A56C150F007C1680007E151F003E16006C153E6C6C5CD807E049 +5AD801F8EB07E0D8007FEB3F8090261FFFFEC7FC010113E02C427DAC31>103 +D<EA01E0EA07F8A2487EA46C5AA2EA01E0C8FCADEA01FC12FFA3120712031201B3B0487E +B512F8A315437DC21C>105 D<EA01FC12FFA3120712031201B3B3B3A5487EB512F8A315 +457DC41C>108 D<D801FC01FFEC1FE000FF010701E0EBFFFC913B0F03F801E07F913C3C +01FC07803F800007903C7000FE0E001FC0000349D97E1C130F2601FDC0D97F38804A1430 +01FFDA3FF06D7E91C75BA2495DA3495DB3A8486C4A6C497EB5D8F81FB50003B512E0A34B +2C7DAB52>I<3901FC01FE00FF903807FFC091381E07F091383801F8000701707F0003EB +E0002601FDC07F5C01FF147F91C7FCA25BA35BB3A8486CECFF80B5D8F83F13FEA32F2C7D +AB36>I<EC7F80903803FFF090380FC0FC90383E001F496D7E496D7E48486D7E48486D7E +48486D7E000F81A24848147E003F157FA290C87E481680A44816C0AA6C1680A26D147F00 +3F1600A2001F157E6D14FE000F5D6D130100075D6C6C495A6C6C495A6C6C495A013E49C7 +FC90381FC0FE903807FFF89038007F802A2E7DAC31>I<3903F803F000FFEB1FFCEC3C3E +EC707F0007EBE0FF3803F9C000015B13FBEC007E153C01FF13005BA45BB3A748B4FCB512 +FEA3202C7DAB26>114 D<D801FC147F00FFEC3FFFA300071401000380000181B3A85EA3 +5DA212006D5B017E9038077F80017F010E13C06D011C13FE90380FC078903803FFF09026 +007F8013002F2D7DAB36>117 D<B539F001FFFCA3000790C7EA7FE06C48EC1F80000116 +00160E0000150C6D141C6D1418A26E1338013F1430A26D6C5BA26E13E0010F5CA26D6C48 +5AA2ECF803010391C7FCA2903801FC06A2ECFE0E0100130CA2EC7F18A215B8EC3FB0A2EC +1FE0A36E5AA26E5AA36EC8FCA21406A35CA25CA2123C007E5BB4FC5CA25CEAFE01387C03 +80D87007C9FCEA3C1EEA0FFCEA03F02E3F7EAA33>121 D E +%EndDVIPSBitmapFont +%DVIPSBitmapFont: Ff cmr17 17.28 9 +/Ff 9 118 df<4AB47E020F13F8023F13FE9139FF007F80D903FCEB07E0D907F0EB01F0 +D91FE0EB007849488049488049C87E48485D4915FF00034B138048485CA2485AA2485AA2 +003F6F130049EC007C94C7FC127FA35B12FFAD127F7FA4123F7FA2001FEE01C07F000F16 +036D168012076C6C15076D160000015E6C6C151E6D6C5C6D6C5C6D6C5CD90FF8495AD903 +FCEB07C0903A00FF803F8091263FFFFEC7FC020F13F80201138032417CBF3A>99 +D<181EEF3FFEEE07FFA4EE000F1703A21701B3AAEDFF80020F13F8023F13FE9139FF803F +81903A03FC0007C14948EB01E1D91FE0EB00F94948147D4948143D49C8121F4848150F49 +1507120348481503491501120F121F5BA2123F5B127FA45B12FFAD127F7FA3123FA27F12 +1FA26C6C1503A26C6C150712036D150F6C6C151F0000163D137F6D6CECF9FF6D6CEB01F1 +D90FF0D903C113C06D6CD90F81EBFF80D901FFEB7F019039007FFFFC021F13E002010100 +91C7FC41657CE349>I<EC03FE91381FFFE091B512F8903901FE03FE903A07F0007F8049 +486D7ED93FC06D7E49C76C7E496E7E49140348488148481401000782491400000F828348 +5A1880123F49153FA2007F17C0A35BA212FF90B8FCA30180CAFCA9127F7FA3123FA27F12 +1FEF01C06C7E17036C6C1680A26C6C15070001EE0F006D150E6C6C151E6D6C5C6D6C5C6D +6C5CD907F0EB03E0D903FC495A902700FF803FC7FC91383FFFFC020F13F0020113803241 +7CBF3A>I<D903C0D9FFC0EC07FED807FF010301F891381FFFC0B5010F01FE027F13F092 +3D3F00FF8001F807FC0378903B3FC003C001FEDAC1E090261FE00FC77E0001D9C3C09026 +0FF01E6E7ED8007F49902607F81C6E7E02C7C75CD93FCE6E6C486E7E02CC166002DC16E0 +02D85E02F8DA01FF6F7E4A5EA24A93C8FCA44A5DB3B3496C4A6C4B7E496C4A6D4A7EB6D8 +F007B6D8803FB512FCA4663F7CBE6F>109 D<D903C0EB7FE0D807FF903803FFFCB5010F +13FFDB3F0013C00378EB1FE04B6D7E0001D9C1C06D7E27007FC3808002C7C71203D93FCE +81170114DC14D802F86E7E5CA35CA35CB3B3496C4A7F496C4A7FB6D8F003B612C0A4423F +7DBE49>I<EDFF80020F13F8023F13FE9139FF007F80D903FCEB1FE0D907F0EB07F0D90F +C0EB01F8D93F80EB00FE49C8127F017E81496F7E48486F7E00038349150700078348486F +7EA2001F83491501A2003F83A348486F7EA400FF1880AC007F1800A26D5DA2003F5FA36C +6C4B5AA36C6C4B5A00075FA26C6C4B5A6C6C4B5AA26C6C4B5A017F4BC7FC6D6C14FE6D6C +495AD90FF0EB07F8D903FCEB1FE0D900FFEB7F806EB5C8FC020F13F8020113C039417CBF +42>I<9139FFE00180010FEBFC03017FEBFF073A01FF001FCFD803F8EB03EFD807E0EB01 +FF48487F4848147F48C8123F003E151F007E150F127CA200FC1507A316037EA27E7F6C7E +6D91C7FC13F8EA3FFE381FFFF06CEBFF806C14F86C14FF6C15C06C6C14F0011F80010714 +FED9007F7F02031480DA003F13C01503030013E0167F00E0ED1FF0160F17F86C15071603 +A36C1501A37EA26C16F016037E17E06D14076DEC0FC06D1580D8FDF0141FD8F8F8EC7F00 +013E14FC3AF01FC00FF80107B512E0D8E001148027C0003FF8C7FC2D417DBF34>115 +D<1438A71478A414F8A31301A31303A21307130F131FA2137F13FF1203000F90B6FCB8FC +A3260007F8C8FCB3AE17E0AE6D6CEB01C0A316036D6C148016076D6C14006E6C5A91383F +C01E91381FF07C6EB45A020313E09138007F802B597FD733>I<D903C0150FD807FFED1F +FFB50203B5FCA40001ED0007D8007F1501A2013F81B3B25FA35FA35F011F15066E140E5F +130F6E4A7F01075D6D6C494813E0D901FE4948EBFFC0903A00FFC01F8091393FFFFE0002 +0F13F8020001C0EC800042407DBE49>I E +%EndDVIPSBitmapFont +%DVIPSBitmapFont: Fg cmtt12 17.28 11 +/Fg 11 117 df<EA07E0EA1FF8EA3FFCEA7FFEA2B5FCA6EA7FFEA2EA3FFCEA1FF8EA07E0 +1010638F4A>46 D<903801FFFE011FEBFFE0017F14F848B612FE486F7E834816F0488283 +EC800391C77FEE3FFF160F707F6C48806C486E7F6C5ACA7FA3177FA50303B5FC92B6FC14 +0F91B7FC1307131F137F90B8FC0003EDE07F48ECE0004849C7FC4813F014804848C8FC48 +5A5B485A5BA25BA46D15FFA26D5C007F5D6D5CD83FFE141F6D6C017F13F86CD9E007B612 +FE91B9FC6C19807E6C16DF6C160F6CEDFC07013FDAF0011400010F91C7EA3FFE010101F0 +91C8FC414178BF4A>97 D<ED7FF00203B5FC021F14E0027F14F849B67E4915FF010F8249 +82498249EBC01F9027FFFE00037F4801F801007F48496E7E02C0143F48496E7E4890C812 +0F491507001F8349815B003F18804981A2127F4917C08312FF90B9FCA71980190001C0CB +FC7F127FA37F123F7FA26C6C163F6DEE7F806C6CEEFFC0A26C6D5C14E06C6D4A13806C01 +FC5C6C6D021F130090267FFFC05B6D9039F801FFFE6D90B65A6D5E6D5E6D5E01005E023F +92C7FC020F14FC020114E09126001FFEC8FC3A4179BF4A>101 D<4CB47E041F13F093B5 +12FC030380030F805D4B15805D92B7FC4AEBFC074A13F0DCC00313004A13804C6C5A4A48 +EB007895C7FC5DAB003FB812F04883B97EA56C5F6C5FC7D80FFCC9FCB3B3A8001FB712FE +48824883A56C94C7FC6C5E39597BD84A>I<F00FF8912601FFC0EB7FFE020FD9F803B512 +80023FEBFE0F91B6009F14C0010392B612E05B5B5B4916F84901809138C07FC09126FE00 +3F1300D9FFF8010F9038803F804A6DEC040048496D6DC7FC4A7F48496D7FA291C8127F48 +83A249153FA66D157FA26C5F6E14FFA26C6D495B6E5B6C6D495B6E5BD97FFE013F90C8FC +6E6CB5FC92B55A90B75A5F5F485E1780D9FE3F49C9FC020F13F8020113C091CCFCA47FA2 +6C7F14E46DB612E017FF6D16F04916FC90B9FC000318C08548844801C0C7003F7F4848C8 +1201499238003FFCD83FF0EE0FFE4916074848707E84498200FF1980A290CB127FA56D17 +FFA26D5E007F19006D5ED83FF8EE0FFE6D161F6CB4EE7FFC6C01C04A485A6C01F8020F5B +9126FFC001B5FC000191B712C06C606D94C7FC011F16FC6D5E010316E0D9007F92C8FC02 +0F14F8DA007F90C9FC43627CBF4A>I<003FB512FE4880B77EA57E7EC71201B3B3B3B000 +3FB812FC4817FEBAFCA56C17FE6C17FC385877D74A>108 D<037FEC1FC0283FFC03FFE0 +EBFFF8267FFE0FD9F0037FD9FF3FD9F80F7FB5486D487F91B56C48807048806C93B6FCA2 +6C028302E07FC649C6EC803F4A15004A6D486D7E4A5C4A5C043F140F4A5CA34A5CA491C7 +5BB3AD003FD9FC07B548B512C0486D48028314E04B1487B603C714F0A36C01FE038714E0 +6F14836C496C020114C04C3F81BE4A>I<EE0FFC263FFFF090B57E48D9F80714E0DAFC1F +14F8B54914FE92B7FC02FD826C90B87E856CDBE01F7FD8000FEC000703FC01017F4B6D7F +03E0143F4B6E7E4B140F8592C87E4A6F1380A34A6F13C0A284A21AE0A2197FAA19FFA21A +C0A26E5DA24E138080606F1600606F4A5A6F143F6F4A5A6F4A5A6F130303FF010F5BDCC0 +3F5B93B65A6102FD93C7FC02FC5D6F5C031F14F0030714C0030191C8FC9238003FF093CA +FCB3A4003FB6FC4881A2B77EA36C5DA26C92CAFC435F7FBE4A>112 +D<EF0FFE003FB591B512C048DA800314F0B6D8C00F14F8043F14FC93B6FC03C115FE15C3 +6C14C76C02CFEBF80FC701DF13C092B5380007FC04FCEB03F84CEB01F004E090C7FC5E5E +93C9FC5DA25DA25DA25DA25DA45DB3A6003FB712F84882B8FC83A35F7E6C5E3F3F7BBE4A +>114 D<913A1FFF800F800103B5EAF81F011F9138FF3FC0017F15FF48B8FC5A5A5A5A48 +EBE00049C7121FD87FF880491403D8FFC080A25B82A37FEF7F806C7E01F892C7FC13FE38 +3FFFC06C13FE6CEBFFF86CECFFE06C15FC6CEDFF806C6C15F0011F81010315FED9007F80 +02011580DA000F14C0DB003F13E01607040113F0D83F809138007FF8007F163F486CED1F +FC170F7F1707A27FA26D150FA27F6DED1FF86D157F02C0ECFFF06E130302FC013F13E091 +B712C0A2188001BF1600019F15FC010F15F0010315C0267E007F49C7FC007C010713E036 +4176BF4A>I<EC0FC04A7E4A7EAF003FB812FC4883BAFCA56C5F6C5FC7D83FF0C9FCB3AB +F00FC0F01FE0F03FF0A76F147FA2F0FFE06E6C5B6F4913C06F5B6ED9E03F138093B61200 +806E5D6E15F86E5D6F5C6F1480030F01FCC7FC030013C03C507DCE4A>I +E +%EndDVIPSBitmapFont +end +%%EndProlog +%%BeginSetup +%%Feature: *Resolution 600dpi +TeXDict begin + +%%EndSetup +%%Page: 1 1 +1 0 bop 1039 162 a Fg(fragmaster.pl)41 b Ff(test)i(do)t(cumen)l(t)1663 +402 y Fe(Tilman)30 b(V)-8 b(ogel)1590 598 y(F)g(ebruary)33 +b(4,)g(2004)35 905 y Fd(This)27 b(do)r(cumen)n(t)h(includes)g(graphics) +e(generated)g(b)n(y)j Fc(fragmaster.pl)p Fd(.)726 2737 +y @beginspecial 0 @llx 513 @lly 398 @urx 793 @ury 2937 +@rwi @setspecial +%%BeginDocument: parabel.eps +%!PS-Adobe-2.0 EPSF-2.0 +%%Creator: dvips(k) 5.86f Copyright 2001 Radical Eye Software +%%Title: fm.dvi +%%BoundingBox: 0 513 398 793 +%%DocumentFonts: Helvetica CMR12 CMMI12 CMR8 +%%EndComments +%DVIPSWebPage: (www.radicaleye.com) +%DVIPSCommandLine: dvips -E -P pdf fm.dvi -o fm.ps +%DVIPSParameters: dpi=8000, compressed +%DVIPSSource: TeX output 2004.02.04:1310 +%%BeginProcSet: tex.pro +%! +/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S +N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72 +mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0 +0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{ +landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize +mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[ +matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round +exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{ +statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0] +N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin +/FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array +/BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2 +array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N +df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A +definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get +}B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub} +B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr +1 add N}if}B/CharBuilder{save 3 1 roll S A/base get 2 index get S +/BitMaps get S get/Cd X pop/ctr 0 N Cdx 0 Cx Cy Ch sub Cx Cw add Cy +setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx sub Cy .1 sub]{Ci}imagemask +restore}B/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn +/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put +}if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{ +bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A +mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{ +SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{ +userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X +1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4 +index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N +/p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{ +/Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT) +(LaserWriter 16/600)]{A length product length le{A length product exch 0 +exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse +end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask +grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot} +imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round +exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto +fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p +delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M} +B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{ +p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S +rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end + +%%EndProcSet +%%BeginProcSet: alt-rule.pro +%! +% Patch by TVZ +% Makes dvips files draw rules with stroke rather than fill. +% Makes narrow rules more predictable at low resolutions +% after distilling to PDF. +% May have unknown consequences for very thick rules. +% Tested only with dvips 5.85(k). +TeXDict begin +/QV { + gsave newpath /ruleY X /ruleX X + Rx Ry gt + { ruleX ruleY Ry 2 div sub moveto Rx 0 rlineto Ry } + { ruleX Rx 2 div add ruleY moveto 0 Ry neg rlineto Rx } + ifelse + setlinewidth 0 setlinecap stroke grestore +} bind def +end + +%%EndProcSet +%%BeginProcSet: texc.pro +%! +/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S +N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72 +mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0 +0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{ +landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize +mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[ +matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round +exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{ +statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0] +N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin +/FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array +/BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2 +array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N +df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A +definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get +}B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub} +B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr +1 add N}if}B/id 0 N/rw 0 N/rc 0 N/gp 0 N/cp 0 N/G 0 N/CharBuilder{save 3 +1 roll S A/base get 2 index get S/BitMaps get S get/Cd X pop/ctr 0 N Cdx +0 Cx Cy Ch sub Cx Cw add Cy setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx +sub Cy .1 sub]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{ +rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp +gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B +/chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{ +/cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{ +A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy +get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse} +ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp +fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17 +{2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add +chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{ +1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop} +forall N/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn +/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put +}if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{ +bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A +mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{ +SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{ +userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X +1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4 +index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N +/p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{ +/Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT) +(LaserWriter 16/600)]{A length product length le{A length product exch 0 +exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse +end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask +grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot} +imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round +exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto +fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p +delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M} +B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{ +p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S +rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end + +%%EndProcSet +%%BeginProcSet: psfrag.pro +%% +%% This is file `psfrag.pro', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% psfrag.dtx (with options: `filepro') +%% +%% Copyright (c) 1996 Craig Barratt, Michael C. Grant, and David Carlisle. +%% All rights reserved. +%% +%% This file is part of the PSfrag package. +%% +userdict begin +/PSfragLib 90 dict def +/PSfragDict 6 dict def +/PSfrag { PSfragLib begin load exec end } bind def +end +PSfragLib begin +/RO /readonly load def +/CP /currentpoint load def +/CM /currentmatrix load def +/B { bind RO def } bind def +/X { exch def } B +/MD { { X } forall } B +/OE { end exec PSfragLib begin } B +/S false def +/tstr 8 string def +/islev2 { languagelevel } stopped { false } { 2 ge } ifelse def +[ /sM /tM /srcM /dstM /dM /idM /srcFM /dstFM ] { matrix def } forall +sM currentmatrix RO pop +dM defaultmatrix RO idM invertmatrix RO pop +srcFM identmatrix pop +/Hide { gsave { CP } stopped not newpath clip { moveto } if } B +/Unhide { { CP } stopped not grestore { moveto } if } B +/setrepl islev2 {{ /glob currentglobal def true setglobal array astore + globaldict exch /PSfrags exch put glob setglobal }} + {{ array astore /PSfrags X }} ifelse B +/getrepl islev2 {{ globaldict /PSfrags get aload length }} + {{ PSfrags aload length }} ifelse B +/convert { + /src X src length string + /c 0 def src length { + dup c src c get dup 32 lt { pop 32 } if put /c c 1 add def + } repeat +} B +/Begin { + /saver save def + srcFM exch 3 exch put + 0 ne /debugMode X 0 setrepl + dup /S exch dict def { S 3 1 roll exch convert exch put } repeat + srcM CM dup invertmatrix pop + mark { currentdict { end } stopped { pop exit } if } loop + PSfragDict counttomark { begin } repeat pop +} B +/End { + mark { currentdict end dup PSfragDict eq { pop exit } if } loop + counttomark { begin } repeat pop + getrepl saver restore + 7 idiv dup /S exch dict def { + 6 array astore /mtrx X tstr cvs /K X + S K [ S K known { S K get aload pop } if mtrx ] put + } repeat +} B +/Place { + tstr cvs /K X + S K known { + bind /proc X tM CM pop + CP /cY X /cX X + 0 0 transform idtransform neg /aY X neg /aX X + S K get dup length /maxiter X + /iter 1 def { + iter maxiter ne { /saver save def } if + tM setmatrix aX aY translate + [ exch aload pop idtransform ] concat + cX neg cY neg translate cX cY moveto + /proc load OE + iter maxiter ne { saver restore /iter iter 1 add def } if + } forall + /noXY { CP /cY X /cX X } stopped def + tM setmatrix noXY { newpath } { cX cY moveto } ifelse + } { + Hide OE Unhide + } ifelse +} B +/normalize { + 2 index dup mul 2 index dup mul add sqrt div + dup 4 -1 roll exch mul 3 1 roll mul +} B +/replace { + aload pop MD + CP /bY X /lX X gsave sM setmatrix + str stringwidth abs exch abs add dup 0 eq + { pop } { 360 exch div dup scale } ifelse + lX neg bY neg translate newpath lX bY moveto + str { /ch X ( ) dup 0 ch put false charpath ch Kproc } forall + flattenpath pathbbox [ /uY /uX /lY /lX ] MD + CP grestore moveto + currentfont /FontMatrix get dstFM copy dup + 0 get 0 lt { uX lX /uX X /lX X } if + 3 get 0 lt { uY lY /uY X /lY X } if + /cX uX lX add 0.5 mul def + /cY uY lY add 0.5 mul def + debugMode { gsave 0 setgray 1 setlinewidth + lX lY moveto lX uY lineto uX uY lineto uX lY lineto closepath + lX bY moveto uX bY lineto lX cY moveto uX cY lineto + cX lY moveto cX uY lineto stroke + grestore } if + dstFM dup invertmatrix dstM CM srcM + 2 { dstM concatmatrix } repeat pop + getrepl /temp X + S str convert get { + aload pop [ /rot /scl /loc /K ] MD + /aX cX def /aY cY def + loc { + dup 66 eq { /aY bY def } { % B + dup 98 eq { /aY lY def } { % b + dup 108 eq { /aX lX def } { % l + dup 114 eq { /aX uX def } { % r + dup 116 eq { /aY uY def } % t + if } ifelse } ifelse } ifelse } ifelse pop + } forall + K srcFM rot tM rotate dstM + 2 { tM concatmatrix } repeat aload pop pop pop + 2 { scl normalize 4 2 roll } repeat + aX aY transform + /temp temp 7 add def + } forall + temp setrepl +} B +/Rif { + S 3 index convert known { pop replace } { exch pop OE } ifelse +} B +/XA { bind [ /Kproc /str } B /XC { ] 2 array astore def } B +/xs { pop } XA XC +/xks { /kern load OE } XA /kern XC +/xas { pop ax ay rmoveto } XA /ay /ax XC +/xws { c eq { cx cy rmoveto } if } XA /c /cy /cx XC +/xaws { ax ay rmoveto c eq { cx cy rmoveto } if } + XA /ay /ax /c /cy /cx XC +/raws { xaws { awidthshow } Rif } B +/rws { xws { widthshow } Rif } B +/rks { xks { kshow } Rif } B +/ras { xas { ashow } Rif } B +/rs { xs { show } Rif } B +/rrs { getrepl dup 2 add -1 roll //restore exec setrepl } B +PSfragDict begin +islev2 not { /restore { /rrs PSfrag } B } if +/show { /rs PSfrag } B +/kshow { /rks PSfrag } B +/ashow { /ras PSfrag } B +/widthshow { /rws PSfrag } B +/awidthshow { /raws PSfrag } B +end PSfragDict RO pop +end + +%%EndProcSet +%%BeginProcSet: texps.pro +%! +TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2 +index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll +exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]/Metrics +exch def dict begin Encoding{exch dup type/integertype ne{pop pop 1 sub +dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get div def} +ifelse}forall Metrics/Metrics currentdict end def[2 index currentdict +end definefont 3 -1 roll makefont/setfont cvx]cvx def}def/ObliqueSlant{ +dup sin S cos div neg}B/SlantFont{4 index mul add}def/ExtendFont{3 -1 +roll mul exch}def/ReEncodeFont{CharStrings rcheck{/Encoding false def +dup[exch{dup CharStrings exch known not{pop/.notdef/Encoding true def} +if}forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def} +def end + +%%EndProcSet +%%BeginProcSet: special.pro +%! +TeXDict begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N +/vs 792 N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 0 N/rwiSeen false N +/rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N +/@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{ +/hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho +X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B +/@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{ +/urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known +{userdict/md get type/dicttype eq{userdict begin md length 10 add md +maxlength ge{/md md dup length 20 add dict copy def}if end md begin +/letter{}N/note{}N/legal{}N/od{txpose 1 0 mtx defaultmatrix dtransform S +atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{ +itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll +transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll +curveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdf +pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack} +if}N/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 +-1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 +get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip +yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub +neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{ +noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop +90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get +neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr +1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr +2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4 +-1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S +TR}if}N/cp{pop pop showpage pm restore}N end}if}if}N/normalscale{ +Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale +}if 0 setgray}N/psfts{S 65781.76 div N}N/startTexFig{/psf$SavedState +save N userdict maxlength dict begin/magscale true def normalscale +currentpoint TR/psf$ury psfts/psf$urx psfts/psf$lly psfts/psf$llx psfts +/psf$y psfts/psf$x psfts currentpoint/psf$cy X/psf$cx X/psf$sx psf$x +psf$urx psf$llx sub div N/psf$sy psf$y psf$ury psf$lly sub div N psf$sx +psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub +TR/showpage{}N/erasepage{}N/setpagedevice{pop}N/copypage{}N/p 3 def +@MacSetUp}N/doclip{psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll +newpath 4 copy 4 2 roll moveto 6 -1 roll S lineto S lineto S lineto +closepath clip newpath moveto}N/endTexFig{end psf$SavedState restore}N +/@beginspecial{SDict begin/SpecialSave save N gsave normalscale +currentpoint TR @SpecialDefaults count/ocount X/dcount countdictstack N} +N/@setspecial{CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs +neg 0 rlineto closepath clip}if ho vo TR hsc vsc scale ang rotate +rwiSeen{rwi urx llx sub div rhiSeen{rhi ury lly sub div}{dup}ifelse +scale llx neg lly neg TR}{rhiSeen{rhi ury lly sub div dup scale llx neg +lly neg TR}if}ifelse CLIP 2 eq{newpath llx lly moveto urx lly lineto urx +ury lineto llx ury lineto closepath clip}if/showpage{}N/erasepage{}N +/setpagedevice{pop}N/copypage{}N newpath}N/@endspecial{count ocount sub{ +pop}repeat countdictstack dcount sub{end}repeat grestore SpecialSave +restore end}N/@defspecial{SDict begin}N/@fedspecial{end}B/li{lineto}B +/rl{rlineto}B/rc{rcurveto}B/np{/SaveX currentpoint/SaveY X N 1 +setlinecap newpath}N/st{stroke SaveX SaveY moveto}N/fil{fill SaveX SaveY +moveto}N/ellipse{/endangle X/startangle X/yrad X/xrad X/savematrix +matrix currentmatrix N TR xrad yrad scale 0 0 1 startangle endangle arc +savematrix setmatrix}N end + +%%EndProcSet +%%BeginProcSet: color.pro +%! +TeXDict begin/setcmykcolor where{pop}{/setcmykcolor{dup 10 eq{pop +setrgbcolor}{1 sub 4 1 roll 3{3 index add neg dup 0 lt{pop 0}if 3 1 roll +}repeat setrgbcolor pop}ifelse}B}ifelse/TeXcolorcmyk{setcmykcolor}def +/TeXcolorrgb{setrgbcolor}def/TeXcolorgrey{setgray}def/TeXcolorgray{ +setgray}def/TeXcolorhsb{sethsbcolor}def/currentcmykcolor where{pop}{ +/currentcmykcolor{currentrgbcolor 10}B}ifelse/DC{exch dup userdict exch +known{pop pop}{X}ifelse}B/GreenYellow{0.15 0 0.69 0 setcmykcolor}DC +/Yellow{0 0 1 0 setcmykcolor}DC/Goldenrod{0 0.10 0.84 0 setcmykcolor}DC +/Dandelion{0 0.29 0.84 0 setcmykcolor}DC/Apricot{0 0.32 0.52 0 +setcmykcolor}DC/Peach{0 0.50 0.70 0 setcmykcolor}DC/Melon{0 0.46 0.50 0 +setcmykcolor}DC/YellowOrange{0 0.42 1 0 setcmykcolor}DC/Orange{0 0.61 +0.87 0 setcmykcolor}DC/BurntOrange{0 0.51 1 0 setcmykcolor}DC +/Bittersweet{0 0.75 1 0.24 setcmykcolor}DC/RedOrange{0 0.77 0.87 0 +setcmykcolor}DC/Mahogany{0 0.85 0.87 0.35 setcmykcolor}DC/Maroon{0 0.87 +0.68 0.32 setcmykcolor}DC/BrickRed{0 0.89 0.94 0.28 setcmykcolor}DC/Red{ +0 1 1 0 setcmykcolor}DC/OrangeRed{0 1 0.50 0 setcmykcolor}DC/RubineRed{ +0 1 0.13 0 setcmykcolor}DC/WildStrawberry{0 0.96 0.39 0 setcmykcolor}DC +/Salmon{0 0.53 0.38 0 setcmykcolor}DC/CarnationPink{0 0.63 0 0 +setcmykcolor}DC/Magenta{0 1 0 0 setcmykcolor}DC/VioletRed{0 0.81 0 0 +setcmykcolor}DC/Rhodamine{0 0.82 0 0 setcmykcolor}DC/Mulberry{0.34 0.90 +0 0.02 setcmykcolor}DC/RedViolet{0.07 0.90 0 0.34 setcmykcolor}DC +/Fuchsia{0.47 0.91 0 0.08 setcmykcolor}DC/Lavender{0 0.48 0 0 +setcmykcolor}DC/Thistle{0.12 0.59 0 0 setcmykcolor}DC/Orchid{0.32 0.64 0 +0 setcmykcolor}DC/DarkOrchid{0.40 0.80 0.20 0 setcmykcolor}DC/Purple{ +0.45 0.86 0 0 setcmykcolor}DC/Plum{0.50 1 0 0 setcmykcolor}DC/Violet{ +0.79 0.88 0 0 setcmykcolor}DC/RoyalPurple{0.75 0.90 0 0 setcmykcolor}DC +/BlueViolet{0.86 0.91 0 0.04 setcmykcolor}DC/Periwinkle{0.57 0.55 0 0 +setcmykcolor}DC/CadetBlue{0.62 0.57 0.23 0 setcmykcolor}DC +/CornflowerBlue{0.65 0.13 0 0 setcmykcolor}DC/MidnightBlue{0.98 0.13 0 +0.43 setcmykcolor}DC/NavyBlue{0.94 0.54 0 0 setcmykcolor}DC/RoyalBlue{1 +0.50 0 0 setcmykcolor}DC/Blue{1 1 0 0 setcmykcolor}DC/Cerulean{0.94 0.11 +0 0 setcmykcolor}DC/Cyan{1 0 0 0 setcmykcolor}DC/ProcessBlue{0.96 0 0 0 +setcmykcolor}DC/SkyBlue{0.62 0 0.12 0 setcmykcolor}DC/Turquoise{0.85 0 +0.20 0 setcmykcolor}DC/TealBlue{0.86 0 0.34 0.02 setcmykcolor}DC +/Aquamarine{0.82 0 0.30 0 setcmykcolor}DC/BlueGreen{0.85 0 0.33 0 +setcmykcolor}DC/Emerald{1 0 0.50 0 setcmykcolor}DC/JungleGreen{0.99 0 +0.52 0 setcmykcolor}DC/SeaGreen{0.69 0 0.50 0 setcmykcolor}DC/Green{1 0 +1 0 setcmykcolor}DC/ForestGreen{0.91 0 0.88 0.12 setcmykcolor}DC +/PineGreen{0.92 0 0.59 0.25 setcmykcolor}DC/LimeGreen{0.50 0 1 0 +setcmykcolor}DC/YellowGreen{0.44 0 0.74 0 setcmykcolor}DC/SpringGreen{ +0.26 0 0.76 0 setcmykcolor}DC/OliveGreen{0.64 0 0.95 0.40 setcmykcolor} +DC/RawSienna{0 0.72 1 0.45 setcmykcolor}DC/Sepia{0 0.83 1 0.70 +setcmykcolor}DC/Brown{0 0.81 1 0.60 setcmykcolor}DC/Tan{0.14 0.42 0.56 0 +setcmykcolor}DC/Gray{0 0 0 0.50 setcmykcolor}DC/Black{0 0 0 1 +setcmykcolor}DC/White{0 0 0 0 setcmykcolor}DC end + +%%EndProcSet +TeXDict begin @defspecial + + TeXDict begin /landplus90{true}store end + +@fedspecial end +%%BeginFont: CMR8 +%!PS-AdobeFont-1.1: CMR8 1.0 +%%CreationDate: 1991 Aug 20 16:39:40 +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. +11 dict begin +/FontInfo 7 dict dup begin +/version (1.0) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (CMR8) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +end readonly def +/FontName /CMR8 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 50 /two put +readonly def +/FontBBox{-36 -250 1070 750}readonly def +/UniqueID 5000791 def +currentdict end +currentfile eexec +D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 +016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171 +9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F +D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758 +469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8 +2BDBF16FBC7512FAA308A093FE5CF4E9D2405B169CD5365D6ECED5D768D66D6C +68618B8C482B341F8CA38E9BB9BAFCFAAD9C2F3FD033B62690986ED43D9C9361 +3645B82392D5CAE11A7CB49D7E2E82DCD485CBA1772CE422BB1D7283AD675B65 +48A7EA0069A883EC1DAA3E1F9ECE7586D6CF0A128CD557C7E5D7AA3EA97EBAD3 +9619D1BFCF4A6D64768741EDEA0A5B0EFBBF347CDCBE2E03D756967A16B613DB +0FC45FA2A3312E0C46A5FD0466AB097C58FFEEC40601B8395E52775D0AFCD7DB +8AB317333110531E5C44A4CB4B5ACD571A1A60960B15E450948A5EEA14DD330F +EA209265DB8E1A1FC80DCD3860323FD26C113B041A88C88A21655878680A4466 +FA10403D24BB97152A49B842C180E4D258C9D48F21D057782D90623116830BA3 +9902B3C5F2F2DD01433B0D7099C07DBDE268D0FFED5169BCD03D48B2F058AD62 +D8678C626DC7A3F352152C99BA963EF95F8AD11DB8B0D351210A17E4C2C55AD8 +9EB64172935D3C20A398F3EEEEC31551966A7438EF3FEE422C6D4E05337620D5 +ACC7B52BED984BFAAD36EF9D20748B05D07BE4414A63975125D272FAD83F76E6 +10FFF8363014BE526D580873C5A42B70FA911EC7B86905F13AFE55EB0273F582 +83158793B8CC296B8DE1DCCF1250FD57CB0E035C7EDA3B0092ED940D37A05493 +2EC54E09B984FCA4AB7D2EA182BCF1263AA244B07EC0EA901C077A059F709F30 +4384CB5FA748F2054FAD9A7A43D4EA427918BD414F766531136B60C3477C6632 +BEFE3897B58C19276A301926C2AEF2756B367319772C9B201C49B4D935A8267B +041D6F1783B6AEA4DAC4F5B3507D7032AA640AAB12E343A4E9BDCF419C04A721 +3888B25AF4E293AACED9A6BDC78E61DA1C424C6503CC1885F762B93EC4488CF1 +43FF3B2A427C5E1C756D1925B52D26103C0E620D4B6CF9C49D4A75DB63A2F3DD +154692023E81DE9950C15EAA7EDDE692D58FEFD061D9032926692234B283908F +54EFC2384D86B444F343FC4B74E7142F0A7CF28AC0DE181928AB8D94CD13583F +05EDD18CF2582518BE01DC67DC5599E412B60A2767C155A5853EF60122F205CE +119FC538B493BECDFDE17849C2F8D052178F54AF9921A0779394D333DDC1DCCD +7820E46A07926C88BE7B148236F0D8C3D8C0F05008521B61C09AD4D8EDE82D60 +883E42920603F63F3AC8BB9FF20689E58CB218325533E850E51F28F41E74373B +386E5F59B6C8F87AF867CBA04D1A04002AB3CF9A0FC2634AB7ED2E7943E32848 +0BE07B4720F27DCCBFDAEA7ADBCE3EC87BB9C20496219178EE14B16FD57CDD94 +3473AEDE343340E98C5F84 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndFont +%%BeginFont: CMMI12 +%!PS-AdobeFont-1.1: CMMI12 1.100 +%%CreationDate: 1996 Jul 27 08:57:55 +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. +11 dict begin +/FontInfo 7 dict dup begin +/version (1.100) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (CMMI12) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle -14.04 def +/isFixedPitch false def +end readonly def +/FontName /CMMI12 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 120 /x put +dup 121 /y put +readonly def +/FontBBox{-30 -250 1026 750}readonly def +/UniqueID 5087386 def +currentdict end +currentfile eexec +D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE +3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B +532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470 +B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B +986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE +D919C2DDD26BDC0D99398B9F4D03D6A8F05B47AF95EF28A9C561DBDC98C47CF5 +5250011D19E9366EB6FD153D3A100CAA6212E3D5D93990737F8D326D347B7EDC +4391C9DF440285B8FC159D0E98D4258FC57892DCC57F7903449E07914FBE9E67 +3C15C2153C061EB541F66C11E7EE77D5D77C0B11E1AC55101DA976CCACAB6993 +EED1406FBB7FF30EAC9E90B90B2AF4EC7C273CA32F11A5C1426FF641B4A2FB2F +4E68635C93DB835737567FAF8471CBC05078DCD4E40E25A2F4E5AF46C234CF59 +2A1CE8F39E1BA1B2A594355637E474167EAD4D97D51AF0A899B44387E1FD933A +323AFDA6BA740534A510B4705C0A15647AFBF3E53A82BF320DD96753639BE49C +2F79A1988863EF977B800C9DB5B42039C23EB86953713F730E03EA22FF7BB2C1 +D97D33FD77B1BDCC2A60B12CF7805CFC90C5B914C0F30A673DF9587F93E47CEA +5932DD1930560C4F0D97547BCD805D6D854455B13A4D7382A22F562D7C55041F +0FD294BDAA1834820F894265A667E5C97D95FF152531EF97258F56374502865D +A1E7C0C5FB7C6FB7D3C43FEB3431095A59FBF6F61CEC6D6DEE09F4EB0FD70D77 +2A8B0A4984C6120293F6B947944BE23259F6EB64303D627353163B6505FC8A60 +00681F7A3968B6CBB49E0420A691258F5E7B07B417157803FCBE9B9FB1F80FD8 +CA0A265B570BA294792DD2FC75CE2C83DCC225B902551DBD11E687EAC6E85D2B +02C28359A40AE66A6A6A8862CB17815B41E280313F0EFAA9981755611F7F683D +35603984D60BB0C772054355A97A5E03C689E23B04DA79080CE4579CC90EF38B +1A64CDD92B907AE83192C3C46C5FC40BB412F6656DC6349E6D29B5936DCE94CB +98E3B465FFF7574095F57BB3750F1A55F20456933FCA64CC1B060E260782BEF6 +721D38BF65DF1F1DA5439DBC802B4A9D803BD635C05B9ACA4D26C28195A1F4C4 +CC623B30B076D4861E89B93E2CF26F6DF07199C03BA5466FA3EFBD7F77EFE068 +E55B7186855063934C5716EDC3F5056BDA963B6B933B546475BCFF91C512F411 +8D14B1C32C9735281E536F87ADBF1AD9AA04D7DE2096413AB8B3C9E8B1F6F338 +3B80D637D761A7A992CF58188FB0A04FD6C6886A60F27EF31C45E92F4717D8FB +D4A0844A8D9036D5F2BBCA2C170F3042F22DEB8D151C7135AB91DA289886604B +70B9F2A25A7D576FA1D70DC935CDD3E81915E9BE11CB03C9FDCFDE3700BDDAAE +D61CD52A78B075FF4FB8BE949FCC4B04813776A3451FE65A47D57D7B66499E99 +B97C5141D2E05BA86C59535C34BA975381F96A4EC47EA032C6BEEF9F2E6565A0 +0712528976CD8FD94E2F8F2607FEE1B55382A62B35FA16C62707F8018B3FF765 +2DFB5B836BFA9050042921C72B8D032BDF6C594CCBD796BB15E26398DD34FAB2 +4DCA5FDEF424CFB1800057E4CD4218C88DAEE1BCCCA10DC115C33E05D53C5F04 +2E512B2E4AF08B012316E7524910C4111563ABB27AB6E746CEBF9CE816B349CE +7E2F102C920C27726380FBD329D29ADDF290883487CA36C1D3A270530780EEA0 +8AEC4786551B7514AFDF162C9C8EEDA068246F367E88835E166A90FB1A389A34 +26422E91ED9D4D51006C846969E9B525242A68394BFBC38BCB99BB5F798D9782 +6BB8F3C16DA712D11AD17B0D534BFB5A95B4502A2F9B8BF5DBC9A1ACE3DC493E +EB90B5C8BE7984C9A44B32C7984E555C98F2E7BFC360F5D711405C8909ECF938 +AE14268A5CE61AD3C7049FC0F323C58DB5982AF5852B3162580D548E00283B71 +D458FA6B160AB700FA1140B5910FF6AFAF2A190FA5655E9136E4A67FE5080C1D +D1157708DA2396B7A35EFBDA9F48A204AE6141BD3535EA9092AFF9802E05FB0D +0144D18D15CC6BAE84F1063C90DD0F1E673D8F76CDC4CD5972CCB9F37F3B5E2C +E83EE1E29A667E48802AE298030487BC6B193A73760ED440397A34EEFC789820 +4CE4ECC1197773D50894A2C7DFF7A9BE7329BC9A0B02F48DD4CDD9AC76205AA3 +8B51F8EE52461EDDD5056540B446D326ED9FD2BA85B2A62C3F71993D64D78BB4 +6DF1B005782AB14BDE5EEFB1190C1F0C00BEE84737F75D63692C6792BF09F890 +C62E524DED282C432C705E9F287260EBA4F9BB6C0AF6431691A0376D728BD92D +7173C6B26146B8726CA77F2C634F5C12E9B0B2FD4AA593C23B69566978A3350D +DC9CA4083529BE0119A2D21F9B9839CBB4F23451EB1B170C72C1851BC089285B +663F4C060F458D6205E9720A6026A4D4851F71E2C86C85B0292244B8C8147C97 +706E324DD0308212290F7A1DA26272B519C4E2DCED4320A7E744392E2E13805A +B138D9BEBD7CCE392F85D6D85675FC2DC15C9194C3EE37D20F40CC3FA396324C +74113D0D2F00C75072114CBADFADD80B6781AFA3E1A3F0F2D3ADECE6B4E21AC2 +C563FEC3CD25A4D3BB445757E3E7780DA89346E2A021AA3CDEC73CE3B612A1B5 +28AF3990231A6CE720B451F6F492184644404C1024A31EEAFFF8841BFD7A1036 +4A8088D1871EFFAFF0F0BA577EC32FE6D78815C6F26D3C6E9F32DE35EA9283C9 +89F2A53D0E27DB6F854DDE6524141F28C9EB3B5D +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndFont +%%BeginFont: CMR12 +%!PS-AdobeFont-1.1: CMR12 1.0 +%%CreationDate: 1991 Aug 20 16:38:05 +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. +11 dict begin +/FontInfo 7 dict dup begin +/version (1.0) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (CMR12) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +end readonly def +/FontName /CMR12 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 61 /equal put +dup 80 /P put +dup 83 /S put +dup 97 /a put +dup 99 /c put +dup 101 /e put +dup 102 /f put +dup 103 /g put +dup 108 /l put +dup 109 /m put +dup 110 /n put +dup 112 /p put +dup 114 /r put +dup 115 /s put +dup 116 /t put +readonly def +/FontBBox{-34 -251 988 750}readonly def +/UniqueID 5000794 def +currentdict end +currentfile eexec +D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 +016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171 +9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F +D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758 +469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8 +2BDBF16FBC7512FAA308A093FE5CF4E9D2405B169CD5365D6ECED5D768D66D6C +68618B8C482B341F8CA38E9BB9BAFCFAAD9C2F3FD033B62690986ED43D9C9361 +3645B82392D5CAE11A7CB49D7E2E82DCD485CBA04C77322EB2E6A79D73DC194E +59C120A2DABB9BF72E2CF256DD6EB54EECBA588101ABD933B57CE8A3A0D16B28 +51D7494F73096DF53BDC66BBF896B587DF9643317D5F610CD9088F9849126F23 +DDE030F7B277DD99055C8B119CAE9C99158AC4E150CDFC2C66ED92EBB4CC092A +AA078CE16247A1335AD332DAA950D20395A7384C33FF72EAA31A5B89766E635F +45C4C068AD7EE867398F0381B07CB94D29FF097D59FF9961D195A948E3D87C31 +821E9295A56D21875B41988F7A16A1587050C3C71B4E4355BB37F255D6B237CE +96F25467F70FA19E0F85785FF49068949CCC79F2F8AE57D5F79BB9C5CF5EED5D +9857B9967D9B96CDCF73D5D65FF75AFABB66734018BAE264597220C89FD17379 +26764A9302D078B4EB0E29178C878FD61007EEA2DDB119AE88C57ECFEF4B71E4 +140A34951DDC3568A84CC92371A789021A103A1A347050FDA6ECF7903F67D213 +1D0C7C474A9053866E9C88E65E6932BA87A73686EAB0019389F84D159809C498 +1E7A30ED942EB211B00DBFF5BCC720F4E276C3339B31B6EABBB078430E6A09BB +377D3061A20B1EB98796B8607EECBC699445EAA866C38E02DF59F5EDD378303A +0733B90E7835C0AAF32BA04F1566D8161EA89CD4D14DDB953F8B910BFC8A7F03 +5020F55EF8FC2640ADADA156F6CF8F2EB6610F7EE8874A26CBE7CD154469B9F4 +ED76886B3FB679FFDEB59BB6C55AF7087BA48B75EE2FB374B19BCC421A963E15 +FE05ECAAF9EECDF4B2715010A320102E6F8CCAA342FA11532671CEBFCF38BC60 +5BF06A0E01053B7F105ED5140FB16BBB732D97736174010EE306CC051440FBF9 +9ADE6086D770046679E2BBBD90F0E3FB85C7F24A1539B769076C90E61C8F08A6 +331825DE07F7E9D416C999A6C6A7B892413F4B384B6C3973483B4D1F9CE39C2C +CDE229FFD5AB3883282CAA1F9EAAF4B2A1DEDC213EA997E150509FB6FBB3C2AF +16FFDB8AA25F9A1D4936C27CCB78D3327D257A6A37D26E1775E1ED48B976ADB2 +D16C4FC11A6959BE4DCD282E4A1BFBF9C5CB5E7027468FB86A136350A6374411 +F824E3B6A94D01474D9BCA025630FA9D745C1D1FC0D59691FE2D2203C3630A8A +47294904A30FC43ABCB36DB5EBEC5D40813D9553ACB140CB32CD2EC93860AE63 +A5E1FC6BD78DE8EB575D9D4E189992021BA237236A9117702AFD31C95C2573F2 +E36271C7D444AFAF952233871ECCC6538A6250D599B254DC66356DBF59CE597C +F720ED0F3671ADD7CD85510908A2359DF601140F79AF1778180666DC1E0A4A63 +6020D8F946BEBE2B22E08BDF317498DE4F50D1A92C29FBB942AB8223538616C4 +60C845E364C26B6D769C211CFA85728B4724593D15A0EF4AD21ECC9BA97E0195 +D5FCE7CAB77F6962714EAF43687F33238B963AFDB5532F602AB43F1BACAB35CF +041C2292897BFF7AE30199FDBE16827DF0E3EE975433904EB122D18B21E058BA +4969E1E72D2D175AD3FD4F71A91F7BD0403A1627084E667D8E16302A4E3D4BEA +F0DB6AFCDCA8D06FC48F86C859C9427BA4CE35B60B7CB3746CA1254D6CAADC8C +8EA64CEB940754DB41807DF080A5A2FB91A73B26EBBBA048443333C1282E25EF +2FCECE6063B04DB6112E2287539B8C09A1B3B70B3D2EA5E8E7E1A05100E443B5 +1713C2871021083F28D47AE879F119298B39B5260759DBDEDD9450FC28F1305E +29A8C1DD887E369529680C3F16482487AED0F515A07319A593C7D83B848EA118 +1F0C9F468C0FD3086ABC8CB62DC8A2547C88E295AA98222BE84087B3385AC6A7 +4CC38085B4688B3250C4CFAA67D44D76D2DD351731EA76E4F664CF03F62118B6 +D3E410DBD90DB87122425B14193F6EDDB7E559D28860EDC2DB5CA8FF02DB495A +4A9183920CEA6DD3F2CADBBEF08AFA699D3EFBA6FDD6771D0B0B1DF0CCE81DB1 +CAB72FA02F3F4C9D48116508E94650389F4DDB29688EDABB9CFF54368C3355CA +EBED144A63791AB507D5A7180B2B10C32D6A6411145F72F4B049A75D55E43AF4 +58F694CCBDFFED8E158635807A3514967E9204E43C087BAB70F83DB21DB0D3ED +2800E395456A5F5BB63A5B9CEE35ED2F1D85F89C00EAAF75088BF2EDC647A781 +C21CE1DB5181373EC6619767DB5501CC1495ED533CE198D96B6717796959776C +3067D2FDE1159C8BB2B758817BA0CF7CB7BA138F2B49F1FF50F3628154A2FEDE +03EE0D740F53879FA1D28A011E3106B3A8A1FC2F44AE14F0721975FF78ADE6A7 +0D8F92496A07875F746ACE666B186265D051D107D37811B4DF51AF15FBBAA83C +B68B6803DE30867B278672F9B7724391603E657687D3EE2F12ECA45F449F2A32 +BA47D60A2C44C1BF07EBCAA219C5ABE063BBC16580BC2D44CFD910D1026D6158 +6B4502A493E276EA63BE11FBAA8D6FB227DCFC0FC5E4C4E88C8BD2A8122C67EC +7B74FEA02F4DA5A59752F6096CE2E94CE78D9A31B430DC24A625BADDA610B4B0 +310491A6E799C10602494ADF338EC5099BF7089200498985635BB43C7E2414A5 +43319FA70F96162EF6E106287A7CAFE20D739A91F4852F36403686866A538C62 +EFE3E95DFA85AEA2CA9A4999C4C8B7334521152360CEC0374EA3A01E50624E7F +E4FE4EC07770675C460C7A3796607CA7CDDB53E347FBE0B80A04E6E9BABBBEB2 +F2C22C990D6854E4D51E82B6FBD3D3775A8FA9EBD7CE3462A06AA08F048D406D +91D35E6797C0B2FF5984ED67BC082BA1355AD0ABEF6D1257B48953075002CC59 +F7C65CC5B6F77E0C61E28E80737434ABDA0604865C48028161C103A75A82A88A +12BD57EA72761E9EB6806ECD663255809ABB8D789E0A7BF08FBC09263C9D9F04 +E4CB658F266A06E4644AEDCEE4F294BC8F172706C3DD5617B01454C5153B7928 +F31CA8EA244DEE29ECDF415C215C2817908AB1EC1F680015DF796AD252F353B0 +07153FCFA701DA7F276799DC836EAF81BCB81AC255384E57AD23AFC4C92AEDED +4C19D8E1875E559AA43364001942F2186489B30E4B9B420E7D8F6CAF9E1606FA +65BAC2F2D1FF5A5844AB681B619B99DF0188561FBFE9A756D638084DB482ADDB +722B5404AF7F9A37BD9F35FB0A53496C3FAC364265D940205987A1DE8A033301 +A914CA3AFB436B5FC7199F1911C82BB50023C00CC1571BD094DDE2DFA8177757 +F6262AE635DF4A4BD23C2AC803C474216F8EFA3D5222CF42D84C02F010113137 +A8A1B1C32464A31AD8340093B3126DC78BE1E51286C6ED9DBFB12DD60F48D6FB +9D3BA766855BC2B43DDF4D30BEF8772966B33668E5CD2123A5D2811259038DFB +5B4076AF880B966EE23434A083B411123B25A34C8AE4B0F147A2396675C64780 +F2F7342658B3C0BCAA905BB329D8CFD68CAA122C4000B4506099ABE9068C9C14 +67B1912528CC0DBA08E047BF681D7F7689104D94C895782FFE150A320FAE54BD +1313E2F336FC5086F24DE0A2310D0BEA3208650259ED45D9446E45D7CE0F5F2C +6B4CDE23EFE97CE88BC8EEC48F06CA3230062BDD3C6F010E7FD0CAB162BA09F4 +F1A6C0F8B44A35ED8CF07F8144EC7FC295377CDC3453A29054A29C070CD15A15 +57C6C317A011523D4E915C6A639A70CAAA9C28EC8A80B527303F840205D03A38 +99E597B01202A385A68D55BDA07E4D77D997D3DD6ACF0F15754BBD97222B9C8B +6BC1606A4BEF5E40FCBB38EC0DECB4558EE1823F09999FA69EC94F9DE6E68269 +EB24250C6D993602C43D1095EBAA83A8A77E9D6ACC7D4B090EE34A20267289DD +74CC05CB2AF8E850BD22FCF55076A3B8F2160A6F0610F7338F020BE9E871F8C1 +E368863BBC395754D92F8E28EC7A79AFD2C944FD1E0619EF05D08EBD4ACE1AA6 +17C4C41A8AE46505C92B72E30707E830082B6B0B5503CF66E0911A87A7CB4A51 +DDDB9A6AA5F25EC58FECF0C7BD44B4FDDFF4A281CB93053F26874A3667FC4BDC +06269276961697F9D2968F4D291817D9C596525C37ADFBFA4C0D9930B64EE0D8 +13CCE808A46AF885E910C491D9BCC5AEC3E2B45BAD14615867AD99EE61DC6EC0 +BDFA9634CE416AA68A6D33F76D7BC825F18A5FF826518137A68BE23AB82DE357 +76606886CBD649CD8113F2B8B4F460085B6FB145AB61ED1637867DD755F29AB8 +B18CD8A68F5FBAC04A96D026F978EAC86187180032E60E6122307288D637C31C +F5C6FD8964747F1166F34763B682F4545FE8908B7E4F0459F540649F1C806124 +F82317E9ECAEC3C91A8038CE21F125D9515F5B46BC87E2D8072DD2C6DEC6003B +2162E714F2C27BD0A4FC1F1E74312581A44178D4FBAA47AFE0684602CB937028 +A1E039B398A81D757857589A7D8C079BA7C6A3E4AC01611B1E45DC0D877CA3DC +B5D9414BB4C0B64A1E04E1B1A98F6AAA605943ADD43489FF4590EB271C579DBB +D0B5EFDDFFF918D151AA8953D35A7499CE7523A2C56E4BF8A0D33F41D617DDD4 +186794CB26F2B7B96A0FF9D779BCF80B286691C828E2D2AD3B39CB +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndFont +TeXDict begin 40258437 52099154 1000 8000 8000 (fm.dvi) +@start /Fa 205[470 50[{}1 885.568 /CMR8 rf /Fb 134[634 +739 120[{}2 1328.35 /CMMI12 rf /Fc 139[506 513 506 1[723 +1[723 1084 361 4[650 397 578 1[578 1[650 13[723 2[885 +18[1012 61[{}15 1328.35 /CMR12 rf end +%%EndProlog +%%BeginSetup +%%Feature: *Resolution 8000dpi +TeXDict begin + +%%EndSetup +1 0 bop Black Black Black -8000 22866 a + /PSfrag where{pop(x)[[0(c)1 0]](y)[[1(c)1 0]](y = x^2)[[2(c)1 0]]3 +0 -1/Begin PSfrag}{userdict /PSfrag{pop}put}ifelse + -8000 22866 a +@beginspecial 50 @llx 50 @lly 410 @urx 302 @ury 3968 +@rwi @setspecial +%%BeginDocument: /net/sirius/home/vogel/www/fragmaster/parabel_fm.eps +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: parabel_fm.eps +%%Creator: gnuplot 3.7 patchlevel 1 +%%CreationDate: Thu Jan 29 13:11:14 2004 +%%DocumentFonts: (atend) +%%BoundingBox: 50 50 410 302 +%%Orientation: Portrait +%%EndComments +/gnudict 256 dict def +gnudict begin +/Color false def +/Solid false def +/gnulinewidth 5.000 def +/userlinewidth gnulinewidth def +/vshift -46 def +/dl {10 mul} def +/hpt_ 31.5 def +/vpt_ 31.5 def +/hpt hpt_ def +/vpt vpt_ def +/M {moveto} bind def +/L {lineto} bind def +/R {rmoveto} bind def +/V {rlineto} bind def +/vpt2 vpt 2 mul def +/hpt2 hpt 2 mul def +/Lshow { currentpoint stroke M + 0 vshift R show } def +/Rshow { currentpoint stroke M + dup stringwidth pop neg vshift R show } def +/Cshow { currentpoint stroke M + dup stringwidth pop -2 div vshift R show } def +/UP { dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def + /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def } def +/DL { Color {setrgbcolor Solid {pop []} if 0 setdash } + {pop pop pop Solid {pop []} if 0 setdash} ifelse } def +/BL { stroke userlinewidth 2 mul setlinewidth } def +/AL { stroke userlinewidth 2 div setlinewidth } def +/UL { dup gnulinewidth mul /userlinewidth exch def + 10 mul /udl exch def } def +/PL { stroke userlinewidth setlinewidth } def +/LTb { BL [] 0 0 0 DL } def +/LTa { AL [1 udl mul 2 udl mul] 0 setdash 0 0 0 setrgbcolor } def +/LT0 { PL [] 1 0 0 DL } def +/LT1 { PL [4 dl 2 dl] 0 1 0 DL } def +/LT2 { PL [2 dl 3 dl] 0 0 1 DL } def +/LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def +/LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def +/LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def +/LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def +/LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def +/LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def +/Pnt { stroke [] 0 setdash + gsave 1 setlinecap M 0 0 V stroke grestore } def +/Dia { stroke [] 0 setdash 2 copy vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath stroke + Pnt } def +/Pls { stroke [] 0 setdash vpt sub M 0 vpt2 V + currentpoint stroke M + hpt neg vpt neg R hpt2 0 V stroke + } def +/Box { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath stroke + Pnt } def +/Crs { stroke [] 0 setdash exch hpt sub exch vpt add M + hpt2 vpt2 neg V currentpoint stroke M + hpt2 neg 0 R hpt2 vpt2 V stroke } def +/TriU { stroke [] 0 setdash 2 copy vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath stroke + Pnt } def +/Star { 2 copy Pls Crs } def +/BoxF { stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath fill } def +/TriUF { stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath fill } def +/TriD { stroke [] 0 setdash 2 copy vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath stroke + Pnt } def +/TriDF { stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath fill} def +/DiaF { stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath fill } def +/Pent { stroke [] 0 setdash 2 copy gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath stroke grestore Pnt } def +/PentF { stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath fill grestore } def +/Circle { stroke [] 0 setdash 2 copy + hpt 0 360 arc stroke Pnt } def +/CircleF { stroke [] 0 setdash hpt 0 360 arc fill } def +/C0 { BL [] 0 setdash 2 copy moveto vpt 90 450 arc } bind def +/C1 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc closepath fill + vpt 0 360 arc closepath } bind def +/C2 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 180 arc closepath fill + vpt 0 360 arc closepath } bind def +/C3 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 180 arc closepath fill + vpt 0 360 arc closepath } bind def +/C4 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 180 270 arc closepath fill + vpt 0 360 arc closepath } bind def +/C5 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc + 2 copy moveto + 2 copy vpt 180 270 arc closepath fill + vpt 0 360 arc } bind def +/C6 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 270 arc closepath fill + vpt 0 360 arc closepath } bind def +/C7 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 270 arc closepath fill + vpt 0 360 arc closepath } bind def +/C8 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 270 360 arc closepath fill + vpt 0 360 arc closepath } bind def +/C9 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 270 450 arc closepath fill + vpt 0 360 arc closepath } bind def +/C10 { BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill + 2 copy moveto + 2 copy vpt 90 180 arc closepath fill + vpt 0 360 arc closepath } bind def +/C11 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 180 arc closepath fill + 2 copy moveto + 2 copy vpt 270 360 arc closepath fill + vpt 0 360 arc closepath } bind def +/C12 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 180 360 arc closepath fill + vpt 0 360 arc closepath } bind def +/C13 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc closepath fill + 2 copy moveto + 2 copy vpt 180 360 arc closepath fill + vpt 0 360 arc closepath } bind def +/C14 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 360 arc closepath fill + vpt 0 360 arc } bind def +/C15 { BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill + vpt 0 360 arc closepath } bind def +/Rec { newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto + neg 0 rlineto closepath } bind def +/Square { dup Rec } bind def +/Bsquare { vpt sub exch vpt sub exch vpt2 Square } bind def +/S0 { BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare } bind def +/S1 { BL [] 0 setdash 2 copy vpt Square fill Bsquare } bind def +/S2 { BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def +/S3 { BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare } bind def +/S4 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def +/S5 { BL [] 0 setdash 2 copy 2 copy vpt Square fill + exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def +/S6 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare } bind def +/S7 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill + 2 copy vpt Square fill + Bsquare } bind def +/S8 { BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare } bind def +/S9 { BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare } bind def +/S10 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill + Bsquare } bind def +/S11 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill + Bsquare } bind def +/S12 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare } bind def +/S13 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill + 2 copy vpt Square fill Bsquare } bind def +/S14 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill + 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def +/S15 { BL [] 0 setdash 2 copy Bsquare fill Bsquare } bind def +/D0 { gsave translate 45 rotate 0 0 S0 stroke grestore } bind def +/D1 { gsave translate 45 rotate 0 0 S1 stroke grestore } bind def +/D2 { gsave translate 45 rotate 0 0 S2 stroke grestore } bind def +/D3 { gsave translate 45 rotate 0 0 S3 stroke grestore } bind def +/D4 { gsave translate 45 rotate 0 0 S4 stroke grestore } bind def +/D5 { gsave translate 45 rotate 0 0 S5 stroke grestore } bind def +/D6 { gsave translate 45 rotate 0 0 S6 stroke grestore } bind def +/D7 { gsave translate 45 rotate 0 0 S7 stroke grestore } bind def +/D8 { gsave translate 45 rotate 0 0 S8 stroke grestore } bind def +/D9 { gsave translate 45 rotate 0 0 S9 stroke grestore } bind def +/D10 { gsave translate 45 rotate 0 0 S10 stroke grestore } bind def +/D11 { gsave translate 45 rotate 0 0 S11 stroke grestore } bind def +/D12 { gsave translate 45 rotate 0 0 S12 stroke grestore } bind def +/D13 { gsave translate 45 rotate 0 0 S13 stroke grestore } bind def +/D14 { gsave translate 45 rotate 0 0 S14 stroke grestore } bind def +/D15 { gsave translate 45 rotate 0 0 S15 stroke grestore } bind def +/DiaE { stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath stroke } def +/BoxE { stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath stroke } def +/TriUE { stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath stroke } def +/TriDE { stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath stroke } def +/PentE { stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath stroke grestore } def +/CircE { stroke [] 0 setdash + hpt 0 360 arc stroke } def +/Opaque { gsave closepath 1 setgray fill grestore 0 setgray closepath } def +/DiaW { stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V Opaque stroke } def +/BoxW { stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V Opaque stroke } def +/TriUW { stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V Opaque stroke } def +/TriDW { stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V Opaque stroke } def +/PentW { stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + Opaque stroke grestore } def +/CircW { stroke [] 0 setdash + hpt 0 360 arc Opaque stroke } def +/BoxFill { gsave Rec 1 setgray fill grestore } def +/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont +dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall +currentdict end definefont +end +%%EndProlog +gnudict begin +gsave +50 50 translate +0.050 0.050 scale +0 setgray +newpath +(Helvetica) findfont 140 scalefont setfont +1.000 UL +LTb +630 420 M +63 0 V +6269 0 R +-63 0 V +546 420 M +(0) Rshow +630 887 M +63 0 V +6269 0 R +-63 0 V +546 887 M +(0.5) Rshow +630 1353 M +63 0 V +6269 0 R +-63 0 V +-6353 0 R +(1) Rshow +630 1820 M +63 0 V +6269 0 R +-63 0 V +-6353 0 R +(1.5) Rshow +630 2287 M +63 0 V +6269 0 R +-63 0 V +-6353 0 R +(2) Rshow +630 2753 M +63 0 V +6269 0 R +-63 0 V +-6353 0 R +(2.5) Rshow +630 3220 M +63 0 V +6269 0 R +-63 0 V +-6353 0 R +(3) Rshow +630 3687 M +63 0 V +6269 0 R +-63 0 V +-6353 0 R +(3.5) Rshow +630 4153 M +63 0 V +6269 0 R +-63 0 V +-6353 0 R +(4) Rshow +630 4620 M +63 0 V +6269 0 R +-63 0 V +-6353 0 R +(4.5) Rshow +630 420 M +0 63 V +0 4137 R +0 -63 V +630 280 M +(-2) Cshow +1422 420 M +0 63 V +0 4137 R +0 -63 V +0 -4277 R +(-1.5) Cshow +2213 420 M +0 63 V +0 4137 R +0 -63 V +0 -4277 R +(-1) Cshow +3005 420 M +0 63 V +0 4137 R +0 -63 V +0 -4277 R +(-0.5) Cshow +3796 420 M +0 63 V +0 4137 R +0 -63 V +0 -4277 R +(0) Cshow +4588 420 M +0 63 V +0 4137 R +0 -63 V +0 -4277 R +(0.5) Cshow +5379 420 M +0 63 V +0 4137 R +0 -63 V +0 -4277 R +(1) Cshow +6171 420 M +0 63 V +0 4137 R +0 -63 V +0 -4277 R +(1.5) Cshow +6962 420 M +0 63 V +0 4137 R +0 -63 V +0 -4277 R +(2) Cshow +1.000 UL +LTb +630 420 M +6332 0 V +0 4200 V +-6332 0 V +630 420 L +140 2520 M +currentpoint gsave translate 90 rotate 0 0 M +(y) Cshow +grestore +3796 70 M +(x) Cshow +3796 4830 M +(y = x^2) Cshow +1.000 UL +LT0 +630 4153 M +64 -149 V +64 -146 V +64 -143 V +64 -141 V +64 -137 V +64 -134 V +64 -131 V +64 -128 V +64 -125 V +64 -122 V +64 -119 V +64 -115 V +63 -113 V +64 -110 V +64 -106 V +64 -104 V +64 -101 V +64 -97 V +64 -95 V +64 -91 V +64 -88 V +64 -86 V +64 -82 V +64 -79 V +64 -76 V +64 -74 V +64 -70 V +64 -67 V +64 -64 V +64 -61 V +64 -58 V +64 -54 V +64 -52 V +64 -49 V +64 -46 V +64 -42 V +64 -40 V +63 -36 V +64 -34 V +64 -30 V +64 -28 V +64 -24 V +64 -22 V +64 -18 V +64 -15 V +64 -12 V +64 -9 V +64 -7 V +64 -3 V +64 0 V +64 3 V +64 7 V +64 9 V +64 12 V +64 15 V +64 18 V +64 22 V +64 24 V +64 28 V +64 30 V +64 34 V +63 36 V +64 40 V +64 42 V +64 46 V +64 49 V +64 52 V +64 54 V +64 58 V +64 61 V +64 64 V +64 67 V +64 70 V +64 74 V +64 76 V +64 79 V +64 82 V +64 86 V +64 88 V +64 91 V +64 95 V +64 97 V +64 101 V +64 104 V +64 106 V +64 110 V +63 113 V +64 115 V +64 119 V +64 122 V +64 125 V +64 128 V +64 131 V +64 134 V +64 137 V +64 141 V +64 143 V +64 146 V +64 149 V +stroke +grestore +end +showpage +%%Trailer +%%DocumentFonts: Helvetica + +%%EndDocument + @endspecial -8000 22866 a + /End PSfrag + -8000 22866 a -8000 16649 +a + /Hide PSfrag + -8000 16649 a -19587 17571 a Fc(PSfrag)434 b(replacemen)-36 +b(ts)p -19587 18007 11587 45 v -8000 18051 a + /Unhide PSfrag + -8000 18051 +a -8370 19370 a + { + -8370 19370 a Black -8740 19656 a Fb(x)p +Black -8370 19370 a + } 0/Place PSfrag + -8370 19370 a -8341 20846 a + { + -8341 +20846 a Black -8682 21003 a Fb(y)p Black -8341 20846 +a + } 1/Place PSfrag + -8341 20846 a -9848 22211 a + { + -9848 22211 a Black -11696 +22608 a Fb(y)416 b Fc(=)369 b Fb(x)-8526 22126 y Fa(2)p +Black -9848 22211 a + } 2/Place PSfrag + -9848 22211 a Black Black Black eop +%%Trailer +end +userdict /end-hook known{end-hook}if +%%EOF + +%%EndDocument + @endspecial 35 2920 a(The)e(title)i(and)f(the)g(lab)r(els)g(for)f(the) +h Fb(x)g Fd(and)g Fb(y)j Fd(axis)c(ha)n(v)n(e)g(b)r(een)h(replaced)f +(with)h(L)2595 2903 y Fa(A)2632 2920 y Fd(T)2678 2938 +y(E)2724 2920 y(X)g(co)r(de)g(using)g Fc(psfrag)p Fd(.)36 +b(The)28 b(original)-90 3019 y(graphics)e(w)n(as:)726 +4841 y @beginspecial 50 @llx 50 @lly 410 @urx 302 @ury +2937 @rwi @setspecial +%%BeginDocument: parabel_fm.eps +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: parabel_fm.eps +%%Creator: gnuplot 3.7 patchlevel 1 +%%CreationDate: Thu Jan 29 13:11:14 2004 +%%DocumentFonts: (atend) +%%BoundingBox: 50 50 410 302 +%%Orientation: Portrait +%%EndComments +/gnudict 256 dict def +gnudict begin +/Color false def +/Solid false def +/gnulinewidth 5.000 def +/userlinewidth gnulinewidth def +/vshift -46 def +/dl {10 mul} def +/hpt_ 31.5 def +/vpt_ 31.5 def +/hpt hpt_ def +/vpt vpt_ def +/M {moveto} bind def +/L {lineto} bind def +/R {rmoveto} bind def +/V {rlineto} bind def +/vpt2 vpt 2 mul def +/hpt2 hpt 2 mul def +/Lshow { currentpoint stroke M + 0 vshift R show } def +/Rshow { currentpoint stroke M + dup stringwidth pop neg vshift R show } def +/Cshow { currentpoint stroke M + dup stringwidth pop -2 div vshift R show } def +/UP { dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def + /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def } def +/DL { Color {setrgbcolor Solid {pop []} if 0 setdash } + {pop pop pop Solid {pop []} if 0 setdash} ifelse } def +/BL { stroke userlinewidth 2 mul setlinewidth } def +/AL { stroke userlinewidth 2 div setlinewidth } def +/UL { dup gnulinewidth mul /userlinewidth exch def + 10 mul /udl exch def } def +/PL { stroke userlinewidth setlinewidth } def +/LTb { BL [] 0 0 0 DL } def +/LTa { AL [1 udl mul 2 udl mul] 0 setdash 0 0 0 setrgbcolor } def +/LT0 { PL [] 1 0 0 DL } def +/LT1 { PL [4 dl 2 dl] 0 1 0 DL } def +/LT2 { PL [2 dl 3 dl] 0 0 1 DL } def +/LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def +/LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def +/LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def +/LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def +/LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def +/LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def +/Pnt { stroke [] 0 setdash + gsave 1 setlinecap M 0 0 V stroke grestore } def +/Dia { stroke [] 0 setdash 2 copy vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath stroke + Pnt } def +/Pls { stroke [] 0 setdash vpt sub M 0 vpt2 V + currentpoint stroke M + hpt neg vpt neg R hpt2 0 V stroke + } def +/Box { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath stroke + Pnt } def +/Crs { stroke [] 0 setdash exch hpt sub exch vpt add M + hpt2 vpt2 neg V currentpoint stroke M + hpt2 neg 0 R hpt2 vpt2 V stroke } def +/TriU { stroke [] 0 setdash 2 copy vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath stroke + Pnt } def +/Star { 2 copy Pls Crs } def +/BoxF { stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath fill } def +/TriUF { stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath fill } def +/TriD { stroke [] 0 setdash 2 copy vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath stroke + Pnt } def +/TriDF { stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath fill} def +/DiaF { stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath fill } def +/Pent { stroke [] 0 setdash 2 copy gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath stroke grestore Pnt } def +/PentF { stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath fill grestore } def +/Circle { stroke [] 0 setdash 2 copy + hpt 0 360 arc stroke Pnt } def +/CircleF { stroke [] 0 setdash hpt 0 360 arc fill } def +/C0 { BL [] 0 setdash 2 copy moveto vpt 90 450 arc } bind def +/C1 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc closepath fill + vpt 0 360 arc closepath } bind def +/C2 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 180 arc closepath fill + vpt 0 360 arc closepath } bind def +/C3 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 180 arc closepath fill + vpt 0 360 arc closepath } bind def +/C4 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 180 270 arc closepath fill + vpt 0 360 arc closepath } bind def +/C5 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc + 2 copy moveto + 2 copy vpt 180 270 arc closepath fill + vpt 0 360 arc } bind def +/C6 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 270 arc closepath fill + vpt 0 360 arc closepath } bind def +/C7 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 270 arc closepath fill + vpt 0 360 arc closepath } bind def +/C8 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 270 360 arc closepath fill + vpt 0 360 arc closepath } bind def +/C9 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 270 450 arc closepath fill + vpt 0 360 arc closepath } bind def +/C10 { BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill + 2 copy moveto + 2 copy vpt 90 180 arc closepath fill + vpt 0 360 arc closepath } bind def +/C11 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 180 arc closepath fill + 2 copy moveto + 2 copy vpt 270 360 arc closepath fill + vpt 0 360 arc closepath } bind def +/C12 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 180 360 arc closepath fill + vpt 0 360 arc closepath } bind def +/C13 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc closepath fill + 2 copy moveto + 2 copy vpt 180 360 arc closepath fill + vpt 0 360 arc closepath } bind def +/C14 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 360 arc closepath fill + vpt 0 360 arc } bind def +/C15 { BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill + vpt 0 360 arc closepath } bind def +/Rec { newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto + neg 0 rlineto closepath } bind def +/Square { dup Rec } bind def +/Bsquare { vpt sub exch vpt sub exch vpt2 Square } bind def +/S0 { BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare } bind def +/S1 { BL [] 0 setdash 2 copy vpt Square fill Bsquare } bind def +/S2 { BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def +/S3 { BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare } bind def +/S4 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def +/S5 { BL [] 0 setdash 2 copy 2 copy vpt Square fill + exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def +/S6 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare } bind def +/S7 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill + 2 copy vpt Square fill + Bsquare } bind def +/S8 { BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare } bind def +/S9 { BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare } bind def +/S10 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill + Bsquare } bind def +/S11 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill + Bsquare } bind def +/S12 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare } bind def +/S13 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill + 2 copy vpt Square fill Bsquare } bind def +/S14 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill + 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def +/S15 { BL [] 0 setdash 2 copy Bsquare fill Bsquare } bind def +/D0 { gsave translate 45 rotate 0 0 S0 stroke grestore } bind def +/D1 { gsave translate 45 rotate 0 0 S1 stroke grestore } bind def +/D2 { gsave translate 45 rotate 0 0 S2 stroke grestore } bind def +/D3 { gsave translate 45 rotate 0 0 S3 stroke grestore } bind def +/D4 { gsave translate 45 rotate 0 0 S4 stroke grestore } bind def +/D5 { gsave translate 45 rotate 0 0 S5 stroke grestore } bind def +/D6 { gsave translate 45 rotate 0 0 S6 stroke grestore } bind def +/D7 { gsave translate 45 rotate 0 0 S7 stroke grestore } bind def +/D8 { gsave translate 45 rotate 0 0 S8 stroke grestore } bind def +/D9 { gsave translate 45 rotate 0 0 S9 stroke grestore } bind def +/D10 { gsave translate 45 rotate 0 0 S10 stroke grestore } bind def +/D11 { gsave translate 45 rotate 0 0 S11 stroke grestore } bind def +/D12 { gsave translate 45 rotate 0 0 S12 stroke grestore } bind def +/D13 { gsave translate 45 rotate 0 0 S13 stroke grestore } bind def +/D14 { gsave translate 45 rotate 0 0 S14 stroke grestore } bind def +/D15 { gsave translate 45 rotate 0 0 S15 stroke grestore } bind def +/DiaE { stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath stroke } def +/BoxE { stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath stroke } def +/TriUE { stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath stroke } def +/TriDE { stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath stroke } def +/PentE { stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath stroke grestore } def +/CircE { stroke [] 0 setdash + hpt 0 360 arc stroke } def +/Opaque { gsave closepath 1 setgray fill grestore 0 setgray closepath } def +/DiaW { stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V Opaque stroke } def +/BoxW { stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V Opaque stroke } def +/TriUW { stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V Opaque stroke } def +/TriDW { stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V Opaque stroke } def +/PentW { stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + Opaque stroke grestore } def +/CircW { stroke [] 0 setdash + hpt 0 360 arc Opaque stroke } def +/BoxFill { gsave Rec 1 setgray fill grestore } def +/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont +dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall +currentdict end definefont +end +%%EndProlog +gnudict begin +gsave +50 50 translate +0.050 0.050 scale +0 setgray +newpath +(Helvetica) findfont 140 scalefont setfont +1.000 UL +LTb +630 420 M +63 0 V +6269 0 R +-63 0 V +546 420 M +(0) Rshow +630 887 M +63 0 V +6269 0 R +-63 0 V +546 887 M +(0.5) Rshow +630 1353 M +63 0 V +6269 0 R +-63 0 V +-6353 0 R +(1) Rshow +630 1820 M +63 0 V +6269 0 R +-63 0 V +-6353 0 R +(1.5) Rshow +630 2287 M +63 0 V +6269 0 R +-63 0 V +-6353 0 R +(2) Rshow +630 2753 M +63 0 V +6269 0 R +-63 0 V +-6353 0 R +(2.5) Rshow +630 3220 M +63 0 V +6269 0 R +-63 0 V +-6353 0 R +(3) Rshow +630 3687 M +63 0 V +6269 0 R +-63 0 V +-6353 0 R +(3.5) Rshow +630 4153 M +63 0 V +6269 0 R +-63 0 V +-6353 0 R +(4) Rshow +630 4620 M +63 0 V +6269 0 R +-63 0 V +-6353 0 R +(4.5) Rshow +630 420 M +0 63 V +0 4137 R +0 -63 V +630 280 M +(-2) Cshow +1422 420 M +0 63 V +0 4137 R +0 -63 V +0 -4277 R +(-1.5) Cshow +2213 420 M +0 63 V +0 4137 R +0 -63 V +0 -4277 R +(-1) Cshow +3005 420 M +0 63 V +0 4137 R +0 -63 V +0 -4277 R +(-0.5) Cshow +3796 420 M +0 63 V +0 4137 R +0 -63 V +0 -4277 R +(0) Cshow +4588 420 M +0 63 V +0 4137 R +0 -63 V +0 -4277 R +(0.5) Cshow +5379 420 M +0 63 V +0 4137 R +0 -63 V +0 -4277 R +(1) Cshow +6171 420 M +0 63 V +0 4137 R +0 -63 V +0 -4277 R +(1.5) Cshow +6962 420 M +0 63 V +0 4137 R +0 -63 V +0 -4277 R +(2) Cshow +1.000 UL +LTb +630 420 M +6332 0 V +0 4200 V +-6332 0 V +630 420 L +140 2520 M +currentpoint gsave translate 90 rotate 0 0 M +(y) Cshow +grestore +3796 70 M +(x) Cshow +3796 4830 M +(y = x^2) Cshow +1.000 UL +LT0 +630 4153 M +64 -149 V +64 -146 V +64 -143 V +64 -141 V +64 -137 V +64 -134 V +64 -131 V +64 -128 V +64 -125 V +64 -122 V +64 -119 V +64 -115 V +63 -113 V +64 -110 V +64 -106 V +64 -104 V +64 -101 V +64 -97 V +64 -95 V +64 -91 V +64 -88 V +64 -86 V +64 -82 V +64 -79 V +64 -76 V +64 -74 V +64 -70 V +64 -67 V +64 -64 V +64 -61 V +64 -58 V +64 -54 V +64 -52 V +64 -49 V +64 -46 V +64 -42 V +64 -40 V +63 -36 V +64 -34 V +64 -30 V +64 -28 V +64 -24 V +64 -22 V +64 -18 V +64 -15 V +64 -12 V +64 -9 V +64 -7 V +64 -3 V +64 0 V +64 3 V +64 7 V +64 9 V +64 12 V +64 15 V +64 18 V +64 22 V +64 24 V +64 28 V +64 30 V +64 34 V +63 36 V +64 40 V +64 42 V +64 46 V +64 49 V +64 52 V +64 54 V +64 58 V +64 61 V +64 64 V +64 67 V +64 70 V +64 74 V +64 76 V +64 79 V +64 82 V +64 86 V +64 88 V +64 91 V +64 95 V +64 97 V +64 101 V +64 104 V +64 106 V +64 110 V +63 113 V +64 115 V +64 119 V +64 122 V +64 125 V +64 128 V +64 131 V +64 134 V +64 137 V +64 141 V +64 143 V +64 146 V +64 149 V +stroke +grestore +end +showpage +%%Trailer +%%DocumentFonts: Helvetica + +%%EndDocument + @endspecial 35 5023 a(The)h(do)r(cumen)n(t)h(can)f(b)r(e)h(pro)r +(cessed)f(b)r(oth)h(b)n(y)g Fc(latex)e Fd(and)h Fc(pdflatex)p +Fd(.)1929 5723 y(1)p eop +%%Trailer +end +userdict /end-hook known{end-hook}if +%%EOF diff --git a/Master/texmf-dist/doc/support/fragmaster/example/document.tex b/Master/texmf-dist/doc/support/fragmaster/example/document.tex new file mode 100644 index 00000000000..90d587fbcf9 --- /dev/null +++ b/Master/texmf-dist/doc/support/fragmaster/example/document.tex @@ -0,0 +1,33 @@ +\documentclass{article} +\usepackage[letterpaper,noheadfoot,dvips,pdftex]{geometry} +\usepackage{graphicx} + +\begin{document} + +\title{\texttt{fragmaster.pl} test document} +\author{Tilman Vogel} + +\maketitle + +This document includes graphics generated by \texttt{fragmaster.pl}. + +\begin{center} + \includegraphics[width=0.6\textwidth]{parabel} +\end{center} + +The title and the labels for the $x$ and $y$ axis have been replaced +with \LaTeX\ code using \texttt{psfrag}. The original graphics was: + +\begin{center} + \includegraphics[width=0.6\textwidth]{parabel_fm} +\end{center} + +The document can be processed both by \texttt{latex} and +\texttt{pdflatex}. + +\end{document} + +%%% Local Variables: +%%% mode: latex +%%% TeX-master: t +%%% End: diff --git a/Master/texmf-dist/doc/support/fragmaster/example/parabel.eps b/Master/texmf-dist/doc/support/fragmaster/example/parabel.eps new file mode 100644 index 00000000000..7918295b65a --- /dev/null +++ b/Master/texmf-dist/doc/support/fragmaster/example/parabel.eps @@ -0,0 +1,1287 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Creator: dvips(k) 5.86f Copyright 2001 Radical Eye Software +%%Title: fm.dvi +%%BoundingBox: 0 513 398 793 +%%DocumentFonts: Helvetica CMR12 CMMI12 CMR8 +%%EndComments +%DVIPSWebPage: (www.radicaleye.com) +%DVIPSCommandLine: dvips -E -P pdf fm.dvi -o fm.ps +%DVIPSParameters: dpi=8000, compressed +%DVIPSSource: TeX output 2004.02.04:1310 +%%BeginProcSet: tex.pro +%! +/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S +N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72 +mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0 +0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{ +landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize +mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[ +matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round +exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{ +statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0] +N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin +/FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array +/BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2 +array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N +df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A +definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get +}B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub} +B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr +1 add N}if}B/CharBuilder{save 3 1 roll S A/base get 2 index get S +/BitMaps get S get/Cd X pop/ctr 0 N Cdx 0 Cx Cy Ch sub Cx Cw add Cy +setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx sub Cy .1 sub]{Ci}imagemask +restore}B/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn +/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put +}if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{ +bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A +mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{ +SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{ +userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X +1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4 +index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N +/p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{ +/Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT) +(LaserWriter 16/600)]{A length product length le{A length product exch 0 +exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse +end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask +grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot} +imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round +exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto +fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p +delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M} +B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{ +p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S +rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end + +%%EndProcSet +%%BeginProcSet: alt-rule.pro +%! +% Patch by TVZ +% Makes dvips files draw rules with stroke rather than fill. +% Makes narrow rules more predictable at low resolutions +% after distilling to PDF. +% May have unknown consequences for very thick rules. +% Tested only with dvips 5.85(k). +TeXDict begin +/QV { + gsave newpath /ruleY X /ruleX X + Rx Ry gt + { ruleX ruleY Ry 2 div sub moveto Rx 0 rlineto Ry } + { ruleX Rx 2 div add ruleY moveto 0 Ry neg rlineto Rx } + ifelse + setlinewidth 0 setlinecap stroke grestore +} bind def +end + +%%EndProcSet +%%BeginProcSet: texc.pro +%! +/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S +N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72 +mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0 +0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{ +landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize +mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[ +matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round +exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{ +statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0] +N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin +/FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array +/BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2 +array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N +df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A +definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get +}B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub} +B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr +1 add N}if}B/id 0 N/rw 0 N/rc 0 N/gp 0 N/cp 0 N/G 0 N/CharBuilder{save 3 +1 roll S A/base get 2 index get S/BitMaps get S get/Cd X pop/ctr 0 N Cdx +0 Cx Cy Ch sub Cx Cw add Cy setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx +sub Cy .1 sub]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{ +rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp +gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B +/chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{ +/cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{ +A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy +get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse} +ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp +fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17 +{2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add +chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{ +1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop} +forall N/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn +/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put +}if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{ +bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A +mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{ +SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{ +userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X +1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4 +index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N +/p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{ +/Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT) +(LaserWriter 16/600)]{A length product length le{A length product exch 0 +exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse +end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask +grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot} +imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round +exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto +fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p +delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M} +B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{ +p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S +rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end + +%%EndProcSet +%%BeginProcSet: psfrag.pro +%% +%% This is file `psfrag.pro', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% psfrag.dtx (with options: `filepro') +%% +%% Copyright (c) 1996 Craig Barratt, Michael C. Grant, and David Carlisle. +%% All rights reserved. +%% +%% This file is part of the PSfrag package. +%% +userdict begin +/PSfragLib 90 dict def +/PSfragDict 6 dict def +/PSfrag { PSfragLib begin load exec end } bind def +end +PSfragLib begin +/RO /readonly load def +/CP /currentpoint load def +/CM /currentmatrix load def +/B { bind RO def } bind def +/X { exch def } B +/MD { { X } forall } B +/OE { end exec PSfragLib begin } B +/S false def +/tstr 8 string def +/islev2 { languagelevel } stopped { false } { 2 ge } ifelse def +[ /sM /tM /srcM /dstM /dM /idM /srcFM /dstFM ] { matrix def } forall +sM currentmatrix RO pop +dM defaultmatrix RO idM invertmatrix RO pop +srcFM identmatrix pop +/Hide { gsave { CP } stopped not newpath clip { moveto } if } B +/Unhide { { CP } stopped not grestore { moveto } if } B +/setrepl islev2 {{ /glob currentglobal def true setglobal array astore + globaldict exch /PSfrags exch put glob setglobal }} + {{ array astore /PSfrags X }} ifelse B +/getrepl islev2 {{ globaldict /PSfrags get aload length }} + {{ PSfrags aload length }} ifelse B +/convert { + /src X src length string + /c 0 def src length { + dup c src c get dup 32 lt { pop 32 } if put /c c 1 add def + } repeat +} B +/Begin { + /saver save def + srcFM exch 3 exch put + 0 ne /debugMode X 0 setrepl + dup /S exch dict def { S 3 1 roll exch convert exch put } repeat + srcM CM dup invertmatrix pop + mark { currentdict { end } stopped { pop exit } if } loop + PSfragDict counttomark { begin } repeat pop +} B +/End { + mark { currentdict end dup PSfragDict eq { pop exit } if } loop + counttomark { begin } repeat pop + getrepl saver restore + 7 idiv dup /S exch dict def { + 6 array astore /mtrx X tstr cvs /K X + S K [ S K known { S K get aload pop } if mtrx ] put + } repeat +} B +/Place { + tstr cvs /K X + S K known { + bind /proc X tM CM pop + CP /cY X /cX X + 0 0 transform idtransform neg /aY X neg /aX X + S K get dup length /maxiter X + /iter 1 def { + iter maxiter ne { /saver save def } if + tM setmatrix aX aY translate + [ exch aload pop idtransform ] concat + cX neg cY neg translate cX cY moveto + /proc load OE + iter maxiter ne { saver restore /iter iter 1 add def } if + } forall + /noXY { CP /cY X /cX X } stopped def + tM setmatrix noXY { newpath } { cX cY moveto } ifelse + } { + Hide OE Unhide + } ifelse +} B +/normalize { + 2 index dup mul 2 index dup mul add sqrt div + dup 4 -1 roll exch mul 3 1 roll mul +} B +/replace { + aload pop MD + CP /bY X /lX X gsave sM setmatrix + str stringwidth abs exch abs add dup 0 eq + { pop } { 360 exch div dup scale } ifelse + lX neg bY neg translate newpath lX bY moveto + str { /ch X ( ) dup 0 ch put false charpath ch Kproc } forall + flattenpath pathbbox [ /uY /uX /lY /lX ] MD + CP grestore moveto + currentfont /FontMatrix get dstFM copy dup + 0 get 0 lt { uX lX /uX X /lX X } if + 3 get 0 lt { uY lY /uY X /lY X } if + /cX uX lX add 0.5 mul def + /cY uY lY add 0.5 mul def + debugMode { gsave 0 setgray 1 setlinewidth + lX lY moveto lX uY lineto uX uY lineto uX lY lineto closepath + lX bY moveto uX bY lineto lX cY moveto uX cY lineto + cX lY moveto cX uY lineto stroke + grestore } if + dstFM dup invertmatrix dstM CM srcM + 2 { dstM concatmatrix } repeat pop + getrepl /temp X + S str convert get { + aload pop [ /rot /scl /loc /K ] MD + /aX cX def /aY cY def + loc { + dup 66 eq { /aY bY def } { % B + dup 98 eq { /aY lY def } { % b + dup 108 eq { /aX lX def } { % l + dup 114 eq { /aX uX def } { % r + dup 116 eq { /aY uY def } % t + if } ifelse } ifelse } ifelse } ifelse pop + } forall + K srcFM rot tM rotate dstM + 2 { tM concatmatrix } repeat aload pop pop pop + 2 { scl normalize 4 2 roll } repeat + aX aY transform + /temp temp 7 add def + } forall + temp setrepl +} B +/Rif { + S 3 index convert known { pop replace } { exch pop OE } ifelse +} B +/XA { bind [ /Kproc /str } B /XC { ] 2 array astore def } B +/xs { pop } XA XC +/xks { /kern load OE } XA /kern XC +/xas { pop ax ay rmoveto } XA /ay /ax XC +/xws { c eq { cx cy rmoveto } if } XA /c /cy /cx XC +/xaws { ax ay rmoveto c eq { cx cy rmoveto } if } + XA /ay /ax /c /cy /cx XC +/raws { xaws { awidthshow } Rif } B +/rws { xws { widthshow } Rif } B +/rks { xks { kshow } Rif } B +/ras { xas { ashow } Rif } B +/rs { xs { show } Rif } B +/rrs { getrepl dup 2 add -1 roll //restore exec setrepl } B +PSfragDict begin +islev2 not { /restore { /rrs PSfrag } B } if +/show { /rs PSfrag } B +/kshow { /rks PSfrag } B +/ashow { /ras PSfrag } B +/widthshow { /rws PSfrag } B +/awidthshow { /raws PSfrag } B +end PSfragDict RO pop +end + +%%EndProcSet +%%BeginProcSet: texps.pro +%! +TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2 +index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll +exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]/Metrics +exch def dict begin Encoding{exch dup type/integertype ne{pop pop 1 sub +dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get div def} +ifelse}forall Metrics/Metrics currentdict end def[2 index currentdict +end definefont 3 -1 roll makefont/setfont cvx]cvx def}def/ObliqueSlant{ +dup sin S cos div neg}B/SlantFont{4 index mul add}def/ExtendFont{3 -1 +roll mul exch}def/ReEncodeFont{CharStrings rcheck{/Encoding false def +dup[exch{dup CharStrings exch known not{pop/.notdef/Encoding true def} +if}forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def} +def end + +%%EndProcSet +%%BeginProcSet: special.pro +%! +TeXDict begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N +/vs 792 N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 0 N/rwiSeen false N +/rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N +/@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{ +/hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho +X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B +/@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{ +/urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known +{userdict/md get type/dicttype eq{userdict begin md length 10 add md +maxlength ge{/md md dup length 20 add dict copy def}if end md begin +/letter{}N/note{}N/legal{}N/od{txpose 1 0 mtx defaultmatrix dtransform S +atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{ +itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll +transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll +curveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdf +pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack} +if}N/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 +-1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 +get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip +yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub +neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{ +noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop +90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get +neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr +1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr +2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4 +-1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S +TR}if}N/cp{pop pop showpage pm restore}N end}if}if}N/normalscale{ +Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale +}if 0 setgray}N/psfts{S 65781.76 div N}N/startTexFig{/psf$SavedState +save N userdict maxlength dict begin/magscale true def normalscale +currentpoint TR/psf$ury psfts/psf$urx psfts/psf$lly psfts/psf$llx psfts +/psf$y psfts/psf$x psfts currentpoint/psf$cy X/psf$cx X/psf$sx psf$x +psf$urx psf$llx sub div N/psf$sy psf$y psf$ury psf$lly sub div N psf$sx +psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub +TR/showpage{}N/erasepage{}N/setpagedevice{pop}N/copypage{}N/p 3 def +@MacSetUp}N/doclip{psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll +newpath 4 copy 4 2 roll moveto 6 -1 roll S lineto S lineto S lineto +closepath clip newpath moveto}N/endTexFig{end psf$SavedState restore}N +/@beginspecial{SDict begin/SpecialSave save N gsave normalscale +currentpoint TR @SpecialDefaults count/ocount X/dcount countdictstack N} +N/@setspecial{CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs +neg 0 rlineto closepath clip}if ho vo TR hsc vsc scale ang rotate +rwiSeen{rwi urx llx sub div rhiSeen{rhi ury lly sub div}{dup}ifelse +scale llx neg lly neg TR}{rhiSeen{rhi ury lly sub div dup scale llx neg +lly neg TR}if}ifelse CLIP 2 eq{newpath llx lly moveto urx lly lineto urx +ury lineto llx ury lineto closepath clip}if/showpage{}N/erasepage{}N +/setpagedevice{pop}N/copypage{}N newpath}N/@endspecial{count ocount sub{ +pop}repeat countdictstack dcount sub{end}repeat grestore SpecialSave +restore end}N/@defspecial{SDict begin}N/@fedspecial{end}B/li{lineto}B +/rl{rlineto}B/rc{rcurveto}B/np{/SaveX currentpoint/SaveY X N 1 +setlinecap newpath}N/st{stroke SaveX SaveY moveto}N/fil{fill SaveX SaveY +moveto}N/ellipse{/endangle X/startangle X/yrad X/xrad X/savematrix +matrix currentmatrix N TR xrad yrad scale 0 0 1 startangle endangle arc +savematrix setmatrix}N end + +%%EndProcSet +%%BeginProcSet: color.pro +%! +TeXDict begin/setcmykcolor where{pop}{/setcmykcolor{dup 10 eq{pop +setrgbcolor}{1 sub 4 1 roll 3{3 index add neg dup 0 lt{pop 0}if 3 1 roll +}repeat setrgbcolor pop}ifelse}B}ifelse/TeXcolorcmyk{setcmykcolor}def +/TeXcolorrgb{setrgbcolor}def/TeXcolorgrey{setgray}def/TeXcolorgray{ +setgray}def/TeXcolorhsb{sethsbcolor}def/currentcmykcolor where{pop}{ +/currentcmykcolor{currentrgbcolor 10}B}ifelse/DC{exch dup userdict exch +known{pop pop}{X}ifelse}B/GreenYellow{0.15 0 0.69 0 setcmykcolor}DC +/Yellow{0 0 1 0 setcmykcolor}DC/Goldenrod{0 0.10 0.84 0 setcmykcolor}DC +/Dandelion{0 0.29 0.84 0 setcmykcolor}DC/Apricot{0 0.32 0.52 0 +setcmykcolor}DC/Peach{0 0.50 0.70 0 setcmykcolor}DC/Melon{0 0.46 0.50 0 +setcmykcolor}DC/YellowOrange{0 0.42 1 0 setcmykcolor}DC/Orange{0 0.61 +0.87 0 setcmykcolor}DC/BurntOrange{0 0.51 1 0 setcmykcolor}DC +/Bittersweet{0 0.75 1 0.24 setcmykcolor}DC/RedOrange{0 0.77 0.87 0 +setcmykcolor}DC/Mahogany{0 0.85 0.87 0.35 setcmykcolor}DC/Maroon{0 0.87 +0.68 0.32 setcmykcolor}DC/BrickRed{0 0.89 0.94 0.28 setcmykcolor}DC/Red{ +0 1 1 0 setcmykcolor}DC/OrangeRed{0 1 0.50 0 setcmykcolor}DC/RubineRed{ +0 1 0.13 0 setcmykcolor}DC/WildStrawberry{0 0.96 0.39 0 setcmykcolor}DC +/Salmon{0 0.53 0.38 0 setcmykcolor}DC/CarnationPink{0 0.63 0 0 +setcmykcolor}DC/Magenta{0 1 0 0 setcmykcolor}DC/VioletRed{0 0.81 0 0 +setcmykcolor}DC/Rhodamine{0 0.82 0 0 setcmykcolor}DC/Mulberry{0.34 0.90 +0 0.02 setcmykcolor}DC/RedViolet{0.07 0.90 0 0.34 setcmykcolor}DC +/Fuchsia{0.47 0.91 0 0.08 setcmykcolor}DC/Lavender{0 0.48 0 0 +setcmykcolor}DC/Thistle{0.12 0.59 0 0 setcmykcolor}DC/Orchid{0.32 0.64 0 +0 setcmykcolor}DC/DarkOrchid{0.40 0.80 0.20 0 setcmykcolor}DC/Purple{ +0.45 0.86 0 0 setcmykcolor}DC/Plum{0.50 1 0 0 setcmykcolor}DC/Violet{ +0.79 0.88 0 0 setcmykcolor}DC/RoyalPurple{0.75 0.90 0 0 setcmykcolor}DC +/BlueViolet{0.86 0.91 0 0.04 setcmykcolor}DC/Periwinkle{0.57 0.55 0 0 +setcmykcolor}DC/CadetBlue{0.62 0.57 0.23 0 setcmykcolor}DC +/CornflowerBlue{0.65 0.13 0 0 setcmykcolor}DC/MidnightBlue{0.98 0.13 0 +0.43 setcmykcolor}DC/NavyBlue{0.94 0.54 0 0 setcmykcolor}DC/RoyalBlue{1 +0.50 0 0 setcmykcolor}DC/Blue{1 1 0 0 setcmykcolor}DC/Cerulean{0.94 0.11 +0 0 setcmykcolor}DC/Cyan{1 0 0 0 setcmykcolor}DC/ProcessBlue{0.96 0 0 0 +setcmykcolor}DC/SkyBlue{0.62 0 0.12 0 setcmykcolor}DC/Turquoise{0.85 0 +0.20 0 setcmykcolor}DC/TealBlue{0.86 0 0.34 0.02 setcmykcolor}DC +/Aquamarine{0.82 0 0.30 0 setcmykcolor}DC/BlueGreen{0.85 0 0.33 0 +setcmykcolor}DC/Emerald{1 0 0.50 0 setcmykcolor}DC/JungleGreen{0.99 0 +0.52 0 setcmykcolor}DC/SeaGreen{0.69 0 0.50 0 setcmykcolor}DC/Green{1 0 +1 0 setcmykcolor}DC/ForestGreen{0.91 0 0.88 0.12 setcmykcolor}DC +/PineGreen{0.92 0 0.59 0.25 setcmykcolor}DC/LimeGreen{0.50 0 1 0 +setcmykcolor}DC/YellowGreen{0.44 0 0.74 0 setcmykcolor}DC/SpringGreen{ +0.26 0 0.76 0 setcmykcolor}DC/OliveGreen{0.64 0 0.95 0.40 setcmykcolor} +DC/RawSienna{0 0.72 1 0.45 setcmykcolor}DC/Sepia{0 0.83 1 0.70 +setcmykcolor}DC/Brown{0 0.81 1 0.60 setcmykcolor}DC/Tan{0.14 0.42 0.56 0 +setcmykcolor}DC/Gray{0 0 0 0.50 setcmykcolor}DC/Black{0 0 0 1 +setcmykcolor}DC/White{0 0 0 0 setcmykcolor}DC end + +%%EndProcSet +TeXDict begin @defspecial + + TeXDict begin /landplus90{true}store end + +@fedspecial end +%%BeginFont: CMR8 +%!PS-AdobeFont-1.1: CMR8 1.0 +%%CreationDate: 1991 Aug 20 16:39:40 +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. +11 dict begin +/FontInfo 7 dict dup begin +/version (1.0) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (CMR8) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +end readonly def +/FontName /CMR8 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 50 /two put +readonly def +/FontBBox{-36 -250 1070 750}readonly def +/UniqueID 5000791 def +currentdict end +currentfile eexec +D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 +016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171 +9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F +D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758 +469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8 +2BDBF16FBC7512FAA308A093FE5CF4E9D2405B169CD5365D6ECED5D768D66D6C +68618B8C482B341F8CA38E9BB9BAFCFAAD9C2F3FD033B62690986ED43D9C9361 +3645B82392D5CAE11A7CB49D7E2E82DCD485CBA1772CE422BB1D7283AD675B65 +48A7EA0069A883EC1DAA3E1F9ECE7586D6CF0A128CD557C7E5D7AA3EA97EBAD3 +9619D1BFCF4A6D64768741EDEA0A5B0EFBBF347CDCBE2E03D756967A16B613DB +0FC45FA2A3312E0C46A5FD0466AB097C58FFEEC40601B8395E52775D0AFCD7DB +8AB317333110531E5C44A4CB4B5ACD571A1A60960B15E450948A5EEA14DD330F +EA209265DB8E1A1FC80DCD3860323FD26C113B041A88C88A21655878680A4466 +FA10403D24BB97152A49B842C180E4D258C9D48F21D057782D90623116830BA3 +9902B3C5F2F2DD01433B0D7099C07DBDE268D0FFED5169BCD03D48B2F058AD62 +D8678C626DC7A3F352152C99BA963EF95F8AD11DB8B0D351210A17E4C2C55AD8 +9EB64172935D3C20A398F3EEEEC31551966A7438EF3FEE422C6D4E05337620D5 +ACC7B52BED984BFAAD36EF9D20748B05D07BE4414A63975125D272FAD83F76E6 +10FFF8363014BE526D580873C5A42B70FA911EC7B86905F13AFE55EB0273F582 +83158793B8CC296B8DE1DCCF1250FD57CB0E035C7EDA3B0092ED940D37A05493 +2EC54E09B984FCA4AB7D2EA182BCF1263AA244B07EC0EA901C077A059F709F30 +4384CB5FA748F2054FAD9A7A43D4EA427918BD414F766531136B60C3477C6632 +BEFE3897B58C19276A301926C2AEF2756B367319772C9B201C49B4D935A8267B +041D6F1783B6AEA4DAC4F5B3507D7032AA640AAB12E343A4E9BDCF419C04A721 +3888B25AF4E293AACED9A6BDC78E61DA1C424C6503CC1885F762B93EC4488CF1 +43FF3B2A427C5E1C756D1925B52D26103C0E620D4B6CF9C49D4A75DB63A2F3DD +154692023E81DE9950C15EAA7EDDE692D58FEFD061D9032926692234B283908F +54EFC2384D86B444F343FC4B74E7142F0A7CF28AC0DE181928AB8D94CD13583F +05EDD18CF2582518BE01DC67DC5599E412B60A2767C155A5853EF60122F205CE +119FC538B493BECDFDE17849C2F8D052178F54AF9921A0779394D333DDC1DCCD +7820E46A07926C88BE7B148236F0D8C3D8C0F05008521B61C09AD4D8EDE82D60 +883E42920603F63F3AC8BB9FF20689E58CB218325533E850E51F28F41E74373B +386E5F59B6C8F87AF867CBA04D1A04002AB3CF9A0FC2634AB7ED2E7943E32848 +0BE07B4720F27DCCBFDAEA7ADBCE3EC87BB9C20496219178EE14B16FD57CDD94 +3473AEDE343340E98C5F84 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndFont +%%BeginFont: CMMI12 +%!PS-AdobeFont-1.1: CMMI12 1.100 +%%CreationDate: 1996 Jul 27 08:57:55 +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. +11 dict begin +/FontInfo 7 dict dup begin +/version (1.100) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (CMMI12) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle -14.04 def +/isFixedPitch false def +end readonly def +/FontName /CMMI12 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 120 /x put +dup 121 /y put +readonly def +/FontBBox{-30 -250 1026 750}readonly def +/UniqueID 5087386 def +currentdict end +currentfile eexec +D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE +3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B +532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470 +B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B +986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE +D919C2DDD26BDC0D99398B9F4D03D6A8F05B47AF95EF28A9C561DBDC98C47CF5 +5250011D19E9366EB6FD153D3A100CAA6212E3D5D93990737F8D326D347B7EDC +4391C9DF440285B8FC159D0E98D4258FC57892DCC57F7903449E07914FBE9E67 +3C15C2153C061EB541F66C11E7EE77D5D77C0B11E1AC55101DA976CCACAB6993 +EED1406FBB7FF30EAC9E90B90B2AF4EC7C273CA32F11A5C1426FF641B4A2FB2F +4E68635C93DB835737567FAF8471CBC05078DCD4E40E25A2F4E5AF46C234CF59 +2A1CE8F39E1BA1B2A594355637E474167EAD4D97D51AF0A899B44387E1FD933A +323AFDA6BA740534A510B4705C0A15647AFBF3E53A82BF320DD96753639BE49C +2F79A1988863EF977B800C9DB5B42039C23EB86953713F730E03EA22FF7BB2C1 +D97D33FD77B1BDCC2A60B12CF7805CFC90C5B914C0F30A673DF9587F93E47CEA +5932DD1930560C4F0D97547BCD805D6D854455B13A4D7382A22F562D7C55041F +0FD294BDAA1834820F894265A667E5C97D95FF152531EF97258F56374502865D +A1E7C0C5FB7C6FB7D3C43FEB3431095A59FBF6F61CEC6D6DEE09F4EB0FD70D77 +2A8B0A4984C6120293F6B947944BE23259F6EB64303D627353163B6505FC8A60 +00681F7A3968B6CBB49E0420A691258F5E7B07B417157803FCBE9B9FB1F80FD8 +CA0A265B570BA294792DD2FC75CE2C83DCC225B902551DBD11E687EAC6E85D2B +02C28359A40AE66A6A6A8862CB17815B41E280313F0EFAA9981755611F7F683D +35603984D60BB0C772054355A97A5E03C689E23B04DA79080CE4579CC90EF38B +1A64CDD92B907AE83192C3C46C5FC40BB412F6656DC6349E6D29B5936DCE94CB +98E3B465FFF7574095F57BB3750F1A55F20456933FCA64CC1B060E260782BEF6 +721D38BF65DF1F1DA5439DBC802B4A9D803BD635C05B9ACA4D26C28195A1F4C4 +CC623B30B076D4861E89B93E2CF26F6DF07199C03BA5466FA3EFBD7F77EFE068 +E55B7186855063934C5716EDC3F5056BDA963B6B933B546475BCFF91C512F411 +8D14B1C32C9735281E536F87ADBF1AD9AA04D7DE2096413AB8B3C9E8B1F6F338 +3B80D637D761A7A992CF58188FB0A04FD6C6886A60F27EF31C45E92F4717D8FB +D4A0844A8D9036D5F2BBCA2C170F3042F22DEB8D151C7135AB91DA289886604B +70B9F2A25A7D576FA1D70DC935CDD3E81915E9BE11CB03C9FDCFDE3700BDDAAE +D61CD52A78B075FF4FB8BE949FCC4B04813776A3451FE65A47D57D7B66499E99 +B97C5141D2E05BA86C59535C34BA975381F96A4EC47EA032C6BEEF9F2E6565A0 +0712528976CD8FD94E2F8F2607FEE1B55382A62B35FA16C62707F8018B3FF765 +2DFB5B836BFA9050042921C72B8D032BDF6C594CCBD796BB15E26398DD34FAB2 +4DCA5FDEF424CFB1800057E4CD4218C88DAEE1BCCCA10DC115C33E05D53C5F04 +2E512B2E4AF08B012316E7524910C4111563ABB27AB6E746CEBF9CE816B349CE +7E2F102C920C27726380FBD329D29ADDF290883487CA36C1D3A270530780EEA0 +8AEC4786551B7514AFDF162C9C8EEDA068246F367E88835E166A90FB1A389A34 +26422E91ED9D4D51006C846969E9B525242A68394BFBC38BCB99BB5F798D9782 +6BB8F3C16DA712D11AD17B0D534BFB5A95B4502A2F9B8BF5DBC9A1ACE3DC493E +EB90B5C8BE7984C9A44B32C7984E555C98F2E7BFC360F5D711405C8909ECF938 +AE14268A5CE61AD3C7049FC0F323C58DB5982AF5852B3162580D548E00283B71 +D458FA6B160AB700FA1140B5910FF6AFAF2A190FA5655E9136E4A67FE5080C1D +D1157708DA2396B7A35EFBDA9F48A204AE6141BD3535EA9092AFF9802E05FB0D +0144D18D15CC6BAE84F1063C90DD0F1E673D8F76CDC4CD5972CCB9F37F3B5E2C +E83EE1E29A667E48802AE298030487BC6B193A73760ED440397A34EEFC789820 +4CE4ECC1197773D50894A2C7DFF7A9BE7329BC9A0B02F48DD4CDD9AC76205AA3 +8B51F8EE52461EDDD5056540B446D326ED9FD2BA85B2A62C3F71993D64D78BB4 +6DF1B005782AB14BDE5EEFB1190C1F0C00BEE84737F75D63692C6792BF09F890 +C62E524DED282C432C705E9F287260EBA4F9BB6C0AF6431691A0376D728BD92D +7173C6B26146B8726CA77F2C634F5C12E9B0B2FD4AA593C23B69566978A3350D +DC9CA4083529BE0119A2D21F9B9839CBB4F23451EB1B170C72C1851BC089285B +663F4C060F458D6205E9720A6026A4D4851F71E2C86C85B0292244B8C8147C97 +706E324DD0308212290F7A1DA26272B519C4E2DCED4320A7E744392E2E13805A +B138D9BEBD7CCE392F85D6D85675FC2DC15C9194C3EE37D20F40CC3FA396324C +74113D0D2F00C75072114CBADFADD80B6781AFA3E1A3F0F2D3ADECE6B4E21AC2 +C563FEC3CD25A4D3BB445757E3E7780DA89346E2A021AA3CDEC73CE3B612A1B5 +28AF3990231A6CE720B451F6F492184644404C1024A31EEAFFF8841BFD7A1036 +4A8088D1871EFFAFF0F0BA577EC32FE6D78815C6F26D3C6E9F32DE35EA9283C9 +89F2A53D0E27DB6F854DDE6524141F28C9EB3B5D +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndFont +%%BeginFont: CMR12 +%!PS-AdobeFont-1.1: CMR12 1.0 +%%CreationDate: 1991 Aug 20 16:38:05 +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. +11 dict begin +/FontInfo 7 dict dup begin +/version (1.0) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (CMR12) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +end readonly def +/FontName /CMR12 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 61 /equal put +dup 80 /P put +dup 83 /S put +dup 97 /a put +dup 99 /c put +dup 101 /e put +dup 102 /f put +dup 103 /g put +dup 108 /l put +dup 109 /m put +dup 110 /n put +dup 112 /p put +dup 114 /r put +dup 115 /s put +dup 116 /t put +readonly def +/FontBBox{-34 -251 988 750}readonly def +/UniqueID 5000794 def +currentdict end +currentfile eexec +D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 +016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171 +9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F +D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758 +469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8 +2BDBF16FBC7512FAA308A093FE5CF4E9D2405B169CD5365D6ECED5D768D66D6C +68618B8C482B341F8CA38E9BB9BAFCFAAD9C2F3FD033B62690986ED43D9C9361 +3645B82392D5CAE11A7CB49D7E2E82DCD485CBA04C77322EB2E6A79D73DC194E +59C120A2DABB9BF72E2CF256DD6EB54EECBA588101ABD933B57CE8A3A0D16B28 +51D7494F73096DF53BDC66BBF896B587DF9643317D5F610CD9088F9849126F23 +DDE030F7B277DD99055C8B119CAE9C99158AC4E150CDFC2C66ED92EBB4CC092A +AA078CE16247A1335AD332DAA950D20395A7384C33FF72EAA31A5B89766E635F +45C4C068AD7EE867398F0381B07CB94D29FF097D59FF9961D195A948E3D87C31 +821E9295A56D21875B41988F7A16A1587050C3C71B4E4355BB37F255D6B237CE +96F25467F70FA19E0F85785FF49068949CCC79F2F8AE57D5F79BB9C5CF5EED5D +9857B9967D9B96CDCF73D5D65FF75AFABB66734018BAE264597220C89FD17379 +26764A9302D078B4EB0E29178C878FD61007EEA2DDB119AE88C57ECFEF4B71E4 +140A34951DDC3568A84CC92371A789021A103A1A347050FDA6ECF7903F67D213 +1D0C7C474A9053866E9C88E65E6932BA87A73686EAB0019389F84D159809C498 +1E7A30ED942EB211B00DBFF5BCC720F4E276C3339B31B6EABBB078430E6A09BB +377D3061A20B1EB98796B8607EECBC699445EAA866C38E02DF59F5EDD378303A +0733B90E7835C0AAF32BA04F1566D8161EA89CD4D14DDB953F8B910BFC8A7F03 +5020F55EF8FC2640ADADA156F6CF8F2EB6610F7EE8874A26CBE7CD154469B9F4 +ED76886B3FB679FFDEB59BB6C55AF7087BA48B75EE2FB374B19BCC421A963E15 +FE05ECAAF9EECDF4B2715010A320102E6F8CCAA342FA11532671CEBFCF38BC60 +5BF06A0E01053B7F105ED5140FB16BBB732D97736174010EE306CC051440FBF9 +9ADE6086D770046679E2BBBD90F0E3FB85C7F24A1539B769076C90E61C8F08A6 +331825DE07F7E9D416C999A6C6A7B892413F4B384B6C3973483B4D1F9CE39C2C +CDE229FFD5AB3883282CAA1F9EAAF4B2A1DEDC213EA997E150509FB6FBB3C2AF +16FFDB8AA25F9A1D4936C27CCB78D3327D257A6A37D26E1775E1ED48B976ADB2 +D16C4FC11A6959BE4DCD282E4A1BFBF9C5CB5E7027468FB86A136350A6374411 +F824E3B6A94D01474D9BCA025630FA9D745C1D1FC0D59691FE2D2203C3630A8A +47294904A30FC43ABCB36DB5EBEC5D40813D9553ACB140CB32CD2EC93860AE63 +A5E1FC6BD78DE8EB575D9D4E189992021BA237236A9117702AFD31C95C2573F2 +E36271C7D444AFAF952233871ECCC6538A6250D599B254DC66356DBF59CE597C +F720ED0F3671ADD7CD85510908A2359DF601140F79AF1778180666DC1E0A4A63 +6020D8F946BEBE2B22E08BDF317498DE4F50D1A92C29FBB942AB8223538616C4 +60C845E364C26B6D769C211CFA85728B4724593D15A0EF4AD21ECC9BA97E0195 +D5FCE7CAB77F6962714EAF43687F33238B963AFDB5532F602AB43F1BACAB35CF +041C2292897BFF7AE30199FDBE16827DF0E3EE975433904EB122D18B21E058BA +4969E1E72D2D175AD3FD4F71A91F7BD0403A1627084E667D8E16302A4E3D4BEA +F0DB6AFCDCA8D06FC48F86C859C9427BA4CE35B60B7CB3746CA1254D6CAADC8C +8EA64CEB940754DB41807DF080A5A2FB91A73B26EBBBA048443333C1282E25EF +2FCECE6063B04DB6112E2287539B8C09A1B3B70B3D2EA5E8E7E1A05100E443B5 +1713C2871021083F28D47AE879F119298B39B5260759DBDEDD9450FC28F1305E +29A8C1DD887E369529680C3F16482487AED0F515A07319A593C7D83B848EA118 +1F0C9F468C0FD3086ABC8CB62DC8A2547C88E295AA98222BE84087B3385AC6A7 +4CC38085B4688B3250C4CFAA67D44D76D2DD351731EA76E4F664CF03F62118B6 +D3E410DBD90DB87122425B14193F6EDDB7E559D28860EDC2DB5CA8FF02DB495A +4A9183920CEA6DD3F2CADBBEF08AFA699D3EFBA6FDD6771D0B0B1DF0CCE81DB1 +CAB72FA02F3F4C9D48116508E94650389F4DDB29688EDABB9CFF54368C3355CA +EBED144A63791AB507D5A7180B2B10C32D6A6411145F72F4B049A75D55E43AF4 +58F694CCBDFFED8E158635807A3514967E9204E43C087BAB70F83DB21DB0D3ED +2800E395456A5F5BB63A5B9CEE35ED2F1D85F89C00EAAF75088BF2EDC647A781 +C21CE1DB5181373EC6619767DB5501CC1495ED533CE198D96B6717796959776C +3067D2FDE1159C8BB2B758817BA0CF7CB7BA138F2B49F1FF50F3628154A2FEDE +03EE0D740F53879FA1D28A011E3106B3A8A1FC2F44AE14F0721975FF78ADE6A7 +0D8F92496A07875F746ACE666B186265D051D107D37811B4DF51AF15FBBAA83C +B68B6803DE30867B278672F9B7724391603E657687D3EE2F12ECA45F449F2A32 +BA47D60A2C44C1BF07EBCAA219C5ABE063BBC16580BC2D44CFD910D1026D6158 +6B4502A493E276EA63BE11FBAA8D6FB227DCFC0FC5E4C4E88C8BD2A8122C67EC +7B74FEA02F4DA5A59752F6096CE2E94CE78D9A31B430DC24A625BADDA610B4B0 +310491A6E799C10602494ADF338EC5099BF7089200498985635BB43C7E2414A5 +43319FA70F96162EF6E106287A7CAFE20D739A91F4852F36403686866A538C62 +EFE3E95DFA85AEA2CA9A4999C4C8B7334521152360CEC0374EA3A01E50624E7F +E4FE4EC07770675C460C7A3796607CA7CDDB53E347FBE0B80A04E6E9BABBBEB2 +F2C22C990D6854E4D51E82B6FBD3D3775A8FA9EBD7CE3462A06AA08F048D406D +91D35E6797C0B2FF5984ED67BC082BA1355AD0ABEF6D1257B48953075002CC59 +F7C65CC5B6F77E0C61E28E80737434ABDA0604865C48028161C103A75A82A88A +12BD57EA72761E9EB6806ECD663255809ABB8D789E0A7BF08FBC09263C9D9F04 +E4CB658F266A06E4644AEDCEE4F294BC8F172706C3DD5617B01454C5153B7928 +F31CA8EA244DEE29ECDF415C215C2817908AB1EC1F680015DF796AD252F353B0 +07153FCFA701DA7F276799DC836EAF81BCB81AC255384E57AD23AFC4C92AEDED +4C19D8E1875E559AA43364001942F2186489B30E4B9B420E7D8F6CAF9E1606FA +65BAC2F2D1FF5A5844AB681B619B99DF0188561FBFE9A756D638084DB482ADDB +722B5404AF7F9A37BD9F35FB0A53496C3FAC364265D940205987A1DE8A033301 +A914CA3AFB436B5FC7199F1911C82BB50023C00CC1571BD094DDE2DFA8177757 +F6262AE635DF4A4BD23C2AC803C474216F8EFA3D5222CF42D84C02F010113137 +A8A1B1C32464A31AD8340093B3126DC78BE1E51286C6ED9DBFB12DD60F48D6FB +9D3BA766855BC2B43DDF4D30BEF8772966B33668E5CD2123A5D2811259038DFB +5B4076AF880B966EE23434A083B411123B25A34C8AE4B0F147A2396675C64780 +F2F7342658B3C0BCAA905BB329D8CFD68CAA122C4000B4506099ABE9068C9C14 +67B1912528CC0DBA08E047BF681D7F7689104D94C895782FFE150A320FAE54BD +1313E2F336FC5086F24DE0A2310D0BEA3208650259ED45D9446E45D7CE0F5F2C +6B4CDE23EFE97CE88BC8EEC48F06CA3230062BDD3C6F010E7FD0CAB162BA09F4 +F1A6C0F8B44A35ED8CF07F8144EC7FC295377CDC3453A29054A29C070CD15A15 +57C6C317A011523D4E915C6A639A70CAAA9C28EC8A80B527303F840205D03A38 +99E597B01202A385A68D55BDA07E4D77D997D3DD6ACF0F15754BBD97222B9C8B +6BC1606A4BEF5E40FCBB38EC0DECB4558EE1823F09999FA69EC94F9DE6E68269 +EB24250C6D993602C43D1095EBAA83A8A77E9D6ACC7D4B090EE34A20267289DD +74CC05CB2AF8E850BD22FCF55076A3B8F2160A6F0610F7338F020BE9E871F8C1 +E368863BBC395754D92F8E28EC7A79AFD2C944FD1E0619EF05D08EBD4ACE1AA6 +17C4C41A8AE46505C92B72E30707E830082B6B0B5503CF66E0911A87A7CB4A51 +DDDB9A6AA5F25EC58FECF0C7BD44B4FDDFF4A281CB93053F26874A3667FC4BDC +06269276961697F9D2968F4D291817D9C596525C37ADFBFA4C0D9930B64EE0D8 +13CCE808A46AF885E910C491D9BCC5AEC3E2B45BAD14615867AD99EE61DC6EC0 +BDFA9634CE416AA68A6D33F76D7BC825F18A5FF826518137A68BE23AB82DE357 +76606886CBD649CD8113F2B8B4F460085B6FB145AB61ED1637867DD755F29AB8 +B18CD8A68F5FBAC04A96D026F978EAC86187180032E60E6122307288D637C31C +F5C6FD8964747F1166F34763B682F4545FE8908B7E4F0459F540649F1C806124 +F82317E9ECAEC3C91A8038CE21F125D9515F5B46BC87E2D8072DD2C6DEC6003B +2162E714F2C27BD0A4FC1F1E74312581A44178D4FBAA47AFE0684602CB937028 +A1E039B398A81D757857589A7D8C079BA7C6A3E4AC01611B1E45DC0D877CA3DC +B5D9414BB4C0B64A1E04E1B1A98F6AAA605943ADD43489FF4590EB271C579DBB +D0B5EFDDFFF918D151AA8953D35A7499CE7523A2C56E4BF8A0D33F41D617DDD4 +186794CB26F2B7B96A0FF9D779BCF80B286691C828E2D2AD3B39CB +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndFont +TeXDict begin 40258437 52099154 1000 8000 8000 (fm.dvi) +@start /Fa 205[470 50[{}1 885.568 /CMR8 rf /Fb 134[634 +739 120[{}2 1328.35 /CMMI12 rf /Fc 139[506 513 506 1[723 +1[723 1084 361 4[650 397 578 1[578 1[650 13[723 2[885 +18[1012 61[{}15 1328.35 /CMR12 rf end +%%EndProlog +%%BeginSetup +%%Feature: *Resolution 8000dpi +TeXDict begin + +%%EndSetup +1 0 bop Black Black Black -8000 22866 a + /PSfrag where{pop(x)[[0(c)1 0]](y)[[1(c)1 0]](y = x^2)[[2(c)1 0]]3 +0 -1/Begin PSfrag}{userdict /PSfrag{pop}put}ifelse + -8000 22866 a +@beginspecial 50 @llx 50 @lly 410 @urx 302 @ury 3968 +@rwi @setspecial +%%BeginDocument: /net/sirius/home/vogel/www/fragmaster/parabel_fm.eps +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: parabel_fm.eps +%%Creator: gnuplot 3.7 patchlevel 1 +%%CreationDate: Thu Jan 29 13:11:14 2004 +%%DocumentFonts: (atend) +%%BoundingBox: 50 50 410 302 +%%Orientation: Portrait +%%EndComments +/gnudict 256 dict def +gnudict begin +/Color false def +/Solid false def +/gnulinewidth 5.000 def +/userlinewidth gnulinewidth def +/vshift -46 def +/dl {10 mul} def +/hpt_ 31.5 def +/vpt_ 31.5 def +/hpt hpt_ def +/vpt vpt_ def +/M {moveto} bind def +/L {lineto} bind def +/R {rmoveto} bind def +/V {rlineto} bind def +/vpt2 vpt 2 mul def +/hpt2 hpt 2 mul def +/Lshow { currentpoint stroke M + 0 vshift R show } def +/Rshow { currentpoint stroke M + dup stringwidth pop neg vshift R show } def +/Cshow { currentpoint stroke M + dup stringwidth pop -2 div vshift R show } def +/UP { dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def + /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def } def +/DL { Color {setrgbcolor Solid {pop []} if 0 setdash } + {pop pop pop Solid {pop []} if 0 setdash} ifelse } def +/BL { stroke userlinewidth 2 mul setlinewidth } def +/AL { stroke userlinewidth 2 div setlinewidth } def +/UL { dup gnulinewidth mul /userlinewidth exch def + 10 mul /udl exch def } def +/PL { stroke userlinewidth setlinewidth } def +/LTb { BL [] 0 0 0 DL } def +/LTa { AL [1 udl mul 2 udl mul] 0 setdash 0 0 0 setrgbcolor } def +/LT0 { PL [] 1 0 0 DL } def +/LT1 { PL [4 dl 2 dl] 0 1 0 DL } def +/LT2 { PL [2 dl 3 dl] 0 0 1 DL } def +/LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def +/LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def +/LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def +/LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def +/LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def +/LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def +/Pnt { stroke [] 0 setdash + gsave 1 setlinecap M 0 0 V stroke grestore } def +/Dia { stroke [] 0 setdash 2 copy vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath stroke + Pnt } def +/Pls { stroke [] 0 setdash vpt sub M 0 vpt2 V + currentpoint stroke M + hpt neg vpt neg R hpt2 0 V stroke + } def +/Box { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath stroke + Pnt } def +/Crs { stroke [] 0 setdash exch hpt sub exch vpt add M + hpt2 vpt2 neg V currentpoint stroke M + hpt2 neg 0 R hpt2 vpt2 V stroke } def +/TriU { stroke [] 0 setdash 2 copy vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath stroke + Pnt } def +/Star { 2 copy Pls Crs } def +/BoxF { stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath fill } def +/TriUF { stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath fill } def +/TriD { stroke [] 0 setdash 2 copy vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath stroke + Pnt } def +/TriDF { stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath fill} def +/DiaF { stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath fill } def +/Pent { stroke [] 0 setdash 2 copy gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath stroke grestore Pnt } def +/PentF { stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath fill grestore } def +/Circle { stroke [] 0 setdash 2 copy + hpt 0 360 arc stroke Pnt } def +/CircleF { stroke [] 0 setdash hpt 0 360 arc fill } def +/C0 { BL [] 0 setdash 2 copy moveto vpt 90 450 arc } bind def +/C1 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc closepath fill + vpt 0 360 arc closepath } bind def +/C2 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 180 arc closepath fill + vpt 0 360 arc closepath } bind def +/C3 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 180 arc closepath fill + vpt 0 360 arc closepath } bind def +/C4 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 180 270 arc closepath fill + vpt 0 360 arc closepath } bind def +/C5 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc + 2 copy moveto + 2 copy vpt 180 270 arc closepath fill + vpt 0 360 arc } bind def +/C6 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 270 arc closepath fill + vpt 0 360 arc closepath } bind def +/C7 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 270 arc closepath fill + vpt 0 360 arc closepath } bind def +/C8 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 270 360 arc closepath fill + vpt 0 360 arc closepath } bind def +/C9 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 270 450 arc closepath fill + vpt 0 360 arc closepath } bind def +/C10 { BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill + 2 copy moveto + 2 copy vpt 90 180 arc closepath fill + vpt 0 360 arc closepath } bind def +/C11 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 180 arc closepath fill + 2 copy moveto + 2 copy vpt 270 360 arc closepath fill + vpt 0 360 arc closepath } bind def +/C12 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 180 360 arc closepath fill + vpt 0 360 arc closepath } bind def +/C13 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc closepath fill + 2 copy moveto + 2 copy vpt 180 360 arc closepath fill + vpt 0 360 arc closepath } bind def +/C14 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 360 arc closepath fill + vpt 0 360 arc } bind def +/C15 { BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill + vpt 0 360 arc closepath } bind def +/Rec { newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto + neg 0 rlineto closepath } bind def +/Square { dup Rec } bind def +/Bsquare { vpt sub exch vpt sub exch vpt2 Square } bind def +/S0 { BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare } bind def +/S1 { BL [] 0 setdash 2 copy vpt Square fill Bsquare } bind def +/S2 { BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def +/S3 { BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare } bind def +/S4 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def +/S5 { BL [] 0 setdash 2 copy 2 copy vpt Square fill + exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def +/S6 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare } bind def +/S7 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill + 2 copy vpt Square fill + Bsquare } bind def +/S8 { BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare } bind def +/S9 { BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare } bind def +/S10 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill + Bsquare } bind def +/S11 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill + Bsquare } bind def +/S12 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare } bind def +/S13 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill + 2 copy vpt Square fill Bsquare } bind def +/S14 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill + 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def +/S15 { BL [] 0 setdash 2 copy Bsquare fill Bsquare } bind def +/D0 { gsave translate 45 rotate 0 0 S0 stroke grestore } bind def +/D1 { gsave translate 45 rotate 0 0 S1 stroke grestore } bind def +/D2 { gsave translate 45 rotate 0 0 S2 stroke grestore } bind def +/D3 { gsave translate 45 rotate 0 0 S3 stroke grestore } bind def +/D4 { gsave translate 45 rotate 0 0 S4 stroke grestore } bind def +/D5 { gsave translate 45 rotate 0 0 S5 stroke grestore } bind def +/D6 { gsave translate 45 rotate 0 0 S6 stroke grestore } bind def +/D7 { gsave translate 45 rotate 0 0 S7 stroke grestore } bind def +/D8 { gsave translate 45 rotate 0 0 S8 stroke grestore } bind def +/D9 { gsave translate 45 rotate 0 0 S9 stroke grestore } bind def +/D10 { gsave translate 45 rotate 0 0 S10 stroke grestore } bind def +/D11 { gsave translate 45 rotate 0 0 S11 stroke grestore } bind def +/D12 { gsave translate 45 rotate 0 0 S12 stroke grestore } bind def +/D13 { gsave translate 45 rotate 0 0 S13 stroke grestore } bind def +/D14 { gsave translate 45 rotate 0 0 S14 stroke grestore } bind def +/D15 { gsave translate 45 rotate 0 0 S15 stroke grestore } bind def +/DiaE { stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath stroke } def +/BoxE { stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath stroke } def +/TriUE { stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath stroke } def +/TriDE { stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath stroke } def +/PentE { stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath stroke grestore } def +/CircE { stroke [] 0 setdash + hpt 0 360 arc stroke } def +/Opaque { gsave closepath 1 setgray fill grestore 0 setgray closepath } def +/DiaW { stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V Opaque stroke } def +/BoxW { stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V Opaque stroke } def +/TriUW { stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V Opaque stroke } def +/TriDW { stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V Opaque stroke } def +/PentW { stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + Opaque stroke grestore } def +/CircW { stroke [] 0 setdash + hpt 0 360 arc Opaque stroke } def +/BoxFill { gsave Rec 1 setgray fill grestore } def +/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont +dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall +currentdict end definefont +end +%%EndProlog +gnudict begin +gsave +50 50 translate +0.050 0.050 scale +0 setgray +newpath +(Helvetica) findfont 140 scalefont setfont +1.000 UL +LTb +630 420 M +63 0 V +6269 0 R +-63 0 V +546 420 M +(0) Rshow +630 887 M +63 0 V +6269 0 R +-63 0 V +546 887 M +(0.5) Rshow +630 1353 M +63 0 V +6269 0 R +-63 0 V +-6353 0 R +(1) Rshow +630 1820 M +63 0 V +6269 0 R +-63 0 V +-6353 0 R +(1.5) Rshow +630 2287 M +63 0 V +6269 0 R +-63 0 V +-6353 0 R +(2) Rshow +630 2753 M +63 0 V +6269 0 R +-63 0 V +-6353 0 R +(2.5) Rshow +630 3220 M +63 0 V +6269 0 R +-63 0 V +-6353 0 R +(3) Rshow +630 3687 M +63 0 V +6269 0 R +-63 0 V +-6353 0 R +(3.5) Rshow +630 4153 M +63 0 V +6269 0 R +-63 0 V +-6353 0 R +(4) Rshow +630 4620 M +63 0 V +6269 0 R +-63 0 V +-6353 0 R +(4.5) Rshow +630 420 M +0 63 V +0 4137 R +0 -63 V +630 280 M +(-2) Cshow +1422 420 M +0 63 V +0 4137 R +0 -63 V +0 -4277 R +(-1.5) Cshow +2213 420 M +0 63 V +0 4137 R +0 -63 V +0 -4277 R +(-1) Cshow +3005 420 M +0 63 V +0 4137 R +0 -63 V +0 -4277 R +(-0.5) Cshow +3796 420 M +0 63 V +0 4137 R +0 -63 V +0 -4277 R +(0) Cshow +4588 420 M +0 63 V +0 4137 R +0 -63 V +0 -4277 R +(0.5) Cshow +5379 420 M +0 63 V +0 4137 R +0 -63 V +0 -4277 R +(1) Cshow +6171 420 M +0 63 V +0 4137 R +0 -63 V +0 -4277 R +(1.5) Cshow +6962 420 M +0 63 V +0 4137 R +0 -63 V +0 -4277 R +(2) Cshow +1.000 UL +LTb +630 420 M +6332 0 V +0 4200 V +-6332 0 V +630 420 L +140 2520 M +currentpoint gsave translate 90 rotate 0 0 M +(y) Cshow +grestore +3796 70 M +(x) Cshow +3796 4830 M +(y = x^2) Cshow +1.000 UL +LT0 +630 4153 M +64 -149 V +64 -146 V +64 -143 V +64 -141 V +64 -137 V +64 -134 V +64 -131 V +64 -128 V +64 -125 V +64 -122 V +64 -119 V +64 -115 V +63 -113 V +64 -110 V +64 -106 V +64 -104 V +64 -101 V +64 -97 V +64 -95 V +64 -91 V +64 -88 V +64 -86 V +64 -82 V +64 -79 V +64 -76 V +64 -74 V +64 -70 V +64 -67 V +64 -64 V +64 -61 V +64 -58 V +64 -54 V +64 -52 V +64 -49 V +64 -46 V +64 -42 V +64 -40 V +63 -36 V +64 -34 V +64 -30 V +64 -28 V +64 -24 V +64 -22 V +64 -18 V +64 -15 V +64 -12 V +64 -9 V +64 -7 V +64 -3 V +64 0 V +64 3 V +64 7 V +64 9 V +64 12 V +64 15 V +64 18 V +64 22 V +64 24 V +64 28 V +64 30 V +64 34 V +63 36 V +64 40 V +64 42 V +64 46 V +64 49 V +64 52 V +64 54 V +64 58 V +64 61 V +64 64 V +64 67 V +64 70 V +64 74 V +64 76 V +64 79 V +64 82 V +64 86 V +64 88 V +64 91 V +64 95 V +64 97 V +64 101 V +64 104 V +64 106 V +64 110 V +63 113 V +64 115 V +64 119 V +64 122 V +64 125 V +64 128 V +64 131 V +64 134 V +64 137 V +64 141 V +64 143 V +64 146 V +64 149 V +stroke +grestore +end +showpage +%%Trailer +%%DocumentFonts: Helvetica + +%%EndDocument + @endspecial -8000 22866 a + /End PSfrag + -8000 22866 a -8000 16649 +a + /Hide PSfrag + -8000 16649 a -19587 17571 a Fc(PSfrag)434 b(replacemen)-36 +b(ts)p -19587 18007 11587 45 v -8000 18051 a + /Unhide PSfrag + -8000 18051 +a -8370 19370 a + { + -8370 19370 a Black -8740 19656 a Fb(x)p +Black -8370 19370 a + } 0/Place PSfrag + -8370 19370 a -8341 20846 a + { + -8341 +20846 a Black -8682 21003 a Fb(y)p Black -8341 20846 +a + } 1/Place PSfrag + -8341 20846 a -9848 22211 a + { + -9848 22211 a Black -11696 +22608 a Fb(y)416 b Fc(=)369 b Fb(x)-8526 22126 y Fa(2)p +Black -9848 22211 a + } 2/Place PSfrag + -9848 22211 a Black Black Black eop +%%Trailer +end +userdict /end-hook known{end-hook}if +%%EOF diff --git a/Master/texmf-dist/doc/support/fragmaster/example/parabel.pdf b/Master/texmf-dist/doc/support/fragmaster/example/parabel.pdf Binary files differnew file mode 100644 index 00000000000..fe68eab1d6b --- /dev/null +++ b/Master/texmf-dist/doc/support/fragmaster/example/parabel.pdf diff --git a/Master/texmf-dist/doc/support/fragmaster/example/parabel_fm b/Master/texmf-dist/doc/support/fragmaster/example/parabel_fm new file mode 100644 index 00000000000..298fc87a005 --- /dev/null +++ b/Master/texmf-dist/doc/support/fragmaster/example/parabel_fm @@ -0,0 +1,6 @@ +% Fragmaster-Datei für das Parabel-Beispiel +% fmopt: width=14cm + +\psfrag{x}[c][c]{$x$} +\psfrag{y}[c][c]{$y$} +\psfrag{y = x^2}[c][c]{$y = x^2$} diff --git a/Master/texmf-dist/doc/support/fragmaster/example/parabel_fm.eps b/Master/texmf-dist/doc/support/fragmaster/example/parabel_fm.eps new file mode 100644 index 00000000000..b496761e9b9 --- /dev/null +++ b/Master/texmf-dist/doc/support/fragmaster/example/parabel_fm.eps @@ -0,0 +1,489 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: parabel_fm.eps +%%Creator: gnuplot 3.7 patchlevel 1 +%%CreationDate: Thu Jan 29 13:11:14 2004 +%%DocumentFonts: (atend) +%%BoundingBox: 50 50 410 302 +%%Orientation: Portrait +%%EndComments +/gnudict 256 dict def +gnudict begin +/Color false def +/Solid false def +/gnulinewidth 5.000 def +/userlinewidth gnulinewidth def +/vshift -46 def +/dl {10 mul} def +/hpt_ 31.5 def +/vpt_ 31.5 def +/hpt hpt_ def +/vpt vpt_ def +/M {moveto} bind def +/L {lineto} bind def +/R {rmoveto} bind def +/V {rlineto} bind def +/vpt2 vpt 2 mul def +/hpt2 hpt 2 mul def +/Lshow { currentpoint stroke M + 0 vshift R show } def +/Rshow { currentpoint stroke M + dup stringwidth pop neg vshift R show } def +/Cshow { currentpoint stroke M + dup stringwidth pop -2 div vshift R show } def +/UP { dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def + /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def } def +/DL { Color {setrgbcolor Solid {pop []} if 0 setdash } + {pop pop pop Solid {pop []} if 0 setdash} ifelse } def +/BL { stroke userlinewidth 2 mul setlinewidth } def +/AL { stroke userlinewidth 2 div setlinewidth } def +/UL { dup gnulinewidth mul /userlinewidth exch def + 10 mul /udl exch def } def +/PL { stroke userlinewidth setlinewidth } def +/LTb { BL [] 0 0 0 DL } def +/LTa { AL [1 udl mul 2 udl mul] 0 setdash 0 0 0 setrgbcolor } def +/LT0 { PL [] 1 0 0 DL } def +/LT1 { PL [4 dl 2 dl] 0 1 0 DL } def +/LT2 { PL [2 dl 3 dl] 0 0 1 DL } def +/LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def +/LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def +/LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def +/LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def +/LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def +/LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def +/Pnt { stroke [] 0 setdash + gsave 1 setlinecap M 0 0 V stroke grestore } def +/Dia { stroke [] 0 setdash 2 copy vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath stroke + Pnt } def +/Pls { stroke [] 0 setdash vpt sub M 0 vpt2 V + currentpoint stroke M + hpt neg vpt neg R hpt2 0 V stroke + } def +/Box { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath stroke + Pnt } def +/Crs { stroke [] 0 setdash exch hpt sub exch vpt add M + hpt2 vpt2 neg V currentpoint stroke M + hpt2 neg 0 R hpt2 vpt2 V stroke } def +/TriU { stroke [] 0 setdash 2 copy vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath stroke + Pnt } def +/Star { 2 copy Pls Crs } def +/BoxF { stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath fill } def +/TriUF { stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath fill } def +/TriD { stroke [] 0 setdash 2 copy vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath stroke + Pnt } def +/TriDF { stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath fill} def +/DiaF { stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath fill } def +/Pent { stroke [] 0 setdash 2 copy gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath stroke grestore Pnt } def +/PentF { stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath fill grestore } def +/Circle { stroke [] 0 setdash 2 copy + hpt 0 360 arc stroke Pnt } def +/CircleF { stroke [] 0 setdash hpt 0 360 arc fill } def +/C0 { BL [] 0 setdash 2 copy moveto vpt 90 450 arc } bind def +/C1 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc closepath fill + vpt 0 360 arc closepath } bind def +/C2 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 180 arc closepath fill + vpt 0 360 arc closepath } bind def +/C3 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 180 arc closepath fill + vpt 0 360 arc closepath } bind def +/C4 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 180 270 arc closepath fill + vpt 0 360 arc closepath } bind def +/C5 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc + 2 copy moveto + 2 copy vpt 180 270 arc closepath fill + vpt 0 360 arc } bind def +/C6 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 270 arc closepath fill + vpt 0 360 arc closepath } bind def +/C7 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 270 arc closepath fill + vpt 0 360 arc closepath } bind def +/C8 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 270 360 arc closepath fill + vpt 0 360 arc closepath } bind def +/C9 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 270 450 arc closepath fill + vpt 0 360 arc closepath } bind def +/C10 { BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill + 2 copy moveto + 2 copy vpt 90 180 arc closepath fill + vpt 0 360 arc closepath } bind def +/C11 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 180 arc closepath fill + 2 copy moveto + 2 copy vpt 270 360 arc closepath fill + vpt 0 360 arc closepath } bind def +/C12 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 180 360 arc closepath fill + vpt 0 360 arc closepath } bind def +/C13 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc closepath fill + 2 copy moveto + 2 copy vpt 180 360 arc closepath fill + vpt 0 360 arc closepath } bind def +/C14 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 360 arc closepath fill + vpt 0 360 arc } bind def +/C15 { BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill + vpt 0 360 arc closepath } bind def +/Rec { newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto + neg 0 rlineto closepath } bind def +/Square { dup Rec } bind def +/Bsquare { vpt sub exch vpt sub exch vpt2 Square } bind def +/S0 { BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare } bind def +/S1 { BL [] 0 setdash 2 copy vpt Square fill Bsquare } bind def +/S2 { BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def +/S3 { BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare } bind def +/S4 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def +/S5 { BL [] 0 setdash 2 copy 2 copy vpt Square fill + exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def +/S6 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare } bind def +/S7 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill + 2 copy vpt Square fill + Bsquare } bind def +/S8 { BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare } bind def +/S9 { BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare } bind def +/S10 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill + Bsquare } bind def +/S11 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill + Bsquare } bind def +/S12 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare } bind def +/S13 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill + 2 copy vpt Square fill Bsquare } bind def +/S14 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill + 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def +/S15 { BL [] 0 setdash 2 copy Bsquare fill Bsquare } bind def +/D0 { gsave translate 45 rotate 0 0 S0 stroke grestore } bind def +/D1 { gsave translate 45 rotate 0 0 S1 stroke grestore } bind def +/D2 { gsave translate 45 rotate 0 0 S2 stroke grestore } bind def +/D3 { gsave translate 45 rotate 0 0 S3 stroke grestore } bind def +/D4 { gsave translate 45 rotate 0 0 S4 stroke grestore } bind def +/D5 { gsave translate 45 rotate 0 0 S5 stroke grestore } bind def +/D6 { gsave translate 45 rotate 0 0 S6 stroke grestore } bind def +/D7 { gsave translate 45 rotate 0 0 S7 stroke grestore } bind def +/D8 { gsave translate 45 rotate 0 0 S8 stroke grestore } bind def +/D9 { gsave translate 45 rotate 0 0 S9 stroke grestore } bind def +/D10 { gsave translate 45 rotate 0 0 S10 stroke grestore } bind def +/D11 { gsave translate 45 rotate 0 0 S11 stroke grestore } bind def +/D12 { gsave translate 45 rotate 0 0 S12 stroke grestore } bind def +/D13 { gsave translate 45 rotate 0 0 S13 stroke grestore } bind def +/D14 { gsave translate 45 rotate 0 0 S14 stroke grestore } bind def +/D15 { gsave translate 45 rotate 0 0 S15 stroke grestore } bind def +/DiaE { stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath stroke } def +/BoxE { stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath stroke } def +/TriUE { stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath stroke } def +/TriDE { stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath stroke } def +/PentE { stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath stroke grestore } def +/CircE { stroke [] 0 setdash + hpt 0 360 arc stroke } def +/Opaque { gsave closepath 1 setgray fill grestore 0 setgray closepath } def +/DiaW { stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V Opaque stroke } def +/BoxW { stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V Opaque stroke } def +/TriUW { stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V Opaque stroke } def +/TriDW { stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V Opaque stroke } def +/PentW { stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + Opaque stroke grestore } def +/CircW { stroke [] 0 setdash + hpt 0 360 arc Opaque stroke } def +/BoxFill { gsave Rec 1 setgray fill grestore } def +/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont +dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall +currentdict end definefont +end +%%EndProlog +gnudict begin +gsave +50 50 translate +0.050 0.050 scale +0 setgray +newpath +(Helvetica) findfont 140 scalefont setfont +1.000 UL +LTb +630 420 M +63 0 V +6269 0 R +-63 0 V +546 420 M +(0) Rshow +630 887 M +63 0 V +6269 0 R +-63 0 V +546 887 M +(0.5) Rshow +630 1353 M +63 0 V +6269 0 R +-63 0 V +-6353 0 R +(1) Rshow +630 1820 M +63 0 V +6269 0 R +-63 0 V +-6353 0 R +(1.5) Rshow +630 2287 M +63 0 V +6269 0 R +-63 0 V +-6353 0 R +(2) Rshow +630 2753 M +63 0 V +6269 0 R +-63 0 V +-6353 0 R +(2.5) Rshow +630 3220 M +63 0 V +6269 0 R +-63 0 V +-6353 0 R +(3) Rshow +630 3687 M +63 0 V +6269 0 R +-63 0 V +-6353 0 R +(3.5) Rshow +630 4153 M +63 0 V +6269 0 R +-63 0 V +-6353 0 R +(4) Rshow +630 4620 M +63 0 V +6269 0 R +-63 0 V +-6353 0 R +(4.5) Rshow +630 420 M +0 63 V +0 4137 R +0 -63 V +630 280 M +(-2) Cshow +1422 420 M +0 63 V +0 4137 R +0 -63 V +0 -4277 R +(-1.5) Cshow +2213 420 M +0 63 V +0 4137 R +0 -63 V +0 -4277 R +(-1) Cshow +3005 420 M +0 63 V +0 4137 R +0 -63 V +0 -4277 R +(-0.5) Cshow +3796 420 M +0 63 V +0 4137 R +0 -63 V +0 -4277 R +(0) Cshow +4588 420 M +0 63 V +0 4137 R +0 -63 V +0 -4277 R +(0.5) Cshow +5379 420 M +0 63 V +0 4137 R +0 -63 V +0 -4277 R +(1) Cshow +6171 420 M +0 63 V +0 4137 R +0 -63 V +0 -4277 R +(1.5) Cshow +6962 420 M +0 63 V +0 4137 R +0 -63 V +0 -4277 R +(2) Cshow +1.000 UL +LTb +630 420 M +6332 0 V +0 4200 V +-6332 0 V +630 420 L +140 2520 M +currentpoint gsave translate 90 rotate 0 0 M +(y) Cshow +grestore +3796 70 M +(x) Cshow +3796 4830 M +(y = x^2) Cshow +1.000 UL +LT0 +630 4153 M +64 -149 V +64 -146 V +64 -143 V +64 -141 V +64 -137 V +64 -134 V +64 -131 V +64 -128 V +64 -125 V +64 -122 V +64 -119 V +64 -115 V +63 -113 V +64 -110 V +64 -106 V +64 -104 V +64 -101 V +64 -97 V +64 -95 V +64 -91 V +64 -88 V +64 -86 V +64 -82 V +64 -79 V +64 -76 V +64 -74 V +64 -70 V +64 -67 V +64 -64 V +64 -61 V +64 -58 V +64 -54 V +64 -52 V +64 -49 V +64 -46 V +64 -42 V +64 -40 V +63 -36 V +64 -34 V +64 -30 V +64 -28 V +64 -24 V +64 -22 V +64 -18 V +64 -15 V +64 -12 V +64 -9 V +64 -7 V +64 -3 V +64 0 V +64 3 V +64 7 V +64 9 V +64 12 V +64 15 V +64 18 V +64 22 V +64 24 V +64 28 V +64 30 V +64 34 V +63 36 V +64 40 V +64 42 V +64 46 V +64 49 V +64 52 V +64 54 V +64 58 V +64 61 V +64 64 V +64 67 V +64 70 V +64 74 V +64 76 V +64 79 V +64 82 V +64 86 V +64 88 V +64 91 V +64 95 V +64 97 V +64 101 V +64 104 V +64 106 V +64 110 V +63 113 V +64 115 V +64 119 V +64 122 V +64 125 V +64 128 V +64 131 V +64 134 V +64 137 V +64 141 V +64 143 V +64 146 V +64 149 V +stroke +grestore +end +showpage +%%Trailer +%%DocumentFonts: Helvetica diff --git a/Master/texmf-dist/doc/support/fragmaster/example/parabel_fm.gp b/Master/texmf-dist/doc/support/fragmaster/example/parabel_fm.gp new file mode 100644 index 00000000000..9e05c9007ad --- /dev/null +++ b/Master/texmf-dist/doc/support/fragmaster/example/parabel_fm.gp @@ -0,0 +1,8 @@ +set terminal postscript eps +set output 'parabel_fm.eps' + +set title 'y = x^2' +set xlabel 'x' +set ylabel 'y' + +plot [-2:2] x**2 notitle diff --git a/Master/texmf-dist/doc/support/fragmaster/example/parabel_fm.pdf b/Master/texmf-dist/doc/support/fragmaster/example/parabel_fm.pdf Binary files differnew file mode 100644 index 00000000000..f61784fb6cc --- /dev/null +++ b/Master/texmf-dist/doc/support/fragmaster/example/parabel_fm.pdf diff --git a/Master/texmf-dist/scripts/fragmaster/fragmaster.pl b/Master/texmf-dist/scripts/fragmaster/fragmaster.pl new file mode 100755 index 00000000000..efb4c9aa892 --- /dev/null +++ b/Master/texmf-dist/scripts/fragmaster/fragmaster.pl @@ -0,0 +1,259 @@ +#!/usr/bin/perl -w + +###################################################################### +# $Id: fragmaster.pl,v 1.3 2006/09/26 08:59:30 tvogel Exp $ +# +# fragmaster.pl +# creates EPS and PDF graphics from source EPS and control files +# with \psfrag commands +# +# Copyright (C) 2004 Tilman Vogel <tilman vogel web de> (dot at dot) +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# IMPORTANT: ALLOW DVIPS TO MAKE _PORTRAIT_ PS WITH WIDTH > HEIGHT +# BY ADDING +# +# @ custom 0pt 0pt +# +# TO YOUR /usr/share/texmf/dvips/config/config.pdf +# IF THIS ENTRY IS MISSING, DVIPS WILL GUESS ORIENTATION FROM +# WIDTH / HEIGHT RATIO. THIS STILL CAN HAPPEN IN CASE YOUR INPUT EPS +# MATCHES A STANDARD PAPER SIZE! +# +# Source files: +# <graphics>_fm.eps +# a source EPS file +# <graphics>_fm +# a control file containing \psfrag commands and optionally +# special comments: +# % fmclass: <class> +# use <class> instead of "article" +# % fmclassopt: <options> +# use <options> as class options instead of "12pt" +# % head: +# % <texcode> +# % end head +# causes <texcode> to be put into the preamble +# % fmopt: <option> +# causes <option> to be given to \includegraphics as +# optional parameter +# +# fragmaster.pl scans the current directory for files matching the +# pattern "*_fm" and "*_fm.eps" and converts them to the respective +# ".eps"- and ".pdf"-files if they are outdated. +# +# Credits: +# +# This script was inspired by a posting from +# Karsten Roemke <k roemke gmx de> (dot at dot) +# with subject +# "psfrag pdflatex, lange her" +# in de.comp.text.tex on 2003-11-11 05:25:44 PST. +# +# Karsten Roemke was inspired for his solution by postings from +# Thomas Wimmer. + +chomp($cwd = `pwd`); + +die "Current path contains whitespace. I am sorry, but LaTeX cannot handle this correctly, move somewhere else. Stopped" + if $cwd =~ /\s/; + +foreach $fm_file (<*_fm>) { + ($base = $fm_file) =~ s/_fm$//; + $source = "$fm_file.eps"; + + if(! -f $source) { + print "Cannot find EPS file '$source' for fragmaster file '$fm_file'! Skipped.\n"; + next; + } + + + $dest_eps = "$base.eps"; + $dest_pdf = "$base.pdf"; + + $do_it = 0; + + $do_it = 1 + if ! -f $dest_eps; + $do_it = 1 + if ! -f $dest_pdf; + + if(! $do_it) { + $oldest_dest = -M $dest_eps; + $oldest_dest = -M $dest_pdf + if -M $dest_pdf > $oldest_dest; + + $youngest_source = -M $fm_file; + $youngest_source = -M $source + if -M $source < $youngest_source; + $do_it = 1 + if $oldest_dest > $youngest_source; + } + + if( $do_it ) { + print "$fm_file, $source -> $dest_eps, $dest_pdf\n"; + + open FMFILE, "<$fm_file" + or die "Cannot read $fm_file!"; + + $tempdir = `mktemp -d fm-$base.XXXXXX` + or die "Cannot make temporary directory!"; + + chomp($tempdir); + + print "using $tempdir/\n"; + + open TEXFILE, ">$tempdir/fm.tex" + or die "Cannot write LaTeX file!"; + + $fmopt = ""; + @fmfile = (); + @fmhead = (); + $fmclass = "article"; + $fmclassopt = "12pt"; + while (<FMFILE>) { + chomp; + $fmopt = $1 if /fmopt:(.*)/; + $fmclass = $1 if /fmclass:(.*)/; + $fmclassopt = $1 if /fmclassopt:(.*)/; + if (/head:/) { + push @fmfile, " $_%\n"; + while(<FMFILE>) { + chomp; + last if /end head/; + push @fmfile, " $_%\n"; + # Remove comment prefix + s/^[\s%]*//; + push @fmhead, "$_%\n"; + } + } + + push @fmfile, " $_%\n"; + } + + print TEXFILE <<"EOF"; +\\documentclass[$fmclassopt]{$fmclass} +\\usepackage{graphicx,psfrag,color} +\\usepackage{german} +EOF + print TEXFILE + foreach(@fmhead); + print TEXFILE <<'EOF'; +\setlength{\topmargin}{-1in} +\setlength{\headheight}{0pt} +\setlength{\headsep}{0pt} +\setlength{\topskip}{0pt} +\setlength{\textheight}{\paperheight} +\setlength{\oddsidemargin}{-1in} +\setlength{\evensidemargin}{-1in} +\setlength{\textwidth}{\paperwidth} +\setlength{\parindent}{0pt} +\special{! TeXDict begin /landplus90{true}store end } +%\special{! statusdict /setpage undef } +%\special{! statusdict /setpageparams undef } +\pagestyle{empty} +\newsavebox{\pict} +EOF + print TEXFILE "\\graphicspath{{../}}\n"; + print TEXFILE <<'EOF'; +\begin{document} + \begin{lrbox}{\pict}% +EOF + + print TEXFILE + foreach (@fmfile); + + print TEXFILE " \\includegraphics[$fmopt]{$source}%\n"; + print TEXFILE <<'EOF'; + \end{lrbox} + \special{papersize=\the\wd\pict,\the\ht\pict} + \usebox{\pict} +\end{document} +EOF + + close TEXFILE; + + chdir($tempdir) + or die "Cannot chdir to $tempdir!"; + + system("latex fm.tex") / 256 == 0 + or die "Cannot latex fm.tex!"; + + # Using -E here, causes dvips to detect + # the psfrag phantom stuff and to set the BoundingBox wrong + system("dvips -E -P pdf fm.dvi -o fm.ps") / 256 == 0 + or die "Cannot dvips!"; + + chdir("..") + or die "Cannot chdir back up!"; + + open PS, "<$tempdir/fm.ps" + or die "Cannot read fm.ps!"; + + open EPS, ">$dest_eps" + or die "Cannot write $dest_eps!"; + + # Correct the bounding box by setting the left margin to 0 + # top margin to top of letterpaper! + # (I hope that is general enough...) + $saw_bounding_box = 0; + while(<PS>) { + if(! $saw_bounding_box) { + # if(s/^\%\%BoundingBox:\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)/\%\%BoundingBox: 0 $2 $3 $4/) { + if(s/^\%\%BoundingBox:\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)/\%\%BoundingBox: 0 $2 $3 792/) { + $saw_bounding_box = 1; + } + } + print EPS; + } + + # Not using -E above causes + # papersizes to be included into the PS + # Strip off the specifications. + # Otherwise gv doesn't show the BBox + # and epstopdf won't detect the correct + # PDF media size! + + # while(<PS>) { + # s/^%!PS-Adobe.*/%!PS-Adobe-3.0 EPSF-3.0/; + + # next if /^\%\%DocumentPaperSizes:/; + # if(/^\%\%BeginPaperSize:/) { + # while(<PS>) { + # last if /^\%\%EndPaperSize/; + # } + # next; + # } + # s/statusdict \/setpage known/false/; + # s/statusdict \/setpageparams known/false/; + # print EPS; + # } + + close EPS; + close PS; + + system("epstopdf $dest_eps --outfile=$dest_pdf") / 256 == 0 + or die "Cannot epstopdf!"; + + system("rm -rf $tempdir") / 256 == 0 + or die "Cannot remove $tempdir!"; + + close FMFILE; + + + + } +} diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check index 55c0fee5c3e..288a0d72188 100755 --- a/Master/tlpkg/bin/tlpkg-ctan-check +++ b/Master/tlpkg/bin/tlpkg-ctan-check @@ -101,7 +101,7 @@ my @WorkingTLP = qw( fncychap foekfont fontch fontinst fontspec fonttable fontwrap footbib footmisc footnpag forarray forloop formular fouridx fourier fouriernc - fp fpl fragments frankenstein free-math-font-survey + fp fpl fragmaster fragments frankenstein free-math-font-survey frenchle fribrief frletter frontespizio fullblck fullpict functan gaceta galois gastex gatech-thesis gb4e gcard gchords gcite gene-logic genmisc genmpage gentle geometry germbib diff --git a/Master/tlpkg/libexec/ctan2tds b/Master/tlpkg/libexec/ctan2tds index 483f93844d4..ebc5255f7ca 100755 --- a/Master/tlpkg/libexec/ctan2tds +++ b/Master/tlpkg/libexec/ctan2tds @@ -982,6 +982,7 @@ $standardtex='\.(cfg|sty|clo|ldf|cls|def|fd|cmap|4ht)$'; 'fourier', 'fonts', 'fouriernc', 'fonts', 'fpl', 'fonts', + 'fragmaster', 'support', 'frcursive', 'fonts', 'genmisc', 'generic', 'gfsdidot', 'fonts', @@ -1406,6 +1407,7 @@ $standardxmt='\.xmt'; 'dviasm' => '\.py$', 'epspdf' => '(epspdf(|\.help|boot|tk)|\.rb|makegray\.pro)$', 'epstopdf' => 'epstopdf', + 'fragmaster' => 'fragmaster.pl', 'latex2man' => 'latex2man$', 'latexmk' => '\.pl$', 'mkjobtexmf' => '\.pl$', diff --git a/Master/tlpkg/tlpsrc/collection-binextra.tlpsrc b/Master/tlpkg/tlpsrc/collection-binextra.tlpsrc index 93a3463617e..baaa2cc18f4 100644 --- a/Master/tlpkg/tlpsrc/collection-binextra.tlpsrc +++ b/Master/tlpkg/tlpsrc/collection-binextra.tlpsrc @@ -27,6 +27,7 @@ depend bin-tpic2pdftex depend bin-web depend cweb depend dviasm +depend fragmaster depend hyphenex depend latex2man depend latexmk diff --git a/Master/tlpkg/tlpsrc/fragmaster.tlpsrc b/Master/tlpkg/tlpsrc/fragmaster.tlpsrc new file mode 100644 index 00000000000..224b7208f32 --- /dev/null +++ b/Master/tlpkg/tlpsrc/fragmaster.tlpsrc @@ -0,0 +1,2 @@ +name fragmaster +category Package @@ -32,7 +32,8 @@ Public domain. TODO: not done already. - kpsewhich default to "TeX system documentation" for *.pdf, *.html. - add epspdf to doc/info/dir (should not be in bin-kpathsea, either). -- enable/write binpattern in {texloganalyser,purifyeps,pkfix-helper}.tlpsrc. +- enable/write binpattern in + {texloganalyser,purifyeps,pkfix-helper,fragmaster}.tlpsrc. - add luatex-plain.mem generation per elie. - review comments in context.tlpsrc. - move pkfix (and other scripts?) to texmf-dist, get symlinks right. @@ -40,7 +41,7 @@ Public domain. TODO: - remove bin-* prefixes from package names where possible. - merge collection-ttfutils and collection-psutils into collection-fontbin. better name? -- move pkfix-helper, purifyeps, pdfcrop, bin-pdftools, others? from +- move pkfix-helper, purifyeps, pdfcrop, fragmaster, bin-pdftools, others? from binextra to a collection-pdftools? some other name? 1. Package updates |