├── bib └── qbook.bib ├── compile.bat ├── delete-temp-files.bat ├── figure ├── by-nc.eps └── example │ ├── by-nc-nd.png │ ├── by-nc.png │ ├── figep.eps │ ├── gzh.JPG │ └── m2.pdf ├── qbook.cfg ├── qbook.cls ├── qbook.pdf ├── qbook.tex └── tex ├── chapter1.tex ├── chapter10.tex ├── chapter2.tex ├── chapter3.tex ├── chapter4.tex ├── chapter5.tex ├── chapter6.tex ├── chapter7.tex ├── chapter8.tex ├── chapter9.tex ├── cover.tex ├── overview.tex └── preface.tex /bib/qbook.bib: -------------------------------------------------------------------------------- 1 | %# -*- coding: utf-8-unix -*- 2 | @article {EK85, 3 | AUTHOR = {Ed Turner and Karen Gold}, 4 | TITLE = {Rubik's groups}, 5 | JOURNAL = {\textbf{\textit{American Mathematical Monthly}}}, 6 | VOLUME = {92}, 7 | NUMBER = {9}, 8 | PAGES = {617-629}, 9 | YEAR = {1985} 10 | } 11 | 12 | @article {G03, 13 | AUTHOR = {Gabriel Navarro}, 14 | TITLE = {On the fundamental theorem of finite abelian groups}, 15 | JOURNAL = {\textbf{\textit{American Mathematical Monthly}}}, 16 | VOLUME = {110}, 17 | NUMBER = {2}, 18 | PAGES = {153-154}, 19 | YEAR = {2003} 20 | } 21 | 22 | @article {G64, 23 | AUTHOR = {Gert Sabidussi}, 24 | TITLE = {Vertex-transitive graphs}, 25 | JOURNAL = {\textbf{\textit{Monatshefte fur Mathematik}}}, 26 | VOLUME = {68}, 27 | NUMBER = {5}, 28 | PAGES = {426-438}, 29 | YEAR = {1964} 30 | } 31 | 32 | @article {BDC64, 33 | AUTHOR = { B.A. Kennedy and D.A. McQuarrie and Jr,C.H. Brubaker }, 34 | TITLE = {Group theory and isomerism}, 35 | JOURNAL = {\textbf{\textit{Inorganic Chemistry}}}, 36 | VOLUME = {3}, 37 | NUMBER = {2}, 38 | PAGES = {265-268}, 39 | YEAR = {1964} 40 | } 41 | 42 | @book{U05, 43 | title = {\textbf{\textit{International Tables for Crystallography}}}, 44 | publisher = {Springer}, 45 | year = {2005}, 46 | edition = {5th edition}, 47 | author = { Uri Shmueli}, 48 | volume={ A} 49 | } 50 | 51 | @book{D65, 52 | title = {\textbf{\textit{Molecular Symmetry}}}, 53 | publisher = {D. Van Nostrand}, 54 | year = {1965}, 55 | adress={London}, 56 | author = { David S. Schonland} 57 | } 58 | 59 | @book{ST69, 60 | title = {\textbf{\textit{Theory of Groups and its Application to 61 | Physical Problems}}}, 62 | publisher = { Academic Press}, 63 | year = {1969}, 64 | author = {S. Bhagavantam and T. Venkatarayudu}, 65 | address={ New York} 66 | } 67 | 68 | @book{D07, 69 | title = {\textbf{\textit{Music: a Mathematical Offering}}}, 70 | publisher = { Cambridge University Press}, 71 | year = {2007}, 72 | author = { David J. Benson}, 73 | address={Cambridge CB2 2RU, UK} 74 | } 75 | 76 | @book{C78, 77 | title = {\textbf{\textit{Field Theory and its Classic Problems}}}, 78 | publisher = {Mathematical Association of America}, 79 | year = {1978}, 80 | author = { Charles Robert Hadlock}, 81 | series={Number 19 in 82 | Carus Mathematical Monographs} 83 | } 84 | 85 | @book{WI64, 86 | title = {\textbf{\textit{ Groups and their Graphs}}}, 87 | publisher = {Mathematical Association of America}, 88 | year = {1964}, 89 | author = { Wilhelm Magnus and Israel Grossman}, 90 | series={Anneli Lax New 91 | Mathematical Library} 92 | } 93 | 94 | @book{HBE02, 95 | title = {The SmallGroups library 96 | —— a GAP package}, 97 | year = {2002}, 98 | author = { Hans Ulrich Besche and Bettina Eick and Eamonn O'Brien} 99 | } 100 | 101 | @book{JS03, 102 | title = {Classification of finite abelian groups}, 103 | publisher={ Course notes available on 104 | the World Wide Web}, 105 | year = {2003}, 106 | author = { John M. Sullivan} 107 | } 108 | 109 | @book{P88, 110 | title = {\textbf{\textit{Group representations in probability and statistics}}}, 111 | publisher = { Academic Press}, 112 | year = {1988}, 113 | author = { Persi Diaconis}, 114 | address={ Institute of Mathe- 115 | matical Statistics, Hayward, CA}, 116 | series={Institute of 117 | Mathematical Statistics Lecture Notes——Monograph Series,11} 118 | 119 | } 120 | 121 | 122 | 123 | @online {J05, 124 | AUTHOR = {Jonathan Goss}, 125 | TITLE = {Point group symmetry}, 126 | URL = {www.phys.ncl.ac.uk/staff/njpg/symmetry/}, 127 | YEAR = {2005} 128 | 129 | } 130 | 131 | @online {L03, 132 | AUTHOR = {Larry Copes}, 133 | TITLE = {Representations of contra dance moves}, 134 | URL = { www.edmath.org/copes/contra/representations.html}, 135 | YEAR = {2003} 136 | 137 | } 138 | 139 | @online {I03, 140 | AUTHOR = { Ivars Peterson}, 141 | TITLE = { Contra dances, matrices, and groups}, 142 | URL = {www.sciencenews.org/articles/20030308/mathtrek.asp}, 143 | YEAR = {2003} 144 | 145 | } 146 | 147 | 148 | @book{M91, 149 | author = {Michael Artin}, 150 | title = { \textbf{\textit{Algebra}}}, 151 | publisher = {Prentice Hall}, 152 | address = { Englewood Cliffs, NJ}, 153 | year = {1991} 154 | 155 | } 156 | 157 | @book{J02, 158 | title = {\textbf{\textit{A First Course in Abstract Algebra}}}, 159 | publisher = {Addison-Wesley}, 160 | address = { Reading, MA}, 161 | year = {2002}, 162 | edition = {seventh edition}, 163 | author = { John B. Fraleigh} 164 | } 165 | 166 | @book{D01, 167 | title = {\textbf{\textit{Solved and Unsolved Problems in Number Theory}}}, 168 | publisher = {American 169 | Mathematical Society Chelsea Publishing}, 170 | address = { Providence, RI}, 171 | year = {2001}, 172 | edition = {fourth edition}, 173 | author = { Daniel Shanks} 174 | } 175 | 176 | @book{J04, 177 | title = {\textbf{\textit{Contemporary Abstract Algebra}}}, 178 | publisher = {Houghton Mifflin Company}, 179 | year = {2004}, 180 | author = { Joseph Gallian} 181 | } 182 | 183 | @book{E30, 184 | title = {\textbf{\textit{Algebraic Equations, An Introduction to the Theories of Lagrange 185 | and Galois}}}, 186 | publisher = {Columbia University Press}, 187 | year = {1930}, 188 | author = { Edgar Dehn}, 189 | adress={New York} 190 | } 191 | 192 | 193 | -------------------------------------------------------------------------------- /compile.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | chcp 65001 >nul 3 | 4 | set flag=%1 5 | if %flag%x == x ( 6 | set flag=qbook 7 | ) 8 | 9 | if %flag%x == qbookx ( 10 | call :cleanall 11 | call :qbook 12 | if ERRORLEVEL 1 ( 13 | echo Error! Please check the 'qbook.log' for more details... 14 | pause 15 | ) else ( 16 | call :clean 17 | echo Finished! 18 | ) 19 | goto :EOF 20 | ) 21 | 22 | if %flag%x == cleanx ( 23 | call :clean 24 | goto :EOF 25 | ) 26 | 27 | if %flag%x == cleanallx ( 28 | call :cleanall 29 | goto :EOF 30 | ) 31 | 32 | :help 33 | echo This is the compile batch script for Qbook. 34 | echo Usage: 35 | echo compile.bat [option] 36 | echo options: 37 | echo qbook Compile the qbook (default) 38 | echo clean Clean all work files 39 | echo cleanall Clean all work files and qbook.pdf 40 | echo help Print this help message 41 | goto :EOF 42 | 43 | :qbook 44 | echo Compile... 45 | latexmk -xelatex -halt-on-error -silent qbook >nul 2>nul 46 | goto :EOF 47 | 48 | :clean 49 | echo Clean files... 50 | latexmk -c -silent 2>nul 51 | del tex\*.aux >nul 2>nul 52 | goto :EOF 53 | 54 | :cleanall 55 | echo Clean files... 56 | latexmk -C -silent 2>nul 57 | del tex\*.aux >nul 2>nul 58 | if exist qbook.pdf ( 59 | echo Close the file: qbook.pdf! 60 | pause 61 | call :cleanall 62 | ) 63 | goto :EOF 64 | -------------------------------------------------------------------------------- /delete-temp-files.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | del /q *.aux *.bbl *.blg *.log *.out *.toc *.bcf *.xml *.synctex *.nlo *.nls *.bak *.ind *.idx *.ilg *.lof *.lot *.ent-x *.tmp *.ltx *.los *.lol *.loc *.listing *.gz *.userbak *.nav *.snm *.vrb *.synctex(busy) 3 | 4 | 5 | del /q *.nav *.snm *.vrb *.fls *.xdv *.fdb_latexmk -------------------------------------------------------------------------------- /figure/by-nc.eps: -------------------------------------------------------------------------------- 1 | %!PS-Adobe-3.0 EPSF-3.0 %%Creator: Adobe Illustrator(R) 8.0 %%AI8_CreatorVersion: 13.0.1 %%For: (Alex Roberts) () %%Title: (by-nc.eps) %%CreationDate: 3/27/08 4:28 PM %%BoundingBox: 340 278 461 321 %%HiResBoundingBox: 340.5 278.5 460.5 320.5 %%DocumentProcessColors: Cyan Magenta Yellow Black %%DocumentSuppliedResources: procset Adobe_level2_AI5 1.2 0 %%+ procset Adobe_ColorImage_AI6 1.3 0 %%+ procset Adobe_Illustrator_AI5 1.3 0 %%+ procset Adobe_cshow 2.0 8 %%+ procset Adobe_shading_AI8 1.0 0 %AI5_FileFormat 4.0 %AI3_ColorUsage: Color %AI3_IncludePlacedImages %AI7_ImageSettings: 1 %%CMYKProcessColor: 0.74902 0.678431 0.670588 0.901961 ([Registration]) %%AI6_ColorSeparationSet: 1 1 (AI6 Default Color Separation Set) %%+ Options: 1 16 0 1 1 1 0 0 0 0 1 1 1 18 0 0 0 0 0 0 0 0 -1 -1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 2 3 4 %%+ PPD: 1 21 0 0 60 45 2 2 1 0 0 1 0 0 0 0 0 0 0 0 -1 -1 () %AI3_Cropmarks: 340.5 278.5 460.5 320.5 %AI3_TemplateBox: 400.5 299.5 400.5 299.5 %AI3_TileBox: 112 -56 688 678 %AI3_DocumentPreview: Macintosh_ColorPic %AI5_ArtSize: 800 600 %AI5_RulerUnits: 6 %AI5_ArtFlags: 0 0 0 1 0 0 1 0 0 %AI5_TargetResolution: 800 %AI5_NumLayers: 1 %AI8_OpenToView: -381 756 1 1566 923 26 0 0 73 75 0 0 %AI5_OpenViewLayers: 7 %%PageOrigin:0 0 %AI7_GridSettings: 48 8 48 8 1 0 0.8 0.8 0.8 0.9 0.9 0.9 %AI9_Flatten: 1 %AI12_CMSettings: 00.MS %AI7_Thumbnail: 128 48 8 %%BeginData: 8668 Hex Bytes %0000330000660000990000CC0033000033330033660033990033CC0033FF %0066000066330066660066990066CC0066FF009900009933009966009999 %0099CC0099FF00CC0000CC3300CC6600CC9900CCCC00CCFF00FF3300FF66 %00FF9900FFCC3300003300333300663300993300CC3300FF333300333333 %3333663333993333CC3333FF3366003366333366663366993366CC3366FF %3399003399333399663399993399CC3399FF33CC0033CC3333CC6633CC99 %33CCCC33CCFF33FF0033FF3333FF6633FF9933FFCC33FFFF660000660033 %6600666600996600CC6600FF6633006633336633666633996633CC6633FF %6666006666336666666666996666CC6666FF669900669933669966669999 %6699CC6699FF66CC0066CC3366CC6666CC9966CCCC66CCFF66FF0066FF33 %66FF6666FF9966FFCC66FFFF9900009900339900669900999900CC9900FF %9933009933339933669933999933CC9933FF996600996633996666996699 %9966CC9966FF9999009999339999669999999999CC9999FF99CC0099CC33 %99CC6699CC9999CCCC99CCFF99FF0099FF3399FF6699FF9999FFCC99FFFF %CC0000CC0033CC0066CC0099CC00CCCC00FFCC3300CC3333CC3366CC3399 %CC33CCCC33FFCC6600CC6633CC6666CC6699CC66CCCC66FFCC9900CC9933 %CC9966CC9999CC99CCCC99FFCCCC00CCCC33CCCC66CCCC99CCCCCCCCCCFF %CCFF00CCFF33CCFF66CCFF99CCFFCCCCFFFFFF0033FF0066FF0099FF00CC %FF3300FF3333FF3366FF3399FF33CCFF33FFFF6600FF6633FF6666FF6699 %FF66CCFF66FFFF9900FF9933FF9966FF9999FF99CCFF99FFFFCC00FFCC33 %FFCC66FFCC99FFCCCCFFCCFFFFFF33FFFF66FFFF99FFFFCC110000001100 %000011111111220000002200000022222222440000004400000044444444 %550000005500000055555555770000007700000077777777880000008800 %000088888888AA000000AA000000AAAAAAAABB000000BB000000BBBBBBBB %DD000000DD000000DDDDDDDDEE000000EE000000EEEEEEEE0000000000FF %00FF0000FFFFFF0000FF00FFFFFF00FFFFFF %524C45A8FD7DF827A8F8275258527D5258527D5258527D5258527D525852 %7D5258527D5258527D5258527D5258527D5258527D5258527D5258527D52 %58527D5258527D5258527D5258527D5258527D5258527D5258527D525852 %7D5258527D5258527D5258527D5258527D5258527D5258527D5258527D52 %58527D5258527D5258527D5258527DF8F8F852A87D837DA87D837DA87D83 %7DA87D837DA87D847DA87D847DA87D837DA87D837DA87D837DA87D837DA8 %7D837DA87D837DA87D837DA87D837DA87D837DA87DA87DA883A87DA87D83 %7DA87D837DA87D837DA87D837DA87D837DA87D837DA87DA87DA883A87DA8 %7D837DA87D837DA87D837DA87D837DA87D837DA87D837D7DF8F8FD127D83 %FD2C7D58FD0652FD177D587D52522D5252FD197D52F8F852A87D837D837D %837D837D837DA87D835858FD07277D7DA87D847D837D837D837D837D837D %837D837D837D837D837D837D837D837D837DA87D7D2727FD05F82727527D %A87D837D837D837D837D837D837D837DA87D7D2727FD05F80404527DA87D %837D837D837D837D837D837D837D837D837D837D7DF8F8FD0C7D837D52FD %0BF827277D7D83FD1B7D845227FD0BF8275284FD0F7D52FD0CF82DFD157D %52F8F858837D837D7D7D837D7D7DA85227FD0FF8277DA87D7D7D837D7D7D %837D7D7D837D7D7D837D7D7D837D7D7D837DA852FD04F8527DA8A8A87D52 %FD04F827A87D7D7D837D7D7D837D7D7DA87D27F8F8F85252A8A8A87D7D27 %F8F8F8277D7D837D7D7D837D7D7D837D7D7D837D7D7D837D7DF8F8FD0B7D %27FD06F827275252522727FD06F85283FD177D8352F8F8F827A8FD08FF52 %F8F8F82783FD0A7D5227F8F8F8A8FD08FF7DF8F8F804FD137D52F8F858A8 %7D837D837D837D8327FD04F8277DFD08FFA85227FD04F852A87D837D837D %837D837D837D837D837D837D837D837DA858F8F8F87DFD04FF7D277DFD04 %FFA827F8F852A87D837D837D837D837D27F8F852FD05FFA8A8FD04FFA852 %F8F827A87D837D837D837D837D837D837D837D837D7DF8F8FD087D8327FD %04F87DFD0CFFA852FD04F85283FD157D27F8F87DFD04FFA8F8F8F8A8FD04 %FFA8F8F8F858FD087D27F8F852FD06FF2727FD05FFA827F8F85284FD0F7D %8352F8F852A87D7D7D837DA827FD04F8A8FD0FFF7DFD04F852A87D837D7D %7D837D7D7D837D7D7D837D7D7D837D52F8F852FD05FF7DF8F8F87DFD05FF %7DF8F8527D7D7D83FD047DF8F827FD06FFA8F827A8FD05FFA827F8277D83 %7D7D7D837D7D7D837D7D7D83FD047DF8F859FD057D8352FD04F8A8FD11FF %7DFD04F858FD137DF8F8F8FD07FF522752FD07FF27F8F8FD077D27F8F8F8 %27A8FFFFA852FD05F87DFD04FF7DF8F852FD107D52F8F852A87D837DA87D %27F8F8F8FD14FF7DF8F8F82D7D847D837D837D837D837D837D837D837DA8 %52F8F8A8FD06FF527D527D52A8FD05FFA8F8F852A87D837D837D27FD05F8 %527D52F8F8F827F8F852FD05FF27F827A87D837D837D837D837D837D837D %837D7DF8F8FD067D52F8F8F87DFD15FF52F8F8F859FD117D52F8F8A8FD05 %FF27FD06F8FD06FF27F827FD057D52F8F85227FD07F8A8A87D52FD06FF7D %F8F858FD0F7D52F8F858837D837D7DF8F8F852FD17FF27F8F827847D837D %7D7D837D7D7D837D7D7D837D8327F827FD06FF27FD06F8A8FD05FF52F8F8 %837D7D7DA852F8F8FFFF7D27FD04F8277DFD09FF7DF8F87D7D837D7D7D83 %7D7D7D837D7D7D837D7DF8F8FD047D8327F8F8F8A8FD17FF52F8F8F858FD %107D27F852FD06FFFD07F8FD06FF7DF8F858FD047D52F827A8FFFFFF7D52 %FD05F852A8FD06FFA8F8F852FD0F7D52F8F858A87DA87D27F8F852FD05FF %7D52275252FD05FF7D5227527DFD05FFF8F8F8527D837D837D837D837D83 %7D837D837D7DF8F87DFD06FF27FD05F827FD06FF7DF8F87D7D837DA82DF8 %27FD06FFA852FD04F82752FD06FF27F8587D837D837D837D837D837D837D %837D7DF8F8FD057DF8F8F8A8FD04FF52FD06F8A8FFA8FD06F827FD04FF52 %F8F82783FD0F7D27F87DFD06FFFD07F8FD06FF7DF8F858FD047D52F827FD %08FFA852FD05F852A8FFFFA8F8F852FD0E7D8352F8F852A87D8352F8F8F8 %A8FFFFFF52F8F8F82752F8F8F8FF27F8F8275227F8F852FFFFFF7DF8F827 %7D7D7D837D7D7D837D7D7D837D7D7D8327F827FD06FF52FD05F852FD06FF %52F8F87D7D837DA827F8F8FD0BFF27FD05F827A8A8F8F8FD047D837D7D7D %837D7D7D83FD047DF8F8597D7D7D52F8F8F8FFFFFFA8F8F8F852FFFF52F8 %A87DF8F8F8A8FFA82727A8FFFFFFA8F8F8F8FD107D27F827A8FD06FF7DF8 %F8F87DFD07FF27F827FD057D52F8F8A8FD05FF7D52A8FFFF52FD07F827F8 %F852FD0F7D52F8F852A87DA852F8F852FFFFFFA8F8F8F8FD06FF7DF8F852 %FFFFFFA8FD05FFA8F8F8277D837D837D837D837D837D837D837DA852F8F8 %A8FD06FF7DF8F8F852FD07FFF8F827A87D837D837D27F87DFD04FFA8F8F8 %272727F8F8F8FF7D27FD05F8837D837D837D837D837D837D837D837D7DF8 %F8FD047D52F8F827FFFFFF7DF8F827FD06FF27F8F87DFD09FFA8F8F8F8FD %117DF8F827FD06FF7DF8F8F87DFD06FF52F8F8FD077DF8F8F8FD04FFA827 %FD06F8A8FFFFFFA827F8F82DFD107D52F8F858837DA852F8F852FFFFFFA8 %F8F8F8FD06FF52F8F852FD09FFA8F8F8F87D837D7D7D837D7D7D837D7D7D %837D7D7D52F8F87DFD05FF7DF8F8F852FD05FFA827F8277D837D7D7D837D %52F8F852FD05FF7D7DF82752FD06FF52F8F858837D837D7D7D837D7D7D83 %7D7D7D837D7DF8F8FD047D52F8F827FFFFFFA8F8F8F87DFFFFA827FF52F8 %F827FFFFFF7D52FD04FFA8F8F8F8FD117D52F8F8F8A8FD04FF7DF8F8F87D %FD04FFA827F8F852FD087D27F8F87DFD06FF27F8FD06FF52F8F82783FD10 %7D52F8F858A87DA852F8F827FD04FF27F8F8277DA827F8F8A8F8F8F8527D %7DF8F852FFFFFF7DF8F8277DA87D837D837D837D837D837D837D837DA852 %F8F827A8FFFFFF7DF8F8F87DFD04FF27F8F827A87D837D837D837DA87D27 %F8F87DFD05FF7D7DFD05FF7DF8F8F8837D837D837D837D837D837D837D83 %7D837D7DF8F8FD057DF8F8F8A8FFFFFFA8FD07F852FF7DFD07F8A8FFFFFF %52F8F827FD127D8327F8F8F87DFFFFFFA8FFA8FFFFFF7D27F8F8F8FD0A7D %8352F8F8F852FD09FFA852F8F8F8FD127D8352F8F852A87D837D27F8F852 %FD04FFA827FD04F87DFFFFFF7DFD04F827A8FD04FF27F8F8527D7D7D837D %7D7D837D7D7D837D7D7D837D7D7DA827F8F8F8277DA8FFFFFFA8A827F8F8 %F8277D7D837D7D7D837D7D7D837DA852FD04F87DA8FD04FFA85227F8F8F8 %FD047D837D7D7D837D7D7D837D7D7D83FD047DF8F859FD047D27F8F827A8 %FD05FFA8A87DFFFFFFA8FFFFFFA8A8A8FD05FF7DF8F8F85283FD137D8352 %FD06F827FD06F827FD0E7D835227FD05F827F827FD04F827FD157D52F8F8 %52A87D837D7DF8F8F87DFD17FF52F8F8F8A87D837D837D837D837D837D83 %7D837D837D837D837DA87D52FD09F82D58A87D837D837D837D837D837D83 %7D837DA87D52FD09F82752A87D837D837D837D837D837D837D837D837D83 %7D837D7DF8F8FD067D27F8F8F8FD16FF7DF8F8F852FD1A7D52522727272D %52FD177D525227272752527D7D84FD167D52F8F858837D837D8452F8F8F8 %27FD15FFF8F8F8277D837D837D7D7D837D7D7D837D7D7D837D7D7D837D7D %7D837D7D7DA87D847DA87D847D837D7D7D837D7D7D837D7D7D837D7D7D83 %7D7D7D837D837DA87D847DA87D7D7D837D7D7D837D7D7D837D7D7D837D7D %7D837D7D7D837D7DF8F8FD047D837D7D27F8F8F852FD13FFFD04F852837D %7D7D837D7D7D837D7D7D837D7D7D837D7D7D837D7D7D837D7D7D837D7D7D %837D7D7D837D7D7D837D7D7D837D7D7D837D7D7D837D7D7D837D7D7D837D %7D7D837D7D7D837D7D7D837D7D7D837D7D7D837D7D7D837D7D7DA852F8F8 %527D527D52837D83FD04F852FD11FF27F8F8F827A87D7D527D5258527D52 %58527D5258527D5258527D5258527D5258527D5258527D5258527D525852 %7D5258527D5258527D5258527D5258527D5258527D5258527D5258527D52 %58527D5258527D5258527D5258527D5258527D5252FD07F852837D7DFD04 %F827A8FD0DFFA8FD04F8277D7D8327FD5FF8277D837D7DFD05F87DA8FD09 %FFA852FD04F827837DA852FD61F82DFD047DFD06F8277D7DA87DA87D7D27 %FD05F8277D7D8358FD63F8527DA87D7D27FD08F827FD07F82752A87DA87D %27FD17F8277DA87D7D27277D7DF8F827A827FD10F8527D52F8277D52F8F8 %52A8A87DFD22F852FD047D5227FD0DF82752A87D7D7D27FD18F852FFA8A8 %FFFFF8A8FF27F8A8FF27FD10F852FFA8F8F8FF7DF852FFA8A8FFA8FD22F8 %527DA87DA87D7D2727FD07F8272D7D7D837DA87D27FD19F852FF27F87DFF %27F8FFA852FF7DFD11F852FFFF52F8A87DF8FFA8F8F87DFF27FD22F82752 %837D7D7D837D7D5258527D527D7D83FD047D52FD1BF827FF7D7DA8A8F8F8 %52FFFFFFFD12F852FF7DFFF8A85252FF52FD28F82752837DA87D837DA87D %A87DA87D837DA87D7D27FD1CF852FFA87DFFFF52F8F8A8FF52FD12F852FF %27FFA8A87D52FF27FD04F827FD26F85252837D7D7D837D7D7D837D7D5227 %FD1EF852FFF8F8F8FF7DF8F87DFF27FD12F852FFF852FFFF5227FF7DF8F8 %52FF27FD28F82752527D527D587D5252FD21F852FFA852A8FF7DF8F87DFF %27FD12F852FF27F8A8FF7DF8A8FFA87DFFA8FD54F827A8A8FFA87DF8F8F8 %52A827FD12F827A8F8F827FF52F8F87DFFFF7D27FD7CF827FD9BF852FD7F %27FD7FFFFF %%EndData %%EndComments %%BeginProlog %%BeginResource: procset Adobe_level2_AI5 1.2 0 2 | %%Title: (Adobe Illustrator (R) Version 5.0 Level 2 Emulation) 3 | %%Version: 1.2 0 4 | %%CreationDate: (04/10/93) () 5 | %%Copyright: ((C) 1987-1996 Adobe Systems Incorporated All Rights Reserved) 6 | userdict /Adobe_level2_AI5 26 dict dup begin 7 | put 8 | /packedarray where not 9 | { 10 | userdict begin 11 | /packedarray 12 | { 13 | array astore readonly 14 | } bind def 15 | /setpacking /pop load def 16 | /currentpacking false def 17 | end 18 | 0 19 | } if 20 | pop 21 | userdict /defaultpacking currentpacking put true setpacking 22 | /initialize 23 | { 24 | Adobe_level2_AI5 begin 25 | } bind def 26 | /terminate 27 | { 28 | currentdict Adobe_level2_AI5 eq 29 | { 30 | end 31 | } if 32 | } bind def 33 | mark 34 | /setcustomcolor where not 35 | { 36 | /findcmykcustomcolor 37 | { 38 | (AI8_CMYK_CustomColor) 39 | 6 packedarray 40 | } bind def 41 | /findrgbcustomcolor 42 | { 43 | (AI8_RGB_CustomColor) 44 | 5 packedarray 45 | } bind def 46 | /setcustomcolor 47 | { 48 | exch 49 | aload pop dup 50 | (AI8_CMYK_CustomColor) eq 51 | { 52 | pop pop 53 | 4 54 | { 55 | 4 index mul 56 | 4 1 roll 57 | } repeat 58 | 5 -1 roll pop 59 | setcmykcolor 60 | } 61 | { 62 | dup (AI8_RGB_CustomColor) eq 63 | { 64 | pop pop 65 | 3 66 | { 67 | 1 exch sub 68 | 3 index mul 69 | 1 exch sub 70 | 3 1 roll 71 | } repeat 72 | 4 -1 roll pop 73 | setrgbcolor 74 | } 75 | { 76 | pop 77 | 4 78 | { 79 | 4 index mul 4 1 roll 80 | } repeat 81 | 5 -1 roll pop 82 | setcmykcolor 83 | } ifelse 84 | } ifelse 85 | } 86 | def 87 | } if 88 | /setAIseparationgray 89 | { 90 | false setoverprint 91 | 0 setgray 92 | /setseparationgray where{ 93 | pop setseparationgray 94 | }{ 95 | /setcolorspace where{ 96 | pop 97 | [/Separation (All) /DeviceCMYK {dup dup dup}] setcolorspace 98 | 1 exch sub setcolor 99 | }{ 100 | setgray 101 | }ifelse 102 | }ifelse 103 | } def 104 | 105 | /gt38? mark {version cvr cvx exec} stopped {cleartomark true} {38 gt exch pop} ifelse def 106 | userdict /deviceDPI 72 0 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt put 107 | userdict /level2? 108 | systemdict /languagelevel known dup 109 | { 110 | pop systemdict /languagelevel get 2 ge 111 | } if 112 | put 113 | /level2ScreenFreq 114 | { 115 | begin 116 | 60 117 | HalftoneType 1 eq 118 | { 119 | pop Frequency 120 | } if 121 | HalftoneType 2 eq 122 | { 123 | pop GrayFrequency 124 | } if 125 | HalftoneType 5 eq 126 | { 127 | pop Default level2ScreenFreq 128 | } if 129 | end 130 | } bind def 131 | userdict /currentScreenFreq 132 | level2? {currenthalftone level2ScreenFreq} {currentscreen pop pop} ifelse put 133 | level2? not 134 | { 135 | /setcmykcolor where not 136 | { 137 | /setcmykcolor 138 | { 139 | exch .11 mul add exch .59 mul add exch .3 mul add 140 | 1 exch sub setgray 141 | } def 142 | } if 143 | /currentcmykcolor where not 144 | { 145 | /currentcmykcolor 146 | { 147 | 0 0 0 1 currentgray sub 148 | } def 149 | } if 150 | /setoverprint where not 151 | { 152 | /setoverprint /pop load def 153 | } if 154 | /selectfont where not 155 | { 156 | /selectfont 157 | { 158 | exch findfont exch 159 | dup type /arraytype eq 160 | { 161 | makefont 162 | } 163 | { 164 | scalefont 165 | } ifelse 166 | setfont 167 | } bind def 168 | } if 169 | /cshow where not 170 | { 171 | /cshow 172 | { 173 | [ 174 | 0 0 5 -1 roll aload pop 175 | ] cvx bind forall 176 | } bind def 177 | } if 178 | } if 179 | cleartomark 180 | /anyColor? 181 | { 182 | add add add 0 ne 183 | } bind def 184 | /testColor 185 | { 186 | gsave 187 | setcmykcolor currentcmykcolor 188 | grestore 189 | } bind def 190 | /testCMYKColorThrough 191 | { 192 | testColor anyColor? 193 | } bind def 194 | userdict /composite? 195 | 1 0 0 0 testCMYKColorThrough 196 | 0 1 0 0 testCMYKColorThrough 197 | 0 0 1 0 testCMYKColorThrough 198 | 0 0 0 1 testCMYKColorThrough 199 | and and and 200 | put 201 | composite? not 202 | { 203 | userdict begin 204 | gsave 205 | /cyan? 1 0 0 0 testCMYKColorThrough def 206 | /magenta? 0 1 0 0 testCMYKColorThrough def 207 | /yellow? 0 0 1 0 testCMYKColorThrough def 208 | /black? 0 0 0 1 testCMYKColorThrough def 209 | grestore 210 | /isCMYKSep? cyan? magenta? yellow? black? or or or def 211 | /customColor? isCMYKSep? not def 212 | end 213 | } if 214 | end defaultpacking setpacking 215 | %%EndResource 216 | %%BeginProcSet: Adobe_ColorImage_AI6 1.3 0 217 | userdict /Adobe_ColorImage_AI6 known not 218 | { 219 | userdict /Adobe_ColorImage_AI6 53 dict put 220 | } if 221 | userdict /Adobe_ColorImage_AI6 get begin 222 | /initialize { 223 | Adobe_ColorImage_AI6 begin 224 | Adobe_ColorImage_AI6 { 225 | dup type /arraytype eq { 226 | dup xcheck { 227 | bind 228 | } if 229 | } if 230 | pop pop 231 | } forall 232 | } def 233 | /terminate { end } def 234 | currentdict /Adobe_ColorImage_AI6_Vars known not { 235 | /Adobe_ColorImage_AI6_Vars 41 dict def 236 | } if 237 | Adobe_ColorImage_AI6_Vars begin 238 | /plateindex -1 def 239 | /_newproc null def 240 | /_proc1 null def 241 | /_proc2 null def 242 | /sourcearray 4 array def 243 | /_ptispace null def 244 | /_ptiname null def 245 | /_pti0 0 def 246 | /_pti1 0 def 247 | /_ptiproc null def 248 | /_ptiscale 0 def 249 | /_pticomps 0 def 250 | /_ptibuf 0 string def 251 | /_gtigray 0 def 252 | /_cticmyk null def 253 | /_rtirgb null def 254 | /XIEnable true def 255 | /XIType 0 def 256 | /XIEncoding 0 def 257 | /XICompression 0 def 258 | /XIChannelCount 0 def 259 | /XIBitsPerPixel 0 def 260 | /XIImageHeight 0 def 261 | /XIImageWidth 0 def 262 | /XIImageMatrix null def 263 | /XIRowBytes 0 def 264 | /XIFile null def 265 | /XIBuffer1 null def 266 | /XIBuffer2 null def 267 | /XIBuffer3 null def 268 | /XIDataProc null def 269 | /XIColorSpace /DeviceGray def 270 | /XIColorValues 0 def 271 | /XIPlateList false def 272 | end 273 | /ci6colorimage /colorimage where {/colorimage get}{null} ifelse def 274 | /ci6image systemdict /image get def 275 | /ci6curtransfer systemdict /currenttransfer get def 276 | /ci6curoverprint /currentoverprint where {/currentoverprint get}{{_of}} ifelse def 277 | /ci6foureq { 278 | 4 index ne { 279 | pop pop pop false 280 | }{ 281 | 4 index ne { 282 | pop pop false 283 | }{ 284 | 4 index ne { 285 | pop false 286 | }{ 287 | 4 index eq 288 | } ifelse 289 | } ifelse 290 | } ifelse 291 | } def 292 | /ci6testplate { 293 | Adobe_ColorImage_AI6_Vars begin 294 | /plateindex -1 def 295 | /setcmykcolor where { 296 | pop 297 | gsave 298 | 1 0 0 0 setcmykcolor systemdict /currentgray get exec 1 exch sub 299 | 0 1 0 0 setcmykcolor systemdict /currentgray get exec 1 exch sub 300 | 0 0 1 0 setcmykcolor systemdict /currentgray get exec 1 exch sub 301 | 0 0 0 1 setcmykcolor systemdict /currentgray get exec 1 exch sub 302 | grestore 303 | 1 0 0 0 ci6foureq { 304 | /plateindex 0 def 305 | }{ 306 | 0 1 0 0 ci6foureq { 307 | /plateindex 1 def 308 | }{ 309 | 0 0 1 0 ci6foureq { 310 | /plateindex 2 def 311 | }{ 312 | 0 0 0 1 ci6foureq { 313 | /plateindex 3 def 314 | }{ 315 | 0 0 0 0 ci6foureq { 316 | /plateindex 5 def 317 | } if 318 | } ifelse 319 | } ifelse 320 | } ifelse 321 | } ifelse 322 | pop pop pop pop 323 | } if 324 | plateindex 325 | end 326 | } def 327 | /ci6concatprocs { 328 | /packedarray where { 329 | pop dup type /packedarraytype eq 2 index type 330 | /packedarraytype eq or 331 | }{ 332 | false 333 | } ifelse 334 | { 335 | /_proc2 exch cvlit def 336 | /_proc1 exch cvlit def 337 | _proc1 aload pop 338 | _proc2 aload pop 339 | _proc1 length 340 | _proc2 length add 341 | packedarray cvx 342 | }{ 343 | /_proc2 exch cvlit def 344 | /_proc1 exch cvlit def 345 | /_newproc _proc1 length _proc2 length add array def 346 | _newproc 0 _proc1 putinterval 347 | _newproc _proc1 length _proc2 putinterval 348 | _newproc cvx 349 | } ifelse 350 | } def 351 | /ci6istint { 352 | type /arraytype eq 353 | } def 354 | /ci6isspot { 355 | dup type /arraytype eq { 356 | dup length 1 sub get /Separation eq 357 | }{ 358 | pop false 359 | } ifelse 360 | } def 361 | /ci6spotname { 362 | dup ci6isspot {dup length 2 sub get}{pop ()} ifelse 363 | } def 364 | /ci6altspace { 365 | aload pop pop pop ci6colormake 366 | } def 367 | /ci6numcomps { 368 | dup /DeviceGray eq { 369 | pop 1 370 | }{ 371 | dup /DeviceRGB eq { 372 | pop 3 373 | }{ 374 | /DeviceCMYK eq { 375 | 4 376 | }{ 377 | 1 378 | } ifelse 379 | } ifelse 380 | } ifelse 381 | } def 382 | /ci6marksplate { 383 | dup /DeviceGray eq { 384 | pop plateindex 3 eq 385 | }{ 386 | dup /DeviceRGB eq { 387 | pop plateindex 5 ne 388 | }{ 389 | dup /DeviceCMYK eq { 390 | pop plateindex 5 ne 391 | }{ 392 | dup ci6isspot { 393 | /findcmykcustomcolor where { 394 | pop 395 | dup length 2 sub get 396 | 0.1 0.1 0.1 0.1 5 -1 roll 397 | findcmykcustomcolor 1 setcustomcolor 398 | systemdict /currentgray get exec 399 | 1 ne 400 | }{ 401 | pop plateindex 5 ne 402 | } ifelse 403 | }{ 404 | pop plateindex 5 ne 405 | } ifelse 406 | } ifelse 407 | } ifelse 408 | } ifelse 409 | } def 410 | /ci6colormake { 411 | dup ci6numcomps 412 | exch 1 index 2 add 1 roll 413 | dup 1 eq {pop}{array astore} ifelse 414 | exch 415 | } def 416 | /ci6colorexpand { 417 | dup ci6spotname exch 418 | dup ci6istint { 419 | ci6altspace 420 | exch 4 1 roll 421 | }{ 422 | 1 3 1 roll 423 | } ifelse 424 | } def 425 | /ci6colortint { 426 | dup /DeviceGray eq { 427 | 3 1 roll 1 exch sub mul 1 exch sub exch 428 | }{ 429 | dup /DeviceRGB eq { 430 | 3 1 roll {1 exch sub 1 index mul 1 exch sub exch} forall pop 3 array astore exch 431 | }{ 432 | dup /DeviceCMYK eq { 433 | 3 1 roll {1 index mul exch} forall pop 4 array astore exch 434 | }{ 435 | 3 1 roll mul exch 436 | } ifelse 437 | } ifelse 438 | } ifelse 439 | } def 440 | /ci6colortocmyk { 441 | dup /DeviceGray eq { 442 | pop 1 exch sub 0 0 0 4 -1 roll 4 array astore 443 | }{ 444 | dup /DeviceRGB eq { 445 | pop aload pop _rgbtocmyk 4 array astore 446 | }{ 447 | dup /DeviceCMYK eq { 448 | pop 449 | }{ 450 | ci6altspace ci6colortint ci6colortocmyk 451 | } ifelse 452 | } ifelse 453 | } ifelse 454 | } def 455 | /ci6makeimagedict { 456 | 7 dict begin 457 | /ImageType 1 def 458 | /Decode exch def 459 | /DataSource exch def 460 | /ImageMatrix exch def 461 | /BitsPerComponent exch def 462 | /Height exch def 463 | /Width exch def 464 | currentdict end 465 | } def 466 | /ci6stringinvert { 467 | 0 1 2 index length 1 sub { 468 | dup 2 index exch get 255 exch sub 2 index 3 1 roll put 469 | } for 470 | } def 471 | /ci6stringknockout { 472 | 0 1 2 index length 1 sub { 473 | 255 2 index 3 1 roll put 474 | } for 475 | } def 476 | /ci6stringapply { 477 | 0 1 4 index length 1 sub { 478 | dup 479 | 4 index exch get 480 | 3 index 3 1 roll 481 | 3 index exec 482 | } for 483 | pop exch pop 484 | } def 485 | /ci6walkrgbstring { 486 | 0 3 index 487 | dup length 1 sub 0 3 3 -1 roll { 488 | 3 getinterval {} forall 489 | 5 index exec 490 | 3 index 491 | } for 492 | 493 | 5 {pop} repeat 494 | } def 495 | /ci6walkcmykstring 496 | { 497 | 0 3 index 498 | dup length 1 sub 0 4 3 -1 roll { 499 | 4 getinterval {} forall 500 | 501 | 6 index exec 502 | 503 | 3 index 504 | 505 | } for 506 | 507 | 5 { pop } repeat 508 | 509 | } def 510 | /ci6putrgbtograystr 511 | { 512 | .11 mul exch 513 | 514 | .59 mul add exch 515 | 516 | .3 mul add 517 | 518 | cvi 3 copy put 519 | 520 | pop 1 add 521 | } def 522 | /ci6putcmyktograystr 523 | { 524 | exch .11 mul add 525 | 526 | exch .59 mul add 527 | 528 | exch .3 mul add 529 | 530 | dup 255 gt { pop 255 } if 531 | 532 | 255 exch sub cvi 3 copy put 533 | 534 | pop 1 add 535 | } def 536 | /ci6rgbtograyproc { 537 | Adobe_ColorImage_AI6_Vars begin 538 | sourcearray 0 get exec 539 | XIBuffer3 540 | dup 3 1 roll 541 | 542 | /ci6putrgbtograystr load exch 543 | ci6walkrgbstring 544 | end 545 | } def 546 | /ci6cmyktograyproc { 547 | Adobe_ColorImage_AI6_Vars begin 548 | sourcearray 0 get exec 549 | XIBuffer3 550 | dup 3 1 roll 551 | 552 | /ci6putcmyktograystr load exch 553 | ci6walkcmykstring 554 | end 555 | } def 556 | /ci6separatecmykproc { 557 | Adobe_ColorImage_AI6_Vars begin 558 | sourcearray 0 get exec 559 | 560 | XIBuffer3 561 | 562 | 0 2 index 563 | 564 | plateindex 4 2 index length 1 sub { 565 | get 255 exch sub 566 | 567 | 3 copy put pop 1 add 568 | 569 | 2 index 570 | } for 571 | pop pop exch pop 572 | end 573 | } def 574 | 575 | /ci6compositeimage { 576 | dup 1 eq { 577 | pop pop image 578 | }{ 579 | /ci6colorimage load null ne { 580 | ci6colorimage 581 | }{ 582 | 3 1 roll pop 583 | sourcearray 0 3 -1 roll put 584 | 3 eq {/ci6rgbtograyproc}{/ci6cmyktograyproc} ifelse load 585 | image 586 | } ifelse 587 | } ifelse 588 | } def 589 | /ci6knockoutimage { 590 | gsave 591 | 0 ci6curtransfer exec 1 ci6curtransfer exec 592 | eq { 593 | 0 ci6curtransfer exec 0.5 lt 594 | }{ 595 | 0 ci6curtransfer exec 1 ci6curtransfer exec gt 596 | } ifelse 597 | {{pop 0}}{{pop 1}} ifelse 598 | systemdict /settransfer get exec 599 | ci6compositeimage 600 | grestore 601 | } def 602 | /ci6drawimage { 603 | ci6testplate -1 eq { 604 | pop ci6compositeimage 605 | }{ 606 | dup type /arraytype eq { 607 | dup length plateindex gt {plateindex get}{pop false} ifelse 608 | }{ 609 | { 610 | true 611 | }{ 612 | dup 1 eq {plateindex 3 eq}{plateindex 3 le} ifelse 613 | } ifelse 614 | } ifelse 615 | { 616 | dup 1 eq { 617 | pop pop ci6image 618 | }{ 619 | dup 3 eq { 620 | ci6compositeimage 621 | }{ 622 | pop pop 623 | sourcearray 0 3 -1 roll put 624 | /ci6separatecmykproc load 625 | ci6image 626 | } ifelse 627 | } ifelse 628 | }{ 629 | ci6curoverprint { 630 | 7 {pop} repeat 631 | }{ 632 | ci6knockoutimage 633 | } ifelse 634 | } ifelse 635 | } ifelse 636 | } def 637 | /ci6proctintimage { 638 | /_ptispace exch store /_ptiname exch store /_pti1 exch store /_pti0 exch store /_ptiproc exch store 639 | /_pticomps _ptispace ci6numcomps store 640 | /_ptiscale _pti1 _pti0 sub store 641 | level2? { 642 | _ptiname length 0 gt version cvr 2012 ge and { 643 | [/Separation _ptiname _ptispace {_ptiproc}] setcolorspace 644 | [_pti0 _pti1] ci6makeimagedict ci6image 645 | }{ 646 | [/Indexed _ptispace 255 {255 div _ptiscale mul _pti0 add _ptiproc}] setcolorspace 647 | [0 255] ci6makeimagedict ci6image 648 | } ifelse 649 | }{ 650 | _pticomps 1 eq { 651 | { 652 | dup 653 | { 654 | 255 div _ptiscale mul _pti0 add _ptiproc 255 mul cvi put 655 | } ci6stringapply 656 | } ci6concatprocs ci6image 657 | }{ 658 | { 659 | dup length _pticomps mul dup _ptibuf length ne {/_ptibuf exch string store}{pop} ifelse 660 | _ptibuf { 661 | exch _pticomps mul exch 255 div _ptiscale mul _pti0 add _ptiproc 662 | _pticomps 2 add -2 roll 663 | _pticomps 1 sub -1 0 { 664 | 1 index add 2 index exch 665 | 5 -1 roll 666 | 255 mul cvi put 667 | } for 668 | pop pop 669 | } ci6stringapply 670 | } ci6concatprocs false _pticomps 671 | /ci6colorimage load null eq {7 {pop} repeat}{ci6colorimage} ifelse 672 | } ifelse 673 | } ifelse 674 | } def 675 | /ci6graytintimage { 676 | /_gtigray 5 -1 roll store 677 | {1 _gtigray sub mul 1 exch sub} 4 1 roll 678 | /DeviceGray ci6proctintimage 679 | } def 680 | /ci6cmyktintimage { 681 | /_cticmyk 5 -1 roll store 682 | {_cticmyk {1 index mul exch} forall pop} 4 1 roll 683 | /DeviceCMYK ci6proctintimage 684 | } def 685 | /ci6rgbtintimage { 686 | /_rtirgb 5 -1 roll store 687 | {_rtirgb {1 exch sub 1 index mul 1 exch sub exch} forall pop} 4 1 roll 688 | /DeviceRGB ci6proctintimage 689 | } def 690 | /ci6tintimage { 691 | ci6testplate -1 eq { 692 | ci6colorexpand 693 | 3 -1 roll 5 -1 roll {0}{0 exch} ifelse 4 2 roll 694 | dup /DeviceGray eq { 695 | pop ci6graytintimage 696 | }{ 697 | dup /DeviceRGB eq { 698 | pop ci6rgbtintimage 699 | }{ 700 | pop ci6cmyktintimage 701 | } ifelse 702 | } ifelse 703 | }{ 704 | dup ci6marksplate { 705 | plateindex 5 lt { 706 | ci6colortocmyk plateindex get 707 | dup 0 eq ci6curoverprint and { 708 | 7 {pop} repeat 709 | }{ 710 | 1 exch sub 711 | exch {1 0}{0 1} ifelse () ci6graytintimage 712 | } ifelse 713 | }{ 714 | pop exch {0}{0 exch} ifelse 0 3 1 roll () ci6graytintimage 715 | } ifelse 716 | }{ 717 | ci6curoverprint { 718 | 8 {pop} repeat 719 | }{ 720 | pop pop pop 721 | {pop 1} 0 1 () /DeviceGray ci6proctintimage 722 | } ifelse 723 | } ifelse 724 | } ifelse 725 | } def 726 | /XINullImage { 727 | } def 728 | /XIImageMask { 729 | XIImageWidth XIImageHeight false 730 | [XIImageWidth 0 0 XIImageHeight neg 0 0] 731 | /XIDataProc load 732 | imagemask 733 | } def 734 | /XIImageTint { 735 | XIImageWidth XIImageHeight XIBitsPerPixel 736 | [XIImageWidth 0 0 XIImageHeight neg 0 0] 737 | /XIDataProc load 738 | XIType 3 eq XIColorValues XIColorSpace ci6tintimage 739 | } def 740 | /XIImage { 741 | XIImageWidth XIImageHeight XIBitsPerPixel 742 | [XIImageWidth 0 0 XIImageHeight neg 0 0] 743 | /XIDataProc load 744 | false XIChannelCount XIPlateList ci6drawimage 745 | } def 746 | /XG { 747 | pop pop 748 | } def 749 | /XF { 750 | 13 {pop} repeat 751 | } def 752 | /Xh { 753 | Adobe_ColorImage_AI6_Vars begin 754 | gsave 755 | /XIType exch def 756 | /XIImageHeight exch def 757 | /XIImageWidth exch def 758 | /XIImageMatrix exch def 759 | 0 0 moveto 760 | XIImageMatrix concat 761 | XIImageWidth XIImageHeight scale 762 | 763 | /_lp /null ddef 764 | _fc 765 | /_lp /imagemask ddef 766 | end 767 | } def 768 | /XH { 769 | Adobe_ColorImage_AI6_Vars begin 770 | grestore 771 | end 772 | } def 773 | /XIEnable { 774 | Adobe_ColorImage_AI6_Vars /XIEnable 3 -1 roll put 775 | } def 776 | /XC { 777 | Adobe_ColorImage_AI6_Vars begin 778 | ci6colormake 779 | /XIColorSpace exch def 780 | /XIColorValues exch def 781 | end 782 | } def 783 | /XIPlates { 784 | Adobe_ColorImage_AI6_Vars begin 785 | /XIPlateList exch def 786 | end 787 | } def 788 | /XI 789 | { 790 | Adobe_ColorImage_AI6_Vars begin 791 | gsave 792 | /XIType exch def 793 | cvi dup 794 | 256 idiv /XICompression exch store 795 | 256 mod /XIEncoding exch store 796 | pop pop 797 | /XIChannelCount exch def 798 | /XIBitsPerPixel exch def 799 | /XIImageHeight exch def 800 | /XIImageWidth exch def 801 | pop pop pop pop 802 | /XIImageMatrix exch def 803 | XIBitsPerPixel 1 eq { 804 | XIImageWidth 8 div ceiling cvi 805 | }{ 806 | XIImageWidth XIChannelCount mul 807 | } ifelse 808 | /XIRowBytes exch def 809 | XIEnable { 810 | /XIBuffer3 XIImageWidth string def 811 | XICompression 0 eq { 812 | /XIBuffer1 XIRowBytes string def 813 | XIEncoding 0 eq { 814 | {currentfile XIBuffer1 readhexstring pop} 815 | }{ 816 | {currentfile XIBuffer1 readstring pop} 817 | } ifelse 818 | }{ 819 | /XIBuffer1 256 string def 820 | /XIBuffer2 XIRowBytes string def 821 | {currentfile XIBuffer1 readline pop (%) anchorsearch {pop} if} 822 | /ASCII85Decode filter /DCTDecode filter 823 | /XIFile exch def 824 | {XIFile XIBuffer2 readstring pop} 825 | } ifelse 826 | /XIDataProc exch def 827 | 828 | XIType 1 ne { 829 | 0 setgray 830 | } if 831 | XIType 1 eq { 832 | XIImageMask 833 | }{ 834 | XIType 2 eq XIType 3 eq or { 835 | XIImageTint 836 | }{ 837 | XIImage 838 | } ifelse 839 | } ifelse 840 | }{ 841 | XINullImage 842 | } ifelse 843 | /XIPlateList false def 844 | grestore 845 | end 846 | } def 847 | end 848 | %%EndProcSet 849 | %%BeginResource: procset Adobe_Illustrator_AI5 1.3 0 850 | %%Title: (Adobe Illustrator (R) Version 8.0 Full Prolog) 851 | %%Version: 1.3 0 852 | %%CreationDate: (3/7/1994) () 853 | %%Copyright: ((C) 1987-1998 Adobe Systems Incorporated All Rights Reserved) 854 | currentpacking true setpacking 855 | userdict /Adobe_Illustrator_AI5_vars 112 dict dup begin 856 | put 857 | /_?cmyk false def 858 | /_eo false def 859 | /_lp /none def 860 | /_pf 861 | { 862 | } def 863 | /_ps 864 | { 865 | } def 866 | /_psf 867 | { 868 | } def 869 | /_pss 870 | { 871 | } def 872 | /_pjsf 873 | { 874 | } def 875 | /_pjss 876 | { 877 | } def 878 | /_pola 0 def 879 | /_doClip 0 def 880 | /cf currentflat def 881 | /_lineorientation 0 def 882 | /_charorientation 0 def 883 | /_yokoorientation 0 def 884 | /_tm matrix def 885 | /_renderStart 886 | [ 887 | /e0 /r0 /a0 /o0 /e1 /r1 /a1 /i0 888 | ] def 889 | /_renderEnd 890 | [ 891 | null null null null /i1 /i1 /i1 /i1 892 | ] def 893 | /_render -1 def 894 | /_shift [0 0] def 895 | /_ax 0 def 896 | /_ay 0 def 897 | /_cx 0 def 898 | /_cy 0 def 899 | /_leading 900 | [ 901 | 0 0 902 | ] def 903 | /_ctm matrix def 904 | /_mtx matrix def 905 | /_sp 16#020 def 906 | /_hyphen (-) def 907 | /_fontSize 0 def 908 | /_fontAscent 0 def 909 | /_fontDescent 0 def 910 | /_fontHeight 0 def 911 | /_fontRotateAdjust 0 def 912 | /Ss 256 string def 913 | Ss 0 (fonts/) putinterval 914 | /_cnt 0 def 915 | /_scale [1 1] def 916 | /_nativeEncoding 0 def 917 | /_useNativeEncoding 0 def 918 | /_tempEncode 0 def 919 | /_pntr 0 def 920 | /_tDict 2 dict def 921 | /_hfname 100 string def 922 | /_hffound false def 923 | /Tx 924 | { 925 | } def 926 | /Tj 927 | { 928 | } def 929 | /CRender 930 | { 931 | } def 932 | /_AI3_savepage 933 | { 934 | } def 935 | /_gf null def 936 | /_cf 4 array def 937 | /_rgbf 3 array def 938 | /_if null def 939 | /_of false def 940 | /_fc 941 | { 942 | } def 943 | /_gs null def 944 | /_cs 4 array def 945 | /_rgbs 3 array def 946 | /_is null def 947 | /_os false def 948 | /_sc 949 | { 950 | } def 951 | /_pd 1 dict def 952 | /_ed 15 dict def 953 | /_pm matrix def 954 | /_fm null def 955 | /_fd null def 956 | /_fdd null def 957 | /_sm null def 958 | /_sd null def 959 | /_sdd null def 960 | /_i null def 961 | /_lobyte 0 def 962 | /_hibyte 0 def 963 | /_cproc null def 964 | /_cscript 0 def 965 | /_hvax 0 def 966 | /_hvay 0 def 967 | /_hvwb 0 def 968 | /_hvcx 0 def 969 | /_hvcy 0 def 970 | /_bitfont null def 971 | /_bitlobyte 0 def 972 | /_bithibyte 0 def 973 | /_bitkey null def 974 | /_bitdata null def 975 | /_bitindex 0 def 976 | /discardSave null def 977 | /buffer 256 string def 978 | /beginString null def 979 | /endString null def 980 | /endStringLength null def 981 | /layerCnt 1 def 982 | /layerCount 1 def 983 | /perCent (%) 0 get def 984 | /perCentSeen? false def 985 | /newBuff null def 986 | /newBuffButFirst null def 987 | /newBuffLast null def 988 | /clipForward? false def 989 | end 990 | userdict /Adobe_Illustrator_AI5 known not { 991 | userdict /Adobe_Illustrator_AI5 100 dict put 992 | } if 993 | userdict /Adobe_Illustrator_AI5 get begin 994 | /initialize 995 | { 996 | Adobe_Illustrator_AI5 dup begin 997 | Adobe_Illustrator_AI5_vars begin 998 | /_aicmykps where {pop /_?cmyk _aicmykps def}if 999 | discardDict 1000 | { 1001 | bind pop pop 1002 | } forall 1003 | dup /nc get begin 1004 | { 1005 | dup xcheck 1 index type /operatortype ne and 1006 | { 1007 | bind 1008 | } if 1009 | pop pop 1010 | } forall 1011 | end 1012 | newpath 1013 | } def 1014 | /terminate 1015 | { 1016 | end 1017 | end 1018 | } def 1019 | /_ 1020 | null def 1021 | /ddef 1022 | { 1023 | Adobe_Illustrator_AI5_vars 3 1 roll put 1024 | } def 1025 | /xput 1026 | { 1027 | dup load dup length exch maxlength eq 1028 | { 1029 | dup dup load dup 1030 | length 2 mul dict copy def 1031 | } if 1032 | load begin 1033 | def 1034 | end 1035 | } def 1036 | /npop 1037 | { 1038 | { 1039 | pop 1040 | } repeat 1041 | } def 1042 | /hswj 1043 | { 1044 | dup stringwidth 3 2 roll 1045 | { 1046 | _hvwb eq { exch _hvcx add exch _hvcy add } if 1047 | exch _hvax add exch _hvay add 1048 | } cforall 1049 | } def 1050 | /vswj 1051 | { 1052 | 0 0 3 -1 roll 1053 | { 1054 | dup 255 le 1055 | _charorientation 1 eq 1056 | and 1057 | { 1058 | dup cstring stringwidth 5 2 roll 1059 | _hvwb eq { exch _hvcy sub exch _hvcx sub } if 1060 | exch _hvay sub exch _hvax sub 1061 | 4 -1 roll sub exch 1062 | 3 -1 roll sub exch 1063 | } 1064 | { 1065 | _hvwb eq { exch _hvcy sub exch _hvcx sub } if 1066 | exch _hvay sub exch _hvax sub 1067 | _fontHeight sub 1068 | } ifelse 1069 | } cforall 1070 | } def 1071 | /swj 1072 | { 1073 | 6 1 roll 1074 | /_hvay exch ddef 1075 | /_hvax exch ddef 1076 | /_hvwb exch ddef 1077 | /_hvcy exch ddef 1078 | /_hvcx exch ddef 1079 | _lineorientation 0 eq { hswj } { vswj } ifelse 1080 | } def 1081 | /sw 1082 | { 1083 | 0 0 0 6 3 roll swj 1084 | } def 1085 | /vjss 1086 | { 1087 | 4 1 roll 1088 | { 1089 | dup cstring 1090 | dup length 1 eq 1091 | _charorientation 1 eq 1092 | and 1093 | { 1094 | -90 rotate 1095 | currentpoint 1096 | _fontRotateAdjust add 1097 | moveto 1098 | gsave 1099 | false charpath currentpoint 1100 | 5 index setmatrix stroke 1101 | grestore 1102 | _fontRotateAdjust sub 1103 | moveto 1104 | _sp eq 1105 | { 1106 | 5 index 5 index rmoveto 1107 | } if 1108 | 2 copy rmoveto 1109 | 90 rotate 1110 | } 1111 | { 1112 | currentpoint 1113 | _fontHeight sub 1114 | 5 index sub 1115 | 3 index _sp eq 1116 | { 1117 | 9 index sub 1118 | } if 1119 | 1120 | currentpoint 1121 | exch 4 index stringwidth pop 2 div sub 1122 | exch _fontAscent sub 1123 | moveto 1124 | 1125 | gsave 1126 | 2 index false charpath 1127 | 6 index setmatrix stroke 1128 | grestore 1129 | 1130 | moveto pop pop 1131 | } ifelse 1132 | } cforall 1133 | 6 npop 1134 | } def 1135 | /hjss 1136 | { 1137 | 4 1 roll 1138 | { 1139 | dup cstring 1140 | gsave 1141 | false charpath currentpoint 1142 | 5 index setmatrix stroke 1143 | grestore 1144 | moveto 1145 | _sp eq 1146 | { 1147 | 5 index 5 index rmoveto 1148 | } if 1149 | 2 copy rmoveto 1150 | } cforall 1151 | 6 npop 1152 | } def 1153 | /jss 1154 | { 1155 | _lineorientation 0 eq { hjss } { vjss } ifelse 1156 | } def 1157 | /ss 1158 | { 1159 | 0 0 0 7 3 roll jss 1160 | } def 1161 | /vjsp 1162 | { 1163 | 4 1 roll 1164 | { 1165 | dup cstring 1166 | dup length 1 eq 1167 | _charorientation 1 eq 1168 | and 1169 | { 1170 | -90 rotate 1171 | currentpoint 1172 | _fontRotateAdjust add 1173 | moveto 1174 | false charpath 1175 | currentpoint 1176 | _fontRotateAdjust sub 1177 | moveto 1178 | _sp eq 1179 | { 1180 | 5 index 5 index rmoveto 1181 | } if 1182 | 2 copy rmoveto 1183 | 90 rotate 1184 | } 1185 | { 1186 | currentpoint 1187 | _fontHeight sub 1188 | 5 index sub 1189 | 3 index _sp eq 1190 | { 1191 | 9 index sub 1192 | } if 1193 | 1194 | currentpoint 1195 | exch 4 index stringwidth pop 2 div sub 1196 | exch _fontAscent sub 1197 | moveto 1198 | 1199 | 2 index false charpath 1200 | 1201 | moveto pop pop 1202 | } ifelse 1203 | } cforall 1204 | 6 npop 1205 | } def 1206 | /hjsp 1207 | { 1208 | 4 1 roll 1209 | { 1210 | dup cstring 1211 | false charpath 1212 | _sp eq 1213 | { 1214 | 5 index 5 index rmoveto 1215 | } if 1216 | 2 copy rmoveto 1217 | } cforall 1218 | 6 npop 1219 | } def 1220 | /jsp 1221 | { 1222 | matrix currentmatrix 1223 | _lineorientation 0 eq {hjsp} {vjsp} ifelse 1224 | } def 1225 | /sp 1226 | { 1227 | matrix currentmatrix 1228 | 0 0 0 7 3 roll 1229 | _lineorientation 0 eq {hjsp} {vjsp} ifelse 1230 | } def 1231 | /pl 1232 | { 1233 | transform 1234 | 0.25 sub round 0.25 add exch 1235 | 0.25 sub round 0.25 add exch 1236 | itransform 1237 | } def 1238 | /setstrokeadjust where 1239 | { 1240 | pop true setstrokeadjust 1241 | /c 1242 | { 1243 | curveto 1244 | } def 1245 | /C 1246 | /c load def 1247 | /v 1248 | { 1249 | currentpoint 6 2 roll curveto 1250 | } def 1251 | /V 1252 | /v load def 1253 | /y 1254 | { 1255 | 2 copy curveto 1256 | } def 1257 | /Y 1258 | /y load def 1259 | /l 1260 | { 1261 | lineto 1262 | } def 1263 | /L 1264 | /l load def 1265 | /m 1266 | { 1267 | moveto 1268 | } def 1269 | } 1270 | { 1271 | /c 1272 | { 1273 | pl curveto 1274 | } def 1275 | /C 1276 | /c load def 1277 | /v 1278 | { 1279 | currentpoint 6 2 roll pl curveto 1280 | } def 1281 | /V 1282 | /v load def 1283 | /y 1284 | { 1285 | pl 2 copy curveto 1286 | } def 1287 | /Y 1288 | /y load def 1289 | /l 1290 | { 1291 | pl lineto 1292 | } def 1293 | /L 1294 | /l load def 1295 | /m 1296 | { 1297 | pl moveto 1298 | } def 1299 | } ifelse 1300 | /d 1301 | { 1302 | setdash 1303 | } def 1304 | /cf 1305 | { 1306 | } def 1307 | /i 1308 | { 1309 | dup 0 eq 1310 | { 1311 | pop cf 1312 | } if 1313 | setflat 1314 | } def 1315 | /j 1316 | { 1317 | setlinejoin 1318 | } def 1319 | /J 1320 | { 1321 | setlinecap 1322 | } def 1323 | /M 1324 | { 1325 | setmiterlimit 1326 | } def 1327 | /w 1328 | { 1329 | setlinewidth 1330 | } def 1331 | /XR 1332 | { 1333 | 0 ne 1334 | /_eo exch ddef 1335 | } def 1336 | /H 1337 | { 1338 | } def 1339 | /h 1340 | { 1341 | closepath 1342 | } def 1343 | /N 1344 | { 1345 | _pola 0 eq 1346 | { 1347 | _doClip 1 eq 1348 | { 1349 | _eo {eoclip} {clip} ifelse /_doClip 0 ddef 1350 | } if 1351 | newpath 1352 | } 1353 | { 1354 | /CRender 1355 | { 1356 | N 1357 | } ddef 1358 | } ifelse 1359 | } def 1360 | /n 1361 | { 1362 | N 1363 | } def 1364 | /F 1365 | { 1366 | _pola 0 eq 1367 | { 1368 | _doClip 1 eq 1369 | { 1370 | gsave _pf grestore _eo {eoclip} {clip} ifelse newpath /_lp /none ddef _fc 1371 | /_doClip 0 ddef 1372 | } 1373 | { 1374 | _pf 1375 | } ifelse 1376 | } 1377 | { 1378 | /CRender 1379 | { 1380 | F 1381 | } ddef 1382 | } ifelse 1383 | } def 1384 | /f 1385 | { 1386 | closepath 1387 | F 1388 | } def 1389 | /S 1390 | { 1391 | _pola 0 eq 1392 | { 1393 | _doClip 1 eq 1394 | { 1395 | gsave _ps grestore _eo {eoclip} {clip} ifelse newpath /_lp /none ddef _sc 1396 | /_doClip 0 ddef 1397 | } 1398 | { 1399 | _ps 1400 | } ifelse 1401 | } 1402 | { 1403 | /CRender 1404 | { 1405 | S 1406 | } ddef 1407 | } ifelse 1408 | } def 1409 | /s 1410 | { 1411 | closepath 1412 | S 1413 | } def 1414 | /B 1415 | { 1416 | _pola 0 eq 1417 | { 1418 | _doClip 1 eq 1419 | gsave F grestore 1420 | { 1421 | gsave S grestore _eo {eoclip} {clip} ifelse newpath /_lp /none ddef _sc 1422 | /_doClip 0 ddef 1423 | } 1424 | { 1425 | S 1426 | } ifelse 1427 | } 1428 | { 1429 | /CRender 1430 | { 1431 | B 1432 | } ddef 1433 | } ifelse 1434 | } def 1435 | /b 1436 | { 1437 | closepath 1438 | B 1439 | } def 1440 | /W 1441 | { 1442 | /_doClip 1 ddef 1443 | } def 1444 | /* 1445 | { 1446 | count 0 ne 1447 | { 1448 | dup type /stringtype eq 1449 | { 1450 | pop 1451 | } if 1452 | } if 1453 | newpath 1454 | } def 1455 | /u 1456 | { 1457 | } def 1458 | /U 1459 | { 1460 | } def 1461 | /q 1462 | { 1463 | _pola 0 eq 1464 | { 1465 | gsave 1466 | } if 1467 | } def 1468 | /Q 1469 | { 1470 | _pola 0 eq 1471 | { 1472 | grestore 1473 | } if 1474 | } def 1475 | /*u 1476 | { 1477 | _pola 1 add /_pola exch ddef 1478 | } def 1479 | /*U 1480 | { 1481 | _pola 1 sub /_pola exch ddef 1482 | _pola 0 eq 1483 | { 1484 | CRender 1485 | } if 1486 | } def 1487 | /D 1488 | { 1489 | pop 1490 | } def 1491 | /*w 1492 | { 1493 | } def 1494 | /*W 1495 | { 1496 | } def 1497 | /` 1498 | { 1499 | /_i save ddef 1500 | clipForward? 1501 | { 1502 | nulldevice 1503 | } if 1504 | 6 1 roll 4 npop 1505 | concat pop 1506 | userdict begin 1507 | /showpage 1508 | { 1509 | } def 1510 | 0 setgray 1511 | 0 setlinecap 1512 | 1 setlinewidth 1513 | 0 setlinejoin 1514 | 10 setmiterlimit 1515 | [] 0 setdash 1516 | /setstrokeadjust where {pop false setstrokeadjust} if 1517 | newpath 1518 | 0 setgray 1519 | false setoverprint 1520 | } def 1521 | /~ 1522 | { 1523 | end 1524 | _i restore 1525 | } def 1526 | /_rgbtocmyk 1527 | { 1528 | 3 1529 | { 1530 | 1 exch sub 3 1 roll 1531 | } repeat 1532 | 3 copy 1 4 1 roll 1533 | 3 1534 | { 1535 | 3 index 2 copy gt 1536 | { 1537 | exch 1538 | } if 1539 | pop 4 1 roll 1540 | } repeat 1541 | pop pop pop 1542 | 4 1 roll 1543 | 3 1544 | { 1545 | 3 index sub 1546 | 3 1 roll 1547 | } repeat 1548 | 4 -1 roll 1549 | } def 1550 | /setrgbfill 1551 | { 1552 | _rgbf astore pop 1553 | /_fc 1554 | { 1555 | _lp /fill ne 1556 | { 1557 | _of setoverprint 1558 | _rgbf aload pop setrgbcolor 1559 | /_lp /fill ddef 1560 | } if 1561 | } ddef 1562 | /_pf 1563 | { 1564 | _fc 1565 | _eo {eofill} {fill} ifelse 1566 | } ddef 1567 | /_psf 1568 | { 1569 | _fc 1570 | hvashow 1571 | } ddef 1572 | /_pjsf 1573 | { 1574 | _fc 1575 | hvawidthshow 1576 | } ddef 1577 | /_lp /none ddef 1578 | } def 1579 | /setrgbstroke 1580 | { 1581 | _rgbs astore pop 1582 | /_sc 1583 | { 1584 | _lp /stroke ne 1585 | { 1586 | _os setoverprint 1587 | _rgbs aload pop setrgbcolor 1588 | /_lp /stroke ddef 1589 | } if 1590 | } ddef 1591 | /_ps 1592 | { 1593 | _sc 1594 | stroke 1595 | } ddef 1596 | /_pss 1597 | { 1598 | _sc 1599 | ss 1600 | } ddef 1601 | /_pjss 1602 | { 1603 | _sc 1604 | jss 1605 | } ddef 1606 | /_lp /none ddef 1607 | } def 1608 | /O 1609 | { 1610 | 0 ne 1611 | /_of exch ddef 1612 | /_lp /none ddef 1613 | } def 1614 | /R 1615 | { 1616 | 0 ne 1617 | /_os exch ddef 1618 | /_lp /none ddef 1619 | } def 1620 | /g 1621 | { 1622 | /_gf exch ddef 1623 | /_fc 1624 | { 1625 | _lp /fill ne 1626 | { 1627 | _of setoverprint 1628 | _gf setgray 1629 | /_lp /fill ddef 1630 | } if 1631 | } ddef 1632 | /_pf 1633 | { 1634 | _fc 1635 | _eo {eofill} {fill} ifelse 1636 | } ddef 1637 | /_psf 1638 | { 1639 | _fc 1640 | hvashow 1641 | } ddef 1642 | /_pjsf 1643 | { 1644 | _fc 1645 | hvawidthshow 1646 | } ddef 1647 | /_lp /none ddef 1648 | } def 1649 | /G 1650 | { 1651 | /_gs exch ddef 1652 | /_sc 1653 | { 1654 | _lp /stroke ne 1655 | { 1656 | _os setoverprint 1657 | _gs setgray 1658 | /_lp /stroke ddef 1659 | } if 1660 | } ddef 1661 | /_ps 1662 | { 1663 | _sc 1664 | stroke 1665 | } ddef 1666 | /_pss 1667 | { 1668 | _sc 1669 | ss 1670 | } ddef 1671 | /_pjss 1672 | { 1673 | _sc 1674 | jss 1675 | } ddef 1676 | /_lp /none ddef 1677 | } def 1678 | /k 1679 | { 1680 | _cf astore pop 1681 | /_fc 1682 | { 1683 | _lp /fill ne 1684 | { 1685 | _of setoverprint 1686 | _cf aload pop setcmykcolor 1687 | /_lp /fill ddef 1688 | } if 1689 | } ddef 1690 | /_pf 1691 | { 1692 | _fc 1693 | _eo {eofill} {fill} ifelse 1694 | } ddef 1695 | /_psf 1696 | { 1697 | _fc 1698 | hvashow 1699 | } ddef 1700 | /_pjsf 1701 | { 1702 | _fc 1703 | hvawidthshow 1704 | } ddef 1705 | /_lp /none ddef 1706 | } def 1707 | /K 1708 | { 1709 | _cs astore pop 1710 | /_sc 1711 | { 1712 | _lp /stroke ne 1713 | { 1714 | _os setoverprint 1715 | _cs aload pop setcmykcolor 1716 | /_lp /stroke ddef 1717 | } if 1718 | } ddef 1719 | /_ps 1720 | { 1721 | _sc 1722 | stroke 1723 | } ddef 1724 | /_pss 1725 | { 1726 | _sc 1727 | ss 1728 | } ddef 1729 | /_pjss 1730 | { 1731 | _sc 1732 | jss 1733 | } ddef 1734 | /_lp /none ddef 1735 | } def 1736 | /Xa 1737 | { 1738 | _?cmyk { 1739 | 3 npop k 1740 | }{ 1741 | setrgbfill 4 npop 1742 | } ifelse 1743 | } def 1744 | /XA 1745 | { 1746 | _?cmyk { 1747 | 3 npop K 1748 | }{ 1749 | setrgbstroke 4 npop 1750 | } ifelse 1751 | } def 1752 | /Xs 1753 | { 1754 | /_gf exch ddef 1755 | 5 npop 1756 | /_fc 1757 | { 1758 | _lp /fill ne 1759 | { 1760 | _of setoverprint 1761 | _gf setAIseparationgray 1762 | /_lp /fill ddef 1763 | } if 1764 | } ddef 1765 | /_pf 1766 | { 1767 | _fc 1768 | _eo {eofill} {fill} ifelse 1769 | } ddef 1770 | /_psf 1771 | { 1772 | _fc 1773 | hvashow 1774 | } ddef 1775 | /_pjsf 1776 | { 1777 | _fc 1778 | hvawidthshow 1779 | } ddef 1780 | /_lp /none ddef 1781 | } def 1782 | /XS 1783 | { 1784 | /_gs exch ddef 1785 | 5 npop 1786 | /_sc 1787 | { 1788 | _lp /stroke ne 1789 | { 1790 | _os setoverprint 1791 | _gs setAIseparationgray 1792 | /_lp /stroke ddef 1793 | } if 1794 | } ddef 1795 | /_ps 1796 | { 1797 | _sc 1798 | stroke 1799 | } ddef 1800 | /_pss 1801 | { 1802 | _sc 1803 | ss 1804 | } ddef 1805 | /_pjss 1806 | { 1807 | _sc 1808 | jss 1809 | } ddef 1810 | /_lp /none ddef 1811 | } def 1812 | /Xx 1813 | { 1814 | exch 1815 | /_gf exch ddef 1816 | 0 eq { 1817 | findcmykcustomcolor 1818 | }{ 1819 | _?cmyk {true}{/findrgbcustomcolor where{pop false}{true}ifelse}ifelse 1820 | { 1821 | 4 1 roll 3 npop 1822 | findcmykcustomcolor 1823 | }{ 1824 | 8 -4 roll 4 npop 1825 | findrgbcustomcolor 1826 | } ifelse 1827 | } ifelse 1828 | /_if exch ddef 1829 | /_fc 1830 | { 1831 | _lp /fill ne 1832 | { 1833 | _of setoverprint 1834 | _if _gf 1 exch sub setcustomcolor 1835 | /_lp /fill ddef 1836 | } if 1837 | } ddef 1838 | /_pf 1839 | { 1840 | _fc 1841 | _eo {eofill} {fill} ifelse 1842 | } ddef 1843 | /_psf 1844 | { 1845 | _fc 1846 | hvashow 1847 | } ddef 1848 | /_pjsf 1849 | { 1850 | _fc 1851 | hvawidthshow 1852 | } ddef 1853 | /_lp /none ddef 1854 | } def 1855 | /XX 1856 | { 1857 | exch 1858 | /_gs exch ddef 1859 | 0 eq { 1860 | findcmykcustomcolor 1861 | }{ 1862 | _?cmyk {true}{/findrgbcustomcolor where{pop false}{true}ifelse}ifelse 1863 | { 1864 | 4 1 roll 3 npop 1865 | findcmykcustomcolor 1866 | }{ 1867 | 8 -4 roll 4 npop 1868 | findrgbcustomcolor 1869 | } ifelse 1870 | } ifelse 1871 | /_is exch ddef 1872 | /_sc 1873 | { 1874 | _lp /stroke ne 1875 | { 1876 | _os setoverprint 1877 | _is _gs 1 exch sub setcustomcolor 1878 | /_lp /stroke ddef 1879 | } if 1880 | } ddef 1881 | /_ps 1882 | { 1883 | _sc 1884 | stroke 1885 | } ddef 1886 | /_pss 1887 | { 1888 | _sc 1889 | ss 1890 | } ddef 1891 | /_pjss 1892 | { 1893 | _sc 1894 | jss 1895 | } ddef 1896 | /_lp /none ddef 1897 | } def 1898 | /x 1899 | { 1900 | /_gf exch ddef 1901 | findcmykcustomcolor 1902 | /_if exch ddef 1903 | /_fc 1904 | { 1905 | _lp /fill ne 1906 | { 1907 | _of setoverprint 1908 | _if _gf 1 exch sub setcustomcolor 1909 | /_lp /fill ddef 1910 | } if 1911 | } ddef 1912 | /_pf 1913 | { 1914 | _fc 1915 | _eo {eofill} {fill} ifelse 1916 | } ddef 1917 | /_psf 1918 | { 1919 | _fc 1920 | hvashow 1921 | } ddef 1922 | /_pjsf 1923 | { 1924 | _fc 1925 | hvawidthshow 1926 | } ddef 1927 | /_lp /none ddef 1928 | } def 1929 | /X 1930 | { 1931 | /_gs exch ddef 1932 | findcmykcustomcolor 1933 | /_is exch ddef 1934 | /_sc 1935 | { 1936 | _lp /stroke ne 1937 | { 1938 | _os setoverprint 1939 | _is _gs 1 exch sub setcustomcolor 1940 | /_lp /stroke ddef 1941 | } if 1942 | } ddef 1943 | /_ps 1944 | { 1945 | _sc 1946 | stroke 1947 | } ddef 1948 | /_pss 1949 | { 1950 | _sc 1951 | ss 1952 | } ddef 1953 | /_pjss 1954 | { 1955 | _sc 1956 | jss 1957 | } ddef 1958 | /_lp /none ddef 1959 | } def 1960 | /XK 1961 | { 1962 | 3 -1 roll pop 1963 | 0 eq 1964 | { 1965 | 1 exch sub 1966 | 3 {dup 3 1 roll mul 5 1 roll} repeat 1967 | mul 4 1 roll 1968 | K 1969 | } 1970 | { 1971 | 1 exch sub 4 1 roll 1972 | 3 {1 exch sub 3 index mul 1 exch sub 3 1 roll} repeat 1973 | 4 -1 roll pop 1974 | XA 1975 | } ifelse 1976 | } def 1977 | /Xk 1978 | { 1979 | 3 -1 roll pop 1980 | 0 eq 1981 | { 1982 | 1 exch sub 1983 | 3 {dup 3 1 roll mul 5 1 roll} repeat 1984 | mul 4 1 roll 1985 | k 1986 | } 1987 | { 1988 | 1 exch sub 4 1 roll 1989 | 3 {1 exch sub 3 index mul 1 exch sub 3 1 roll} repeat 1990 | 4 -1 roll pop 1991 | Xa 1992 | } ifelse 1993 | } def 1994 | /A 1995 | { 1996 | pop 1997 | } def 1998 | /annotatepage 1999 | { 2000 | userdict /annotatepage 2 copy known {get exec} {pop pop} ifelse 2001 | } def 2002 | /XT { 2003 | pop pop 2004 | } def 2005 | /Xt { 2006 | pop 2007 | } def 2008 | /discard 2009 | { 2010 | save /discardSave exch store 2011 | discardDict begin 2012 | /endString exch store 2013 | gt38? 2014 | { 2015 | 2 add 2016 | } if 2017 | load 2018 | stopped 2019 | pop 2020 | end 2021 | discardSave restore 2022 | } bind def 2023 | userdict /discardDict 7 dict dup begin 2024 | put 2025 | /pre38Initialize 2026 | { 2027 | /endStringLength endString length store 2028 | /newBuff buffer 0 endStringLength getinterval store 2029 | /newBuffButFirst newBuff 1 endStringLength 1 sub getinterval store 2030 | /newBuffLast newBuff endStringLength 1 sub 1 getinterval store 2031 | } def 2032 | /shiftBuffer 2033 | { 2034 | newBuff 0 newBuffButFirst putinterval 2035 | newBuffLast 0 2036 | currentfile read not 2037 | { 2038 | stop 2039 | } if 2040 | put 2041 | } def 2042 | 0 2043 | { 2044 | pre38Initialize 2045 | mark 2046 | currentfile newBuff readstring exch pop 2047 | { 2048 | { 2049 | newBuff endString eq 2050 | { 2051 | cleartomark stop 2052 | } if 2053 | shiftBuffer 2054 | } loop 2055 | } 2056 | { 2057 | stop 2058 | } ifelse 2059 | } def 2060 | 1 2061 | { 2062 | pre38Initialize 2063 | /beginString exch store 2064 | mark 2065 | currentfile newBuff readstring exch pop 2066 | { 2067 | { 2068 | newBuff beginString eq 2069 | { 2070 | /layerCount dup load 1 add store 2071 | } 2072 | { 2073 | newBuff endString eq 2074 | { 2075 | /layerCount dup load 1 sub store 2076 | layerCount 0 eq 2077 | { 2078 | cleartomark stop 2079 | } if 2080 | } if 2081 | } ifelse 2082 | shiftBuffer 2083 | } loop 2084 | } if 2085 | } def 2086 | 2 2087 | { 2088 | mark 2089 | { 2090 | currentfile buffer {readline} stopped { 2091 | % assume error was due to overfilling the buffer 2092 | }{ 2093 | not 2094 | { 2095 | stop 2096 | } if 2097 | endString eq { 2098 | cleartomark stop 2099 | } if 2100 | }ifelse 2101 | } loop 2102 | } def 2103 | 3 2104 | { 2105 | /beginString exch store 2106 | /layerCnt 1 store 2107 | mark 2108 | { 2109 | currentfile buffer {readline} stopped { 2110 | % assume error was due to overfilling the buffer 2111 | }{ 2112 | not 2113 | { 2114 | stop 2115 | } if 2116 | dup beginString eq 2117 | { 2118 | pop /layerCnt dup load 1 add store 2119 | } 2120 | { 2121 | endString eq 2122 | { 2123 | layerCnt 1 eq 2124 | { 2125 | cleartomark stop 2126 | } 2127 | { 2128 | /layerCnt dup load 1 sub store 2129 | } ifelse 2130 | } if 2131 | } ifelse 2132 | }ifelse 2133 | } loop 2134 | } def 2135 | end 2136 | userdict /clipRenderOff 15 dict dup begin 2137 | put 2138 | { 2139 | /n /N /s /S /f /F /b /B 2140 | } 2141 | { 2142 | { 2143 | _doClip 1 eq 2144 | { 2145 | /_doClip 0 ddef _eo {eoclip} {clip} ifelse 2146 | } if 2147 | newpath 2148 | } def 2149 | } forall 2150 | /Tr /pop load def 2151 | /Bb {} def 2152 | /BB /pop load def 2153 | /Bg {12 npop} def 2154 | /Bm {6 npop} def 2155 | /Bc /Bm load def 2156 | /Bh {4 npop} def 2157 | end 2158 | /Lb 2159 | { 2160 | 6 npop 2161 | 7 2 roll 2162 | 5 npop 2163 | 0 eq 2164 | { 2165 | 0 eq 2166 | { 2167 | (%AI5_BeginLayer) 1 (%AI5_EndLayer--) discard 2168 | } 2169 | { 2170 | 2171 | /clipForward? true def 2172 | 2173 | /Tx /pop load def 2174 | /Tj /pop load def 2175 | 2176 | currentdict end clipRenderOff begin begin 2177 | } ifelse 2178 | } 2179 | { 2180 | 0 eq 2181 | { 2182 | save /discardSave exch store 2183 | } if 2184 | } ifelse 2185 | } bind def 2186 | /LB 2187 | { 2188 | discardSave dup null ne 2189 | { 2190 | restore 2191 | } 2192 | { 2193 | pop 2194 | clipForward? 2195 | { 2196 | currentdict 2197 | end 2198 | end 2199 | begin 2200 | 2201 | /clipForward? false ddef 2202 | } if 2203 | } ifelse 2204 | } bind def 2205 | /Pb 2206 | { 2207 | pop pop 2208 | 0 (%AI5_EndPalette) discard 2209 | } bind def 2210 | /Np 2211 | { 2212 | 0 (%AI5_End_NonPrinting--) discard 2213 | } bind def 2214 | /Ln /pop load def 2215 | /Ap 2216 | /pop load def 2217 | /Ar 2218 | { 2219 | 72 exch div 2220 | 0 dtransform dup mul exch dup mul add sqrt 2221 | dup 1 lt 2222 | { 2223 | pop 1 2224 | } if 2225 | setflat 2226 | } def 2227 | /Mb 2228 | { 2229 | q 2230 | } def 2231 | /Md 2232 | { 2233 | } def 2234 | /MB 2235 | { 2236 | Q 2237 | } def 2238 | /nc 4 dict def 2239 | nc begin 2240 | /setgray 2241 | { 2242 | pop 2243 | } bind def 2244 | /setcmykcolor 2245 | { 2246 | 4 npop 2247 | } bind def 2248 | /setrgbcolor 2249 | { 2250 | 3 npop 2251 | } bind def 2252 | /setcustomcolor 2253 | { 2254 | 2 npop 2255 | } bind def 2256 | currentdict readonly pop 2257 | end 2258 | /XP 2259 | { 2260 | 4 npop 2261 | } bind def 2262 | /XD 2263 | { 2264 | pop 2265 | } bind def 2266 | end 2267 | setpacking 2268 | %%EndResource 2269 | %%BeginResource: procset Adobe_cshow 2.0 8 2270 | %%Title: (Writing System Operators) 2271 | %%Version: 2.0 8 2272 | %%CreationDate: (1/23/89) () 2273 | %%Copyright: ((C) 1992-1996 Adobe Systems Incorporated All Rights Reserved) 2274 | currentpacking true setpacking 2275 | userdict /Adobe_cshow 14 dict dup begin put 2276 | /initialize 2277 | { 2278 | Adobe_cshow begin 2279 | Adobe_cshow 2280 | { 2281 | dup xcheck 2282 | { 2283 | bind 2284 | } if 2285 | pop pop 2286 | } forall 2287 | end 2288 | Adobe_cshow begin 2289 | } def 2290 | /terminate 2291 | { 2292 | currentdict Adobe_cshow eq 2293 | { 2294 | end 2295 | } if 2296 | } def 2297 | /cforall 2298 | { 2299 | /_lobyte 0 ddef 2300 | /_hibyte 0 ddef 2301 | /_cproc exch ddef 2302 | /_cscript currentfont /FontScript known { currentfont /FontScript get } { -1 } ifelse ddef 2303 | { 2304 | /_lobyte exch ddef 2305 | _hibyte 0 eq 2306 | _cscript 1 eq 2307 | _lobyte 129 ge _lobyte 159 le and 2308 | _lobyte 224 ge _lobyte 252 le and or and 2309 | _cscript 2 eq 2310 | _lobyte 161 ge _lobyte 254 le and and 2311 | _cscript 3 eq 2312 | _lobyte 161 ge _lobyte 254 le and and 2313 | _cscript 25 eq 2314 | _lobyte 161 ge _lobyte 254 le and and 2315 | _cscript -1 eq 2316 | or or or or and 2317 | { 2318 | /_hibyte _lobyte ddef 2319 | } 2320 | { 2321 | _hibyte 256 mul _lobyte add 2322 | _cproc 2323 | /_hibyte 0 ddef 2324 | } ifelse 2325 | } forall 2326 | } def 2327 | /cstring 2328 | { 2329 | dup 256 lt 2330 | { 2331 | (s) dup 0 4 3 roll put 2332 | } 2333 | { 2334 | dup 256 idiv exch 256 mod 2335 | (hl) dup dup 0 6 5 roll put 1 4 3 roll put 2336 | } ifelse 2337 | } def 2338 | /clength 2339 | { 2340 | 0 exch 2341 | { 256 lt { 1 } { 2 } ifelse add } cforall 2342 | } def 2343 | /hawidthshow 2344 | { 2345 | { 2346 | dup cstring 2347 | show 2348 | _hvax _hvay rmoveto 2349 | _hvwb eq { _hvcx _hvcy rmoveto } if 2350 | } cforall 2351 | } def 2352 | /vawidthshow 2353 | { 2354 | { 2355 | dup 255 le 2356 | _charorientation 1 eq 2357 | and 2358 | { 2359 | -90 rotate 2360 | 0 _fontRotateAdjust rmoveto 2361 | cstring 2362 | _hvcx _hvcy _hvwb _hvax _hvay 6 -1 roll awidthshow 2363 | 0 _fontRotateAdjust neg rmoveto 2364 | 90 rotate 2365 | } 2366 | { 2367 | currentpoint 2368 | _fontHeight sub 2369 | exch _hvay sub exch _hvax sub 2370 | 2 index _hvwb eq { exch _hvcy sub exch _hvcx sub } if 2371 | 3 2 roll 2372 | cstring 2373 | dup stringwidth pop 2 div neg _fontAscent neg rmoveto 2374 | show 2375 | moveto 2376 | } ifelse 2377 | } cforall 2378 | } def 2379 | /hvawidthshow 2380 | { 2381 | 6 1 roll 2382 | /_hvay exch ddef 2383 | /_hvax exch ddef 2384 | /_hvwb exch ddef 2385 | /_hvcy exch ddef 2386 | /_hvcx exch ddef 2387 | _lineorientation 0 eq { hawidthshow } { vawidthshow } ifelse 2388 | } def 2389 | /hvwidthshow 2390 | { 2391 | 0 0 3 -1 roll hvawidthshow 2392 | } def 2393 | /hvashow 2394 | { 2395 | 0 0 0 6 -3 roll hvawidthshow 2396 | } def 2397 | /hvshow 2398 | { 2399 | 0 0 0 0 0 6 -1 roll hvawidthshow 2400 | } def 2401 | currentdict readonly pop end 2402 | setpacking 2403 | %%EndResource 2404 | %%BeginResource: procset Adobe_shading_AI8 1.0 0 2405 | %%Title: (Adobe Illustrator 8 Shading Procset) 2406 | %%Version: 1.0 0 2407 | %%CreationDate: (12/17/97) () 2408 | %%Copyright: ((C) 1987-1997 Adobe Systems Incorporated All Rights Reserved) 2409 | userdict /defaultpacking currentpacking put true setpacking 2410 | userdict /Adobe_shading_AI8 10 dict dup begin put 2411 | /initialize { 2412 | Adobe_shading_AI8 begin 2413 | Adobe_shading_AI8 bdprocs 2414 | Mesh /initialize get exec 2415 | } def 2416 | /terminate { 2417 | currentdict Adobe_shading_AI8 eq { 2418 | end 2419 | } if 2420 | } def 2421 | /bdprocs { 2422 | { 2423 | dup xcheck 1 index type /arraytype eq and { 2424 | bind 2425 | } if 2426 | pop pop 2427 | } forall 2428 | } def 2429 | /X! {pop} def 2430 | /X# {pop pop} def 2431 | /Mesh 40 dict def 2432 | Mesh begin 2433 | /initialize { 2434 | Mesh bdprocs 2435 | Mesh begin 2436 | /emulate? /AI8MeshEmulation where { 2437 | pop AI8MeshEmulation 2438 | }{ 2439 | systemdict /shfill known not 2440 | } ifelse def 2441 | end 2442 | } def 2443 | /bd { 2444 | shadingdict begin 2445 | } def 2446 | /paint { 2447 | emulate? { 2448 | end 2449 | }{ 2450 | /_lp /none ddef _fc /_lp /none ddef 2451 | 2452 | /AIColorSpace AIColorSpace tocolorspace store 2453 | /ColorSpace AIColorSpace topsspace store 2454 | 2455 | version_ge_3010.106 not systemdict /setsmoothness known and { 2456 | 0.0001 setsmoothness 2457 | } if 2458 | 2459 | composite? { 2460 | /DataSource getdatasrc def 2461 | Matrix concat 2462 | currentdict end 2463 | shfill 2464 | }{ 2465 | AIColorSpace makesmarks AIPlateList markingplate and not isoverprint and { 2466 | end 2467 | }{ 2468 | /ColorSpace /DeviceGray store 2469 | /Decode [0 1 0 1 0 1] store 2470 | /DataSource getplatesrc def 2471 | Matrix concat 2472 | currentdict end 2473 | shfill 2474 | } ifelse 2475 | } ifelse 2476 | } ifelse 2477 | } def 2478 | /shadingdict 12 dict def 2479 | shadingdict begin 2480 | /ShadingType 6 def 2481 | /BitsPerCoordinate 16 def 2482 | /BitsPerComponent 8 def 2483 | /BitsPerFlag 8 def 2484 | end 2485 | /datafile null def 2486 | /databuf 256 string def 2487 | /dataptr 0 def 2488 | /srcspace null def 2489 | /srcchannels 0 def 2490 | /dstchannels 0 def 2491 | /dstplate 0 def 2492 | /srctodstcolor null def 2493 | /getplatesrc { 2494 | /srcspace AIColorSpace store 2495 | /srcchannels AIColorSpace getnchannels store 2496 | /dstchannels 1 store 2497 | /dstplate getplateindex store 2498 | /srctodstcolor srcspace makesmarks { 2499 | dstplate 4 eq { 2500 | {1 exch sub} 2501 | }{ 2502 | {srcspace tocmyk 3 dstplate sub index 1 exch sub 5 1 roll 4 {pop} repeat} 2503 | } ifelse 2504 | }{ 2505 | {srcchannels {pop} repeat 1} 2506 | } ifelse store 2507 | /datafile getdatasrc store 2508 | /rdpatch168 load DataLength () /SubFileDecode filter 2509 | } def 2510 | /getdatasrc { 2511 | /rdcmntline load /ASCII85Decode filter 2512 | } def 2513 | /rdpatch168 { 2514 | /dataptr 0 store 2515 | 49 rdcount 2516 | 4 { 2517 | dup {pop srcchannels getint8} if 2518 | dup {pop srctodstcolor dstchannels putint8 true} if 2519 | } repeat 2520 | {databuf 0 dataptr getinterval}{()} ifelse 2521 | } def 2522 | /rdpatch3216 { 2523 | /dataptr 0 store 2524 | 97 rdcount 2525 | 4 { 2526 | dup {pop srcchannels getint16} if 2527 | dup {pop srctodstcolor dstchannels putint16 true} if 2528 | } repeat 2529 | {databuf 0 dataptr getinterval}{()} ifelse 2530 | } def 2531 | /rdcount { 2532 | dup 0 gt { 2533 | datafile databuf dataptr 4 -1 roll getinterval readstring 2534 | exch length dataptr add /dataptr exch store 2535 | }{ 2536 | true 2537 | } ifelse 2538 | } def 2539 | /getint8 { 2540 | mark true 3 -1 roll 2541 | { 2542 | dup {pop datafile read} if 2543 | dup {pop 255 div true} if 2544 | } repeat 2545 | { 2546 | counttomark 1 add -1 roll pop true 2547 | }{ 2548 | cleartomark false 2549 | } ifelse 2550 | } def 2551 | /putint8 { 2552 | dup dataptr add /dataptr exch store 2553 | dataptr exch 2554 | { 2555 | 1 sub exch 2556 | 255 mul cvi 2557 | databuf 2 index 2558 | 3 -1 roll put 2559 | } repeat 2560 | pop 2561 | } def 2562 | /getint16 { 2563 | mark true 3 -1 roll 2564 | { 2565 | dup {pop datafile read} if 2566 | dup {pop 256 mul datafile read} if 2567 | dup {pop add 65535 div true} if 2568 | } repeat 2569 | { 2570 | counttomark 1 add -1 roll pop true 2571 | }{ 2572 | cleartomark false 2573 | } ifelse 2574 | } def 2575 | /putint16 { 2576 | dup 2 mul dataptr add /dataptr exch store 2577 | dataptr exch 2578 | { 2579 | 2 sub exch 2580 | 65535 mul cvi dup 2581 | 256 idiv databuf 3 index 3 -1 roll put 2582 | 256 mod databuf 2 index 1 add 3 -1 roll put 2583 | } repeat 2584 | pop 2585 | } def 2586 | /srcbuf 256 string def 2587 | /rdcmntline { 2588 | currentfile srcbuf readline pop 2589 | (%) anchorsearch {pop} if 2590 | } def 2591 | /getplateindex { 2592 | 0 [cyan? magenta? yellow? black? customColor?] {{exit} if 1 add} forall 2593 | } def 2594 | /aicsarray 4 array def 2595 | /aicsaltvals 4 array def 2596 | /aicsaltcolr aicsaltvals def 2597 | /tocolorspace { 2598 | dup type /arraytype eq { 2599 | mark exch aload pop 2600 | aicsarray 0 3 -1 roll put 2601 | aicsarray 1 3 -1 roll put 2602 | dup aicsarray 2 3 -1 roll put 2603 | gettintxform aicsarray 3 3 -1 roll put 2604 | counttomark aicsaltvals 0 3 -1 roll getinterval /aicsaltcolr exch store 2605 | aicsaltcolr astore pop pop 2606 | aicsarray 2607 | } if 2608 | } def 2609 | /subtintxform {aicsaltcolr {1 index mul exch} forall pop} def 2610 | /addtintxform {aicsaltcolr {1 sub 1 index mul 1 add exch} forall pop} def 2611 | /gettintxform { 2612 | /DeviceRGB eq {/addtintxform}{/subtintxform} ifelse load 2613 | } def 2614 | /getnchannels { 2615 | dup type /arraytype eq {0 get} if 2616 | colorspacedict exch get begin Channels end 2617 | } def 2618 | /makesmarks { 2619 | composite? { 2620 | pop true 2621 | }{ 2622 | dup dup type /arraytype eq {0 get} if 2623 | colorspacedict exch get begin MarksPlate end 2624 | } ifelse 2625 | } def 2626 | /markingplate { 2627 | composite? { 2628 | pop true 2629 | }{ 2630 | dup type /arraytype eq { 2631 | dup length getplateindex gt {getplateindex get}{pop false} ifelse 2632 | } if 2633 | } ifelse 2634 | } def 2635 | /tocmyk { 2636 | dup dup type /arraytype eq {0 get} if 2637 | colorspacedict exch get begin ToCMYK end 2638 | } def 2639 | /topsspace { 2640 | dup dup type /arraytype eq {0 get} if 2641 | colorspacedict exch get begin ToPSSpace end 2642 | } def 2643 | /colorspacedict 5 dict dup begin 2644 | /DeviceGray 4 dict dup begin 2645 | /Channels 1 def 2646 | /MarksPlate {pop black?} def 2647 | /ToCMYK {pop 1 exch sub 0 0 0 4 -1 roll} def 2648 | /ToPSSpace {} def 2649 | end def 2650 | /DeviceRGB 4 dict dup begin 2651 | /Channels 3 def 2652 | /MarksPlate {pop isCMYKSep?} def 2653 | /ToCMYK {pop _rgbtocmyk} def 2654 | /ToPSSpace {} def 2655 | end def 2656 | /DeviceCMYK 4 dict dup begin 2657 | /Channels 4 def 2658 | /MarksPlate {pop isCMYKSep?} def 2659 | /ToCMYK {pop} def 2660 | /ToPSSpace {} def 2661 | end def 2662 | /Separation 4 dict dup begin 2663 | /Channels 1 def 2664 | /MarksPlate { 2665 | /findcmykcustomcolor where { 2666 | pop dup 1 exch ToCMYK 5 -1 roll 1 get 2667 | findcmykcustomcolor 1 setcustomcolor 2668 | systemdict /currentgray get exec 2669 | 1 ne 2670 | }{ 2671 | pop false 2672 | } ifelse 2673 | } def 2674 | /ToCMYK { 2675 | dup 2 get mark exch 4 2 roll 2676 | 3 get exec 2677 | counttomark -1 roll tocmyk 2678 | 5 -1 roll pop 2679 | } def 2680 | /ToPSSpace {} def 2681 | end def 2682 | /Process 4 dict dup begin 2683 | /Channels 1 def 2684 | /MarksPlate { 2685 | isCMYKSep? { 2686 | 1 exch ToCMYK 4 array astore getplateindex get 0 ne 2687 | }{ 2688 | pop false 2689 | } ifelse 2690 | } def 2691 | /ToCMYK { 2692 | dup 2 get mark exch 4 2 roll 2693 | 3 get exec 2694 | counttomark -1 roll tocmyk 2695 | 5 -1 roll pop 2696 | } def 2697 | /ToPSSpace { 2698 | 4 array copy dup 0 /Separation put 2699 | } def 2700 | end def 2701 | end def 2702 | /isoverprint { 2703 | /currentoverprint where {pop currentoverprint}{_of} ifelse 2704 | } def 2705 | /version_ge_3010.106 { 2706 | version {cvr} stopped { 2707 | pop 2708 | false 2709 | }{ 2710 | 3010.106 ge 2711 | } ifelse 2712 | } def 2713 | end 2714 | end 2715 | defaultpacking setpacking 2716 | %%EndResource 2717 | %%EndProlog %%BeginSetup userdict /_useSmoothShade false put userdict /_aicmykps true put userdict /_forceToCMYK true put Adobe_level2_AI5 /initialize get exec 2718 | Adobe_cshow /initialize get exec 2719 | Adobe_ColorImage_AI6 /initialize get exec 2720 | Adobe_shading_AI8 /initialize get exec 2721 | Adobe_Illustrator_AI5 /initialize get exec 2722 | %AI3_BeginRider currentpacking true setpacking setpacking %AI3_EndRider %AI5_Begin_NonPrinting Np %AI8_PluginGroupInfo (Adobe Path Blends) (Adobe Blends Plugin) (LiveBlends.aip) %AI8_PluginGroupInfo (Adobe Tracing Object) (Tracing) (TracingSuite.aip) %AI8_PluginGroupInfo (Adobe Scatter Brush Tool) (Adobe Scatter Brush Plugin) (ScatterBrushTool.aip) %AI8_PluginGroupInfo (Adobe Scatter Brush Tool) (Adobe Scatter Brush Plugin) (ScatterBrushTool.aip) %AI8_PluginGroupInfo (Adobe PatternOnPath Brush Tool) (Adobe Pattern Brush Plugin) (ArtBrushTool.aip) %AI8_PluginGroupInfo (Adobe PatternOnPath Brush Tool) (Adobe Pattern Brush Plugin) (ArtBrushTool.aip) %AI8_PluginGroupInfo (Adobe ArtOnPath Brush Tool) (Adobe Art Brush Plugin) (ArtBrushTool.aip) %AI8_PluginGroupInfo (Adobe ArtOnPath Brush Tool) (Adobe Art Brush Plugin) (ArtBrushTool.aip) %AI8_PluginGroupInfo (Adobe Calligraphic Brush Tool) (Adobe Calligraphic Brush Plugin) (CalligBrushTool.aip) %AI8_PluginGroupInfo (Adobe Flare Plugin) (Flare) (Flare.aip) %AI8_PluginGroupInfo (Adobe Symbolism) (Adobe Symbolism) (ParticleSystem.aip) %AI8_PluginGroupInfo (Adobe Deform Plugin) (Adobe Envelope Plugin) (Envelope and Warp.aip) %AI8_PluginGroupInfo (Pathfinder Suite) (Adobe Compound Shape) (PathFinderS.aip) %AI8_PluginGroupInfo (Adobe Planar Group) (Adobe Live Paint Plugin) (Live Paint.aip) %AI5_End_NonPrinting-- %AI5_BeginPalette 0 0 Pb 0.74902 0.678431 0.670588 0.901961 ([Registration]) 0 Xs ([Registration]) Pc PB %AI5_EndPalette %%EndSetup %AI5_BeginLayer 1 1 1 1 0 0 1 0 79 128 255 0 50 Lb (svg2759) Ln 0 A u U u u 0 O 0.34902 0.231373 0.305882 0 0.666667 0.698039 0.670588 Xa 0 J 0 j 1 w 4 M []0 d 0 XR 343.9077 320.061 m 457.2617 319.8594 L 458.8457 319.8594 460.2617 320.0942 460.2617 316.6992 C 460.123 279.3691 L 341.0474 279.3691 L 341.0474 316.8379 L 341.0474 318.5122 341.2095 320.061 343.9077 320.061 C f u 0 0 0 0 1 1 1 Xa 375.022 300.9619 m 375.0269 293.4326 368.9258 287.3242 361.3955 287.3203 C 353.8657 287.3154 347.7568 293.416 347.7524 300.9453 C 347.7524 300.9512 347.7524 300.9561 347.7524 300.9619 C 347.748 308.4917 353.8491 314.5996 361.3789 314.604 C 368.9102 314.6084 375.0181 308.5078 375.022 300.9785 C 375.022 300.9731 375.022 300.9678 375.022 300.9619 C f u *u 0.74902 0.678431 0.670588 0.901961 0 0 0 Xa 372.4712 312.0669 m 375.4951 309.0435 377.0068 305.3413 377.0068 300.9619 c 377.0068 296.582 375.521 292.9199 372.5493 289.9736 C 369.396 286.8711 365.6685 285.3203 361.3682 285.3203 c 357.1191 285.3203 353.4565 286.8584 350.3809 289.9355 C 347.3052 293.0107 345.7676 296.6865 345.7676 300.9619 c 345.7676 305.2373 347.3052 308.9385 350.3809 312.0669 C 353.3784 315.0913 357.041 316.603 361.3682 316.603 c 365.7471 316.603 369.4478 315.0913 372.4712 312.0669 C f 1 D 352.4165 310.0332 m 349.8604 307.4517 348.5825 304.4268 348.5825 300.958 c 348.5825 297.4902 349.8477 294.4912 352.3774 291.9619 C 354.9072 289.4326 357.9194 288.168 361.4141 288.168 c 364.9087 288.168 367.9463 289.4453 370.5283 292.001 C 372.98 294.374 374.2061 297.3594 374.2061 300.958 c 374.2061 304.5303 372.96 307.5615 370.4692 310.0522 C 367.979 312.542 364.9609 313.7876 361.4141 313.7876 c 357.8672 313.7876 354.8677 312.5361 352.4165 310.0332 C f 0 D 359.1436 302.4834 m 358.7529 303.3354 358.168 303.7612 357.3887 303.7612 c 356.0098 303.7612 355.3208 302.833 355.3208 300.978 c 355.3208 299.1221 356.0098 298.1943 357.3887 298.1943 c 358.2988 298.1943 358.9492 298.6465 359.3389 299.5513 C 361.25 298.5342 L 360.3394 296.916 358.9727 296.1064 357.1509 296.1064 c 355.7456 296.1064 354.6196 296.5371 353.7744 297.3984 C 352.9277 298.2598 352.5054 299.4482 352.5054 300.9619 c 352.5054 302.4497 352.9414 303.6309 353.813 304.5054 C 354.6851 305.3804 355.771 305.8174 357.0732 305.8174 c 358.999 305.8174 360.3779 305.0591 361.2119 303.543 C 359.1436 302.4834 L f 368.1338 302.4834 m 367.7427 303.3354 367.1694 303.7612 366.4141 303.7612 c 365.0078 303.7612 364.3042 302.833 364.3042 300.978 c 364.3042 299.1221 365.0078 298.1943 366.4141 298.1943 c 367.3257 298.1943 367.9644 298.6465 368.3286 299.5513 C 370.2822 298.5342 L 369.373 296.916 368.0083 296.1064 366.1899 296.1064 c 364.7866 296.1064 363.6631 296.5371 362.8184 297.3984 C 361.9751 298.2598 361.5522 299.4482 361.5522 300.9619 c 361.5522 302.4497 361.9814 303.6309 362.8389 304.5054 C 363.6958 305.3804 364.7866 305.8174 366.1123 305.8174 c 368.0347 305.8174 369.4116 305.0591 370.2427 303.543 C 368.1338 302.4834 L f *U U /AdobeObjectMatrix (1.000000 0.000000 0.000000 1.000000 -289.615692 99.065300) XT U /AdobeObjectMatrix (0.872921 0.000000 0.000000 0.872921 50.125359 143.214401) XT *u 1 D 458.2539 320.5 m 342.7471 320.5 L 341.5083 320.5 340.5 319.4927 340.5 318.2539 C 340.5 279.0068 L 340.5 278.7266 340.7275 278.5 341.0073 278.5 C 459.9922 278.5 L 460.2725 278.5 460.5 278.7266 460.5 279.0068 C 460.5 318.2539 L 460.5 319.4927 459.4922 320.5 458.2539 320.5 C f 0 D 342.7471 319.4858 m 458.2539 319.4858 L 458.9326 319.4858 459.4844 318.9336 459.4844 318.2539 C 459.4844 302.4688 459.4844 291.0449 V 376.9277 291.0449 L 373.9019 285.5742 368.0723 281.8594 361.3813 281.8594 c 354.688 281.8594 348.8599 285.5713 345.8354 291.0449 C 341.5151 291.0449 L 341.5151 302.4688 341.5151 318.2539 Y 341.5151 318.9336 342.0679 319.4858 342.7471 319.4858 C f *U u *u 0 0 0 0 1 1 1 Xa 400.4966 287.7529 m 400.8125 287.7529 401.0996 287.7246 401.3604 287.6699 c 401.6211 287.6143 401.8438 287.5234 402.0293 287.3955 C 402.2148 287.2695 402.3594 287.1006 402.4619 286.8906 C 402.5635 286.6807 402.6152 286.4219 402.6152 286.1113 c 402.6152 285.7783 402.5391 285.5 402.3867 285.2783 C 402.2363 285.0547 402.0107 284.873 401.7129 284.7305 C 402.123 284.6133 402.4287 284.4082 402.6309 284.1133 c 402.832 283.8203 402.9336 283.4658 402.9336 283.0508 c 402.9336 282.7168 402.8691 282.4277 402.7383 282.1836 C 402.6084 281.9395 402.4326 281.7402 402.2129 281.5859 C 401.9932 281.4307 401.7422 281.3164 401.4609 281.2422 C 401.1777 281.168 400.8887 281.1309 400.5908 281.1309 C 397.3745 281.1309 L 397.3745 287.7529 L 400.4966 287.7529 L 400.4966 287.7529 L f 1 D 400.3105 285.0742 m 400.5703 285.0742 400.7842 285.1367 400.9517 285.2598 C 401.1191 285.3828 401.2021 285.583 401.2021 285.8604 c 401.2021 286.0146 401.1738 286.1426 401.1191 286.2402 C 401.0625 286.3389 400.9888 286.416 400.8955 286.4717 C 400.8027 286.5273 400.6958 286.5664 400.5752 286.5879 c 400.4546 286.6094 400.3291 286.6191 400.1992 286.6191 C 398.834 286.6191 L 398.834 285.0742 L 400.3105 285.0742 L f 400.3955 282.2637 m 400.5381 282.2637 400.6743 282.2773 400.8047 282.3057 C 400.9341 282.334 401.0498 282.3809 401.1484 282.4453 C 401.248 282.5098 401.3262 282.5977 401.3857 282.709 C 401.4453 282.8203 401.4736 282.9629 401.4736 283.1357 c 401.4736 283.4746 401.3779 283.7178 401.1855 283.8633 C 400.9937 284.0078 400.7397 284.0811 400.4238 284.0811 C 398.834 284.0811 L 398.834 282.2637 L 400.3955 282.2637 L 400.3955 282.2637 L f *U 0 D 403.1904 287.7529 m 404.8242 287.7529 L 406.375 285.1377 L 407.916 287.7529 L 409.5391 287.7529 L 407.082 283.6719 L 407.082 281.1309 L 405.6211 281.1309 L 405.6211 283.709 L 403.1904 287.7529 L f U u 426.9336 287.7529 m 429.7012 283.3105 L 429.7168 283.3105 L 429.7168 287.7529 L 431.082 287.7529 L 431.082 281.1309 L 429.626 281.1309 L 426.8691 285.5645 L 426.8516 285.5645 L 426.8516 281.1309 L 425.4844 281.1309 L 425.4844 287.7529 L 426.9336 287.7529 L f 436.6113 285.9883 m 436.5254 286.1289 436.416 286.25 436.2861 286.3555 c 436.1563 286.46 436.0098 286.543 435.8457 286.6016 C 435.6816 286.6602 435.5098 286.6895 435.332 286.6895 c 435.0039 286.6895 434.7246 286.626 434.4961 286.499 C 434.2666 286.373 434.082 286.2031 433.9395 285.9902 C 433.7969 285.7764 433.6934 285.5332 433.6279 285.2617 c 433.5625 284.9902 433.5313 284.709 433.5313 284.418 c 433.5313 284.1406 433.5625 283.8691 433.6279 283.6074 C 433.6934 283.3438 433.7969 283.1074 433.9395 282.8984 C 434.082 282.6875 434.2666 282.5195 434.4961 282.3926 C 434.7246 282.2656 435.0039 282.2021 435.332 282.2021 c 435.7754 282.2021 436.124 282.3379 436.375 282.6104 C 436.625 282.8828 436.7783 283.2412 436.834 283.6865 C 438.2441 283.6865 L 438.207 283.2725 438.1113 282.8984 437.957 282.5645 C 437.8027 282.2295 437.5977 281.9453 437.3438 281.709 C 437.0908 281.4727 436.7939 281.2939 436.4531 281.1699 C 436.1133 281.0449 435.7383 280.9834 435.332 280.9834 c 434.8242 280.9834 434.3672 281.0723 433.9619 281.248 C 433.5566 281.4238 433.2148 281.668 432.9355 281.9766 c 432.6563 282.2852 432.4434 282.6494 432.2949 283.0664 C 432.1465 283.4844 432.0713 283.9336 432.0713 284.418 c 432.0713 284.9121 432.1465 285.3711 432.2949 285.7949 C 432.4434 286.2197 432.6563 286.5898 432.9355 286.9043 C 433.2148 287.2207 433.5566 287.4678 433.9619 287.6465 C 434.3672 287.8262 434.8242 287.916 435.332 287.916 c 435.6963 287.916 436.041 287.8633 436.3652 287.7578 C 436.6895 287.6523 436.9805 287.5 437.2373 287.2979 C 437.4941 287.0967 437.7061 286.8477 437.873 286.5508 c 438.04 286.2539 438.1445 285.9131 438.1885 285.5293 C 436.7783 285.5293 L 436.7539 285.6963 436.6973 285.8496 436.6113 285.9883 C f U u 442.2178 305.5195 m 442.2217 300.0186 437.7656 295.5566 432.2646 295.5527 C 426.7637 295.5488 422.3008 300.0049 422.2979 305.5049 C 422.2979 305.5107 422.2979 305.5151 422.2979 305.5195 C 422.2939 311.0205 426.749 315.4819 432.25 315.4863 C 437.752 315.4897 442.2139 311.0342 442.2178 305.5342 C 442.2178 305.5298 442.2178 305.5244 442.2178 305.5195 C f *u 0.74902 0.678431 0.670588 0.901961 0 0 0 Xa 432.2432 317.1147 m 435.4932 317.1147 438.2422 315.9941 440.4863 313.7529 C 442.7314 311.5107 443.8535 308.7661 443.8535 305.5195 c 443.8535 302.2729 442.75 299.5576 440.5449 297.373 C 438.2031 295.0742 435.4355 293.9248 432.2432 293.9248 c 429.0879 293.9248 426.3691 295.0645 424.0859 297.3457 C 421.8027 299.625 420.6611 302.3501 420.6611 305.5195 c 420.6611 308.6895 421.8027 311.4341 424.0859 313.7529 C 426.3115 315.9941 429.0313 317.1147 432.2432 317.1147 c f 1 D 423.2695 308.6348 m 422.9238 307.6563 422.752 306.6182 422.752 305.5195 c 422.752 302.9492 423.6895 300.7275 425.5664 298.8525 C 427.4434 296.9785 429.6777 296.041 432.2725 296.041 c 434.8652 296.041 437.1191 296.9873 439.0352 298.8818 C 439.6758 299.501 440.2051 300.1772 440.6191 300.9102 C 436.248 302.856 L 435.9512 301.3857 434.6406 300.3921 433.0566 300.2759 C 433.0566 298.4883 L 431.7246 298.4883 L 431.7246 300.2759 L 430.4238 300.2905 429.166 300.8228 428.2051 301.6641 C 429.8008 303.2744 L 430.5703 302.5503 431.3408 302.2256 432.3906 302.2256 c 433.0703 302.2256 433.8252 302.4917 433.8252 303.3784 c 433.8252 303.6924 433.7031 303.9106 433.5117 304.0747 C 432.4063 304.5674 L 431.0293 305.1797 L 430.3486 305.4834 429.7725 305.7393 429.1934 305.9976 C 423.2695 308.6348 L f 432.2725 315.0278 m 429.6406 315.0278 427.415 314.1006 425.5957 312.2446 C 425.1006 311.7451 424.6699 311.2231 424.3037 310.6787 C 428.7383 308.7046 L 429.1377 309.9346 430.3066 310.6812 431.7246 310.7637 C 431.7246 312.5513 L 433.0566 312.5513 L 433.0566 310.7637 L 433.9736 310.7192 434.9785 310.4678 435.9697 309.7002 C 434.4463 308.1343 L 433.8848 308.5327 433.1748 308.8135 432.4648 308.8135 c 431.8887 308.8135 431.0742 308.6367 431.0742 307.9136 c 431.0742 307.8022 431.1113 307.7051 431.1787 307.6191 C 432.6621 306.959 L 433.665 306.5117 L 434.3066 306.2251 434.9199 305.9531 435.5273 305.6826 C 441.4688 303.0376 L 441.666 303.8154 441.7637 304.6431 441.7637 305.5195 c 441.7637 308.168 440.835 310.4087 438.9775 312.2446 C 437.1387 314.1006 434.9033 315.0278 432.2725 315.0278 c f *U U /AdobeObjectMatrix (1.146822 0.000000 0.000000 1.146822 457.937500 166.153000) XT u 0 D 0 0 0 0 1 1 1 Xa 403.8594 316.0215 m 409.791 316.0215 414.5986 311.2139 414.5986 305.2832 c 414.5986 299.3525 409.791 294.5449 403.8594 294.5449 c 397.9287 294.5449 393.1206 299.3525 393.1206 305.2832 c 393.1206 311.2139 397.9287 316.0215 403.8594 316.0215 c f u 1 D 0.74902 0.678431 0.670588 0.901961 0 0 0 Xa 406.9678 308.3896 m 406.9678 308.8037 406.6318 309.1392 406.2188 309.1392 C 401.4756 309.1392 L 401.0625 309.1392 400.7266 308.8037 400.7266 308.3896 C 400.7266 303.647 L 402.0488 303.647 L 402.0488 298.0313 L 405.6445 298.0313 L 405.6445 303.647 L 406.9678 303.647 L 406.9678 308.3896 L 406.9678 308.3896 L f 0 D 403.8477 313.0078 m 404.7432 313.0078 405.4688 312.2813 405.4688 311.3857 c 405.4688 310.4897 404.7432 309.7637 403.8477 309.7637 c 402.9512 309.7637 402.2246 310.4897 402.2246 311.3857 c 402.2246 312.2813 402.9512 313.0078 403.8477 313.0078 c f U *u 1 D 403.832 317.1143 m 400.6206 317.1143 397.9009 315.9941 395.6758 313.752 C 393.3921 311.4331 392.251 308.6885 392.251 305.5195 c 392.251 302.3506 393.3921 299.625 395.6758 297.3447 C 397.9595 295.0645 400.6787 293.9248 403.832 293.9248 c 407.0254 293.9248 409.793 295.0742 412.1338 297.374 C 414.3408 299.5571 415.4434 302.2725 415.4434 305.5195 c 415.4434 308.7666 414.3213 311.5103 412.0762 313.752 C 409.832 315.9941 407.084 317.1143 403.832 317.1143 c f 0 D 403.8613 315.0278 m 406.4932 315.0278 408.7285 314.0996 410.5664 312.2446 C 412.4248 310.4087 413.3535 308.167 413.3535 305.5195 c 413.3535 302.8525 412.4443 300.6396 410.625 298.8809 C 408.709 296.9873 406.4551 296.041 403.8613 296.041 c 401.2676 296.041 399.0332 296.9785 397.1567 298.8525 C 395.2788 300.7271 394.3408 302.9492 394.3408 305.5195 c 394.3408 308.0898 395.2891 310.3315 397.1851 312.2446 C 399.0044 314.0996 401.2305 315.0278 403.8613 315.0278 c f *U U U /AdobeObjectMatrix (0.993781 0.000000 0.000000 0.993693 -177.694138 -148.877289) XT U LB %AI5_EndLayer-- %AI3_BeginCrops userdict /AI3_noCropMarks known not { 0 A u u 0 R 0 G 0 J 0 j 0.5 w 4 M []0 d 0 XR 331.5 278.5 m 304.5 278.5 L S 340.5 269.5 m 340.5 242.5 L S U u 331.5 320.5 m 304.5 320.5 L S 340.5 329.5 m 340.5 356.5 L S U u 469.5 320.5 m 496.5 320.5 L S 460.5 329.5 m 460.5 356.5 L S U u 469.5 278.5 m 496.5 278.5 L S 460.5 269.5 m 460.5 242.5 L S U U } if %AI3_EndCrops %%PageTrailer gsave annotatepage grestore showpage %%Trailer Adobe_Illustrator_AI5 /terminate get exec 2723 | Adobe_shading_AI8 /terminate get exec 2724 | Adobe_ColorImage_AI6 /terminate get exec 2725 | Adobe_cshow /terminate get exec 2726 | Adobe_level2_AI5 /terminate get exec 2727 | %%EOF -------------------------------------------------------------------------------- /figure/example/by-nc-nd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzimuzhi/Qbook/b84e37a5a86c4249f2bc6dba1df4a2c70d6e41f7/figure/example/by-nc-nd.png -------------------------------------------------------------------------------- /figure/example/by-nc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzimuzhi/Qbook/b84e37a5a86c4249f2bc6dba1df4a2c70d6e41f7/figure/example/by-nc.png -------------------------------------------------------------------------------- /figure/example/figep.eps: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzimuzhi/Qbook/b84e37a5a86c4249f2bc6dba1df4a2c70d6e41f7/figure/example/figep.eps -------------------------------------------------------------------------------- /figure/example/gzh.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzimuzhi/Qbook/b84e37a5a86c4249f2bc6dba1df4a2c70d6e41f7/figure/example/gzh.JPG -------------------------------------------------------------------------------- /figure/example/m2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzimuzhi/Qbook/b84e37a5a86c4249f2bc6dba1df4a2c70d6e41f7/figure/example/m2.pdf -------------------------------------------------------------------------------- /qbook.cfg: -------------------------------------------------------------------------------- 1 | %# -*- coding: utf-8-unix -*- 2 | %====================================================================== 3 | %% qbook.cfg for Qbook Template 4 | %====================================================================== 5 | \ProvidesFile{qbook.cfg}[2019/03/19 v1.00 Qbook configuration file] 6 | \def\q@contentsname{目~~~~录} 7 | \def\q@figurename{图} 8 | \def\q@listfigurename{插图索引} 9 | \def\q@tablename{表} 10 | \def\q@listtablename{表格索引} 11 | \def\q@overviewname{概~~~~览} 12 | \def\q@pre{前~~~~言} 13 | \def\q@label@thm{定理} 14 | \def\q@label@defn{定义} 15 | \def\q@label@keypoint{关键点} 16 | \def\q@label@rem{注} 17 | \def\q@label@prop{性质} 18 | \def\q@label@proof{证明} 19 | \def\q@label@lem{引理} 20 | \def\q@label@cor{推论} 21 | \def\q@label@exmp{例} 22 | \def\q@value@listingname{算法} 23 | \endinput -------------------------------------------------------------------------------- /qbook.cls: -------------------------------------------------------------------------------- 1 | %# -*- coding: utf-8-unix -*- 2 | %====================================================================== 3 | % qbook.cls for Qbook Template 4 | %====================================================================== 5 | \NeedsTeXFormat{LaTeX2e}[1995/12/01] 6 | \ProvidesClass{qbook}[2019/05/16 v2.01 Qbook Template] 7 | \def\version{v2.01} 8 | \DeclareOption*{\PassOptionsToClass{\CurrentOption}{ctexbook}} 9 | \ProcessOptions\relax 10 | \PassOptionsToClass{scheme=chinese}{ctexbook} 11 | \PassOptionsToClass{zihao=-4}{ctexbook} 12 | \PassOptionsToPackage{no-math}{fontspec} 13 | \LoadClass[a4paper,UTF8]{ctexbook} 14 | %====================================================================== 15 | % 导入 qbook.cfg 文件 16 | \AtEndOfClass{\input{qbook.cfg}} 17 | %====================================================================== 18 | % 导入 LaTeX 宏包 19 | \RequirePackage{extarrows} 20 | \RequirePackage{eso-pic} 21 | \RequirePackage{url} 22 | \RequirePackage{environ} 23 | \RequirePackage{manfnt,pifont} 24 | \RequirePackage{titlesec} 25 | \RequirePackage{float} 26 | \RequirePackage{wallpaper} 27 | \RequirePackage[most]{tcolorbox} 28 | \RequirePackage{xpatch} 29 | \RequirePackage[centering,a4paper,body={16cm,22cm}]{geometry} 30 | \RequirePackage{fancyhdr} 31 | \RequirePackage{lastpage} 32 | \RequirePackage{amsmath,mathtools,amsthm,amsfonts,amssymb,bm} 33 | \RequirePackage[defaultsups]{newtxtext} 34 | \RequirePackage{newtxmath} 35 | \RequirePackage{sourcecodepro} 36 | \RequirePackage{upgreek} 37 | \RequirePackage{wasysym} 38 | \RequirePackage{anyfontsize} 39 | \RequirePackage{metalogo,doc} 40 | \RequirePackage{array} 41 | \RequirePackage{threeparttable} 42 | \RequirePackage{dcolumn} 43 | \RequirePackage{multirow} 44 | \RequirePackage{booktabs} 45 | \RequirePackage{graphicx} 46 | \RequirePackage[labelformat=empty]{caption} 47 | \RequirePackage[list=off]{bicaption} 48 | \RequirePackage{subcaption} 49 | \RequirePackage[backend=biber, hyperref=auto,maxnames=4]{biblatex} 50 | \RequirePackage{xcolor} 51 | \RequirePackage{listings} 52 | \RequirePackage[unicode, xetex, bookmarksnumbered, colorlinks, urlcolor=blue, linkcolor=purple, citecolor=red, plainpages=false, pdfstartview=FitH]{hyperref} 53 | \RequirePackage{bookmark} 54 | \bookmarksetup{ 55 | open, 56 | numbered 57 | } 58 | \RequirePackage{longtable} 59 | \RequirePackage[perpage, bottom]{footmisc} 60 | \RequirePackage[inline]{enumitem} 61 | \RequirePackage{pdfpages} 62 | \RequirePackage{calc} 63 | \RequirePackage{algorithm, algorithmicx, algpseudocode} 64 | \RequirePackage{siunitx} 65 | \RequirePackage{tikz} 66 | %====================================================================== 67 | % 导入tikz库 68 | \usetikzlibrary{shapes.geometric, arrows} 69 | \usetikzlibrary{shapes,decorations} 70 | \usetikzlibrary{intersections,decorations.text} 71 | %====================================================================== 72 | % 设置 PDF 文件信息 73 | \hypersetup{ 74 | pdfauthor = {333}, 75 | pdftitle = {Q-book}, 76 | pdfkeywords = {template}} 77 | %====================================================================== 78 | % 汉化参考文献标题 79 | \g@addto@macro\backmatter{ 80 | \renewcommand{\em}{\itshape} % 书目部分以斜体表示强调 81 | \renewcommand{\refname}{参考文献} 82 | \renewcommand{\bibname}{参考文献} 83 | } 84 | \DefineBibliographyStrings{english}{% 85 | in = {刊于}, 86 | editor = {主编}, 87 | byeditor = {编者为}, 88 | } 89 | %====================================================================== 90 | % 添加水印 91 | \newcommand{\watermark}[3]{\AddToShipoutPictureBG{ 92 | \parbox[b][\paperheight]{\paperwidth}{ 93 | \vfill% 94 | \centering% 95 | \tikz[remember picture, overlay]% 96 | \node [rotate = #1, scale = #2] at (8.5,-13)% 97 | {\textcolor{gray!80!cyan!30}{#3}}; 98 | \vfill}}} 99 | %====================================================================== 100 | % 自定义颜色 101 | \definecolor{ocre}{RGB}{243,102,25} 102 | \definecolor{LightGoldenrod}{RGB}{238,221,130} 103 | \definecolor{sthlmGreen}{RGB}{0,134,127} 104 | \definecolor{Gold}{RGB}{255,215,0} 105 | \definecolor{C1}{RGB}{32,88,153} 106 | \definecolor{C2}{RGB}{218,222,238} 107 | \definecolor{tssteelblue}{RGB}{0,40,220} 108 | \definecolor{tsorange}{RGB}{255,138,88} 109 | \definecolor{tsblue}{RGB}{23,74,117} 110 | \definecolor{tsforestgreen}{RGB}{21,122,81} 111 | \definecolor{tsyellow}{RGB}{255,185,88} 112 | \definecolor{tsgrey}{RGB}{200,200,200} 113 | \definecolor{main}{RGB}{0,120,2} 114 | \definecolor{seco}{RGB}{230,90,7}% 115 | \definecolor{thid}{RGB}{0,160,152}% 116 | \definecolor{bule}{RGB}{18,29,57} 117 | \definecolor{bablue}{RGB}{248,248,248} 118 | \definecolor{c1}{RGB}{62, 97, 127} 119 | \definecolor{c2}{RGB}{104, 182, 182} 120 | \definecolor{c3}{RGB}{107, 190, 190} 121 | \definecolor{c4}{RGB}{100, 172, 174} 122 | \definecolor{c5}{RGB}{95, 162, 162} 123 | %====================================================================== 124 | % 设置日期显示格式为yyyy-mm-dd 125 | \def\twodigits#1{\ifnum#1<10 0\fi\the#1} 126 | \renewcommand{\today}{\number\year-\twodigits\month-\number\day} 127 | %====================================================================== 128 | \setcounter{secnumdepth}{4} % 章节编号深度 (part 对应 -1) 129 | \setcounter{tocdepth}{2} % 目录深度 (part 对应 -1) 130 | \newcolumntype{d}[1]{D{.}{.}{#1}}% or D{.}{,}{#1} or D{.}{\cdot}{#1} 131 | %====================================================================== 132 | \newcommand{\cndash}{\rule{0.0em}{0pt}\rule[0.35em]{1.4em}{0.05em}\rule{0.2em}{0pt}} 133 | \newcommand{\ch}{\titleformat{\chapter}[display]{\centering}{}{-3mm}{\Huge\bfseries} 134 | \titlespacing{\chapter}{0pt}{0pt}{2\baselineskip}}%用来将需要的章节标题居中 135 | %====================================================================== 136 | % 行距缩放因子 137 | \linespread{1.3} 138 | %====================================================================== 139 | % 设置名称:目录、表格索引、插图索引 140 | \ctexset{contentsname={\q@contentsname}} 141 | \ctexset{listfigurename={\q@listfigurename}} 142 | \ctexset{listtablename={\q@listtablename}} 143 | \renewcommand{\lstlistingname}{\q@value@listingname} 144 | %====================================================================== 145 | % 定制章节样式 146 | \titleformat{\chapter}[display]{\flushleft}{ 147 | \begin{tikzpicture} 148 | \node[anchor=south west] (chap) at (0.1,1.3){\fontsize{96pt}{96pt}\bfseries\thechapter}; 149 | \path [left color=C1,right color=C2] (0,1) rectangle (\textwidth,0); 150 | \path(0,-0.2); 151 | \end{tikzpicture} 152 | }{-3mm}{\Huge\bfseries} 153 | \titlespacing{\chapter}{0pt}{0pt}{2\baselineskip} 154 | %====================================================================== 155 | % section级样式设置 156 | \ctexset{section={ 157 | format={\color{tssteelblue}\large\bfseries}, 158 | afterskip={1.0ex \@plus .2ex}, 159 | } 160 | } 161 | %====================================================================== 162 | % subection级样式设置 163 | \ctexset{subsection={ 164 | format={\color{tssteelblue}\bfseries\normalsize}, 165 | indent={0\ccwd}, 166 | afterskip={1.0ex \@plus .2ex}, 167 | } 168 | } 169 | %====================================================================== 170 | % subsubection级样式设置 171 | \ctexset{subsubsection={ 172 | format={\normalfont\normalsize}, 173 | indent={0\ccwd}, 174 | afterskip={1.0ex \@plus .2ex}, 175 | } 176 | } 177 | %====================================================================== 178 | % 设置item条目的索引符号为bullet 179 | \renewcommand{\labelitemi}{\ensuremath{\RHD}} 180 | %====================================================================== 181 | % 设置图片载入路径及扩展名 182 | \graphicspath{{fig/}{figure/}{figures/}{logo/}{logos/}{graph/}{graphs}} 183 | \DeclareGraphicsExtensions{.pdf,.eps,.png,.jpg,.jpeg} 184 | %====================================================================== 185 | % 设置图片的标题样式 186 | \DeclareCaptionFont{kaishu}{\kaishu} 187 | \captionsetup{format=plain,labelformat=simple,labelsep=space,justification=centering,font={small,kaishu}} 188 | \captionsetup[bi-first]{bi-first} 189 | \captionsetup[bi-second]{bi-second} 190 | \captionsetup[sub]{font=footnotesize} 191 | \DeclareCaptionOption{bi-first}[]{ 192 | \def\tablename{\q@tablename} 193 | \def\figurename{\q@figurename} 194 | } 195 | \DeclareCaptionOption{bi-second}[]{ 196 | \def\tablename{Table} 197 | \def\figurename{Figure} 198 | } 199 | %====================================================================== 200 | % Set fontnote font size in threeparttable 201 | \appto\TPTnoteSettings{\footnotesize} 202 | %====================================================================== 203 | % 浮动参数 204 | \renewcommand{\textfraction}{0.15} 205 | \renewcommand{\topfraction}{0.85} 206 | \renewcommand{\bottomfraction}{0.65} 207 | \renewcommand{\floatpagefraction}{0.60} 208 | %====================================================================== 209 | % 定理、公式、图、表的编号为"3.1"的形式 210 | \renewcommand{\theequation}{\arabic{chapter}.\arabic{equation}} 211 | \renewcommand{\thefigure}{\arabic{chapter}--\arabic{figure}} 212 | \renewcommand\p@subfigure{\thefigure} 213 | \renewcommand{\thetable}{\arabic{chapter}--\arabic{table}} 214 | \AtBeginDocument{\renewcommand{\thelstlisting}{\arabic{chapter}--\arabic{lstlisting}}} 215 | %====================================================================== 216 | % 使用enumitem宏包配制列表环境 217 | \setlist{nosep} % 紧凑间距 218 | \setlist*{leftmargin=*} % 列表和段落头对齐 219 | \setlist[1]{labelindent=\parindent} % Only the level 1 220 | %====================================================================== 221 | % 设置宏包 listings/lstlistings 222 | \lstset{tabsize=4, % 223 | frame=shadowbox, %把代码用带有阴影的框圈起来 224 | commentstyle=\color{red!50!green!50!blue!50}, %浅灰色的注释 225 | rulesepcolor=\color{red!20!green!20!blue!20}, %代码块边框为淡青色 226 | keywordstyle=\color{blue!90}\bfseries, %代码关键字的颜色为蓝色,粗体 227 | showstringspaces=false, %不显示代码字符串中间的空格标记 228 | stringstyle=\ttfamily, % 代码字符串的特殊格式 229 | keepspaces=true, % 230 | breakindent=22pt, % 231 | numbers=left, %左侧显示行号 232 | stepnumber=1, % 233 | numberstyle=\tiny, %行号字体用小号 234 | basicstyle={\footnotesize\ttfamily}, % 235 | showspaces=false, % 236 | flexiblecolumns=true, % 237 | breaklines=true, %对过长的代码自动换行 238 | breakautoindent=true, % 239 | breakindent=4em, % 240 | aboveskip=1em, %代码块边框 241 | fontadjust, 242 | captionpos=t, 243 | framextopmargin=2pt,framexbottommargin=2pt,abovecaptionskip=-9pt,belowcaptionskip=9pt, 244 | xleftmargin=4em,xrightmargin=4em, % 设定listing左右的空白 245 | texcl=true, 246 | % 设定中文冲突,断行,列模式,数学环境输入,listing数字的样式 247 | extendedchars=false,columns=flexible,mathescape=true 248 | numbersep=-1em 249 | } 250 | %====================================================================== 251 | % Setting Package siunitx 252 | \sisetup{detect-all} % Detecting fonts 253 | %====================================================================== 254 | % 定制定理、定义、观察、规则、keypoint环境 255 | \tcbset{ 256 | commondef/.style={ 257 | fontupper=\kaishu, 258 | lower separated=false, 259 | coltitle=white, 260 | colback=yellow!20, 261 | fonttitle=\heiti\bfseries, 262 | enhanced, 263 | breakable, 264 | top=10pt, 265 | left=8pt, 266 | % bottom=6pt, 267 | before skip=8pt, 268 | attach boxed title to top left={yshift=-0.11in,xshift=0.15in}, 269 | boxed title style={boxrule=0pt,colframe=white,arc=0pt,outer arc=0pt}, 270 | }, 271 | commonthm/.style={ 272 | fontupper=\kaishu, 273 | lower separated=false, 274 | coltitle=white, 275 | colback=blue!10, 276 | fonttitle=\heiti\bfseries, 277 | enhanced, 278 | breakable, 279 | top=10pt, 280 | % bottom=6pt, 281 | before skip=8pt, 282 | attach boxed title to top left={yshift=-0.11in,xshift=0.15in}, 283 | boxed title style={boxrule=0pt,colframe=white,arc=0pt,outer arc=0pt}, 284 | }, 285 | common/.style={ 286 | fontupper=\kaishu, 287 | lower separated=false, 288 | coltitle=white, 289 | colback=gray!10, 290 | fonttitle=\heiti\bfseries, 291 | enhanced, 292 | breakable, 293 | top=10pt, 294 | % bottom=6pt, 295 | before skip=8pt, 296 | attach boxed title to top left={yshift=-0.11in,xshift=0.15in}, 297 | boxed title style={boxrule=0pt,colframe=white,arc=0pt,outer arc=0pt}, 298 | }, 299 | defstyle/.style={ 300 | commondef, 301 | colframe=seco, 302 | colbacktitle=seco, 303 | overlay unbroken and last={\node[anchor=south east, outer sep=6pt] at (\textwidth-width,0) {\textcolor{seco}{$\clubsuit$}}; }, 304 | separator sign none 305 | }, 306 | thmstyle/.style={ 307 | common, 308 | colframe=main, 309 | colbacktitle=main, 310 | overlay unbroken and last={\node[anchor=south east, outer sep=6pt] at (\textwidth-width,0) {\textcolor{main}{$\heartsuit$}}; }, 311 | separator sign none 312 | }, 313 | propstyle/.style={ 314 | common, 315 | colframe=thid, 316 | colbacktitle=thid, 317 | overlay unbroken and last={\node[anchor=south east, outer sep=6pt] at (\textwidth-width,0) {\textcolor{thid}{$\spadesuit$}}; }, 318 | separator sign none 319 | }, 320 | } 321 | 322 | \newtcbtheorem[auto counter,number within=chapter]{mydef}{\q@label@defn}{defstyle}{def} 323 | \newtcbtheorem[use counter from=mydef]{mythm}{\q@label@thm}{thmstyle}{thm} 324 | \newtcbtheorem[use counter from=mydef]{myprop}{\q@label@prop}{propstyle}{prop} 325 | \newtheorem{keypoint}{\q@label@keypoint}[chapter] %环境名keypoint 326 | 327 | \newtheorem{observation}[tcb@cnt@mydef]{{\makebox[0pt][r]{\scriptsize\color{red!90}\textdbend\quad}\textbf{\q@label@rem}}} 328 | 329 | \newenvironment{remark} 330 | {\begin{observation}} {\end{observation}} 331 | %====================================================================== 332 | % 引用样式为“图x.y”等 333 | \newcommand{\requ}[1]{(\ref{#1})} 334 | \newcommand{\rremark}[1]{\text{{\color{purple}{注}}} \ref{#1}} 335 | \newcommand{\rfig}[1]{\text{{\color{purple}{图}}} \ref{#1}} 336 | \newcommand{\rtab}[1]{\text{{\color{purple}{表}}} \ref{#1}} 337 | \newcommand{\rprop}[1]{\text{{\color{purple}{性质}}} \ref{#1}} 338 | \newcommand{\rdef}[1]{\text{{\color{purple}{定义}}} \ref{#1}} 339 | \newcommand{\rthm}[1]{\text{{\color{purple}{定理}}} \ref{#1}} 340 | \newcommand{\mylem}[1]{\text{引理} \ref{#1}} 341 | \newcommand{\rexa}[1]{\text{{\color{purple}{例}}} \ref{#1}} 342 | \renewcommand{\proofname}{\bfseries\q@label@proof} 343 | %====================================================================== 344 | % 设置页眉与页脚样式 345 | \newcommand\q@fancyhead{\small\kaishu} 346 | \def\markboxwidth{0.75\textwidth} 347 | \pagestyle{fancy} 348 | \fancyhf{} 349 | \fancyhead[LE,RO]{\sffamily\normalsize\thepage} %在奇数页的右上角显示页码,偶数页的左上角显示页码 350 | \fancyhead[LO]{\nouppercase{\q@fancyhead\rightmark}} % 在奇数页的左侧显示小节名 351 | \fancyhead[RE]{\nouppercase{\q@fancyhead\leftmark}} % 在偶数页的右侧显示章名 352 | \renewcommand{\headrulewidth}{0.5pt} 353 | \addtolength{\headheight}{2.5pt} 354 | \renewcommand{\footrulewidth}{0pt} 355 | \fancypagestyle{plain}{\fancyhead{}\renewcommand{\headrulewidth}{0pt}} 356 | %====================================================================== 357 | % Removes the header from odd empty pages at the end of chapters 358 | \makeatletter 359 | \renewcommand{\cleardoublepage}{ 360 | \clearpage\ifodd\c@page\else 361 | \hbox{} 362 | \vspace*{\fill} 363 | \thispagestyle{empty} 364 | \newpage 365 | \fi} 366 | %====================================================================== 367 | % 前言 368 | \newenvironment{pre}{ 369 | \ch\chapter{\q@pre}{}}{} 370 | %====================================================================== 371 | % 概览 372 | \newenvironment{overview}{ 373 | \ch\chapter{\q@overviewname}{}}{} 374 | %====================================================================== 375 | % 设置目录 376 | \renewcommand\tableofcontents{% 377 | \cleardoublepage 378 | \pdfbookmark[0]{\contentsname}{toc} 379 | \chapter*{\centerline{\contentsname}} 380 | \@mkboth{\MakeUppercase\contentsname}{\MakeUppercase\contentsname}% 381 | \@starttoc{toc}% 382 | } 383 | \addtocontents{toc}{\let\string\CTEX@spaceChar\relax} 384 | %====================================================================== 385 | %定制example环境 386 | \RequirePackage[framemethod=default]{mdframed} 387 | % Example box 388 | \newmdenv[skipabove=5pt, 389 | skipbelow=7pt, 390 | rightline=false, 391 | leftline=true, 392 | topline=false, 393 | bottomline=false, 394 | backgroundcolor=sthlmGreen!5, 395 | linecolor=sthlmGreen, 396 | innerleftmargin=0.5pt, 397 | innerrightmargin=0pt, 398 | innertopmargin=0pt, 399 | innerbottommargin=0pt, 400 | leftmargin=0cm, 401 | rightmargin=0cm, 402 | linewidth=1pt]{exaBox} 403 | \newtheoremstyle{blacknumexa}% Theorem style Example 404 | {5pt}% Space above 405 | {5pt}% Space below 406 | {\kaishu}% Body font 407 | {} % Indent amount 408 | {\small\bf\kaishu\color{sthlmGreen}}% Theorem head font 409 | {\;}% Punctuation after theorem head 410 | {0.25em}% Space after theorem head 411 | {\small\sffamily\color{sthlmGreen}\thmname{#1}\nobreakspace\thmnumber{\@ifnotempty{#1}{}\@upn{#2}}% Theorem text (e.g. Theorem 2.1) 412 | \thmnote{\nobreakspace\the\thm@notefont\heiti\color{sthlmGreen}\nobreakspace(#3)}}% Optional 413 | 414 | \theoremstyle{blacknumexa} 415 | \newtheorem{exampleT}[tcb@cnt@mydef]{例} 416 | \newenvironment{example}{\begin{exaBox}\begin{exampleT}}{\hfill{\color{sthlmGreen}}\end{exampleT}\end{exaBox}} 417 | %====================================================================== 418 | %定制例子中的横线 419 | \newcommand{\cGreen}[1]{{\color{sthlmGreen}{#1}}} 420 | \newcommand{\soln}[1]{\par\vspace{1.5pt}\makebox[5pt]{\begin{tikzpicture}[overlay] 421 | \node at (-15pt,0pt){\textcolor{sthlmGreen}{\ding{45}}};\end{tikzpicture}}\cGreen{\noindent\hrulefill\vskip 1pt}} 422 | %====================================================================== 423 | \endinput -------------------------------------------------------------------------------- /qbook.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzimuzhi/Qbook/b84e37a5a86c4249f2bc6dba1df4a2c70d6e41f7/qbook.pdf -------------------------------------------------------------------------------- /qbook.tex: -------------------------------------------------------------------------------- 1 | %# -*- coding: utf-8-unix -*- 2 | %====================================================================== 3 | % qbook.tex for Qbook Template 4 | %====================================================================== 5 | % 双面打印 6 | \documentclass{qbook} 7 | \addbibresource{bib/qbook.bib} % 导入参考文献数据库 8 | \begin{document} 9 | \pagestyle{empty} 10 | \include{tex/cover} % 载入封面 11 | \begin{center} 12 | \Large{\sffamily\bfseries\heiti Version 2.00} \\ \vspace{2em} 13 | \Large{\sffamily\bfseries\heiti 编译日期: \today} \\ \vspace{1em} 14 | \Large{\sffamily\bfseries\heiti 任何建议及错误信息请发送至邮箱} \\ 15 | \texttt{jey74165@163.com} 16 | \end{center} 17 | \vfill 18 | \vspace{30em} 19 | \begin{tabular*}{\textwidth}{ccc} 20 | \includegraphics{figure/by-nc.eps} 21 | & \begin{minipage}[b]{0.6\textwidth} 22 | \small\sffamily 23 | 本作品采用知识共享 署名-非商业性使用 4.0 国际 许可协议进行许可. 访问\url{http://creativecommons.org/licenses/by-nc/4.0/ }查看该许可协议. 24 | \end{minipage} 25 | \end{tabular*} 26 | \thispagestyle{empty} 27 | \frontmatter % 对前言和概览用罗马数字作为页码 28 | \pagestyle{empty} 29 | \include{tex/preface} 30 | \pagestyle{empty} 31 | \tableofcontents 32 | \cleardoublepage 33 | \include{tex/overview} 34 | \mainmatter % 对正文用阿拉伯数字作为页码 35 | %====================================================================== 36 | % 正文内容 37 | \pagestyle{fancy} 38 | \setcounter{page}{0} 39 | \include{tex/chapter1} 40 | \include{tex/chapter2} 41 | \include{tex/chapter3} 42 | \include{tex/chapter4} 43 | \include{tex/chapter5} 44 | \include{tex/chapter6} 45 | \include{tex/chapter7} 46 | \include{tex/chapter8} 47 | \include{tex/chapter9} 48 | \include{tex/chapter10} 49 | \backmatter 50 | %====================================================================== 51 | % 打印参考文献 52 | \printbibliography[heading=bibintoc] 53 | \makeatletter 54 | \makeatother 55 | \end{document} -------------------------------------------------------------------------------- /tex/chapter1.tex: -------------------------------------------------------------------------------- 1 | %# -*- coding: utf-8-unix -*- 2 | %%================================================== 3 | \chapter{这是什么?} 4 | 5 | 这是$\mathbb{ Q}$-book \LaTeX 书籍模板,当前版本为 \version 。 6 | 7 | 这份模板主要基于上海交大的学位论文模板 8 | \footnote{\url{https://github.com/sjtug/SJTUThesis}}修改得到 9 | ,结合少量个人审美喜好,重新定制了定义、定理等环境。由于这个模板本是用于一项书籍翻译计划,因此其中的一些环境,例如“观察”、“规则”、“关键点”等,读者可能用不到,可以根据自己的需求适当修改。 10 | 11 | 你也可以通过邮箱\texttt{jey74165@163.com}给我发邮件反映遇到的问题。不过作者水平有限,或许有些问题也无法解答,还请见谅。 12 | 13 | \section{文档说明} 14 | 15 | \subsection{准备工作} 16 | 17 | 要想灵活使用、魔改这个模板来撰写自己的书籍,需要对\emph{TeX系统}有一定的了解,也需要掌握基本的\emph{TeX技能}。 18 | 19 | \begin{itemize}[noitemsep,topsep=0pt,parsep=0pt,partopsep=0pt] 20 | \item {\TeX}系统:所使用的{\TeX}系统要支持 \XeTeX 引擎,且带有ctex 2.x宏包。一般来说,只要安装了的\emph{完整}TeXLive或MacTeX发行版就不会出现问题。 21 | \item TeX技能:尽管提供了对模板的必要说明,但这并不是一份“ \LaTeX 入门文档”。用户应当有一定的\LaTeX 使用经验。 22 | \end{itemize} 23 | 24 | \subsection{字体与选项} 25 | 26 | $\mathbb{ Q }$-book暂不提供可选项,直接用命令\verb|\documentclass{qbook}|载入即可。如有需要,用户可以根据自己的需求进行相关的添加或修改。 27 | 28 | 本模板所使用的字体仅为宋体,{\kaishu{楷体}}和{\heiti{黑体}}等自带字体,用户不会在字体问题上折腾太多精力。 29 | 30 | \subsection{编译方式} 31 | 32 | 最简单的办法是直接双击模板文件夹中的compile.bat文件,在命令行模式下编译;当然使用你配置好的Tex编辑器也是可以的。编译失败时,可以尝试手动逐次编译,定位故障。 33 | \begin{lstlisting}[basicstyle=\small\ttfamily, caption={手动逐次编译}, numbers=none] 34 | xelatex -no-pdf qbook 35 | biber --debug qbook 36 | xelatex qbook 37 | xelatex qbook 38 | \end{lstlisting} 39 | 40 | \section{模板文件介绍} 41 | 42 | 本节介绍$\mathbb{ Q }$-book模板中主要文件和目录的功能。 43 | 44 | \subsection{格式控制文件} 45 | 46 | 格式控制文件控制着书籍的表现形式,包括以下两个文件 47 | \begin{itemize}[noitemsep,topsep=0pt,parsep=0pt,partopsep=0pt] 48 | \item qbook.cfg 49 | \item qbook.cls 50 | \end{itemize} 51 | 其中,“cfg”和“cls”为文件格式。 52 | 53 | \subsection{主文件} 54 | 55 | 主文件qbook.tex的作用就是将你分散在多个文件中的章节重新“拼合”成一本完整的书。 56 | 当我们用\LaTeX 写书时,肯定不希望一直在同一页面码字,那样会显得非常臃肿,而且不便于以后的修改和查找。所以在使用本模板的时候,你的章节内容和素材会被“拆散”为各个部分,例如前言、概览、各章节及参考文献等。 57 | 在qbook.tex中通过\verb|\include{xxx}|命令将各个部分包含进来,从而形成一本结构完整的书籍。 58 | 59 | \subsection{各部分源文件} 60 | 61 | 被“拆散”的各个部分的源文件存放于tex文件夹中,是论文的主体,以“章”为单位划分,其中包括: 62 | 63 | \begin{itemize}[noitemsep,topsep=0pt,parsep=0pt,partopsep=0pt] 64 | \item cover.tex——用于绘制封面。 65 | \item preface.tex——前言。 66 | \item overview.tex——概览。 67 | \item chapter(xxx).tex——各章主体内容。 68 | \item 参考文献列表由bibtex插入,不作为一个单独的文件。 69 | \end{itemize} 70 | 71 | \subsection{图片存放} 72 | 73 | figure文件夹放置了需要插入文档中的图片文件(支持PNG/JPG/PDF/EPS格式的图片)。 74 | 在qbook.cls中已经使用\verb|\graphicspath|命令定义了图片存储的顶层目录,所以在插入图片时,图片路径的顶层目录名“figure”可省略。 75 | 76 | \subsection{参考文献数据库} 77 | 78 | 目前参考文件数据库目录只存放一个参考文件数据库qbook.bib。 79 | 关于参考文献引用,可参考第\ref{chap2}章中的例子。 80 | -------------------------------------------------------------------------------- /tex/chapter10.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzimuzhi/Qbook/b84e37a5a86c4249f2bc6dba1df4a2c70d6e41f7/tex/chapter10.tex -------------------------------------------------------------------------------- /tex/chapter2.tex: -------------------------------------------------------------------------------- 1 | %# -*- coding: utf-8-unix -*- 2 | %%================================================== 3 | 4 | \chapter{写作示例} 5 | \label{chap2} 6 | 7 | \section{列表环境} 8 | 9 | \subsection{无序列表} 10 | 11 | 以下是一个无序列表的例子,列表的每个条目单独分段。 12 | 13 | \begin{itemize} 14 | \item 这是一个无序列表。 15 | \item 这是一个无序列表。 16 | \item 这是一个无序列表。 17 | \end{itemize} 18 | 19 | 使用\verb+itemize*+环境可以创建行内无序列表。 20 | \begin{itemize*} 21 | \item 这是一个无序列表 22 | \item 这是一个无序列表 23 | \item 这是一个无序列表 24 | \end{itemize*} 25 | 行内无序列表条目不单独分段,所有内容直接插入在原文的段落中。 26 | 27 | \subsection{有序列表} 28 | 29 | 使用环境\verb+enumerate+和\verb+enumerate*+创建有序列表, 30 | 使用方法无序列表类似。 31 | \begin{enumerate} 32 | \item 这是一个有序列表。 33 | \item 这是一个有序列表。 34 | \item 这是一个有序列表。 35 | \end{enumerate} 36 | 37 | 使用\verb+enumerate*+环境可以创建行内有序列表。 38 | \begin{enumerate*} 39 | \item 这是一个默认有序列表 40 | \item 这是一个默认有序列表 41 | \item 这是一个默认有序列表 42 | \end{enumerate*} 43 | 行内有序列表条目不单独分段,所有内容直接插入在原文的段落中。 44 | 45 | \subsection{描述列表} 46 | 使用环境\verb+description+可创建带有主题词的列表,条目语法是\verb+\item[主题] 内容+。 47 | \begin{description} 48 | \item[主题一] 详细内容 49 | \item[主题二] 详细内容 50 | \item[主题三] 详细内容 \ldots 51 | \end{description} 52 | 53 | \section{数学排版} 54 | 55 | \subsection{公式排版} 56 | 57 | 这里有举一个长公式排版的例子,来自\href{http://www.tex.ac.uk/tex-archive/info/math/voss/mathmode/Mathmode.pdf}{《Math mode》}: 58 | 59 | \begin {multline} 60 | \frac {1}{2}\Delta (f_{ij}f^{ij})= 61 | 2\left (\sum _{i 235 | #include 236 | #include 237 | #include 238 | 239 | int main() { 240 | pid_t pid; 241 | 242 | switch ((pid = fork())) { 243 | case -1: 244 | printf("fork failed\n"); 245 | break; 246 | case 0: 247 | /* child calls exec */ 248 | execl("/bin/ls", "ls", "-l", (char*)0); 249 | printf("execl failed\n"); 250 | break; 251 | default: 252 | /* parent uses wait to suspend execution until child finishes */ 253 | wait((int*)0); 254 | printf("is completed\n"); 255 | break; 256 | } 257 | 258 | return 0; 259 | } 260 | \end{lstlisting} 261 | 262 | 263 | \section{参考文献管理} 264 | \label{sec2.5} 265 | \LaTeX 具有将参考文献内容和表现形式分开管理的能力,涉及三个要素:参考文献数据库、参考文献引用格式、在正文中引用参考文献。 266 | 这样的流程需要多次编译: 267 | \begin{enumerate}[noitemsep,topsep=0pt,parsep=0pt,partopsep=0pt] 268 | \item 用户将论文中需要引用的参考文献条目,录入纯文本数据库文件(bib文件)。 269 | \item 调用xelatex对论文模板做第一次编译,扫描文中引用的参考文献,生成参考文献入口文件(aux)文件。 270 | \item 调用bibtex,以参考文献格式和入口文件为输入,生成格式化以后的参考文献条目文件(bib)。 271 | \item 再次调用xelatex编译模板,将格式化以后的参考文献条目插入正文。 272 | \end{enumerate} 273 | 274 | 参考文献数据库(thesis.bib)的条目,可以从Google Scholar搜索引擎\footnote{\url{https://scholar.google.com}}、CiteSeerX搜索引擎\footnote{\url{http://citeseerx.ist.psu.edu}}中查找,文献管理软件Papers\footnote{\url{http://papersapp.com}}、Mendeley\footnote{\url{http://www.mendeley.com}}、JabRef\footnote{\url{http://jabref.sourceforge.net}}也能够输出条目信息。 275 | 276 | 下面是在Google Scholar上搜索到的一条文献信息,格式是纯文本: 277 | 278 | \begin{lstlisting}[caption={从Google Scholar找到的参考文献条目}, label=googlescholar, escapeinside="", numbers=none] 279 | @phdthesis{"白2008信用风险传染模型和信用衍生品的定价", 280 | title={"信用风险传染模型和信用衍生品的定价"}, 281 | author={"白云芬"}, 282 | year={2008}, 283 | school={"上海交通大学"} 284 | } 285 | \end{lstlisting} 286 | 287 | 推荐修改后在bib文件中的内容为: 288 | 289 | \begin{lstlisting}[caption={修改后的参考文献条目}, label=itemok, escapeinside="", numbers=none] 290 | @phdthesis{bai2008, 291 | title={"信用风险传染模型和信用衍生品的定价"}, 292 | author={"白云芬"}, 293 | date={2008}, 294 | address={"上海"}, 295 | school={"上海交通大学"} 296 | } 297 | \end{lstlisting} 298 | 299 | 参考文献的引用: 300 | \begin{itemize} 301 | \item 参考文献在正文中被引用,使用命令\verb+\cite{key}+,如\cite{M91}。 302 | \item 参考文献未引用但仍希望列在书末的参考文献中,使用命令\verb+\nocite{key}+,如\verb+\nocite{WI64,G03,D01,JS03}+. 303 | \end{itemize} 304 | \nocite{WI64,G03,D01,JS03} -------------------------------------------------------------------------------- /tex/chapter3.tex: -------------------------------------------------------------------------------- 1 | %# -*- coding: utf-8-unix -*- 2 | 3 | -------------------------------------------------------------------------------- /tex/chapter4.tex: -------------------------------------------------------------------------------- 1 | %# -*- coding: utf-8-unix -*- 2 | %%================================================== 3 | -------------------------------------------------------------------------------- /tex/chapter5.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzimuzhi/Qbook/b84e37a5a86c4249f2bc6dba1df4a2c70d6e41f7/tex/chapter5.tex -------------------------------------------------------------------------------- /tex/chapter6.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzimuzhi/Qbook/b84e37a5a86c4249f2bc6dba1df4a2c70d6e41f7/tex/chapter6.tex -------------------------------------------------------------------------------- /tex/chapter7.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzimuzhi/Qbook/b84e37a5a86c4249f2bc6dba1df4a2c70d6e41f7/tex/chapter7.tex -------------------------------------------------------------------------------- /tex/chapter8.tex: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /tex/chapter9.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muzimuzhi/Qbook/b84e37a5a86c4249f2bc6dba1df4a2c70d6e41f7/tex/chapter9.tex -------------------------------------------------------------------------------- /tex/cover.tex: -------------------------------------------------------------------------------- 1 | %# -*- coding: utf-8-unix -*- 2 | \thispagestyle{empty} 3 | \begin{tikzpicture}[overlay,remember picture,font=\sffamily\bfseries] 4 | \draw[ultra thick,c4,name path=big arc] ([xshift=-2mm]current page.north) arc(150:285:11) 5 | coordinate[pos=0.225] (x0); 6 | \begin{scope} 7 | \clip ([xshift=-2mm]current page.north) arc(150:285:11) --(current page.north 8 | east); 9 | \fill[c4!50,opacity=0.25] ([xshift=4.55cm]x0) circle (4.55); 10 | \fill[c4!50,opacity=0.25] ([xshift=3.4cm]x0) circle (3.4); 11 | \fill[c4!50,opacity=0.25] ([xshift=2.25cm]x0) circle (2.25); 12 | \draw[ultra thick,c4!50] (x0) arc(-90:30:6.5); 13 | \draw[ultra thick,c4] (x0) arc(90:-30:8.75); 14 | \draw[ultra thick,c4!50,name path=arc1] (x0) arc(90:-90:4.675); 15 | \draw[ultra thick,c4!50] (x0) arc(90:-90:2.875); 16 | \path[name intersections={of=big arc and arc1,by=x1}]; 17 | \draw[ultra thick,c4,name path=arc2] (x1) arc(135:-20:4.75); 18 | \draw[ultra thick,c4!50] (x1) arc(135:-20:8.75); 19 | \path[name intersections={of=big arc and arc2,by={aux,x2}}]; 20 | \draw[ultra thick,c4!50] (x2) arc(180:50:2.25); 21 | \end{scope} 22 | \path[decoration={text along path,text color=c4, 23 | raise = -2.8ex, 24 | text along path, 25 | text = {|\sffamily\bfseries|\today}, 26 | text align = center, 27 | }, 28 | decorate 29 | ] ([xshift=-2mm]current page.north) arc(150:245:11); 30 | % 31 | \begin{scope} 32 | \path[clip,postaction={fill=c3}] 33 | ([xshift=2cm,yshift=-8cm]current page.center) rectangle ++ (4.2,7.7); 34 | \fill[c2] ([xshift=0.5cm,yshift=-8cm]current page.center) 35 | ([xshift=0.5cm,yshift=-8cm]current page.center) arc(180:60:2) 36 | |- ++ (-3,6) --cycle; 37 | \draw[ultra thick,c4] ([xshift=-1.5cm,yshift=-8cm]current page.center) 38 | arc(180:0:2); 39 | \draw[ultra thick,c4] ([xshift=0.5cm,yshift=-8cm]current page.center) 40 | arc(180:0:2); 41 | \draw[ultra thick,c4] ([xshift=2.5cm,yshift=-8cm]current page.center) 42 | arc(180:0:2); 43 | \draw[ultra thick,c4] ([xshift=4.5cm,yshift=-8cm]current page.center) 44 | arc(180:0:2); 45 | \fill[red] ([xshift=2.5cm,yshift=-8cm]current page.center) +(60:2) circle(1.5mm); 46 | \node[text=c5!80!black] at ([xshift=4.7cm,yshift=-5.2cm]current page.center) {$\rho:=\dfrac{1+\sqrt{-3}}{2}$}; 47 | \end{scope} 48 | % 49 | \fill[c1] ([xshift=2cm,yshift=-8cm]current page.center) rectangle ++ (-13.7,7.7); 50 | \node[text=white,anchor=west,scale=4,inner sep=0pt] at 51 | ([xshift=-10.55cm,yshift=-3cm]current page.center) {$\mathbb{ Q }$-book 书籍模板}; 52 | \node[text=white,anchor=west,scale=2,inner sep=0pt] at 53 | ([xshift=-4.5cm,yshift=-5.5cm]current page.center) {333 \quad 制作}; 54 | \end{tikzpicture} -------------------------------------------------------------------------------- /tex/overview.tex: -------------------------------------------------------------------------------- 1 | %# -*- coding: utf-8-unix -*- 2 | \begin{overview} 3 | \thispagestyle{empty} 4 | 在2018年3月底,翻译\footnote{这个模板原本是用于一项书籍翻译计划的,关注我公众号的读者对此有所了解。然而由于版权原因,该译本无法公开分享。}进度已过大半,于是开始着手进行\LaTeX 排版。在此之前我对\LaTeX 的了解微乎其微,甚至第一次安装TexLive就出了问题,不得不重新安装。也是借着给这个译本排版的机会,才逐渐熟悉了这一软件的使用方法。 5 | 6 | 如大家所见,模板的封面和扉页设计均高仿\footnote{李老师的书籍源码尚未公开,此为仿作。}自李文威老师《模形式初步》一书,并已得到李老师的使用许可;定理和定义环境则取材自网上流传的Elegantbook模版。我也从这一以模仿为主的学习过程中,对\LaTeX 有了更深入的了解。 7 | 8 | 本模板命名为$\mathbb{ Q }$-book,谐音自cubic一词。由于是一个菜鸟的作品,自然还有许多瑕疵,对此模板的错误和不足之处还请各位多多包涵。 9 | 10 | \end{overview} 11 | -------------------------------------------------------------------------------- /tex/preface.tex: -------------------------------------------------------------------------------- 1 | 2 | \begin{pre} 3 | \thispagestyle{empty} 4 | \begin{center} 5 | {\kaishu{人在春风和气中}} 6 | \end{center} 7 | 8 | \vspace*{5\baselineskip} 9 | \centerline{\includegraphics[scale=0.6]{example/gzh.jpg}} 10 | \centerline{\fontsize{26pt}{26pt} 微信公众号} 11 | \end{pre} --------------------------------------------------------------------------------