%PDF-1.5 % 1 0 obj << /S /GoTo /D (section.1) >> endobj 4 0 obj (1 Introduction) endobj 5 0 obj << /S /GoTo /D (subsection.1.1) >> endobj 8 0 obj (1.1 Motivation) endobj 9 0 obj << /S /GoTo /D (section.2) >> endobj 12 0 obj (2 Package options) endobj 13 0 obj << /S /GoTo /D (section.3) >> endobj 16 0 obj (3 Defining keys) endobj 17 0 obj << /S /GoTo /D (subsection.3.1) >> endobj 20 0 obj (3.1 Defining only definable keys) endobj 21 0 obj << /S /GoTo /D (subsection.3.2) >> endobj 24 0 obj (3.2 Ordinary keys) endobj 25 0 obj << /S /GoTo /D (subsubsection.3.2.1) >> endobj 28 0 obj (3.2.1 Ordinary keys that share the same attributes) endobj 29 0 obj << /S /GoTo /D (subsection.3.3) >> endobj 32 0 obj (3.3 List keys \(liskeys\)) endobj 33 0 obj << /S /GoTo /D (subsection.3.4) >> endobj 36 0 obj (3.4 Command keys) endobj 37 0 obj << /S /GoTo /D (subsubsection.3.4.1) >> endobj 40 0 obj (3.4.1 Command keys that share the same attributes) endobj 41 0 obj << /S /GoTo /D (subsection.3.5) >> endobj 44 0 obj (3.5 Style keys) endobj 45 0 obj << /S /GoTo /D (subsubsection.3.5.1) >> endobj 48 0 obj (3.5.1 Style keys that share the same attributes) endobj 49 0 obj << /S /GoTo /D (subsection.3.6) >> endobj 52 0 obj (3.6 Boolean keys) endobj 53 0 obj << /S /GoTo /D (subsubsection.3.6.1) >> endobj 56 0 obj (3.6.1 Boolean keys that share the same attributes) endobj 57 0 obj << /S /GoTo /D (subsubsection.3.6.2) >> endobj 60 0 obj (3.6.2 Biboolean keys) endobj 61 0 obj << /S /GoTo /D (subsection.3.7) >> endobj 64 0 obj (3.7 Switch keys) endobj 65 0 obj << /S /GoTo /D (subsubsection.3.7.1) >> endobj 68 0 obj (3.7.1 Switch keys that share the same attributes) endobj 69 0 obj << /S /GoTo /D (subsection.3.8) >> endobj 72 0 obj (3.8 Choice keys) endobj 73 0 obj << /S /GoTo /D (subsubsection.3.8.1) >> endobj 76 0 obj (3.8.1 Choice keys that share the same attributes) endobj 77 0 obj << /S /GoTo /D (subsection.3.9) >> endobj 80 0 obj (3.9 Every default value of a key) endobj 81 0 obj << /S /GoTo /D (subsection.3.10) >> endobj 84 0 obj (3.10 Defining boolean and command keys with one command) endobj 85 0 obj << /S /GoTo /D (subsection.3.11) >> endobj 88 0 obj (3.11 Defining all types of key with one command) endobj 89 0 obj << /S /GoTo /D (subsubsection.3.11.1) >> endobj 92 0 obj (3.11.1 Defining keys of common type) endobj 93 0 obj << /S /GoTo /D (subsection.3.12) >> endobj 96 0 obj (3.12 Need-value keys) endobj 97 0 obj << /S /GoTo /D (subsection.3.13) >> endobj 100 0 obj (3.13 Cross-family keys) endobj 101 0 obj << /S /GoTo /D (section.4) >> endobj 104 0 obj (4 Setting keys) endobj 105 0 obj << /S /GoTo /D (subsection.4.1) >> endobj 108 0 obj (4.1 Setting defined keys) endobj 109 0 obj << /S /GoTo /D (subsection.4.2) >> endobj 112 0 obj (4.2 Setting remaining keys) endobj 113 0 obj << /S /GoTo /D (subsection.4.3) >> endobj 116 0 obj (4.3 Setting aliased keys) endobj 117 0 obj << /S /GoTo /D (subsection.4.4) >> endobj 120 0 obj (4.4 Using key pointers) endobj 121 0 obj << /S /GoTo /D (subsection.4.5) >> endobj 124 0 obj (4.5 Accessing the saved value of a key) endobj 125 0 obj << /S /GoTo /D (subsection.4.6) >> endobj 128 0 obj (4.6 Pre-setting and post-setting keys) endobj 129 0 obj << /S /GoTo /D (subsection.4.7) >> endobj 132 0 obj (4.7 Initializing keys) endobj 133 0 obj << /S /GoTo /D (subsection.4.8) >> endobj 136 0 obj (4.8 Launching keys) endobj 137 0 obj << /S /GoTo /D (subsubsection.4.8.1) >> endobj 140 0 obj (4.8.1 Noninitialize and nonlaunch keys) endobj 141 0 obj << /S /GoTo /D (subsection.4.9) >> endobj 144 0 obj (4.9 Handling unknown keys and options) endobj 145 0 obj << /S /GoTo /D (section.5) >> endobj 148 0 obj (5 Checking if a key is defined) endobj 149 0 obj << /S /GoTo /D (section.6) >> endobj 152 0 obj (6 Disabling families and keys) endobj 153 0 obj << /S /GoTo /D (subsection.6.1) >> endobj 156 0 obj (6.1 Disabling families) endobj 157 0 obj << /S /GoTo /D (subsection.6.2) >> endobj 160 0 obj (6.2 Disabling keys) endobj 161 0 obj << /S /GoTo /D (section.7) >> endobj 164 0 obj (7 Option and non-option keys) endobj 165 0 obj << /S /GoTo /D (section.8) >> endobj 168 0 obj (8 Handled keys) endobj 169 0 obj << /S /GoTo /D (section.9) >> endobj 172 0 obj (9 Reserving and unreserving key path or bases) endobj 173 0 obj << /S /GoTo /D (section.10) >> endobj 176 0 obj (10 Bad key names) endobj 177 0 obj << /S /GoTo /D (section.11) >> endobj 180 0 obj (11 Declaring options) endobj 181 0 obj << /S /GoTo /D (subsection.11.1) >> endobj 184 0 obj (11.1 Options that share the same attributes) endobj 185 0 obj << /S /GoTo /D (subsection.11.2) >> endobj 188 0 obj (11.2 Declaring all types of option with one command) endobj 189 0 obj << /S /GoTo /D (section.12) >> endobj 192 0 obj (12 Executing options) endobj 193 0 obj << /S /GoTo /D (section.13) >> endobj 196 0 obj (13 Processing options) endobj 197 0 obj << /S /GoTo /D (subsection.13.1) >> endobj 200 0 obj (13.1 Hooks for `before' and `after' processing options) endobj 201 0 obj << /S /GoTo /D (section.14) >> endobj 204 0 obj (14 Key commands and key environments) endobj 205 0 obj << /S /GoTo /D (subsection.14.1) >> endobj 208 0 obj (14.1 Final tokens of every environment) endobj 209 0 obj << /S /GoTo /D (subsection.14.2) >> endobj 212 0 obj (14.2 Examples of key command and environment) endobj 213 0 obj << /S /GoTo /D (section.15) >> endobj 216 0 obj (15 Declaring variables) endobj 217 0 obj << /S /GoTo /D (section.16) >> endobj 220 0 obj (16 The \040command) endobj 221 0 obj << /S /GoTo /D (section.17) >> endobj 224 0 obj (17 Pathkeys) endobj 225 0 obj << /S /GoTo /D (subsection.17.1) >> endobj 228 0 obj (17.1 Defining pathkeys of common type) endobj 229 0 obj << /S /GoTo /D (subsection.17.2) >> endobj 232 0 obj (17.2 Shortened pathkeys commands) endobj 233 0 obj << /S /GoTo /D (subsection.17.3) >> endobj 236 0 obj (17.3 Default and current paths) endobj 237 0 obj << /S /GoTo /D (subsection.17.4) >> endobj 240 0 obj (17.4 Nested pathkeys) endobj 241 0 obj << /S /GoTo /D (subsection.17.5) >> endobj 244 0 obj (17.5 Pathkeys as class or package options) endobj 245 0 obj << /S /GoTo /D (subsection.17.6) >> endobj 248 0 obj (17.6 Classes in pathkeys command) endobj 249 0 obj << /S /GoTo /D (section.18) >> endobj 252 0 obj (18 Keys with argument patterns) endobj 253 0 obj << /S /GoTo /D (section.19) >> endobj 256 0 obj (19 Some miscellaneous commands) endobj 257 0 obj << /S /GoTo /D (subsection.19.1) >> endobj 260 0 obj (19.1 Trimming leading and trailing spaces) endobj 261 0 obj << /S /GoTo /D (subsection.19.2) >> endobj 264 0 obj (19.2 Checking user inputs) endobj 265 0 obj << /S /GoTo /D (subsection.19.3) >> endobj 268 0 obj (19.3 Does a test string exist in a string?) endobj 269 0 obj << /S /GoTo /D (subsection.19.4) >> endobj 272 0 obj (19.4 Does a given pattern exist in the meaning of a macro?) endobj 273 0 obj << /S /GoTo /D (subsection.19.5) >> endobj 276 0 obj (19.5 texcolorifcase for arbitrary strings) endobj 277 0 obj << /S /GoTo /D (subsection.19.6) >> endobj 280 0 obj (19.6 Is the number of elements from a sublist found in a csv list n?) endobj 281 0 obj << /S /GoTo /D (subsection.19.7) >> endobj 284 0 obj (19.7 Is the number of elements from a sublist found in a tsv list n?) endobj 285 0 obj << /S /GoTo /D (subsection.19.8) >> endobj 288 0 obj (19.8 Is the number of elements in a csv list n or n?) endobj 289 0 obj << /S /GoTo /D (subsection.19.9) >> endobj 292 0 obj (19.9 What is the numerical order of an element in a csv list?) endobj 293 0 obj << /S /GoTo /D (subsection.19.10) >> endobj 296 0 obj (19.10 List normalization) endobj 297 0 obj << /S /GoTo /D (subsection.19.11) >> endobj 300 0 obj (19.11 Parsing arbitrary csv or kv list) endobj 301 0 obj << /S /GoTo /D (subsection.19.12) >> endobj 304 0 obj (19.12 Expandable list parser) endobj 305 0 obj << /S /GoTo /D (subsection.19.13) >> endobj 308 0 obj (19.13 Remove one or all occurrences of elements from a csv list) endobj 309 0 obj << /S /GoTo /D (subsection.19.14) >> endobj 312 0 obj (19.14 Replace one or all occurrences of elements in a csv list) endobj 313 0 obj << /S /GoTo /D (subsection.19.15) >> endobj 316 0 obj (19.15 Stripping outer braces) endobj 317 0 obj << /S /GoTo /D (section.20) >> endobj 320 0 obj (20 To-do list) endobj 321 0 obj << /S /GoTo /D (subsection.20.1) >> endobj 324 0 obj (20.1 Patching key macros) endobj 325 0 obj << /S /GoTo /D (subsection.20.2) >> endobj 328 0 obj (20.2 Modifying the dependant keys of an existing style key) endobj 329 0 obj << /S /GoTo /D (subsection.20.3) >> endobj 332 0 obj (20.3 Toggle keys) endobj 333 0 obj << /S /GoTo /D (section.21) >> endobj 336 0 obj (21 Version history) endobj 337 0 obj << /S /GoTo /D (0210000:0.0.3.2) >> endobj 340 0 obj (0.0.3 \(2011/12/17\)) endobj 341 0 obj << /S /GoTo /D (0210000:0.0.2.2) >> endobj 344 0 obj (0.0.2 \(2011/09/01\)) endobj 345 0 obj << /S /GoTo /D (0210000:0.0.1.2) >> endobj 348 0 obj (0.0.1 \(2011/07/30\)) endobj 349 0 obj << /S /GoTo /D [350 0 R /Fit] >> endobj 402 0 obj << /Length 3385 /Filter /FlateDecode >> stream x[YsF~[*s4O8k9JT"!+P вom169{3)* vx=CIUߡmL&Q#.L2ۡa("<7yr_] x\+?n";~=q~\%2ԉ& )fH 7ųW& #M.b1.y1&z {B1A$D##% ̑bSpq]41&QV\ј(9TJf^
njQޝ[>Uyվib$+b$GfVa#܇Yi`RKeVNEJ[ZNաOчYmPfݴOѰW
W4ޑ9R'~Yzk)@p@H\Xq{(H`EAբ9_6Ҵ-r(Gn
[cTΊw`(&Ŵ(?.
m^q
]9vQ8)}ʣBt:yY̊6BU-%hK_9 C}o-&YVE}MhQ? gS;v@; F@`/E-4&|kg^}
FVS܀y_$P
F/{AbRr|Ĺ# SE