diff options
Diffstat (limited to 'macros/latex/contrib')
39 files changed, 1665 insertions, 1458 deletions
diff --git a/macros/latex/contrib/animate/ChangeLog b/macros/latex/contrib/animate/ChangeLog index 11d3c6b893..c2965e0508 100644 --- a/macros/latex/contrib/animate/ChangeLog +++ b/macros/latex/contrib/animate/ChangeLog @@ -1,3 +1,6 @@ +2019-12-03 + * fix: another occurrence of quotes issue, now fixed at a central place + 2019-11-27 * fix: quotes around \@filef@und added by \IfFileExists removed for luatex compatibility (fix provided by U Fischer); using JS API dirtifies PDF diff --git a/macros/latex/contrib/animate/animate.pdf b/macros/latex/contrib/animate/animate.pdf index f4861129f6..0ed8c00b69 100644 --- a/macros/latex/contrib/animate/animate.pdf +++ b/macros/latex/contrib/animate/animate.pdf @@ -1,7 +1,7 @@ %PDF-1.4 % 720 0 obj -<< /Linearized 1 /L 3925895 /H [ 3293260 576 ] /O 2404 /E 3328494 /N 30 /T 3911375 >> +<< /Linearized 1 /L 3925892 /H [ 3293260 576 ] /O 2404 /E 3328490 /N 30 /T 3911372 >> endobj xref @@ -1693,75 +1693,75 @@ xref 0003293836 00000 n 0003294424 00000 n 0003294555 00000 n -0003298458 00000 n -0003298713 00000 n -0003298902 00000 n -0003299091 00000 n -0003299238 00000 n -0003299385 00000 n -0003299532 00000 n -0003299679 00000 n -0003299826 00000 n -0003299973 00000 n -0003300120 00000 n -0003300267 00000 n -0003300414 00000 n -0003300561 00000 n -0003300708 00000 n -0003300855 00000 n -0003301007 00000 n -0003301159 00000 n -0003301311 00000 n -0003301463 00000 n -0003301610 00000 n -0003301757 00000 n -0003301904 00000 n -0003302051 00000 n -0003302203 00000 n -0003302355 00000 n -0003302507 00000 n -0003302659 00000 n -0003302806 00000 n -0003302953 00000 n -0003303129 00000 n -0003303305 00000 n -0003303487 00000 n -0003303669 00000 n -0003303707 00000 n -0003303848 00000 n -0003303899 00000 n -0003304004 00000 n -0003304128 00000 n -0003304253 00000 n -0003304301 00000 n -0003304652 00000 n -0003304953 00000 n -0003305432 00000 n -0003305831 00000 n -0003306356 00000 n -0003307000 00000 n -0003313245 00000 n -0003315506 00000 n -0003325784 00000 n -0003326341 00000 n -0003326466 00000 n -0003326583 00000 n -0003326648 00000 n -0003326746 00000 n -0003326859 00000 n -0003326972 00000 n -0003327090 00000 n -0003327209 00000 n -0003327366 00000 n -0003327472 00000 n -0003327586 00000 n -0003327708 00000 n -0003327858 00000 n -0003328005 00000 n -0003328160 00000 n -0003328283 00000 n -0003328390 00000 n -trailer << /Info 323 0 R /Root 721 0 R /Size 2475 /Prev 3911365 /ID [<abb116a25e96d228bb9069adc819e808><120cb9f2c4ad1913b9a491fe1f3825da>] >> +0003298454 00000 n +0003298709 00000 n +0003298898 00000 n +0003299087 00000 n +0003299234 00000 n +0003299381 00000 n +0003299528 00000 n +0003299675 00000 n +0003299822 00000 n +0003299969 00000 n +0003300116 00000 n +0003300263 00000 n +0003300410 00000 n +0003300557 00000 n +0003300704 00000 n +0003300851 00000 n +0003301003 00000 n +0003301155 00000 n +0003301307 00000 n +0003301459 00000 n +0003301606 00000 n +0003301753 00000 n +0003301900 00000 n +0003302047 00000 n +0003302199 00000 n +0003302351 00000 n +0003302503 00000 n +0003302655 00000 n +0003302802 00000 n +0003302949 00000 n +0003303125 00000 n +0003303301 00000 n +0003303483 00000 n +0003303665 00000 n +0003303703 00000 n +0003303844 00000 n +0003303895 00000 n +0003304000 00000 n +0003304124 00000 n +0003304249 00000 n +0003304297 00000 n +0003304648 00000 n +0003304949 00000 n +0003305428 00000 n +0003305827 00000 n +0003306352 00000 n +0003306996 00000 n +0003313241 00000 n +0003315502 00000 n +0003325780 00000 n +0003326337 00000 n +0003326462 00000 n +0003326579 00000 n +0003326644 00000 n +0003326742 00000 n +0003326855 00000 n +0003326968 00000 n +0003327086 00000 n +0003327205 00000 n +0003327362 00000 n +0003327468 00000 n +0003327582 00000 n +0003327704 00000 n +0003327854 00000 n +0003328001 00000 n +0003328156 00000 n +0003328279 00000 n +0003328386 00000 n +trailer << /Info 323 0 R /Root 721 0 R /Size 2475 /Prev 3911362 /ID [<8f5d7594143fc0f39e284d12721c4b7d><41de6486a628b25d0e1363fe74092ccc>] >> startxref 0 %%EOF @@ -1906,7 +1906,7 @@ stream xLH4/IKKS5JJS5k34b M["k4%jj NJHuqjj[Qbn5 endobj 741 0 obj -<< /AA << /PC << /JS 740 0 R /S /JavaScript >> /PI << /JS 740 0 R /S /JavaScript >> /PO << /JS 739 0 R /S /JavaScript >> /PV << /JS 739 0 R /S /JavaScript >> >> /AP << /N 728 0 R >> /BS << /W 0 >> /Contents (animation by animate[2019/11/27]) /F 4 /FT /Btn /Ff 65537 /H /N /MK << /I 728 0 R /IF << /FB true /S /A >> /TP 1 >> /Rect [ 333.72 629.38 347.04 638.62 ] /Subtype /Widget /T (anm0) /Type /Annot >> +<< /AA << /PC << /JS 740 0 R /S /JavaScript >> /PI << /JS 740 0 R /S /JavaScript >> /PO << /JS 739 0 R /S /JavaScript >> /PV << /JS 739 0 R /S /JavaScript >> >> /AP << /N 728 0 R >> /BS << /W 0 >> /Contents (animation by animate[2019/12/03]) /F 4 /FT /Btn /Ff 65537 /H /N /MK << /I 728 0 R /IF << /FB true /S /A >> /TP 1 >> /Rect [ 333.72 629.38 347.04 638.62 ] /Subtype /Widget /T (anm0) /Type /Annot >> endobj 742 0 obj << /BaseFont /GULBTF+LinLibertineTI /Encoding 2396 0 R /FirstChar 27 /FontDescriptor 743 0 R /LastChar 246 /Subtype /Type1 /ToUnicode 2395 0 R /Type /Font /Widths [ 564 0 0 0 0 0 0 0 0 0 0 0 268 306 313 0 0 219 333 219 291 0 0 0 0 0 0 0 0 0 444 219 0 0 527 0 0 0 667 557 0 667 526 457 664 0 280 414 637 519 804 0 668 499 0 0 454 544 0 597 0 628 0 0 0 0 0 0 0 268 486 478 389 489 401 314 477 519 276 259 486 266 783 518 447 489 0 357 353 307 521 472 688 475 503 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 447 ] >> @@ -1953,7 +1953,7 @@ stream xLH4/IKKS5JJS5k34b M["k4%jj NJHuqjj[Qbn5 endobj 752 0 obj -<< /AA << /PC << /JS 751 0 R /S /JavaScript >> /PI << /JS 751 0 R /S /JavaScript >> /PO << /JS 750 0 R /S /JavaScript >> /PV << /JS 750 0 R /S /JavaScript >> >> /AP << /N 745 0 R >> /BS << /W 0 >> /Contents (animation by animate[2019/11/27]) /F 4 /FT /Btn /Ff 65537 /H /N /MK << /I 745 0 R /IF << /FB true /S /A >> /TP 1 >> /Rect [ 124.8 594.94 166.8 606.94 ] /Subtype /Widget /T (anm1) /Type /Annot >> +<< /AA << /PC << /JS 751 0 R /S /JavaScript >> /PI << /JS 751 0 R /S /JavaScript >> /PO << /JS 750 0 R /S /JavaScript >> /PV << /JS 750 0 R /S /JavaScript >> >> /AP << /N 745 0 R >> /BS << /W 0 >> /Contents (animation by animate[2019/12/03]) /F 4 /FT /Btn /Ff 65537 /H /N /MK << /I 745 0 R /IF << /FB true /S /A >> /TP 1 >> /Rect [ 124.8 594.94 166.8 606.94 ] /Subtype /Widget /T (anm1) /Type /Annot >> endobj 753 0 obj << /BaseFont /DQEGUT+LibertinusT1Math /Encoding 2393 0 R /FirstChar 11 /FontDescriptor 754 0 R /LastChar 122 /Subtype /Type1 /ToUnicode 2392 0 R /Type /Font /Widths [ 522 472 458 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 465 0 0 0 0 0 0 0 0 0 0 220 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 299 0 0 0 475 503 436 ] >> @@ -2221,7 +2221,7 @@ stream xLH4/IKKS5JJS5k34b M["k4%jj NJHuqjj[Qbn5 endobj 810 0 obj -<< /AA << /D << /JS (try{if\(a2_playing\){a2_pause\(\);}}catch\(e\){}) /S /JavaScript >> /PC << /JS 809 0 R /S /JavaScript >> /PI << /JS 809 0 R /S /JavaScript >> /PO << /JS 808 0 R /S /JavaScript >> /PV << /JS 808 0 R /S /JavaScript >> /U << /JS (try{if\(!a2_isPaused\)a2_stopFirst\(\);if\(event.shift\)a2_playsRight=!a2_playsRight;if\(a2_idx==8&&a2_playsRight\)a2_stopFirst\(\);if\(a2_idx==0&&!a2_playsRight\)a2_stopLast\(\);if\(a2_playsRight\){a2_playRight\(\);}else{a2_playLeft\(\);}}catch\(e\){}) /S /JavaScript >> >> /AP << /N 790 0 R >> /BS << /W 0 >> /Contents (animation by animate[2019/11/27]) /F 4 /FT /Btn /Ff 65536 /H /N /MK << /I 790 0 R /IF << /FB true /S /A >> /TP 1 >> /Rect [ 217.2 541.18 376.2 703.18 ] /Subtype /Widget /T (anm2) /Type /Annot >> +<< /AA << /D << /JS (try{if\(a2_playing\){a2_pause\(\);}}catch\(e\){}) /S /JavaScript >> /PC << /JS 809 0 R /S /JavaScript >> /PI << /JS 809 0 R /S /JavaScript >> /PO << /JS 808 0 R /S /JavaScript >> /PV << /JS 808 0 R /S /JavaScript >> /U << /JS (try{if\(!a2_isPaused\)a2_stopFirst\(\);if\(event.shift\)a2_playsRight=!a2_playsRight;if\(a2_idx==8&&a2_playsRight\)a2_stopFirst\(\);if\(a2_idx==0&&!a2_playsRight\)a2_stopLast\(\);if\(a2_playsRight\){a2_playRight\(\);}else{a2_playLeft\(\);}}catch\(e\){}) /S /JavaScript >> >> /AP << /N 790 0 R >> /BS << /W 0 >> /Contents (animation by animate[2019/12/03]) /F 4 /FT /Btn /Ff 65536 /H /N /MK << /I 790 0 R /IF << /FB true /S /A >> /TP 1 >> /Rect [ 217.2 541.18 376.2 703.18 ] /Subtype /Widget /T (anm2) /Type /Annot >> endobj 811 0 obj << /BBox [ 0 8269 150 8419 ] /Filter /FlateDecode /FormType 1 /Matrix [ 0.833333 0 0 -0.833333 0 6890.83 ] /Resources << /ProcSet [ /PDF ] >> /Subtype /Form /Type /XObject /Length 167 >> @@ -6276,7 +6276,7 @@ stream xLH4/IKKS5JJS5k34b M["k4%jj NJHuqjj[Qbn5 endobj 1561 0 obj -<< /AA << /D << /JS (try{if\(a3_playing\){a3_pause\(\);}}catch\(e\){}) /S /JavaScript >> /PC << /JS 1560 0 R /S /JavaScript >> /PI << /JS 1560 0 R /S /JavaScript >> /PO << /JS 1559 0 R /S /JavaScript >> /PV << /JS 1559 0 R /S /JavaScript >> /U << /JS (try{if\(!a3_isPaused\)a3_stopFirst\(\);if\(event.shift\)a3_playsRight=!a3_playsRight;if\(a3_idx==100&&a3_playsRight\)a3_stopFirst\(\);if\(a3_idx==0&&!a3_playsRight\)a3_stopLast\(\);if\(a3_playsRight\){a3_playRight\(\);}else{a3_playLeft\(\);}}catch\(e\){}) /S /JavaScript >> >> /AP << /N 1357 0 R >> /BS << /W 0 >> /Contents (animation by animate[2019/11/27]) /F 4 /FT /Btn /Ff 65536 /H /N /MK << /I 1357 0 R /IF << /FB true /S /A >> /TP 1 >> /Rect [ 159.12 450.7 434.16 715.06 ] /Subtype /Widget /T (anm3) /Type /Annot >> +<< /AA << /D << /JS (try{if\(a3_playing\){a3_pause\(\);}}catch\(e\){}) /S /JavaScript >> /PC << /JS 1560 0 R /S /JavaScript >> /PI << /JS 1560 0 R /S /JavaScript >> /PO << /JS 1559 0 R /S /JavaScript >> /PV << /JS 1559 0 R /S /JavaScript >> /U << /JS (try{if\(!a3_isPaused\)a3_stopFirst\(\);if\(event.shift\)a3_playsRight=!a3_playsRight;if\(a3_idx==100&&a3_playsRight\)a3_stopFirst\(\);if\(a3_idx==0&&!a3_playsRight\)a3_stopLast\(\);if\(a3_playsRight\){a3_playRight\(\);}else{a3_playLeft\(\);}}catch\(e\){}) /S /JavaScript >> >> /AP << /N 1357 0 R >> /BS << /W 0 >> /Contents (animation by animate[2019/12/03]) /F 4 /FT /Btn /Ff 65536 /H /N /MK << /I 1357 0 R /IF << /FB true /S /A >> /TP 1 >> /Rect [ 159.12 450.7 434.16 715.06 ] /Subtype /Widget /T (anm3) /Type /Annot >> endobj 1562 0 obj << /AA << /D << /JS (a3_stopFirst\(\);) /S /JavaScript >> >> /AP << /N 811 0 R >> /BS << /W 0 >> /F 0 /FT /Btn /Ff 65536 /H /I /MK << /I 811 0 R /IF << /FB true /S /A >> /TP 1 >> /Rect [ 229.92 434.98 244.32 449.26 ] /Subtype /Widget /T (3.EndLeft) /Type /Annot >> @@ -9987,7 +9987,7 @@ stream xLH4/IKKS5JJS5k34b M["k4%jj NJHyqjj[Qbno
endobj 1664 0 obj -<< /AA << /D << /JS (try{if\(a4_playing\){a4_pause\(\);}}catch\(e\){}) /S /JavaScript >> /PC << /JS 1663 0 R /S /JavaScript >> /PI << /JS 1663 0 R /S /JavaScript >> /PO << /JS 1662 0 R /S /JavaScript >> /PV << /JS 1662 0 R /S /JavaScript >> /U << /JS (try{if\(!a4_isPaused\)a4_stopFirst\(\);if\(event.shift\)a4_playsRight=!a4_playsRight;if\(a4_idx==0\)a4_playsRight=true;if\(a4_idx==28\)a4_playsRight=false;if\(a4_playsRight\){a4_playRight\(\);}else{a4_playLeft\(\);}}catch\(e\){}) /S /JavaScript >> >> /AP << /N 1660 0 R >> /BS << /W 0 >> /Contents (animation by animate[2019/11/27]) /F 4 /FT /Btn /Ff 65536 /H /N /MK << /I 1660 0 R /IF << /FB true /S /A >> /TP 1 >> /Rect [ 174.6 583.18 418.68 715.06 ] /Subtype /Widget /T (anm4) /Type /Annot >> +<< /AA << /D << /JS (try{if\(a4_playing\){a4_pause\(\);}}catch\(e\){}) /S /JavaScript >> /PC << /JS 1663 0 R /S /JavaScript >> /PI << /JS 1663 0 R /S /JavaScript >> /PO << /JS 1662 0 R /S /JavaScript >> /PV << /JS 1662 0 R /S /JavaScript >> /U << /JS (try{if\(!a4_isPaused\)a4_stopFirst\(\);if\(event.shift\)a4_playsRight=!a4_playsRight;if\(a4_idx==0\)a4_playsRight=true;if\(a4_idx==28\)a4_playsRight=false;if\(a4_playsRight\){a4_playRight\(\);}else{a4_playLeft\(\);}}catch\(e\){}) /S /JavaScript >> >> /AP << /N 1660 0 R >> /BS << /W 0 >> /Contents (animation by animate[2019/12/03]) /F 4 /FT /Btn /Ff 65536 /H /N /MK << /I 1660 0 R /IF << /FB true /S /A >> /TP 1 >> /Rect [ 174.6 583.18 418.68 715.06 ] /Subtype /Widget /T (anm4) /Type /Annot >> endobj 1665 0 obj << /AA << /D << /JS (a4_stopFirst\(\);) /S /JavaScript >> >> /AP << /N 811 0 R >> /BS << /W 0 >> /F 0 /FT /Btn /Ff 65536 /H /I /MK << /I 811 0 R /IF << /FB true /S /A >> /TP 1 >> /Rect [ 229.92 567.34 244.32 581.74 ] /Subtype /Widget /T (4.EndLeft) /Type /Annot >> @@ -18825,7 +18825,7 @@ stream xLH4/IKKS5JJS5k34b M["k4%jj NJH}qjj[QbnH endobj 2253 0 obj -<< /AA << /D << /JS (try{if\(a5_playing\){a5_pause\(\);}}catch\(e\){}) /S /JavaScript >> /PC << /JS 2252 0 R /S /JavaScript >> /PI << /JS 2252 0 R /S /JavaScript >> /PO << /JS 2251 0 R /S /JavaScript >> /PV << /JS 2251 0 R /S /JavaScript >> /U << /JS (try{if\(!a5_isPaused\)a5_stopFirst\(\);if\(event.shift\)a5_playsRight=!a5_playsRight;if\(a5_idx==190&&a5_playsRight\)a5_stopFirst\(\);if\(a5_idx==0&&!a5_playsRight\)a5_stopLast\(\);if\(a5_playsRight\){a5_playRight\(\);}else{a5_playLeft\(\);}}catch\(e\){}) /S /JavaScript >> >> /AP << /N 2249 0 R >> /BS << /W 0 >> /Contents (animation by animate[2019/11/27]) /F 4 /FT /Btn /Ff 65536 /H /N /MK << /I 2249 0 R /IF << /FB true /S /A >> /TP 1 >> /Rect [ 125.28 394.42 468 715.06 ] /Subtype /Widget /T (anm5) /Type /Annot >> +<< /AA << /D << /JS (try{if\(a5_playing\){a5_pause\(\);}}catch\(e\){}) /S /JavaScript >> /PC << /JS 2252 0 R /S /JavaScript >> /PI << /JS 2252 0 R /S /JavaScript >> /PO << /JS 2251 0 R /S /JavaScript >> /PV << /JS 2251 0 R /S /JavaScript >> /U << /JS (try{if\(!a5_isPaused\)a5_stopFirst\(\);if\(event.shift\)a5_playsRight=!a5_playsRight;if\(a5_idx==190&&a5_playsRight\)a5_stopFirst\(\);if\(a5_idx==0&&!a5_playsRight\)a5_stopLast\(\);if\(a5_playsRight\){a5_playRight\(\);}else{a5_playLeft\(\);}}catch\(e\){}) /S /JavaScript >> >> /AP << /N 2249 0 R >> /BS << /W 0 >> /Contents (animation by animate[2019/12/03]) /F 4 /FT /Btn /Ff 65536 /H /N /MK << /I 2249 0 R /IF << /FB true /S /A >> /TP 1 >> /Rect [ 125.28 394.42 468 715.06 ] /Subtype /Widget /T (anm5) /Type /Annot >> endobj 2254 0 obj << /AA << /D << /JS (a5_stopFirst\(\);) /S /JavaScript >> >> /AP << /N 811 0 R >> /BS << /W 0 >> /F 0 /FT /Btn /Ff 65536 /H /I /MK << /I 811 0 R /IF << /FB true /S /A >> /TP 1 >> /Rect [ 229.92 378.58 244.32 392.98 ] /Subtype /Widget /T (5.EndLeft) /Type /Annot >> @@ -19318,7 +19318,7 @@ stream xLH4/IKKS5JJS5k34b M["k4%jj NJHuqjj[Qbn5 endobj 2351 0 obj -<< /AA << /D << /JS (try{if\(a6_playing\){a6_pause\(\);}}catch\(e\){}) /S /JavaScript >> /PC << /JS 2350 0 R /S /JavaScript >> /PI << /JS 2350 0 R /S /JavaScript >> /PO << /JS 2349 0 R /S /JavaScript >> /PV << /JS 2349 0 R /S /JavaScript >> /U << /JS (try{if\(!a6_isPaused\)a6_stopFirst\(\);if\(event.shift\)a6_playsRight=!a6_playsRight;if\(a6_idx==0\)a6_playsRight=true;if\(a6_idx==25\)a6_playsRight=false;if\(a6_playsRight\){a6_playRight\(\);}else{a6_playLeft\(\);}}catch\(e\){}) /S /JavaScript >> >> /AP << /N 2297 0 R >> /BS << /W 0 >> /Contents (animation by animate[2019/11/27]) /F 4 /FT /Btn /Ff 65536 /H /N /MK << /I 2297 0 R /IF << /FB true /S /A >> /TP 1 >> /Rect [ 176.4 165.34 417 418.66 ] /Subtype /Widget /T (anm6) /Type /Annot >> +<< /AA << /D << /JS (try{if\(a6_playing\){a6_pause\(\);}}catch\(e\){}) /S /JavaScript >> /PC << /JS 2350 0 R /S /JavaScript >> /PI << /JS 2350 0 R /S /JavaScript >> /PO << /JS 2349 0 R /S /JavaScript >> /PV << /JS 2349 0 R /S /JavaScript >> /U << /JS (try{if\(!a6_isPaused\)a6_stopFirst\(\);if\(event.shift\)a6_playsRight=!a6_playsRight;if\(a6_idx==0\)a6_playsRight=true;if\(a6_idx==25\)a6_playsRight=false;if\(a6_playsRight\){a6_playRight\(\);}else{a6_playLeft\(\);}}catch\(e\){}) /S /JavaScript >> >> /AP << /N 2297 0 R >> /BS << /W 0 >> /Contents (animation by animate[2019/12/03]) /F 4 /FT /Btn /Ff 65536 /H /N /MK << /I 2297 0 R /IF << /FB true /S /A >> /TP 1 >> /Rect [ 176.4 165.34 417 418.66 ] /Subtype /Widget /T (anm6) /Type /Annot >> endobj 2352 0 obj << /AA << /D << /JS (a6_stopFirst\(\);) /S /JavaScript >> >> /AP << /N 811 0 R >> /BS << /W 0 >> /F 0 /FT /Btn /Ff 65536 /H /I /MK << /I 811 0 R /IF << /FB true /S /A >> /TP 1 >> /Rect [ 229.92 149.62 244.32 163.9 ] /Subtype /Widget /T (6.EndLeft) /Type /Annot >> @@ -19676,9 +19676,9 @@ endobj 2403 0 obj << /Filter /FlateDecode /S 492 /O 665 /Length 487 >> stream -xc```c0ra`g` -ՍI3θ- -dF+k*;#Zcc7b8r]@dO+`480L +xc```c0ra`g` +<&
*)1ђEFzBsO/8dXH3|` t х@1Aڡ1%@qwQ +a=$91!^ endstream endobj 2404 0 obj @@ -19688,28 +19688,21 @@ endobj << /FT /Btn /Ff 65537 /Rect [ 0.960007 837.94 3.96001 840.94 ] /Subtype /Widget /T (pbs@ARFix@1) /Type /Annot >> endobj 2406 0 obj -<< /Filter /FlateDecode /Length 3828 >> -stream -x[r3/Yw~dɡc'8ةLKR&K>̠gwHJJt}9}P=-{O~Q//?gG-(]xP$Bk]xo{8:;;Zto=%^,A؝,Ur)sf0CJC3Hxq֙Э"N)T -/71@ -Np2z{ -}BQ1F^.MO$/~JHev1QlO -Z>QJE'm^AB덵:te&$lsO>]`V:3hӸzO[R)Z |uCBO.prN^Q;#30'5LY͋B[]>.\;jtpW pp|8zBo^OG=֛#[?NNF:^~b䋫^yO^ c -\E\obFz -/.;;gB@Ad7 -d -F;߲
DD=)-^9ߣDLШFB%Xyޣ%[jN&cR)4Qe֣Y}'8`Pt1٬IQEKer`yV~}_
s -2E}5֔ݘb rr.eY1tbl7=mOs]d:'LɚG47KFR8\U+PؿܒAB*&džC`I w(`H6@1PexܥjheI -QAny3Vpe1n#Ms@!DG&ijlr۸֨!3eΎ{H`| -Էѷr0Z -"s]Ӓ$KLֆ},iFyBs< 0?|h]<[Q,(]t2ނ:+ -bb\hQw>8,_йmF.!q~ m:WY_-\8%G&*sȆ]ل50N_%[Rg+YrZ\r%1.X)xiOg0CMy
䭐cKPI)_j~w{x]NdFreĵ~X΅"PnUyф -k;Z2 PyW@Ea5N]s[Hm0T+T_ -b{mnM&̇Gg2B!g;96t˄҉Vcb'etiItJ2͇x֓|.>Q^$/wU1ZtZf_IQ LQCdr~b.1;U.cvg`xIf:<R@ -vI'h˨4WN>mȻ%בFJd/itS@>^@`EEl̼.5ʆ[8nL
Y(᭕Z)Ek'ygK%P9P.溢dG#2'*%d:+}aPkZc^][*;D29fLR$>2ߤTSr|s?Z~a19@>1[9:[E?}螷ˋYvqܞ]p={,"E%w]@ov<~`6Qu4v \p5oc8H|Lo*I\_[V/ѱ1/_Q y砠\?*'I˻6(
F^m"NksVT¶??ޒpEv)z?%NZt0n-"yRD}+b\G|;m\|Ps~M3:7üSUG
y瘌}6vI;@ܻ)ﺍ -z6&r8&>"m+Q9hb_g1EF}uOsSLBO6ު4Gǿfّ<nr8u PiX70Q 6F!ҼqPϨh|@z6o$$f@R>2B}y0hp>fvBEPM9й7Ꮺ!l
2lN!@a6$o̪<~]SpG ->4\8ڄX5;S.S״6*Y',?'/Mz.2:/ (&ON4nn.кCCOѷfčc?ڎQн -UfQeKt7clq91Q~rӋzہy +<< /Filter /FlateDecode /Length 3824 >> +stream +x[ێ_-=~dɑ/,o#vHvdʗ}NflϮv4+F @jtWu9udT=--ޝ~y{_+%jl-~^P~yY9>[='hIELKWvl}wZzJԽXQV;Y>&R,Haz畆g+3۬4DS\D!tg5^ɣomc5GUd^$>!镣c(JE۽\I^ᕐbtQ0ֵ˵}O ߽hku~ςMH>hͳI;"};Ǹug,FqS|SA?Z|}CBO.pvN^Q]❑SrғupOB[]>.5\;$(ppW pppq&&M1*<.zymG +=O.x:U88z1a;ˋwr^vv"flh `Tu`<4ݧ ϰ& +V9fc4Jf4/*͠4&")wCU!OVWq0>BPC{W\Dѷ[p=Mح)A 'Q
M.w˱^@Ea
+so2n,]4v2( +^u-uQ 'tgmE41<6U=NgCŸ`DI*dEˏ.UCĖ|(LM:Uڊ7r3d#?N^>+5%uid/^^q=$m_|d66!>` +8CH^y( +t4UMnq(5Zu ULak X|jd3[X`E Ԅ"<rq+;+.<1DcY4?s0]geB*h0lLׇD%'T
_xVM`B怐>B2A0v"(l1<UځzH.VUO(ȍ(|혠A:91@9VFۜz_[ +o)L",\h3 RYM`:9rtl-'Y2Yr %$ǀ2d[d;!y.6FktѽFF.{T(1/XN.Id8I +-T43j-xd +KH5W2xx!\pa +^9u{a<uyTAʗ[<Th{c2a
2ڥu_p3drwX7]W-Eϋ&H\.z\v|nu +m8$СwwZ5mj# +W\
?;[*yd't1';]0>T8SQJ_c($ԫiZVXW=koE펾 endobj 2407 0 obj << /AA << /PC << /JS 740 0 R /S /JavaScript >> /PI << /JS 740 0 R /S /JavaScript >> /PO << /JS 739 0 R /S /JavaScript >> /PV << /JS 739 0 R /S /JavaScript >> >> /F 2 /Rect [ 333.72 629.38 338.76 634.54 ] /Subtype /Screen /Type /Annot >> @@ -20353,7 +20346,7 @@ endobj << /FT /Btn /Ff 65537 /Rect [ 0.960007 837.94 3.96001 840.94 ] /Subtype /Widget /T (pbs@ARFix@9) /Type /Annot >> endobj 64 0 obj -<< /Filter /FlateDecode /Length 5845 >> +<< /Filter /FlateDecode /Length 5846 >> stream x]kGq>Eo1~A&Rl "8 2Hlvk;bc =U}g.g!wKwuuSOUffW>5O~qW*WW^uNj돞V_aWWk۫sg^_O'w\|[/~Y.^\Y7Lÿz+ @@ -20386,11 +20379,7 @@ J@Ga:͓8&!>|w58vvt7O{ϴ-#lj_.rt zi2RY `mZyǤ1?GN-z%tBX@$LSc`7fm:3qc"֒-"chh4Cǩ/c)H2UEgv%{ Jxfu)@Ĺ5KC&y=EFY]Tb? 3; NjlJWZOi煶N3xnӭ\˪4<M{HscnѕTY\SLwxE r6:ʣr =؈p|*_v=z a?vHRGCm#&xiGL劵_U7*RiF/>n%Y;rF*)x| =Bܩ0kj;uUj A#ךmB`9iffY>9u,]7JXNkqN-) -*@@,ߵ#3(QD>bn\frM-mW_0;yp>@
4"t<B"iO;uՎڦf9c4|Z1h˘ႜªPku(8Ҿ-(v $ 'b/G$6 -$Un9 +rчĿG#8ǩ'j!N*h.HjMsUz˴&RTcVBY2Pum -o<@%Ugx c1|!0 ->qU.tyO?npmkvՐ\ -Etrhl>R onendstream +*@@,ߵ#3(QD>bn\frM-mW_0;yp>@
4"t<B"iO;uՎڦf9c4|Z1h˘ႜªPku(8Ҿ-(v $ 'b/G$6 endobj 65 0 obj << /Border [ 0 0 0 ] /C [ 1 0 0 ] /Dest (section.7) /H /I /Rect [ 145.524 352.384 152.196 360.616 ] /Subtype /Link /Type /Annot >> @@ -22928,7 +22917,7 @@ endobj << /Count 30 /Kids [ 2404 0 R 1 0 R 11 0 R 21 0 R 29 0 R 42 0 R 48 0 R 56 0 R 62 0 R 72 0 R 78 0 R 88 0 R 102 0 R 116 0 R 126 0 R 136 0 R 142 0 R 152 0 R 164 0 R 172 0 R 182 0 R 196 0 R 204 0 R 214 0 R 232 0 R 238 0 R 246 0 R 252 0 R 260 0 R 296 0 R ] /Type /Pages >> endobj 323 0 obj -<< /Author (Alexander Grahn) /CreationDate (D:20191127122219+01'00') /Creator (LaTeX with hyperref) /Keywords (include portable PDF animation SVG animation animated PDF animated SVG dvisvgm html TeX4ht web animating embed animated graphics LaTeX pdfLaTeX LuaLaTeX PSTricks pgf TikZ LaTeX-picture MetaPost inline graphics vector graphics animated GIF LaTeX dvips ps2pdf dvipdfmx XeLaTeX JavaScript Acrobat Reader PDF-XChange Foxit Reader Firefox Chrome Chromium) /ModDate (D:20191127122219+01'00') /Producer (GPL Ghostscript 9.50) /Subject (Documentation) /Title (The animate Package) >> +<< /Author (Alexander Grahn) /CreationDate (D:20191203080641+01'00') /Creator (LaTeX with hyperref) /Keywords (include portable PDF animation SVG animation animated PDF animated SVG dvisvgm html TeX4ht web animating embed animated graphics LaTeX pdfLaTeX LuaLaTeX PSTricks pgf TikZ LaTeX-picture MetaPost inline graphics vector graphics animated GIF LaTeX dvips ps2pdf dvipdfmx XeLaTeX JavaScript Acrobat Reader PDF-XChange Foxit Reader Firefox Chrome Chromium) /ModDate (D:20191203080641+01'00') /Producer (GPL Ghostscript 9.50) /Subject (Documentation) /Title (The animate Package) >> endobj 324 0 obj << /Limits [ (Doc-Start) (table.4) ] /Names [ (Doc-Start) 326 0 R (Hfootnote.1) 338 0 R (Item.1) 698 0 R (Item.2) 699 0 R (Item.3) 700 0 R (Item.4) 701 0 R (Item.5) 703 0 R (Item.6) 704 0 R (Item.7) 705 0 R (Item.8) 706 0 R (beginend) 347 0 R (cite.chupin) 709 0 R (cite.dvisvgm) 710 0 R (cite.gilg05) 711 0 R (cite.hol) 712 0 R (cite.luque12) 713 0 R (cite.media9) 714 0 R (cite.texsx) 716 0 R (dest:mem) 697 0 R (figure.1) 428 0 R (figure.2) 444 0 R (figure.3) 516 0 R (figure.4) 527 0 R (figure.5) 610 0 R (lstlisting.-1) 360 0 R (lstlisting.-2) 370 0 R (lstlisting.-3) 389 0 R (lstlisting.-4) 429 0 R (lstlisting.-5) 475 0 R (lstlisting.-6) 518 0 R (lstlisting.-7) 585 0 R (lstlisting.-8) 661 0 R (lstlisting.-9) 689 0 R (lstnumber.-1.1) 361 0 R (lstnumber.-1.2) 362 0 R (lstnumber.-1.3) 363 0 R (lstnumber.-1.4) 364 0 R (lstnumber.-1.5) 365 0 R (lstnumber.-1.6) 366 0 R (lstnumber.-1.7) 367 0 R (lstnumber.-2.1) 371 0 R (lstnumber.-2.10) 380 0 R (lstnumber.-2.11) 381 0 R (lstnumber.-2.12) 382 0 R (lstnumber.-2.2) 372 0 R (lstnumber.-2.3) 373 0 R (lstnumber.-2.4) 374 0 R (lstnumber.-2.5) 375 0 R (lstnumber.-2.6) 376 0 R (lstnumber.-2.7) 377 0 R (lstnumber.-2.8) 378 0 R (lstnumber.-2.9) 379 0 R (lstnumber.-3.1) 390 0 R (lstnumber.-3.10) 399 0 R (lstnumber.-3.11) 400 0 R (lstnumber.-3.12) 401 0 R (lstnumber.-3.13) 402 0 R (lstnumber.-3.14) 403 0 R (lstnumber.-3.15) 404 0 R (lstnumber.-3.16) 405 0 R (lstnumber.-3.17) 406 0 R (lstnumber.-3.18) 407 0 R (lstnumber.-3.19) 408 0 R (lstnumber.-3.2) 391 0 R (lstnumber.-3.20) 409 0 R (lstnumber.-3.21) 410 0 R (lstnumber.-3.22) 411 0 R (lstnumber.-3.23) 412 0 R (lstnumber.-3.24) 413 0 R (lstnumber.-3.25) 414 0 R (lstnumber.-3.26) 415 0 R (lstnumber.-3.27) 416 0 R (lstnumber.-3.28) 417 0 R (lstnumber.-3.29) 418 0 R (lstnumber.-3.3) 392 0 R (lstnumber.-3.30) 419 0 R (lstnumber.-3.31) 420 0 R (lstnumber.-3.32) 421 0 R (lstnumber.-3.33) 422 0 R (lstnumber.-3.34) 423 0 R (lstnumber.-3.35) 424 0 R (lstnumber.-3.36) 425 0 R (lstnumber.-3.37) 426 0 R (lstnumber.-3.4) 393 0 R (lstnumber.-3.5) 394 0 R (lstnumber.-3.6) 395 0 R (lstnumber.-3.7) 396 0 R (lstnumber.-3.8) 397 0 R (lstnumber.-3.9) 398 0 R (lstnumber.-4.1) 430 0 R (lstnumber.-4.10) 439 0 R (lstnumber.-4.11) 440 0 R (lstnumber.-4.12) 441 0 R (lstnumber.-4.13) 442 0 R (lstnumber.-4.14) 445 0 R (lstnumber.-4.15) 446 0 R (lstnumber.-4.16) 447 0 R (lstnumber.-4.17) 448 0 R (lstnumber.-4.18) 449 0 R (lstnumber.-4.19) 450 0 R (lstnumber.-4.2) 431 0 R (lstnumber.-4.20) 451 0 R (lstnumber.-4.21) 452 0 R (lstnumber.-4.22) 453 0 R (lstnumber.-4.23) 454 0 R (lstnumber.-4.24) 455 0 R (lstnumber.-4.25) 456 0 R (lstnumber.-4.26) 457 0 R (lstnumber.-4.27) 458 0 R (lstnumber.-4.28) 459 0 R (lstnumber.-4.29) 460 0 R (lstnumber.-4.3) 432 0 R (lstnumber.-4.30) 461 0 R (lstnumber.-4.31) 462 0 R (lstnumber.-4.32) 463 0 R (lstnumber.-4.33) 464 0 R (lstnumber.-4.34) 465 0 R (lstnumber.-4.35) 466 0 R (lstnumber.-4.36) 467 0 R (lstnumber.-4.37) 469 0 R (lstnumber.-4.38) 470 0 R (lstnumber.-4.39) 471 0 R (lstnumber.-4.4) 433 0 R (lstnumber.-4.40) 472 0 R (lstnumber.-4.41) 473 0 R (lstnumber.-4.5) 434 0 R (lstnumber.-4.6) 435 0 R (lstnumber.-4.7) 436 0 R (lstnumber.-4.8) 437 0 R (lstnumber.-4.9) 438 0 R (lstnumber.-5.1) 476 0 R (lstnumber.-5.10) 485 0 R (lstnumber.-5.11) 486 0 R (lstnumber.-5.12) 487 0 R (lstnumber.-5.13) 488 0 R (lstnumber.-5.14) 489 0 R (lstnumber.-5.15) 490 0 R (lstnumber.-5.16) 491 0 R (lstnumber.-5.17) 492 0 R (lstnumber.-5.18) 493 0 R (lstnumber.-5.19) 494 0 R (lstnumber.-5.2) 477 0 R (lstnumber.-5.20) 495 0 R (lstnumber.-5.21) 496 0 R (lstnumber.-5.22) 497 0 R (lstnumber.-5.23) 498 0 R (lstnumber.-5.24) 499 0 R (lstnumber.-5.25) 500 0 R (lstnumber.-5.26) 501 0 R (lstnumber.-5.27) 502 0 R (lstnumber.-5.28) 503 0 R (lstnumber.-5.29) 504 0 R (lstnumber.-5.3) 478 0 R (lstnumber.-5.30) 505 0 R (lstnumber.-5.31) 506 0 R (lstnumber.-5.32) 507 0 R (lstnumber.-5.33) 508 0 R (lstnumber.-5.34) 509 0 R (lstnumber.-5.35) 510 0 R (lstnumber.-5.36) 511 0 R (lstnumber.-5.37) 512 0 R (lstnumber.-5.38) 513 0 R (lstnumber.-5.39) 514 0 R (lstnumber.-5.4) 479 0 R (lstnumber.-5.40) 517 0 R (lstnumber.-5.5) 480 0 R (lstnumber.-5.6) 481 0 R (lstnumber.-5.7) 482 0 R (lstnumber.-5.8) 483 0 R (lstnumber.-5.9) 484 0 R (lstnumber.-6.1) 519 0 R (lstnumber.-6.10) 530 0 R (lstnumber.-6.11) 531 0 R (lstnumber.-6.12) 532 0 R (lstnumber.-6.13) 533 0 R (lstnumber.-6.14) 534 0 R (lstnumber.-6.15) 535 0 R (lstnumber.-6.16) 536 0 R (lstnumber.-6.17) 537 0 R (lstnumber.-6.18) 538 0 R (lstnumber.-6.19) 539 0 R (lstnumber.-6.2) 520 0 R (lstnumber.-6.20) 540 0 R (lstnumber.-6.21) 541 0 R (lstnumber.-6.22) 542 0 R (lstnumber.-6.23) 543 0 R (lstnumber.-6.24) 544 0 R (lstnumber.-6.25) 545 0 R (lstnumber.-6.26) 547 0 R (lstnumber.-6.27) 548 0 R (lstnumber.-6.28) 549 0 R (lstnumber.-6.29) 550 0 R (lstnumber.-6.3) 521 0 R (lstnumber.-6.30) 551 0 R (lstnumber.-6.31) 552 0 R (lstnumber.-6.32) 553 0 R (lstnumber.-6.33) 554 0 R (lstnumber.-6.34) 555 0 R (lstnumber.-6.35) 556 0 R (lstnumber.-6.36) 557 0 R (lstnumber.-6.37) 558 0 R (lstnumber.-6.38) 559 0 R (lstnumber.-6.39) 560 0 R (lstnumber.-6.4) 522 0 R (lstnumber.-6.40) 561 0 R (lstnumber.-6.41) 562 0 R (lstnumber.-6.42) 563 0 R (lstnumber.-6.43) 564 0 R (lstnumber.-6.44) 565 0 R (lstnumber.-6.45) 566 0 R (lstnumber.-6.46) 567 0 R (lstnumber.-6.47) 568 0 R (lstnumber.-6.48) 569 0 R (lstnumber.-6.49) 570 0 R (lstnumber.-6.5) 523 0 R (lstnumber.-6.50) 571 0 R (lstnumber.-6.51) 572 0 R (lstnumber.-6.52) 573 0 R (lstnumber.-6.53) 574 0 R (lstnumber.-6.54) 575 0 R (lstnumber.-6.55) 576 0 R (lstnumber.-6.56) 577 0 R (lstnumber.-6.57) 578 0 R (lstnumber.-6.58) 579 0 R (lstnumber.-6.59) 580 0 R (lstnumber.-6.6) 524 0 R (lstnumber.-6.60) 581 0 R (lstnumber.-6.61) 582 0 R (lstnumber.-6.62) 583 0 R (lstnumber.-6.63) 584 0 R (lstnumber.-6.7) 525 0 R (lstnumber.-6.8) 528 0 R (lstnumber.-6.9) 529 0 R (lstnumber.-7.1) 586 0 R (lstnumber.-7.10) 596 0 R (lstnumber.-7.11) 597 0 R (lstnumber.-7.12) 598 0 R (lstnumber.-7.13) 599 0 R (lstnumber.-7.14) 600 0 R (lstnumber.-7.15) 601 0 R (lstnumber.-7.16) 602 0 R (lstnumber.-7.17) 603 0 R (lstnumber.-7.18) 604 0 R (lstnumber.-7.19) 605 0 R (lstnumber.-7.2) 588 0 R (lstnumber.-7.20) 606 0 R (lstnumber.-7.21) 607 0 R (lstnumber.-7.22) 608 0 R (lstnumber.-7.23) 609 0 R (lstnumber.-7.24) 612 0 R (lstnumber.-7.25) 613 0 R (lstnumber.-7.26) 614 0 R (lstnumber.-7.27) 615 0 R (lstnumber.-7.28) 616 0 R (lstnumber.-7.29) 617 0 R (lstnumber.-7.3) 589 0 R (lstnumber.-7.30) 618 0 R (lstnumber.-7.31) 619 0 R (lstnumber.-7.32) 620 0 R (lstnumber.-7.33) 621 0 R (lstnumber.-7.34) 622 0 R (lstnumber.-7.35) 623 0 R (lstnumber.-7.36) 624 0 R (lstnumber.-7.37) 625 0 R (lstnumber.-7.38) 626 0 R (lstnumber.-7.39) 627 0 R (lstnumber.-7.4) 590 0 R (lstnumber.-7.40) 628 0 R (lstnumber.-7.41) 629 0 R (lstnumber.-7.42) 630 0 R (lstnumber.-7.43) 631 0 R (lstnumber.-7.44) 632 0 R (lstnumber.-7.45) 633 0 R (lstnumber.-7.46) 634 0 R (lstnumber.-7.47) 635 0 R (lstnumber.-7.48) 636 0 R (lstnumber.-7.49) 637 0 R (lstnumber.-7.5) 591 0 R (lstnumber.-7.50) 638 0 R (lstnumber.-7.51) 639 0 R (lstnumber.-7.52) 640 0 R (lstnumber.-7.53) 641 0 R (lstnumber.-7.54) 642 0 R (lstnumber.-7.55) 643 0 R (lstnumber.-7.56) 644 0 R (lstnumber.-7.57) 645 0 R (lstnumber.-7.58) 646 0 R (lstnumber.-7.59) 647 0 R (lstnumber.-7.6) 592 0 R (lstnumber.-7.60) 648 0 R (lstnumber.-7.61) 649 0 R (lstnumber.-7.62) 650 0 R (lstnumber.-7.63) 651 0 R (lstnumber.-7.64) 652 0 R (lstnumber.-7.65) 653 0 R (lstnumber.-7.66) 654 0 R (lstnumber.-7.67) 655 0 R (lstnumber.-7.68) 656 0 R (lstnumber.-7.69) 657 0 R (lstnumber.-7.7) 593 0 R (lstnumber.-7.70) 658 0 R (lstnumber.-7.8) 594 0 R (lstnumber.-7.9) 595 0 R (lstnumber.-8.1) 662 0 R (lstnumber.-8.10) 671 0 R (lstnumber.-8.11) 672 0 R (lstnumber.-8.12) 673 0 R (lstnumber.-8.13) 674 0 R (lstnumber.-8.14) 675 0 R (lstnumber.-8.15) 676 0 R (lstnumber.-8.16) 677 0 R (lstnumber.-8.17) 678 0 R (lstnumber.-8.18) 679 0 R (lstnumber.-8.19) 680 0 R (lstnumber.-8.2) 663 0 R (lstnumber.-8.20) 681 0 R (lstnumber.-8.21) 682 0 R (lstnumber.-8.22) 683 0 R (lstnumber.-8.23) 684 0 R (lstnumber.-8.24) 685 0 R (lstnumber.-8.25) 686 0 R (lstnumber.-8.26) 687 0 R (lstnumber.-8.3) 664 0 R (lstnumber.-8.4) 665 0 R (lstnumber.-8.5) 666 0 R (lstnumber.-8.6) 667 0 R (lstnumber.-8.7) 668 0 R (lstnumber.-8.8) 669 0 R (lstnumber.-8.9) 670 0 R (lstnumber.-9.1) 690 0 R (lstnumber.-9.2) 691 0 R (lstnumber.-9.3) 692 0 R (lstnumber.-9.4) 693 0 R (lstnumber.-9.5) 695 0 R (page.1) 325 0 R (page.10) 346 0 R (page.11) 349 0 R (page.12) 352 0 R (page.13) 355 0 R (page.14) 358 0 R (page.15) 369 0 R (page.16) 383 0 R (page.17) 386 0 R (page.18) 427 0 R (page.19) 443 0 R (page.2) 328 0 R (page.20) 468 0 R (page.21) 515 0 R (page.22) 526 0 R (page.23) 546 0 R (page.24) 587 0 R (page.25) 611 0 R (page.26) 659 0 R (page.27) 688 0 R (page.28) 694 0 R (page.29) 702 0 R (page.3) 331 0 R (page.30) 715 0 R (page.4) 334 0 R (page.5) 336 0 R (page.6) 339 0 R (page.7) 341 0 R (page.8) 344 0 R (page.9) 345 0 R (section*.1) 327 0 R (section*.2) 337 0 R (section*.3) 340 0 R (section*.4) 350 0 R (section*.5) 351 0 R (section*.6) 354 0 R (section*.7) 357 0 R (section*.8) 359 0 R (section*.9) 708 0 R (section.1) 329 0 R (section.10) 696 0 R (section.11) 707 0 R (section.2) 330 0 R (section.3) 332 0 R (section.4) 333 0 R (section.5) 335 0 R (section.6) 342 0 R (section.7) 368 0 R (section.8) 387 0 R (section.9) 660 0 R (subsection.6.1) 343 0 R (subsection.6.2) 348 0 R (subsection.8.1) 388 0 R (subsection.8.2) 474 0 R (table.1) 353 0 R (table.2) 356 0 R (table.3) 384 0 R (table.4) 385 0 R ] >> @@ -24122,14 +24111,14 @@ stream <?adobe-xap-filters esc="CRLF"?> <x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'> <rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'> -<rdf:Description rdf:about='uuid:b922b539-4924-11f5-0000-3f648209093e' xmlns:pdf='http://ns.adobe.com/pdf/1.3/'><pdf:Producer>GPL Ghostscript 9.50</pdf:Producer> +<rdf:Description rdf:about='uuid:017437e0-4db8-11f5-0000-cc2ca13f1956' xmlns:pdf='http://ns.adobe.com/pdf/1.3/'><pdf:Producer>GPL Ghostscript 9.50</pdf:Producer> <pdf:Keywords>include portable PDF animation SVG animation animated PDF animated SVG dvisvgm html TeX4ht web animating embed animated graphics LaTeX pdfLaTeX LuaLaTeX PSTricks pgf TikZ LaTeX-picture MetaPost inline graphics vector graphics animated GIF LaTeX dvips ps2pdf dvipdfmx XeLaTeX JavaScript Acrobat Reader PDF-XChange Foxit Reader Firefox Chrome Chromium</pdf:Keywords> </rdf:Description> -<rdf:Description rdf:about='uuid:b922b539-4924-11f5-0000-3f648209093e' xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2019-11-27T12:22:19+01:00</xmp:ModifyDate> -<xmp:CreateDate>2019-11-27T12:22:19+01:00</xmp:CreateDate> +<rdf:Description rdf:about='uuid:017437e0-4db8-11f5-0000-cc2ca13f1956' xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2019-12-03T08:06:41+01:00</xmp:ModifyDate> +<xmp:CreateDate>2019-12-03T08:06:41+01:00</xmp:CreateDate> <xmp:CreatorTool>LaTeX with hyperref</xmp:CreatorTool></rdf:Description> -<rdf:Description rdf:about='uuid:b922b539-4924-11f5-0000-3f648209093e' xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:b922b539-4924-11f5-0000-3f648209093e'/> -<rdf:Description rdf:about='uuid:b922b539-4924-11f5-0000-3f648209093e' xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>The animate Package</rdf:li></rdf:Alt></dc:title><dc:creator><rdf:Seq><rdf:li>Alexander Grahn</rdf:li></rdf:Seq></dc:creator><dc:description><rdf:Alt><rdf:li xml:lang='x-default'>Documentation</rdf:li></rdf:Alt></dc:description></rdf:Description> +<rdf:Description rdf:about='uuid:017437e0-4db8-11f5-0000-cc2ca13f1956' xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:017437e0-4db8-11f5-0000-cc2ca13f1956'/> +<rdf:Description rdf:about='uuid:017437e0-4db8-11f5-0000-cc2ca13f1956' xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>The animate Package</rdf:li></rdf:Alt></dc:title><dc:creator><rdf:Seq><rdf:li>Alexander Grahn</rdf:li></rdf:Seq></dc:creator><dc:description><rdf:Alt><rdf:li xml:lang='x-default'>Documentation</rdf:li></rdf:Alt></dc:description></rdf:Description> </rdf:RDF> </x:xmpmeta> @@ -24139,726 +24128,726 @@ endobj xref 0 720 0000000000 65535 f -0003328494 00000 n -0003328726 00000 n -0003328854 00000 n -0003334231 00000 n -0003334376 00000 n -0003334521 00000 n -0003334666 00000 n -0003334811 00000 n -0003334846 00000 n -0003334894 00000 n -0003334971 00000 n -0003335212 00000 n -0003335341 00000 n -0003338330 00000 n -0003338552 00000 n -0003338774 00000 n -0003338922 00000 n -0003339070 00000 n -0003339106 00000 n -0003339155 00000 n -0003339218 00000 n -0003339478 00000 n -0003339607 00000 n -0003344317 00000 n -0003344569 00000 n -0003344605 00000 n -0003344683 00000 n -0003344732 00000 n -0003344808 00000 n -0003345057 00000 n -0003345186 00000 n -0003352230 00000 n -0003352378 00000 n -0003352526 00000 n -0003352678 00000 n -0003352830 00000 n -0003353065 00000 n -0003353329 00000 n -0003353365 00000 n -0003353414 00000 n -0003353489 00000 n -0003354572 00000 n -0003354793 00000 n -0003354922 00000 n -0003361541 00000 n -0003361577 00000 n -0003361626 00000 n -0003361716 00000 n -0003361943 00000 n -0003362072 00000 n -0003366317 00000 n -0003366464 00000 n -0003366611 00000 n -0003366647 00000 n -0003366696 00000 n -0003366772 00000 n -0003366985 00000 n -0003367114 00000 n -0003372605 00000 n -0003372641 00000 n -0003372690 00000 n -0003372739 00000 n -0003372980 00000 n -0003373109 00000 n -0003379027 00000 n -0003379174 00000 n -0003379321 00000 n -0003379468 00000 n -0003379615 00000 n -0003379651 00000 n -0003379700 00000 n -0003379749 00000 n -0003379962 00000 n -0003380092 00000 n -0003386360 00000 n -0003386396 00000 n -0003386445 00000 n -0003386535 00000 n -0003386776 00000 n -0003386906 00000 n -0003393643 00000 n -0003393791 00000 n -0003393939 00000 n -0003394084 00000 n -0003394229 00000 n -0003394265 00000 n -0003394314 00000 n -0003394376 00000 n -0003394655 00000 n -0003394785 00000 n -0003400221 00000 n -0003400367 00000 n -0003400513 00000 n -0003400659 00000 n -0003400805 00000 n -0003400957 00000 n -0003401109 00000 n -0003401254 00000 n -0003401399 00000 n -0003401435 00000 n -0003401485 00000 n -0003401548 00000 n -0003401839 00000 n -0003401970 00000 n -0003406005 00000 n -0003406152 00000 n -0003406299 00000 n -0003406452 00000 n -0003406605 00000 n -0003406755 00000 n -0003406905 00000 n -0003407053 00000 n -0003407201 00000 n -0003407238 00000 n -0003407288 00000 n -0003407351 00000 n -0003407602 00000 n -0003407733 00000 n -0003412539 00000 n -0003412685 00000 n -0003412831 00000 n -0003412977 00000 n -0003413123 00000 n -0003413160 00000 n -0003413210 00000 n -0003413287 00000 n -0003413538 00000 n -0003413669 00000 n -0003415671 00000 n -0003415824 00000 n -0003415977 00000 n -0003416126 00000 n -0003416275 00000 n -0003416312 00000 n -0003416362 00000 n -0003416412 00000 n -0003416639 00000 n -0003416770 00000 n -0003420432 00000 n -0003420469 00000 n -0003420519 00000 n -0003420569 00000 n -0003420820 00000 n -0003420951 00000 n -0003424348 00000 n -0003424495 00000 n -0003424642 00000 n -0003424789 00000 n -0003424936 00000 n -0003424973 00000 n -0003425023 00000 n -0003425143 00000 n -0003425611 00000 n -0003425742 00000 n -0003429272 00000 n -0003429524 00000 n -0003429671 00000 n -0003429818 00000 n -0003429968 00000 n -0003430118 00000 n -0003430155 00000 n -0003430612 00000 n -0003430662 00000 n -0003430908 00000 n -0003432187 00000 n -0003432318 00000 n -0003433568 00000 n -0003433825 00000 n -0003433862 00000 n -0003442932 00000 n -0003442982 00000 n -0003443157 00000 n -0003443408 00000 n -0003443539 00000 n -0003446220 00000 n -0003446367 00000 n -0003446514 00000 n -0003446664 00000 n -0003446814 00000 n -0003446851 00000 n -0003446901 00000 n -0003446979 00000 n -0003447634 00000 n -0003447765 00000 n -0003451705 00000 n -0003451962 00000 n -0003452109 00000 n -0003452256 00000 n -0003452429 00000 n -0003452665 00000 n -0003452702 00000 n -0003453653 00000 n -0003453703 00000 n -0003453796 00000 n -0003454461 00000 n -0003454560 00000 n -0003456649 00000 n -0003456780 00000 n -0003457913 00000 n -0003458170 00000 n -0003458207 00000 n -0003464342 00000 n -0003464392 00000 n -0003464456 00000 n -0003464707 00000 n -0003464838 00000 n -0003469404 00000 n -0003469551 00000 n -0003469698 00000 n -0003469849 00000 n -0003470000 00000 n -0003470037 00000 n -0003470087 00000 n -0003470137 00000 n -0003470758 00000 n -0003470889 00000 n -0003471741 00000 n -0003471993 00000 n -0003826453 00000 n -0003826530 00000 n -0003828819 00000 n -0003828894 00000 n -0003829051 00000 n -0003829143 00000 n -0003829285 00000 n -0003829455 00000 n -0003829718 00000 n -0003829974 00000 n -0003830011 00000 n -0003830897 00000 n -0003830947 00000 n -0003831026 00000 n -0003831245 00000 n -0003831376 00000 n -0003833124 00000 n -0003833161 00000 n -0003833211 00000 n -0003833261 00000 n -0003833496 00000 n -0003833627 00000 n -0003838191 00000 n -0003838342 00000 n -0003838493 00000 n -0003838530 00000 n -0003838580 00000 n -0003838644 00000 n -0003838863 00000 n -0003838994 00000 n -0003845194 00000 n -0003845231 00000 n -0003845281 00000 n -0003845345 00000 n -0003845580 00000 n -0003845711 00000 n -0003851496 00000 n -0003851643 00000 n -0003851790 00000 n -0003851827 00000 n -0003851877 00000 n -0003851968 00000 n -0003852427 00000 n -0003852558 00000 n -0003858398 00000 n -0003858543 00000 n -0003858688 00000 n -0003858833 00000 n -0003858978 00000 n -0003859171 00000 n -0003859364 00000 n -0003859513 00000 n -0003859662 00000 n -0003859810 00000 n -0003859958 00000 n -0003860106 00000 n -0003860254 00000 n -0003860432 00000 n -0003860610 00000 n -0003860836 00000 n -0003861014 00000 n -0003861192 00000 n -0003861418 00000 n -0003861621 00000 n -0003861824 00000 n -0003862050 00000 n -0003862253 00000 n -0003862456 00000 n -0003862682 00000 n -0003862854 00000 n -0003863026 00000 n -0003863209 00000 n -0003863392 00000 n -0003863577 00000 n -0003863762 00000 n -0003863799 00000 n -0003863849 00000 n -0003863926 00000 n -0003864241 00000 n -0003864372 00000 n -0003865008 00000 n -0003865192 00000 n -0003865376 00000 n -0003865569 00000 n -0003865753 00000 n -0003865937 00000 n -0003866130 00000 n -0003866294 00000 n -0003866458 00000 n -0003866651 00000 n -0003866815 00000 n -0003866979 00000 n -0003867172 00000 n -0003867209 00000 n -0003867259 00000 n -0003867322 00000 n -0003867804 00000 n -0003868181 00000 n -0003868401 00000 n -0003868641 00000 n -0003869615 00000 n -0003871992 00000 n -0003872337 00000 n -0003872560 00000 n -0003872845 00000 n -0003873449 00000 n -0003883061 00000 n -0003883132 00000 n -0003883200 00000 n -0003883268 00000 n -0003883333 00000 n -0003883397 00000 n -0003883462 00000 n -0003883531 00000 n -0003883597 00000 n -0003883663 00000 n -0003883729 00000 n -0003883795 00000 n -0003883864 00000 n -0003883929 00000 n -0003883995 00000 n -0003884061 00000 n -0003884126 00000 n -0003884195 00000 n -0003884261 00000 n -0003884327 00000 n -0003884393 00000 n -0003884462 00000 n -0003884528 00000 n -0003884594 00000 n -0003884660 00000 n -0003884729 00000 n -0003884795 00000 n -0003884861 00000 n -0003884927 00000 n -0003884993 00000 n -0003885059 00000 n -0003885129 00000 n -0003885196 00000 n -0003885263 00000 n -0003885330 00000 n -0003885397 00000 n -0003885464 00000 n -0003885531 00000 n -0003885598 00000 n -0003885665 00000 n -0003885732 00000 n -0003885798 00000 n -0003885865 00000 n -0003885932 00000 n -0003885999 00000 n -0003886069 00000 n -0003886136 00000 n -0003886202 00000 n -0003886268 00000 n -0003886335 00000 n -0003886402 00000 n -0003886469 00000 n -0003886535 00000 n -0003886602 00000 n -0003886669 00000 n -0003886736 00000 n -0003886803 00000 n -0003886870 00000 n -0003886937 00000 n -0003887004 00000 n -0003887071 00000 n -0003887138 00000 n -0003887208 00000 n -0003887275 00000 n -0003887342 00000 n -0003887409 00000 n -0003887476 00000 n -0003887543 00000 n -0003887609 00000 n -0003887675 00000 n -0003887742 00000 n -0003887809 00000 n -0003887876 00000 n -0003887942 00000 n -0003888008 00000 n -0003888075 00000 n -0003888142 00000 n -0003888209 00000 n -0003888275 00000 n -0003888342 00000 n -0003888409 00000 n -0003888476 00000 n -0003888542 00000 n -0003888608 00000 n -0003888675 00000 n -0003888742 00000 n -0003888809 00000 n -0003888876 00000 n -0003888943 00000 n -0003889010 00000 n -0003889077 00000 n -0003889144 00000 n -0003889211 00000 n -0003889278 00000 n -0003889345 00000 n -0003889412 00000 n -0003889479 00000 n -0003889545 00000 n -0003889612 00000 n -0003889679 00000 n -0003889746 00000 n -0003889813 00000 n -0003889880 00000 n -0003889947 00000 n -0003890013 00000 n -0003890080 00000 n -0003890147 00000 n -0003890214 00000 n -0003890281 00000 n -0003890348 00000 n -0003890415 00000 n -0003890482 00000 n -0003890549 00000 n -0003890616 00000 n -0003890683 00000 n -0003890750 00000 n -0003890817 00000 n -0003890884 00000 n -0003890951 00000 n -0003891021 00000 n -0003891088 00000 n -0003891155 00000 n -0003891222 00000 n -0003891289 00000 n -0003891353 00000 n -0003891417 00000 n -0003891481 00000 n -0003891547 00000 n -0003891614 00000 n -0003891681 00000 n -0003891748 00000 n -0003891815 00000 n -0003891882 00000 n -0003891949 00000 n -0003892016 00000 n -0003892083 00000 n -0003892150 00000 n -0003892217 00000 n -0003892284 00000 n -0003892351 00000 n -0003892418 00000 n -0003892484 00000 n -0003892551 00000 n -0003892618 00000 n -0003892685 00000 n -0003892752 00000 n -0003892819 00000 n -0003892885 00000 n -0003892951 00000 n -0003893018 00000 n -0003893085 00000 n -0003893152 00000 n -0003893219 00000 n -0003893285 00000 n -0003893352 00000 n -0003893419 00000 n -0003893486 00000 n -0003893553 00000 n -0003893620 00000 n -0003893687 00000 n -0003893754 00000 n -0003893818 00000 n -0003893885 00000 n -0003893952 00000 n -0003894019 00000 n -0003894086 00000 n -0003894153 00000 n -0003894219 00000 n -0003894286 00000 n -0003894353 00000 n -0003894420 00000 n -0003894487 00000 n -0003894554 00000 n -0003894621 00000 n -0003894688 00000 n -0003894755 00000 n -0003894822 00000 n -0003894889 00000 n -0003894956 00000 n -0003895023 00000 n -0003895090 00000 n -0003895157 00000 n -0003895224 00000 n -0003895291 00000 n -0003895358 00000 n -0003895425 00000 n -0003895492 00000 n -0003895559 00000 n -0003895626 00000 n -0003895693 00000 n -0003895760 00000 n -0003895830 00000 n -0003895897 00000 n -0003895964 00000 n -0003896031 00000 n -0003896098 00000 n -0003896165 00000 n -0003896232 00000 n -0003896299 00000 n -0003896366 00000 n -0003896433 00000 n -0003896500 00000 n -0003896567 00000 n -0003896634 00000 n -0003896701 00000 n -0003896768 00000 n -0003896835 00000 n -0003896902 00000 n -0003896969 00000 n -0003897034 00000 n -0003897100 00000 n -0003897167 00000 n -0003897234 00000 n -0003897301 00000 n -0003897366 00000 n -0003897433 00000 n -0003897500 00000 n -0003897567 00000 n -0003897634 00000 n -0003897700 00000 n -0003897767 00000 n -0003897834 00000 n -0003897904 00000 n -0003897971 00000 n -0003898038 00000 n -0003898104 00000 n -0003898170 00000 n -0003898237 00000 n -0003898304 00000 n -0003898371 00000 n -0003898437 00000 n -0003898503 00000 n -0003898570 00000 n -0003898637 00000 n -0003898704 00000 n -0003898770 00000 n -0003898837 00000 n -0003898904 00000 n -0003898971 00000 n -0003899038 00000 n -0003899105 00000 n -0003899172 00000 n -0003899239 00000 n -0003899303 00000 n -0003899370 00000 n -0003899437 00000 n -0003899504 00000 n -0003899571 00000 n -0003899638 00000 n -0003899704 00000 n -0003899771 00000 n -0003899838 00000 n -0003899905 00000 n -0003899972 00000 n -0003900039 00000 n -0003900106 00000 n -0003900173 00000 n -0003900240 00000 n -0003900307 00000 n -0003900374 00000 n -0003900441 00000 n -0003900508 00000 n -0003900575 00000 n -0003900642 00000 n -0003900709 00000 n -0003900776 00000 n -0003900842 00000 n -0003900908 00000 n -0003900975 00000 n -0003901042 00000 n -0003901109 00000 n -0003901175 00000 n -0003901241 00000 n -0003901308 00000 n -0003901375 00000 n -0003901442 00000 n -0003901508 00000 n -0003901575 00000 n -0003901642 00000 n -0003901709 00000 n -0003901776 00000 n -0003901843 00000 n -0003901910 00000 n -0003901977 00000 n -0003902041 00000 n -0003902108 00000 n -0003902175 00000 n -0003902245 00000 n -0003902312 00000 n -0003902379 00000 n -0003902445 00000 n -0003902511 00000 n -0003902578 00000 n -0003902645 00000 n -0003902712 00000 n -0003902778 00000 n -0003902844 00000 n -0003902911 00000 n -0003902978 00000 n -0003903045 00000 n -0003903111 00000 n -0003903178 00000 n -0003903245 00000 n -0003903312 00000 n -0003903379 00000 n -0003903446 00000 n -0003903513 00000 n -0003903580 00000 n -0003903644 00000 n -0003903711 00000 n -0003903778 00000 n -0003903845 00000 n -0003903912 00000 n -0003903979 00000 n -0003904045 00000 n -0003904112 00000 n -0003904179 00000 n -0003904246 00000 n -0003904313 00000 n -0003904380 00000 n -0003904447 00000 n -0003904514 00000 n -0003904581 00000 n -0003904648 00000 n -0003904715 00000 n -0003904782 00000 n -0003904849 00000 n -0003904916 00000 n -0003904983 00000 n -0003905050 00000 n -0003905117 00000 n -0003905184 00000 n -0003905251 00000 n -0003905318 00000 n -0003905385 00000 n -0003905452 00000 n -0003905519 00000 n -0003905586 00000 n -0003905653 00000 n -0003905720 00000 n -0003905787 00000 n -0003905854 00000 n -0003905921 00000 n -0003905988 00000 n -0003906055 00000 n -0003906122 00000 n -0003906189 00000 n -0003906253 00000 n -0003906317 00000 n -0003906381 00000 n -0003906448 00000 n -0003906515 00000 n -0003906582 00000 n -0003906649 00000 n -0003906716 00000 n -0003906783 00000 n -0003906850 00000 n -0003906917 00000 n -0003906984 00000 n -0003907051 00000 n -0003907118 00000 n -0003907185 00000 n -0003907251 00000 n -0003907317 00000 n -0003907387 00000 n -0003907454 00000 n -0003907521 00000 n -0003907588 00000 n -0003907655 00000 n -0003907722 00000 n -0003907789 00000 n -0003907856 00000 n -0003907923 00000 n -0003907993 00000 n -0003908060 00000 n -0003908127 00000 n -0003908194 00000 n -0003908261 00000 n -0003908331 00000 n -0003908398 00000 n -0003908465 00000 n -0003908531 00000 n -0003908598 00000 n -0003908665 00000 n -0003908732 00000 n -0003908799 00000 n -0003908866 00000 n -0003908933 00000 n -0003909000 00000 n -0003909067 00000 n -0003909134 00000 n -0003909201 00000 n -0003909268 00000 n -0003909307 00000 n -0003909337 00000 n -trailer << /Size 720 /ID [<abb116a25e96d228bb9069adc819e808><120cb9f2c4ad1913b9a491fe1f3825da>] >> +0003328490 00000 n +0003328722 00000 n +0003328850 00000 n +0003334227 00000 n +0003334372 00000 n +0003334517 00000 n +0003334662 00000 n +0003334807 00000 n +0003334842 00000 n +0003334890 00000 n +0003334967 00000 n +0003335208 00000 n +0003335337 00000 n +0003338326 00000 n +0003338548 00000 n +0003338770 00000 n +0003338918 00000 n +0003339066 00000 n +0003339102 00000 n +0003339151 00000 n +0003339214 00000 n +0003339474 00000 n +0003339603 00000 n +0003344313 00000 n +0003344565 00000 n +0003344601 00000 n +0003344679 00000 n +0003344728 00000 n +0003344804 00000 n +0003345053 00000 n +0003345182 00000 n +0003352226 00000 n +0003352374 00000 n +0003352522 00000 n +0003352674 00000 n +0003352826 00000 n +0003353061 00000 n +0003353325 00000 n +0003353361 00000 n +0003353410 00000 n +0003353485 00000 n +0003354568 00000 n +0003354789 00000 n +0003354918 00000 n +0003361537 00000 n +0003361573 00000 n +0003361622 00000 n +0003361712 00000 n +0003361939 00000 n +0003362068 00000 n +0003366313 00000 n +0003366460 00000 n +0003366607 00000 n +0003366643 00000 n +0003366692 00000 n +0003366768 00000 n +0003366981 00000 n +0003367110 00000 n +0003372601 00000 n +0003372637 00000 n +0003372686 00000 n +0003372735 00000 n +0003372976 00000 n +0003373105 00000 n +0003379024 00000 n +0003379171 00000 n +0003379318 00000 n +0003379465 00000 n +0003379612 00000 n +0003379648 00000 n +0003379697 00000 n +0003379746 00000 n +0003379959 00000 n +0003380089 00000 n +0003386357 00000 n +0003386393 00000 n +0003386442 00000 n +0003386532 00000 n +0003386773 00000 n +0003386903 00000 n +0003393640 00000 n +0003393788 00000 n +0003393936 00000 n +0003394081 00000 n +0003394226 00000 n +0003394262 00000 n +0003394311 00000 n +0003394373 00000 n +0003394652 00000 n +0003394782 00000 n +0003400218 00000 n +0003400364 00000 n +0003400510 00000 n +0003400656 00000 n +0003400802 00000 n +0003400954 00000 n +0003401106 00000 n +0003401251 00000 n +0003401396 00000 n +0003401432 00000 n +0003401482 00000 n +0003401545 00000 n +0003401836 00000 n +0003401967 00000 n +0003406002 00000 n +0003406149 00000 n +0003406296 00000 n +0003406449 00000 n +0003406602 00000 n +0003406752 00000 n +0003406902 00000 n +0003407050 00000 n +0003407198 00000 n +0003407235 00000 n +0003407285 00000 n +0003407348 00000 n +0003407599 00000 n +0003407730 00000 n +0003412536 00000 n +0003412682 00000 n +0003412828 00000 n +0003412974 00000 n +0003413120 00000 n +0003413157 00000 n +0003413207 00000 n +0003413284 00000 n +0003413535 00000 n +0003413666 00000 n +0003415668 00000 n +0003415821 00000 n +0003415974 00000 n +0003416123 00000 n +0003416272 00000 n +0003416309 00000 n +0003416359 00000 n +0003416409 00000 n +0003416636 00000 n +0003416767 00000 n +0003420429 00000 n +0003420466 00000 n +0003420516 00000 n +0003420566 00000 n +0003420817 00000 n +0003420948 00000 n +0003424345 00000 n +0003424492 00000 n +0003424639 00000 n +0003424786 00000 n +0003424933 00000 n +0003424970 00000 n +0003425020 00000 n +0003425140 00000 n +0003425608 00000 n +0003425739 00000 n +0003429269 00000 n +0003429521 00000 n +0003429668 00000 n +0003429815 00000 n +0003429965 00000 n +0003430115 00000 n +0003430152 00000 n +0003430609 00000 n +0003430659 00000 n +0003430905 00000 n +0003432184 00000 n +0003432315 00000 n +0003433565 00000 n +0003433822 00000 n +0003433859 00000 n +0003442929 00000 n +0003442979 00000 n +0003443154 00000 n +0003443405 00000 n +0003443536 00000 n +0003446217 00000 n +0003446364 00000 n +0003446511 00000 n +0003446661 00000 n +0003446811 00000 n +0003446848 00000 n +0003446898 00000 n +0003446976 00000 n +0003447631 00000 n +0003447762 00000 n +0003451702 00000 n +0003451959 00000 n +0003452106 00000 n +0003452253 00000 n +0003452426 00000 n +0003452662 00000 n +0003452699 00000 n +0003453650 00000 n +0003453700 00000 n +0003453793 00000 n +0003454458 00000 n +0003454557 00000 n +0003456646 00000 n +0003456777 00000 n +0003457910 00000 n +0003458167 00000 n +0003458204 00000 n +0003464339 00000 n +0003464389 00000 n +0003464453 00000 n +0003464704 00000 n +0003464835 00000 n +0003469401 00000 n +0003469548 00000 n +0003469695 00000 n +0003469846 00000 n +0003469997 00000 n +0003470034 00000 n +0003470084 00000 n +0003470134 00000 n +0003470755 00000 n +0003470886 00000 n +0003471738 00000 n +0003471990 00000 n +0003826450 00000 n +0003826527 00000 n +0003828816 00000 n +0003828891 00000 n +0003829048 00000 n +0003829140 00000 n +0003829282 00000 n +0003829452 00000 n +0003829715 00000 n +0003829971 00000 n +0003830008 00000 n +0003830894 00000 n +0003830944 00000 n +0003831023 00000 n +0003831242 00000 n +0003831373 00000 n +0003833121 00000 n +0003833158 00000 n +0003833208 00000 n +0003833258 00000 n +0003833493 00000 n +0003833624 00000 n +0003838188 00000 n +0003838339 00000 n +0003838490 00000 n +0003838527 00000 n +0003838577 00000 n +0003838641 00000 n +0003838860 00000 n +0003838991 00000 n +0003845191 00000 n +0003845228 00000 n +0003845278 00000 n +0003845342 00000 n +0003845577 00000 n +0003845708 00000 n +0003851493 00000 n +0003851640 00000 n +0003851787 00000 n +0003851824 00000 n +0003851874 00000 n +0003851965 00000 n +0003852424 00000 n +0003852555 00000 n +0003858395 00000 n +0003858540 00000 n +0003858685 00000 n +0003858830 00000 n +0003858975 00000 n +0003859168 00000 n +0003859361 00000 n +0003859510 00000 n +0003859659 00000 n +0003859807 00000 n +0003859955 00000 n +0003860103 00000 n +0003860251 00000 n +0003860429 00000 n +0003860607 00000 n +0003860833 00000 n +0003861011 00000 n +0003861189 00000 n +0003861415 00000 n +0003861618 00000 n +0003861821 00000 n +0003862047 00000 n +0003862250 00000 n +0003862453 00000 n +0003862679 00000 n +0003862851 00000 n +0003863023 00000 n +0003863206 00000 n +0003863389 00000 n +0003863574 00000 n +0003863759 00000 n +0003863796 00000 n +0003863846 00000 n +0003863923 00000 n +0003864238 00000 n +0003864369 00000 n +0003865005 00000 n +0003865189 00000 n +0003865373 00000 n +0003865566 00000 n +0003865750 00000 n +0003865934 00000 n +0003866127 00000 n +0003866291 00000 n +0003866455 00000 n +0003866648 00000 n +0003866812 00000 n +0003866976 00000 n +0003867169 00000 n +0003867206 00000 n +0003867256 00000 n +0003867319 00000 n +0003867801 00000 n +0003868178 00000 n +0003868398 00000 n +0003868638 00000 n +0003869612 00000 n +0003871989 00000 n +0003872334 00000 n +0003872557 00000 n +0003872842 00000 n +0003873446 00000 n +0003883058 00000 n +0003883129 00000 n +0003883197 00000 n +0003883265 00000 n +0003883330 00000 n +0003883394 00000 n +0003883459 00000 n +0003883528 00000 n +0003883594 00000 n +0003883660 00000 n +0003883726 00000 n +0003883792 00000 n +0003883861 00000 n +0003883926 00000 n +0003883992 00000 n +0003884058 00000 n +0003884123 00000 n +0003884192 00000 n +0003884258 00000 n +0003884324 00000 n +0003884390 00000 n +0003884459 00000 n +0003884525 00000 n +0003884591 00000 n +0003884657 00000 n +0003884726 00000 n +0003884792 00000 n +0003884858 00000 n +0003884924 00000 n +0003884990 00000 n +0003885056 00000 n +0003885126 00000 n +0003885193 00000 n +0003885260 00000 n +0003885327 00000 n +0003885394 00000 n +0003885461 00000 n +0003885528 00000 n +0003885595 00000 n +0003885662 00000 n +0003885729 00000 n +0003885795 00000 n +0003885862 00000 n +0003885929 00000 n +0003885996 00000 n +0003886066 00000 n +0003886133 00000 n +0003886199 00000 n +0003886265 00000 n +0003886332 00000 n +0003886399 00000 n +0003886466 00000 n +0003886532 00000 n +0003886599 00000 n +0003886666 00000 n +0003886733 00000 n +0003886800 00000 n +0003886867 00000 n +0003886934 00000 n +0003887001 00000 n +0003887068 00000 n +0003887135 00000 n +0003887205 00000 n +0003887272 00000 n +0003887339 00000 n +0003887406 00000 n +0003887473 00000 n +0003887540 00000 n +0003887606 00000 n +0003887672 00000 n +0003887739 00000 n +0003887806 00000 n +0003887873 00000 n +0003887939 00000 n +0003888005 00000 n +0003888072 00000 n +0003888139 00000 n +0003888206 00000 n +0003888272 00000 n +0003888339 00000 n +0003888406 00000 n +0003888473 00000 n +0003888539 00000 n +0003888605 00000 n +0003888672 00000 n +0003888739 00000 n +0003888806 00000 n +0003888873 00000 n +0003888940 00000 n +0003889007 00000 n +0003889074 00000 n +0003889141 00000 n +0003889208 00000 n +0003889275 00000 n +0003889342 00000 n +0003889409 00000 n +0003889476 00000 n +0003889542 00000 n +0003889609 00000 n +0003889676 00000 n +0003889743 00000 n +0003889810 00000 n +0003889877 00000 n +0003889944 00000 n +0003890010 00000 n +0003890077 00000 n +0003890144 00000 n +0003890211 00000 n +0003890278 00000 n +0003890345 00000 n +0003890412 00000 n +0003890479 00000 n +0003890546 00000 n +0003890613 00000 n +0003890680 00000 n +0003890747 00000 n +0003890814 00000 n +0003890881 00000 n +0003890948 00000 n +0003891018 00000 n +0003891085 00000 n +0003891152 00000 n +0003891219 00000 n +0003891286 00000 n +0003891350 00000 n +0003891414 00000 n +0003891478 00000 n +0003891544 00000 n +0003891611 00000 n +0003891678 00000 n +0003891745 00000 n +0003891812 00000 n +0003891879 00000 n +0003891946 00000 n +0003892013 00000 n +0003892080 00000 n +0003892147 00000 n +0003892214 00000 n +0003892281 00000 n +0003892348 00000 n +0003892415 00000 n +0003892481 00000 n +0003892548 00000 n +0003892615 00000 n +0003892682 00000 n +0003892749 00000 n +0003892816 00000 n +0003892882 00000 n +0003892948 00000 n +0003893015 00000 n +0003893082 00000 n +0003893149 00000 n +0003893216 00000 n +0003893282 00000 n +0003893349 00000 n +0003893416 00000 n +0003893483 00000 n +0003893550 00000 n +0003893617 00000 n +0003893684 00000 n +0003893751 00000 n +0003893815 00000 n +0003893882 00000 n +0003893949 00000 n +0003894016 00000 n +0003894083 00000 n +0003894150 00000 n +0003894216 00000 n +0003894283 00000 n +0003894350 00000 n +0003894417 00000 n +0003894484 00000 n +0003894551 00000 n +0003894618 00000 n +0003894685 00000 n +0003894752 00000 n +0003894819 00000 n +0003894886 00000 n +0003894953 00000 n +0003895020 00000 n +0003895087 00000 n +0003895154 00000 n +0003895221 00000 n +0003895288 00000 n +0003895355 00000 n +0003895422 00000 n +0003895489 00000 n +0003895556 00000 n +0003895623 00000 n +0003895690 00000 n +0003895757 00000 n +0003895827 00000 n +0003895894 00000 n +0003895961 00000 n +0003896028 00000 n +0003896095 00000 n +0003896162 00000 n +0003896229 00000 n +0003896296 00000 n +0003896363 00000 n +0003896430 00000 n +0003896497 00000 n +0003896564 00000 n +0003896631 00000 n +0003896698 00000 n +0003896765 00000 n +0003896832 00000 n +0003896899 00000 n +0003896966 00000 n +0003897031 00000 n +0003897097 00000 n +0003897164 00000 n +0003897231 00000 n +0003897298 00000 n +0003897363 00000 n +0003897430 00000 n +0003897497 00000 n +0003897564 00000 n +0003897631 00000 n +0003897697 00000 n +0003897764 00000 n +0003897831 00000 n +0003897901 00000 n +0003897968 00000 n +0003898035 00000 n +0003898101 00000 n +0003898167 00000 n +0003898234 00000 n +0003898301 00000 n +0003898368 00000 n +0003898434 00000 n +0003898500 00000 n +0003898567 00000 n +0003898634 00000 n +0003898701 00000 n +0003898767 00000 n +0003898834 00000 n +0003898901 00000 n +0003898968 00000 n +0003899035 00000 n +0003899102 00000 n +0003899169 00000 n +0003899236 00000 n +0003899300 00000 n +0003899367 00000 n +0003899434 00000 n +0003899501 00000 n +0003899568 00000 n +0003899635 00000 n +0003899701 00000 n +0003899768 00000 n +0003899835 00000 n +0003899902 00000 n +0003899969 00000 n +0003900036 00000 n +0003900103 00000 n +0003900170 00000 n +0003900237 00000 n +0003900304 00000 n +0003900371 00000 n +0003900438 00000 n +0003900505 00000 n +0003900572 00000 n +0003900639 00000 n +0003900706 00000 n +0003900773 00000 n +0003900839 00000 n +0003900905 00000 n +0003900972 00000 n +0003901039 00000 n +0003901106 00000 n +0003901172 00000 n +0003901238 00000 n +0003901305 00000 n +0003901372 00000 n +0003901439 00000 n +0003901505 00000 n +0003901572 00000 n +0003901639 00000 n +0003901706 00000 n +0003901773 00000 n +0003901840 00000 n +0003901907 00000 n +0003901974 00000 n +0003902038 00000 n +0003902105 00000 n +0003902172 00000 n +0003902242 00000 n +0003902309 00000 n +0003902376 00000 n +0003902442 00000 n +0003902508 00000 n +0003902575 00000 n +0003902642 00000 n +0003902709 00000 n +0003902775 00000 n +0003902841 00000 n +0003902908 00000 n +0003902975 00000 n +0003903042 00000 n +0003903108 00000 n +0003903175 00000 n +0003903242 00000 n +0003903309 00000 n +0003903376 00000 n +0003903443 00000 n +0003903510 00000 n +0003903577 00000 n +0003903641 00000 n +0003903708 00000 n +0003903775 00000 n +0003903842 00000 n +0003903909 00000 n +0003903976 00000 n +0003904042 00000 n +0003904109 00000 n +0003904176 00000 n +0003904243 00000 n +0003904310 00000 n +0003904377 00000 n +0003904444 00000 n +0003904511 00000 n +0003904578 00000 n +0003904645 00000 n +0003904712 00000 n +0003904779 00000 n +0003904846 00000 n +0003904913 00000 n +0003904980 00000 n +0003905047 00000 n +0003905114 00000 n +0003905181 00000 n +0003905248 00000 n +0003905315 00000 n +0003905382 00000 n +0003905449 00000 n +0003905516 00000 n +0003905583 00000 n +0003905650 00000 n +0003905717 00000 n +0003905784 00000 n +0003905851 00000 n +0003905918 00000 n +0003905985 00000 n +0003906052 00000 n +0003906119 00000 n +0003906186 00000 n +0003906250 00000 n +0003906314 00000 n +0003906378 00000 n +0003906445 00000 n +0003906512 00000 n +0003906579 00000 n +0003906646 00000 n +0003906713 00000 n +0003906780 00000 n +0003906847 00000 n +0003906914 00000 n +0003906981 00000 n +0003907048 00000 n +0003907115 00000 n +0003907182 00000 n +0003907248 00000 n +0003907314 00000 n +0003907384 00000 n +0003907451 00000 n +0003907518 00000 n +0003907585 00000 n +0003907652 00000 n +0003907719 00000 n +0003907786 00000 n +0003907853 00000 n +0003907920 00000 n +0003907990 00000 n +0003908057 00000 n +0003908124 00000 n +0003908191 00000 n +0003908258 00000 n +0003908328 00000 n +0003908395 00000 n +0003908462 00000 n +0003908528 00000 n +0003908595 00000 n +0003908662 00000 n +0003908729 00000 n +0003908796 00000 n +0003908863 00000 n +0003908930 00000 n +0003908997 00000 n +0003909064 00000 n +0003909131 00000 n +0003909198 00000 n +0003909265 00000 n +0003909304 00000 n +0003909334 00000 n +trailer << /Size 720 /ID [<8f5d7594143fc0f39e284d12721c4b7d><41de6486a628b25d0e1363fe74092ccc>] >> startxref 216 %%EOF diff --git a/macros/latex/contrib/animate/animate.sty b/macros/latex/contrib/animate/animate.sty index c43aa7ef75..47c4d19d6f 100644 --- a/macros/latex/contrib/animate/animate.sty +++ b/macros/latex/contrib/animate/animate.sty @@ -13,7 +13,7 @@ \NeedsTeXFormat{LaTeX2e} -\def\@anim@version{2019/11/27} +\def\@anim@version{2019/12/03} \ProvidesPackage{animate} [\@anim@version\space PDF & SVG animations from files and inline graphics] @@ -84,8 +84,7 @@ % store result into macro given as #3 \ifpdf %pdflatex/lualatex \def\@anim@getpagecount#1#2#3{% - \edef\@anim@tempfilename{\noexpand\unquote@name{#1.#2}}% - \pdfximage page 1 {\@anim@tempfilename}\xdef#3{\the\pdflastximagepages}% + \pdfximage page 1 {#1.#2}\xdef#3{\the\pdflastximagepages}% } \else \if@anim@xetex @@ -1374,7 +1373,7 @@ \fi %determines file type of the sequence -\def\zap@finalspace#1 \@nil{#1} +\def\zap@finalspace#1 \@nil{\unquote@name{#1}} \ifpdf \def\@anim@getpath#1#2{% #2: empty | user provided file extension \ifx\@empty#2\@empty% diff --git a/macros/latex/contrib/animate/animate.tex b/macros/latex/contrib/animate/animate.tex index 532272fbd9..0a178a58f4 100644 --- a/macros/latex/contrib/animate/animate.tex +++ b/macros/latex/contrib/animate/animate.tex @@ -6,7 +6,6 @@ % http://mirrors.ctan.org/macros/latex/base/lppl.txt % for the details of that license. % -\listfiles \documentclass[a4paper]{article} \frenchspacing \usepackage[buttonbg=0.9]{animate} diff --git a/macros/latex/contrib/biblatex-contrib/archaeologie/README.md b/macros/latex/contrib/biblatex-contrib/archaeologie/README.md index 406a03a246..a2c6723228 100644 --- a/macros/latex/contrib/biblatex-contrib/archaeologie/README.md +++ b/macros/latex/contrib/biblatex-contrib/archaeologie/README.md @@ -4,7 +4,7 @@ bibLaTeX-__archaeologie__ Bundle bibLaTeX-style for archaeologists, historians and philologists. --- -Copyright (c) 2016-2019 Lukas C. Bossert +Copyright (c) 2015-2019 Lukas C. Bossert Copyright (c) 2015 Lukas C. Bossert | Johannes Friedl @@ -95,6 +95,11 @@ This bundle is constantly updated. For hints, errors or suggestions use the GitH All notable changes to this project will be documented in the [README.md](https://github.com/LukasCBossert/biblatex-archaeologie/blob/master/README.md). This project **does not** adhere to [Semantic Versioning](http://semver.org/). The markdown syntax is inspired by the conventions proposed by [keepachangelog.com](http://keepachangelog.com/). +## v2.4.3 (2019-12-03) +### *Fixed* +* Spelling error in Italian language for Dresden and München. Thanks to Matteo Turri. (Feedback always welcome!) +* Some code refactoring for better literate programming. + ## v2.4.2 (2019-05-01) ### *Fixed* diff --git a/macros/latex/contrib/biblatex-contrib/archaeologie/archaeologie.dtx b/macros/latex/contrib/biblatex-contrib/archaeologie/archaeologie.dtx index c75a565e3e..bf0085f0e0 100644 --- a/macros/latex/contrib/biblatex-contrib/archaeologie/archaeologie.dtx +++ b/macros/latex/contrib/biblatex-contrib/archaeologie/archaeologie.dtx @@ -1,7 +1,7 @@ %\iffalse %<*internal|bbx|cbx|dbx|lbx> -\def\archDate{2019/05/01} -\def\archVersion{2.4.2} +\def\archDate{2019/12/03} +\def\archVersion{2.4.3} %</internal|bbx|cbx|dbx|lbx> %<*internal> \iffalse @@ -64,7 +64,7 @@ bibLaTeX-__archaeologie__ Bundle bibLaTeX-style for archaeologists, historians and philologists. --- -Copyright (c) 2016-2019 Lukas C. Bossert +Copyright (c) 2015-2019 Lukas C. Bossert Copyright (c) 2015 Lukas C. Bossert | Johannes Friedl @@ -1295,8 +1295,8 @@ enhanced, colframe=yellow!20!black, sharp corners,rounded corners=southeast,arc is angular,arc=3mm, underlay={% - \path[fill=tcbcol@back!80!black] ([yshift=3mm]interior.south east)--++(-0.4,-0.1)--++(0.1,-0.2); - \path[draw=tcbcol@frame,shorten <=-0.05mm,shorten >=-0.05mm] ([yshift=3mm]interior.south east)--++(-0.4,-0.1)--++(0.1,-0.2); + \path[fill=white!80!black] ([yshift=3mm]interior.south east)--++(-0.4,-0.1)--++(0.1,-0.2); + \path[draw=black,shorten <=-0.05mm,shorten >=-0.05mm] ([yshift=3mm]interior.south east)--++(-0.4,-0.1)--++(0.1,-0.2); \path[fill=red!50!black,draw=none] (interior.south west) rectangle node[white]{\Huge\bfseries !} ([xshift=4mm]interior.north west); }, drop fuzzy shadow,#1 @@ -4811,7 +4811,7 @@ Lexikon-der-Technik,Bergmann2015,LTUR} \item[Brussels] <-- English\newline German: Brüssel\newline Italian: Bruxelles\newline Spanish: Bruselas\newline French: Bruxelles \item[Cologne] <-- English\newline German: Köln\newline Italian: Colonia\newline Spanish: Colonia\newline French: Cologne \item[Copenhagen] <-- English\newline German: Kopenhagen\newline Italian: Copenaghen\newline Spanish: Copenhague\newline French: Copenhague -\item[Dresden] <-- English\newline German: Dresden\newline Italian: Desda\newline Spanish: Dresde\newline French: Dresde +\item[Dresden] <-- English\newline German: Dresden\newline Italian: Dresda\newline Spanish: Dresde\newline French: Dresde \item[Florence] <-- English\newline German: Florenz\newline Italian: Firenze\newline Spanish: Firenze\newline French: Florence \item[Frankfurt] <-- English\newline German: Frankfurt am Main\newline Italian: Francoforte sul Meno\newline Spanish: Francfort del Meno\newline French: Francfort-sur-le-Main \item[Freiburg] <-- English\newline German: Freiburg \parentext{i. Breisgau}\newline Italian: Friburgo in Brisgovia\newline Spanish: Friburgo de Brisgovia\newline French: Fribourg-en-Brisgau @@ -4822,7 +4822,7 @@ Lexikon-der-Technik,Bergmann2015,LTUR} \item[Louvain] <-- English\newline German: Löwen\newline Italian: Lovanio\newline Spanish: Lovaina\newline French: Louvain \item[Mainz] <-- English\newline German: Mainz am Rhein\newline Italian: Magonza\newline Spanish: Maguncia\newline French: Mayence \item[Milano] <-- English\newline German: Mailand\newline Italian: Milano\newline Spanish: Milán\newline French: Milan -\item[Munich] <-- English\newline German: München\newline Italian: Monaco \parentext{di Bavaria}\newline Spanish: Múnich\newline French: Munich +\item[Munich] <-- English\newline German: München\newline Italian: Monaco di Baviera\newline Spanish: Múnich\newline French: Munich \item[Naples] <-- English\newline German: Neapel\newline Italian: Napoli\newline Spanish: Napoli\newline French: Naples \item[Paris] <-- English\newline German: Paris\newline Italian: Parigi\newline Spanish: París\newline French: Paris \item[Regensburg] <-- English\newline German: Regensburg\newline Italian: Ratisbona\newline Spanish: Ratisbona\newline French: Ratisbonne @@ -8106,6 +8106,12 @@ To see the long forms of journal titles or series you have to switch on the opti % ██ ██████ ██████ ██████ ██████ ██ ██ ███████ ██ ████ ██ % */ %<*readme> +## v2.4.3 (2019-12-03) +### *Fixed* +* Spelling error in Italian language for Dresden and München. Thanks to Matteo Turri. (Feedback always welcome!) +* Some code refactoring for better literate programming. + + ## v2.4.2 (2019-05-01) ### *Fixed* @@ -8287,7 +8293,9 @@ This update is also due to compatibility with `biblatex 3.8a`/`biber 2.8`. useprefix=true,% mincrossrefs=1,% } -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \newbool{bbx:edby} \newbool{bbx:width} \newbool{bbx:yearseries} @@ -8316,7 +8324,9 @@ This update is also due to compatibility with `biblatex 3.8a`/`biber 2.8`. \newtoggle{bbx:arachne} \setlength{\biblabelsep}{0em} -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \DeclareBibliographyOption{lstabbrv}[true]{% \csuse{bool#1}{bib:lstabbrv}% \addbibresource{archaeologie-lstabbrv.bib}} @@ -8349,7 +8359,9 @@ This update is also due to compatibility with `biblatex 3.8a`/`biber 2.8`. lstlocations,% lstpublishers,% } -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \DeclareBibliographyOption[string]{biblabel}{% \ifcsundef{archblx@biblabel@#1} {\PackageError{biblatex-archaeologie} @@ -8392,11 +8404,15 @@ This update is also due to compatibility with `biblatex 3.8a`/`biber 2.8`. \ifstrequal{#1}{true}% {\AtEveryCite{\renewcommand*{\mkbibnamefamily}[1]{\textsc{##1}}}}% {}} -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \ExecuteBibliographyOptions{% autolang=hyphen,% } -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \DeclareEntryOption{ancient}[true]{\csuse{bool#1}{cbx:ancient}} \DeclareEntryOption{frgancient}[true]{% \ifstrequal{#1}{true}% @@ -8449,7 +8465,9 @@ This update is also due to compatibility with `biblatex 3.8a`/`biber 2.8`. {Weitere Informationen unter \url{http://biblatex-archaeologie.de}} {For further information see \url{http://biblatex-archaeologie.de}} } -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \DeclareFieldFormat*{title}{#1\isdot} \DeclareFieldFormat{subtitle}{#1} \DeclareFieldFormat{booktitle}{#1} @@ -8509,12 +8527,16 @@ This update is also due to compatibility with `biblatex 3.8a`/`biber 2.8`. \ifhyperref% {\href{https://arachne.dainst.org/entity/#1}{\nolinkurl{#1}}}% {\nolinkurl{#1}}} -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \DeclareFieldAlias{zenon}{eprint:zenon} \DeclareFieldAlias{jstor}{eprint:jstor} \DeclareFieldAlias{urn}{eprint:urn} \DeclareFieldAlias{arachne}{eprint:arachne} -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \DeclareRedundantLanguages{german}{german,ngerman,austrian,naustrian} \DeclareRedundantLanguages{english,american}{english,american,british,% canadian,australian,newzealand,USenglish,UKenglish} @@ -8524,7 +8546,9 @@ This update is also due to compatibility with `biblatex 3.8a`/`biber 2.8`. \DeclareLanguageMapping{italian}{italian-archaeologie} \DeclareLanguageMapping{spanish}{spanish-archaeologie} %\DeclareLanguageMappingSuffix{-archaeologie} -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \NewBibliographyString{origtitle} \NewBibliographyString{firstprint} \NewBibliographyString{reviewof} @@ -8541,7 +8565,9 @@ This update is also due to compatibility with `biblatex 3.8a`/`biber 2.8`. \NewBibliographyString{subvoce} \NewBibliographyString{owntranslation} \NewBibliographyString{magthesis} -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \renewcommand*{\sqspace}{\addnbthinspace} \renewcommand*{\subtitlepunct}{\addperiod\addspace} \renewcommand*{\intitlepunct}{\addcolon\addspace} @@ -8785,7 +8811,9 @@ This update is also due to compatibility with `biblatex 3.8a`/`biber 2.8`. \enddateuncertainprint \dateeraprint{#1endyear}}}}}% \endgroup} -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \DeclareBibliographyAlias{collection}{book} \DeclareBibliographyAlias{reference}{book} \DeclareBibliographyAlias{institution}{school} @@ -8793,8 +8821,9 @@ This update is also due to compatibility with `biblatex 3.8a`/`biber 2.8`. \DeclareBibliographyAlias{incollection}{inbook} \DeclareBibliographyAlias{manual}{book} \DeclareBibliographyAlias{mathesis}{thesis} -%----------------------- - +% \end{macrocode} +% +% \begin{macrocode} \DeclareSortingTemplate{ndymdt}{ \sort{ \field{presort} @@ -8835,10 +8864,14 @@ This update is also due to compatibility with `biblatex 3.8a`/`biber 2.8`. \literal{9999} } } -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \DeclareSortingTemplate{shortseries}{\sort{\field{shortseries}}} \DeclareSortingTemplate{shortjournal}{\sort{\field{shortjournal}}} -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \defbibcheck{shortseries}{% \iffieldundef{shortseries}% {\skipentry}% @@ -8859,7 +8892,9 @@ This update is also due to compatibility with `biblatex 3.8a`/`biber 2.8`. {\skipentry}% {\savefieldcs{journaltitle}{\strfield{journaltitle}}}}% } -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \DeclareNameAlias{name:initials}{default} \DeclareNameAlias{author}{name:initials} \DeclareNameAlias{editor}{author} @@ -8869,13 +8904,17 @@ This update is also due to compatibility with `biblatex 3.8a`/`biber 2.8`. \DeclareNameAlias{bycommentator}{author} \DeclareNameAlias{bookauthor}{author} -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \DeclareListFormat{location}{% #1\ifthenelse{\value{listcount}<\value{liststop}}% {\locationdelim}% {}% } -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \AtEveryBibitem{% \iffieldequalstr{relatedtype}{translationof}% {\savename{translator}{\savedrelatedtranslator}% @@ -8887,10 +8926,12 @@ This update is also due to compatibility with `biblatex 3.8a`/`biber 2.8`. {}% {\clearname{translator}% \clearfield{origtitle}}} -%----------------------- +% \end{macrocode} +% %% provide macros to deal with intranslator, withincommentator, withinannotator, withinintroduction, withinforeword, withinafterword %% that is fields referring to the title work and not the booktitle work in inbook etc. works % these macros are essentially the same as the standard macros without the "in" +% \begin{macrocode} \newbibmacro*{byineditor+others}{% \ifnameundef{ineditor} {} @@ -8900,7 +8941,9 @@ This update is also due to compatibility with `biblatex 3.8a`/`biber 2.8`. \clearname{ineditor}% \newunit}% \usebibmacro{byintranslator+others}} -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \newbibmacro*{byintranslator+others}{% \ifnameundef{intranslator} {} @@ -8910,42 +8953,54 @@ This update is also due to compatibility with `biblatex 3.8a`/`biber 2.8`. \clearname{intranslator}% \newunit}% \usebibmacro{withinothers}} -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \newbibmacro*{withincommentator}{% \ifnameundef{incommentator} {} {\bibstring{withcommentator}% \setunit{\addspace}% \printnames[author]{incommentator}}} -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \newbibmacro*{withinannotator}{% \ifnameundef{inannotator} {} {\bibstring{withannotator}% \setunit{\addspace}% \printnames[author]{inannotator}}} -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \newbibmacro*{withinintroduction}{% \ifnameundef{inintroduction} {} {\bibstring{withintroduction}% \setunit{\addspace}% \printnames[author]{inintroduction}}} -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \newbibmacro*{withinforeword}{% \ifnameundef{inforeword} {} {\bibstring{withforeword}% \setunit{\addspace}% \printnames[author]{inforeword}}} -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \newbibmacro*{withinafterword}{% \ifnameundef{inafterword} {} {\bibstring{withafterword}% \setunit{\addspace}% \printnames[author]{inafterword}}} -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \newbibmacro*{withinothers}{% \usebibmacro{withincommentator}% \clearname{incommentator}% @@ -8961,7 +9016,9 @@ This update is also due to compatibility with `biblatex 3.8a`/`biber 2.8`. \newunit \usebibmacro{withinafterword}% \clearname{inafterword}} -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \newbibmacro{labelwidthbib}{% \begingroup \DeclareFieldFormat{bibhyperref}{##1}% @@ -8971,14 +9028,18 @@ This update is also due to compatibility with `biblatex 3.8a`/`biber 2.8`. \printtext[bibcitelabel]{\usebibmacro{cite}}% \endgroup } -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \newbibmacro{kicklabel}{% \sbox\arch@labelbox{\usebibmacro{labelwidthbib}}% \global\togglefalse{blx@insert}% \ifdim1.1\wd\arch@labelbox>% \labwidthsameline\leavevmode\newline \fi} -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \newbibmacro{labelwidthfield}[1]{% \begingroup \DeclareFieldFormat{bibhyperref}{##1}% @@ -8987,14 +9048,18 @@ This update is also due to compatibility with `biblatex 3.8a`/`biber 2.8`. \defcounter{maxnames}{\blx@maxcitenames}% \printfield{#1}% \endgroup} -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \newbibmacro{kicklabelfield}[1]{% \sbox\arch@labelbox{\usebibmacro{labelwidthfield}{#1}}% \global\togglefalse{blx@insert}% \ifdim.9\wd\arch@labelbox>% \labwidthsameline\leavevmode\newline \fi} -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \renewbibmacro*{pageref}{% \iflistundef{pageref} {} @@ -9004,7 +9069,9 @@ This update is also due to compatibility with `biblatex 3.8a`/`biber 2.8`. {\bibstring{backrefpages}\ppspace} {\bibstring{backrefpage}\ppspace}% \printlist[pageref][-\value{listtotal}]{pageref}}}} -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \newbibmacro*{bbx:parunit}{% \ifbibliography{% \setunit{\bibpagerefpunct}\newblock @@ -9013,38 +9080,50 @@ This update is also due to compatibility with `biblatex 3.8a`/`biber 2.8`. \setunit{\addcomma\newline\nobreak}}% {\newunit}% } - %----------------------- +% \end{macrocode} +% +% \begin{macrocode} \renewbibmacro*{eprint}{% \usebibmacro{bbx:parunit}% \iffieldundef{eprinttype}% {\printfield{eprint}}% {\printfield[eprint:\strfield{eprinttype}]{eprint}}% } -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \newbibmacro*{zenon}{% \iffieldundef{zenon} {}% {\usebibmacro{bbx:parunit}% \printfield{zenon}}} -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \newbibmacro*{jstor}{% \iffieldundef{jstor} {} {\usebibmacro{bbx:parunit}% \printfield{jstor}}} -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \newbibmacro*{arachne}{% \iffieldundef{arachne} {} {\usebibmacro{bbx:parunit}% \printfield{arachne}}} -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \newbibmacro*{urn}{% \iffieldundef{urn} {} {\usebibmacro{bbx:parunit}% \printfield{urn}}} -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \renewbibmacro*{url+urldate}{% \usebibmacro{bbx:parunit}% \iffieldundef{url} @@ -9052,7 +9131,9 @@ This update is also due to compatibility with `biblatex 3.8a`/`biber 2.8`. {\printfield{url}% \setunit*{\addspace}% \printtext{\printurldate}}} -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \renewbibmacro*{doi+eprint+url}{% \usebibmacro{bbx:parunit}% \iftoggle{bbx:doi}{\printfield{doi}}{}% @@ -9063,7 +9144,9 @@ This update is also due to compatibility with `biblatex 3.8a`/`biber 2.8`. \iftoggle{bbx:zenon}{\usebibmacro{zenon}}{}% \iftoggle{bbx:url}{\usebibmacro{url+urldate}}{}% } -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \renewbibmacro*{editor}{% \ifboolexpr{% test \ifuseeditor % @@ -9074,11 +9157,15 @@ This update is also due to compatibility with `biblatex 3.8a`/`biber 2.8`. \printtext[editortype]{\bibstring{editor}}% \clearname{editor}}% {}} -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \newbibmacro*{bookauthor}{% \printnames{bookauthor}% \newunit} -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \DeclareLabeldate{% \field{date} \field{year} @@ -9088,14 +9175,18 @@ This update is also due to compatibility with `biblatex 3.8a`/`biber 2.8`. \field{eventdate} \literal{nodate} } -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \newbibmacro*{series}{% \ifboolexpr{test {\iffieldundef{shortseries}} % or bool {bbx:noabbrv}}% {\printtext[seriestitle]{\printfield[titlecase]{series}}}% {\printfield{shortseries}}% } -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \renewbibmacro*{series+number}{% \iffieldundef{series}% {}% @@ -9105,7 +9196,9 @@ This update is also due to compatibility with `biblatex 3.8a`/`biber 2.8`. \ifbool{bbx:yearseries}% {\newunit}% {\setunit{\addspace}}}} -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \renewbibmacro*{journal}{% \ifboolexpr{test {\iffieldundef{shortjournal}}% or bool {bbx:noabbrv}}% @@ -9114,7 +9207,9 @@ This update is also due to compatibility with `biblatex 3.8a`/`biber 2.8`. \setunit{\subtitlepunct}% \printfield[titlecase]{journalsubtitle}}}% {\printfield{shortjournal}}} -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \newbibmacro{journal+number+year}{% \usebibmacro{journal}% \setunit{\jourvoldelim}% @@ -9127,29 +9222,41 @@ This update is also due to compatibility with `biblatex 3.8a`/`biber 2.8`. \printfield{number}}% \newunit}% \usebibmacro{pubstate+year}} -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \newbibmacro{pubstate+year}{% \iffieldundef{pubstate}% {\usebibmacro{date}}% {\printfield{pubstate}}} - %----------------------- +% \end{macrocode} +% +% \begin{macrocode} \newbibmacro*{pages}{% \printfield{pages}% \isdot} -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \newbibmacro{translation}{% \printfield{origtitle}% \setunit{\addcomma\space}% \usebibmacro{byeditor+others}} -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \newbibmacro{intranslation}{% \printfield{origtitle}% \setunit{\addcomma\space}% \usebibmacro{byineditor+others}} -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \newbibmacro*{related:reviewof}[1]{% \usebibmacro*{related:default}{#1}} -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \newbibmacro*{related:translationof}[1]{% \entrydata*{#1}{% \restorename{savedtranslator}{\savedrelatedtranslator}% @@ -9161,7 +9268,9 @@ This update is also due to compatibility with `biblatex 3.8a`/`biber 2.8`. \bibstring{bytranslator}%keine Sprache ausgegeben? \setunit{\addspace}% \printnames{savedtranslator}}}} -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \newbibmacro*{inreference:title+author}{% \iffieldundef{title}% {}% @@ -9178,7 +9287,9 @@ This update is also due to compatibility with `biblatex 3.8a`/`biber 2.8`. \ifbool{bbx:bibfullname} {\printnames[author]{labelname}} {\printnames[name:initials]{labelname}}}}} -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \newbibmacro*{maintitle+title+volumes}{% \iffieldsequal{maintitle}{title}% {\clearfield{maintitle}% @@ -9197,14 +9308,17 @@ This update is also due to compatibility with `biblatex 3.8a`/`biber 2.8`. {\usebibmacro{translation}}% {\usebibmacro{volume}}}% \newunit} -%----------------------- -%https://tex.stackexchange.com/a/15014/35864 +% \end{macrocode} +% \url{https://tex.stackexchange.com/a/15014/35864} +% \begin{macrocode} \newenvironment{fullexpotherlanguage}[1]{% \begingroup \edef\temp{\endgroup\noexpand\otherlanguage{#1}}% \temp }{\endotherlanguage} -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \renewbibmacro{event+venue+date}{% \setunit{\adddot\addspace}% \printfield{eventtitle}% @@ -9222,7 +9336,9 @@ This update is also due to compatibility with `biblatex 3.8a`/`biber 2.8`. {\printeventdate} \newunit% } -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \renewbibmacro*{title}{% \ifboolexpr{% test {\iffieldundef{title}}% @@ -9238,7 +9354,9 @@ This update is also due to compatibility with `biblatex 3.8a`/`biber 2.8`. {\setunit*{\subtitlepunct}% \printfield{titleaddon}}% } -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \renewbibmacro*{booktitle}{% \ifboolexpr{% test {\iffieldundef{booktitle}}% @@ -9252,7 +9370,9 @@ This update is also due to compatibility with `biblatex 3.8a`/`biber 2.8`. \setunit{\subtitlepunct}}% \printfield{booktitleaddon}% } -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \renewbibmacro*{maintitle}{% \ifboolexpr{% test {\iffieldundef{maintitle}}% @@ -9266,7 +9386,9 @@ This update is also due to compatibility with `biblatex 3.8a`/`biber 2.8`. \setunit{\subtitlepunct}}% \printfield{maintitleaddon}% } -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \newbibmacro*{edition}{% \iffieldint{edition}% {\setunit*{\addspace}% @@ -9274,7 +9396,9 @@ This update is also due to compatibility with `biblatex 3.8a`/`biber 2.8`. {\newunit \printfield{edition}% \setunit{\addspace}}} -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \newbibmacro*{location+edition+year}{% \ifboolexpr{% test {\iflistundef{location}}% @@ -9324,17 +9448,23 @@ This update is also due to compatibility with `biblatex 3.8a`/`biber 2.8`. \printlist{location}% \setunit*{\addspace}% \usebibmacro{pubstate+year}}}}} -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \renewbibmacro*{institution+location+date}{% \printlist{location}% \setunit*{\addspace}% \printlist{institution}% \setunit*{\addspace}% \usebibmacro{pubstate+year}} -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \newbibmacro{signatur}{% \printfield{note}} -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \newbibmacro*{volume}{% \iffieldundef{volume}% {\iffieldundef{volumes}% @@ -9352,7 +9482,9 @@ This update is also due to compatibility with `biblatex 3.8a`/`biber 2.8`. {\setunit{\addspace}% \printfield{part}}}% \newunit} -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \renewbibmacro*{maintitle+booktitle}{% \iffieldundef{maintitle}% {}% @@ -9363,7 +9495,9 @@ This update is also due to compatibility with `biblatex 3.8a`/`biber 2.8`. \usebibmacro{volume}% \newunit } -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \newbibmacro*{booktitle+volume+editor}{% \ifnameundef{editor}% {\usebibmacro{bookauthor}% @@ -9380,7 +9514,9 @@ This update is also due to compatibility with `biblatex 3.8a`/`biber 2.8`. \usebibmacro{maintitle+booktitle}% \newunit}}% } -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \newbibmacro*{reftitle}{% \iffieldundef{title}% {}% @@ -9393,30 +9529,40 @@ This update is also due to compatibility with `biblatex 3.8a`/`biber 2.8`. {}% {\printfield[brackets]{number}}}}% } -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \DeclareBibliographyDriver{shortjournal}{% \printtext[journaltitle]{% \printfield[titlecase]{journaltitle}% \setunit{\subtitlepunct}% \printfield[titlecase]{journalsubtitle}}% \blx@initunit} -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \DeclareBibliographyDriver{shortseries}{% \printtext[seriestitle]{% \printfield[titlecase]{series}}% \blx@initunit} -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \DeclareDataInheritance{reference}{inreference}{% \inherit{shorthand}{booktitle}% \noinherit{volumes}% } -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \DeclareBibliographyDriver{shorthand}{% \iffieldundef{title}% {\printfield{booktitle}}% {\printfield{title}}% } -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \DeclareBibliographyDriver{article}{% \usebibmacro{bibindex}% \usebibmacro{begentry}% @@ -9441,7 +9587,9 @@ This update is also due to compatibility with `biblatex 3.8a`/`biber 2.8`. {}% \usebibmacro{finentry}% } -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \DeclareBibliographyDriver{book}{% \usebibmacro{bibindex}% \usebibmacro{begentry}% @@ -9472,7 +9620,9 @@ This update is also due to compatibility with `biblatex 3.8a`/`biber 2.8`. {}% \usebibmacro{finentry}% } -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \DeclareBibliographyDriver{thesis}{% \usebibmacro{bibindex}% \usebibmacro{begentry}% @@ -9494,7 +9644,9 @@ This update is also due to compatibility with `biblatex 3.8a`/`biber 2.8`. {}% \usebibmacro{finentry}% } -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \DeclareBibliographyDriver{proceedings}{% \usebibmacro{bibindex}% \usebibmacro{begentry}% @@ -9524,7 +9676,9 @@ This update is also due to compatibility with `biblatex 3.8a`/`biber 2.8`. {}% \usebibmacro{finentry}% } -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \DeclareBibliographyDriver{inproceedings}{% \usebibmacro{bibindex}% \usebibmacro{begentry}% @@ -9560,7 +9714,9 @@ This update is also due to compatibility with `biblatex 3.8a`/`biber 2.8`. {}% \usebibmacro{finentry}% } -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \DeclareBibliographyDriver{talk}{% \usebibmacro{bibindex}% \usebibmacro{begentry}% @@ -9587,7 +9743,9 @@ This update is also due to compatibility with `biblatex 3.8a`/`biber 2.8`. {}% \usebibmacro{finentry}% } -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \DeclareBibliographyDriver{inbook}{% \usebibmacro{bibindex}% \usebibmacro{begentry}% @@ -9624,7 +9782,9 @@ This update is also due to compatibility with `biblatex 3.8a`/`biber 2.8`. {}% \usebibmacro{finentry}% } -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \DeclareBibliographyDriver{inreference}{% \usebibmacro{bibindex}% \usebibmacro{begentry}% @@ -9643,7 +9803,9 @@ This update is also due to compatibility with `biblatex 3.8a`/`biber 2.8`. \newunit\newblock \usebibmacro{finentry}% } -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \DeclareBibliographyDriver{review}{% \usebibmacro{bibindex}% \usebibmacro{begentry}% @@ -9665,7 +9827,9 @@ This update is also due to compatibility with `biblatex 3.8a`/`biber 2.8`. \newunit\newblock \usebibmacro{finentry}% } -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \defbibenvironment{bibliography}% {\list% {\usebibmacro{labelwidthbib}}% @@ -9678,7 +9842,9 @@ This update is also due to compatibility with `biblatex 3.8a`/`biber 2.8`. \renewcommand*{\makelabel}[1]{##1\hss}}}% {\endlist}% {\item\usebibmacro{kicklabel}} - %----------------------- +% \end{macrocode} +% +% \begin{macrocode} \def\do#1{% \defbibenvironment{#1} {\list% @@ -9694,9 +9860,10 @@ This update is also due to compatibility with `biblatex 3.8a`/`biber 2.8`. {\item\usebibmacro{kicklabelfield}{#1}}% } \docsvlist{shortjournal,shortseries} - +% \end{macrocode} % this will not be needed in future versions of biblatex, see -% https://github.com/plk/biblatex/commit/9a1f550222e294af5490488093a5e33e10493c63 +% \url{https://github.com/plk/biblatex/commit/9a1f550222e294af5490488093a5e33e10493c63} +% \begin{macrocode} \providecommand*{\ifdateyearsequal}[2]{% \ifboolexpr{ test {\iffieldsequal{#1year}{#2year}} and test {\iffieldsequal{#1dateera}{#2dateera}}}} @@ -9722,12 +9889,13 @@ This update is also due to compatibility with `biblatex 3.8a`/`biber 2.8`. % \fi %\section{Citation (.cbx)} % \begin{macrocode} - \newbool{cbx:yearinparens} \newbool{cbx:seenote} \newbool{cbx:uniqueme} \newbool{cbx:yearinparensoption} -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} %\renewcommand*{\multicitedelim}{\addsemicolon\addspace} \newcommand*{\labelyeardelim}{\addspace} %\renewcommand{\textcitedelim}{\addcomma\space} @@ -9791,8 +9959,9 @@ This update is also due to compatibility with `biblatex 3.8a`/`biber 2.8`. \InitializeCitationStyle{% \global\cslet{cbx@bseen@names@\the\c@refsection}\@empty \global\cslet{cbx@fseen@names@\the\c@refsection}\@empty} - -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \DeclareBibliographyOption{yearinparens}[true]{% \ifstrequal{#1}{true}% {\DeclareFieldFormat{citeyear}{\mkbibparens{##1}}% @@ -9810,7 +9979,9 @@ This update is also due to compatibility with `biblatex 3.8a`/`biber 2.8`. Use one of the values 'initials', 'full', 'family', 'firstfulltheninitials' or 'firstfullthenfamily'.}{}}% \def\citeauthorformatVALUE{#1}} \DeclareEntryOption{uniqueme}[true]{\csuse{bool#1}{cbx:uniqueme}} -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \DeclareFieldFormat{citeyear}{#1} \DeclareFieldFormat{prenote}{#1\isdot} \DeclareFieldFormat{postnote}{\mknormrange{#1}} @@ -10020,9 +10191,9 @@ This update is also due to compatibility with `biblatex 3.8a`/`biber 2.8`. Value 'firstfull' for 'citeauthorformat' is deprecated,\MessageBreak use 'firstfulltheninitials' instead.}% \cbx@arch@citeauthorformat@firstfulltheninitials} - - -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \ExecuteBibliographyOptions{% citetracker=true, idemtracker=true, @@ -10036,7 +10207,9 @@ This update is also due to compatibility with `biblatex 3.8a`/`biber 2.8`. uniquename=minfull, autocite=footnote, } -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \newbibmacro*{uniqueshorthand}{% \printtext[brackets]{% \ifnameundef{translator} @@ -10046,7 +10219,9 @@ This update is also due to compatibility with `biblatex 3.8a`/`biber 2.8`. {\usebibmacro{series}}}% {\printnames[name:family]{intranslator}}}% {\printnames[name:family]{translator}}}} -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \renewbibmacro*{citeindex}{% \ifciteindex% {\ifboolexpr{% @@ -10057,7 +10232,9 @@ This update is also due to compatibility with `biblatex 3.8a`/`biber 2.8`. {\indexnames{labelname}}}% {}% } -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \renewbibmacro*{postnote}{% \ifboolexpr{ bool{bbx:inreferencesasfullcite} @@ -10073,13 +10250,17 @@ This update is also due to compatibility with `biblatex 3.8a`/`biber 2.8`. {\setunit{\addspace}% \usebibmacro{cite:frgname}}% {}}}} -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \newbibmacro*{cite:frgname}{% \ifnameundef{shorteditor}% {\printnames[name:family]{editor}}% {\printnames{shorteditor}}% } -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \newbibmacro*{seenote}{% \ifnameundef{labelname}% {\usebibmacro{cite:label}}% @@ -10091,19 +10272,27 @@ This update is also due to compatibility with `biblatex 3.8a`/`biber 2.8`. \addspace% \ref{footref:\thefield{entrykey}}}% \renewcommand{\postnotedelim}{\addspace}} -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \newbibmacro*{cite:title}{\printfield{labeltitle}} -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \newbibmacro*{cite:origtitle}{% \iffieldundef{origtitle} {\usebibmacro{cite:title}} {\printfield{origtitle}}} -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \newbibmacro*{cite:year}{% \iffieldundef{labelyear} {} {\printtext[citeyear]{\usebibmacro{cite:labeldate+extradate}}}} -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \newbibmacro*{cite:lexikon}{% \printfield{booktitle}% \setunit{\addspace}% @@ -10116,7 +10305,9 @@ This update is also due to compatibility with `biblatex 3.8a`/`biber 2.8`. {\printfield{postnote}}% \usebibmacro{inreference:title+author}% } -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \newbibmacro{cite:seenote}{% \ifboolexpr{bool{cbx:ancient}% or bool{cbx:frgancient}% @@ -10130,7 +10321,9 @@ This update is also due to compatibility with `biblatex 3.8a`/`biber 2.8`. {\DeclareNameAlias{sortname}{default}}% {\thefield{entrytype}}% \iffootnote{\label{footref:\thefield{entrykey}}}}}}} -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \newbibmacro{cite}{% \ifboolexpr{ bool{bbx:inreferencesasfullcite} @@ -10149,14 +10342,18 @@ This update is also due to compatibility with `biblatex 3.8a`/`biber 2.8`. \setunit{\nameyeardelim}}% \usebibmacro{cite:year}}% {\usebibmacro{cite:shorthand}}}}}} -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \newbibmacro*{citeyear}{% \iffieldundef{shorthand}% {\iffieldundef{labelyear}% {\usebibmacro{cite:label}}% {\usebibmacro{cite:labeldate+extradate}}}% {\usebibmacro{cite}}} -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \newbibmacro*{textcite}{% \ifnameundef{labelname}% {\iffieldundef{shorthand}% @@ -10174,7 +10371,9 @@ This update is also due to compatibility with `biblatex 3.8a`/`biber 2.8`. \global\booltrue{cbx:yearinparens}% \nameyeardelim\bibopenparen}% \usebibmacro{citeyear}}} -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \newbibmacro*{cite:shorthand}{% \ifbool{cbx:seenote}% {\printtext{\printfield{shorthand}}}% @@ -10184,17 +10383,23 @@ This update is also due to compatibility with `biblatex 3.8a`/`biber 2.8`. {\setunit*{\addspace}% \usebibmacro*{uniqueshorthand}}% {}}}} -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \newbibmacro*{cite:label}{% \iffieldundef{label}% {\printtext[bibhyperref]{\printfield[citetitle]{labeltitle}}}% {\printtext[bibhyperref]{\printfield{label}}}} -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \newbibmacro*{cite:labeldate+extradate}{% \iffieldundef{labelyear} {} {\printtext[bibhyperref]{\printlabeldateextra}}} -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \newbibmacro*{textcite:postnote}{% \iffieldundef{postnote}% {\ifbool{cbx:yearinparens}% @@ -10209,21 +10414,27 @@ This update is also due to compatibility with `biblatex 3.8a`/`biber 2.8`. \usebibmacro{cite:frgname}% \bibcloseparen}% \bibcloseparen}} -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \DeclareCiteCommand{\cite}% {\usebibmacro{prenote}}% {\usebibmacro{citeindex}% \usebibmacro{cite}}% {\multicitedelim}% {\usebibmacro{postnote}} - %----------------------- +% \end{macrocode} +% +% \begin{macrocode} \DeclareCiteCommand{\footcite}[\mkbibfootnote] {\usebibmacro{prenote}}% {\usebibmacro{citeindex}% \usebibmacro{cite}}% {\multicitedelim}% {\usebibmacro{postnote}} -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \DeclareCiteCommand{\textcite}% {\boolfalse{cbx:yearinparens}% \renewcommand*{\multinamedelim}{\addcomma\space}% @@ -10245,14 +10456,18 @@ This update is also due to compatibility with `biblatex 3.8a`/`biber 2.8`. {\ifbool{cbx:seenote} {\usebibmacro{postnote}}% {\usebibmacro{textcite:postnote}}} -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \DeclareCiteCommand{\parencite}[\mkbibparens]% {\usebibmacro{prenote}}% {\usebibmacro{citeindex}% \usebibmacro{cite}}% {\multicitedelim}% {\usebibmacro{postnote}} -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \DeclareCiteCommand{\smartcite}[\iffootnote\textnormal\mkbibfootnote] {\usebibmacro{prenote}} {\usebibmacro{citeindex}% @@ -10264,7 +10479,9 @@ This update is also due to compatibility with `biblatex 3.8a`/`biber 2.8`. test{\ifentrytype{inreference}}} {} {\usebibmacro{postnote}}}% -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \DeclareCiteCommand{\fullcite} {\usebibmacro{prenote}} {\usedriver @@ -10272,7 +10489,9 @@ This update is also due to compatibility with `biblatex 3.8a`/`biber 2.8`. {\thefield{entrytype}}} {\multicitedelim} {\usebibmacro{postnote}} -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \DeclareCiteCommand{\footfullcite}[\mkbibfootnote] {\usebibmacro{prenote}} {\usedriver @@ -10280,12 +10499,16 @@ This update is also due to compatibility with `biblatex 3.8a`/`biber 2.8`. {\thefield{entrytype}}} {\multicitedelim} {\usebibmacro{postnote}} -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \DeclareMultiCiteCommand{\cites}{\cite}{\multicitedelim} \DeclareMultiCiteCommand{\parencites}[\mkbibparens]{\parencite}{\multicitedelim} \DeclareMultiCiteCommand{\textcites}{\textcite}{} \DeclareMultiCiteCommand{\smartcites}[\iffootnote\textnormal\mkbibfootnote]{\smartcite}{\multicitedelim} -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \DeclareCiteCommand{\citeauthor} {\boolfalse{citetracker}% \boolfalse{pagetracker}% @@ -10304,7 +10527,9 @@ This update is also due to compatibility with `biblatex 3.8a`/`biber 2.8`. {\printnames[citeauthor]{labelname}}}% {\multicitedelim}% {\usebibmacro{postnote}} -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \DeclareCiteCommand{\citetranslator} {\boolfalse{citetracker}% \boolfalse{pagetracker}% @@ -10333,7 +10558,9 @@ This update is also due to compatibility with `biblatex 3.8a`/`biber 2.8`. {\printtext[bibhyperref]{\printnames[citeauthor]{translator}}}}}} {\multicitedelim}% {\usebibmacro{postnote}} -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \DeclareCiteCommand*{\citetranslator} {\boolfalse{citetracker}% \boolfalse{pagetracker}% @@ -10363,7 +10590,9 @@ This update is also due to compatibility with `biblatex 3.8a`/`biber 2.8`. {\usebibmacro{bytranslator+others}}}}}% {\multicitedelim}% {\usebibmacro{postnote}} -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \DeclareCiteCommand*{\citeauthor} {\boolfalse{citetracker}% \boolfalse{pagetracker}% @@ -10372,7 +10601,9 @@ This update is also due to compatibility with `biblatex 3.8a`/`biber 2.8`. \printnames[][1-1]{labelname}} {\multicitedelim} {\usebibmacro{postnote}} -%----------------------- +% \end{macrocode} +% +% \begin{macrocode} \DeclareCiteCommand{\citetitle} {\boolfalse{citetracker}% \boolfalse{pagetracker}% @@ -10840,7 +11071,7 @@ This update is also due to compatibility with `biblatex 3.8a`/`biber 2.8`. @String{Brussels= {\iflanguage{english}{Brussels}{\iflanguage{italian}{Bruxelles}{\iflanguage{french}{Bruxelles}{\iflanguage{spanish}{Bruselas}{\iflanguage{ngerman}{Brüssel}{\iflanguage{german}{Brüssel}{}}}}}}}} @String{Cologne= {\iflanguage{english}{Cologne}{\iflanguage{italian}{Colonia}{\iflanguage{french}{Cologne}{\iflanguage{spanish}{Colonia}{\iflanguage{ngerman}{Köln}{\iflanguage{german}{Köln}{}}}}}}}} @String{Copenhagen= {\iflanguage{english}{Copenhagen}{\iflanguage{italian}{Copenaghen}{\iflanguage{french}{Copenhague}{\iflanguage{spanish}{Copenhague}{\iflanguage{ngerman}{Kopenhagen}{\iflanguage{german}{Kopenhagen}{}}}}}}}} -@String{Dresden= {\iflanguage{english}{Dresden}{\iflanguage{italian}{Desda}{\iflanguage{french}{Dresde}{\iflanguage{spanish}{Dresde}{\iflanguage{ngerman}{Dresden}{\iflanguage{german}{Dresden}{}}}}}}}} +@String{Dresden= {\iflanguage{english}{Dresden}{\iflanguage{italian}{Dresda}{\iflanguage{french}{Dresde}{\iflanguage{spanish}{Dresde}{\iflanguage{ngerman}{Dresden}{\iflanguage{german}{Dresden}{}}}}}}}} @String{Florence= {\iflanguage{english}{Florence}{\iflanguage{italian}{Firenze}{\iflanguage{french}{Florence}{\iflanguage{spanish}{Firenze}{\iflanguage{ngerman}{Florenz}{\iflanguage{german}{Florenz}{}}}}}}}} @String{Frankfurt= {\iflanguage{english}{Frankfurt}{\iflanguage{italian}{Francoforte sul Meno}{\iflanguage{french}{Francfort-sur-le-Main}{\iflanguage{spanish}{Francfort del Meno}{\iflanguage{ngerman}{Frankfurt am Main}{\iflanguage{german}{Frankfurt am Main}{}}}}}}}} @String{Freiburg= {\iflanguage{english}{Freiburg}{\iflanguage{italian}{Friburgo in Brisgovia}{\iflanguage{french}{Fribourg-en-Brisgau}{\iflanguage{spanish}{Friburgo de Brisgovia}{\iflanguage{ngerman}{Freiburg \parentext{i. Breisgau}}{\iflanguage{german}{Freiburg \parentext{i. Breisgau}}{}}}}}}}} @@ -10851,7 +11082,7 @@ This update is also due to compatibility with `biblatex 3.8a`/`biber 2.8`. @String{Louvain= {\iflanguage{english}{Louvain}{\iflanguage{italian}{Lovanio}{\iflanguage{french}{Louvain}{\iflanguage{spanish}{Lovaina}{\iflanguage{ngerman}{Löwen}{\iflanguage{german}{Löwen}{}}}}}}}} @String{Mainz= {\iflanguage{english}{Mainz}{\iflanguage{italian}{Magonza}{\iflanguage{french}{Mayence}{\iflanguage{spanish}{Maguncia}{\iflanguage{ngerman}{Mainz am Rhein}{\iflanguage{german}{Mainz am Rhein}{}}}}}}}} @String{Milano= {\iflanguage{english}{Milano}{\iflanguage{italian}{Milano}{\iflanguage{french}{Milan}{\iflanguage{spanish}{Milán}{\iflanguage{ngerman}{Mailand}{\iflanguage{german}{Mailand}{}}}}}}}} -@String{Munich= {\iflanguage{english}{Munich}{\iflanguage{italian}{Monaco \parentext{di Bavaria}}{\iflanguage{french}{Munich}{\iflanguage{spanish}{Múnich}{\iflanguage{ngerman}{München}{\iflanguage{german}{München}{}}}}}}}} +@String{Munich= {\iflanguage{english}{Munich}{\iflanguage{italian}{Monaco di Baviera}{\iflanguage{french}{Munich}{\iflanguage{spanish}{Múnich}{\iflanguage{ngerman}{München}{\iflanguage{german}{München}{}}}}}}}} @String{Naples= {\iflanguage{english}{Naples}{\iflanguage{italian}{Napoli}{\iflanguage{french}{Naples}{\iflanguage{spanish}{Napoli}{\iflanguage{ngerman}{Neapel}{\iflanguage{german}{Neapel}{}}}}}}}} @String{Paris= {\iflanguage{english}{Paris}{\iflanguage{italian}{Parigi}{\iflanguage{french}{Paris}{\iflanguage{spanish}{París}{\iflanguage{ngerman}{Paris}{\iflanguage{german}{Paris}{}}}}}}}} @String{Regensburg= {\iflanguage{english}{Regensburg}{\iflanguage{italian}{Ratisbona}{\iflanguage{french}{Ratisbonne}{\iflanguage{spanish}{Ratisbona}{\iflanguage{ngerman}{Regensburg}{\iflanguage{german}{Regensburg}{}}}}}}}} diff --git a/macros/latex/contrib/biblatex-contrib/archaeologie/archaeologie.pdf b/macros/latex/contrib/biblatex-contrib/archaeologie/archaeologie.pdf Binary files differindex f67d70e087..2f58e1ab8a 100644 --- a/macros/latex/contrib/biblatex-contrib/archaeologie/archaeologie.pdf +++ b/macros/latex/contrib/biblatex-contrib/archaeologie/archaeologie.pdf diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chem/biblatex-chem-acs.pdf b/macros/latex/contrib/biblatex-contrib/biblatex-chem/biblatex-chem-acs.pdf Binary files differindex 891df569dc..5ecab29373 100644 --- a/macros/latex/contrib/biblatex-contrib/biblatex-chem/biblatex-chem-acs.pdf +++ b/macros/latex/contrib/biblatex-contrib/biblatex-chem/biblatex-chem-acs.pdf diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chem/biblatex-chem-angew.pdf b/macros/latex/contrib/biblatex-contrib/biblatex-chem/biblatex-chem-angew.pdf Binary files differindex 795e8c44c3..b97d33fe73 100644 --- a/macros/latex/contrib/biblatex-contrib/biblatex-chem/biblatex-chem-angew.pdf +++ b/macros/latex/contrib/biblatex-contrib/biblatex-chem/biblatex-chem-angew.pdf diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chem/biblatex-chem-biochem.pdf b/macros/latex/contrib/biblatex-contrib/biblatex-chem/biblatex-chem-biochem.pdf Binary files differindex b7b990ff4b..3f8f25a6de 100644 --- a/macros/latex/contrib/biblatex-contrib/biblatex-chem/biblatex-chem-biochem.pdf +++ b/macros/latex/contrib/biblatex-contrib/biblatex-chem/biblatex-chem-biochem.pdf diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chem/biblatex-chem-rsc.pdf b/macros/latex/contrib/biblatex-contrib/biblatex-chem/biblatex-chem-rsc.pdf Binary files differindex fbb7150642..284a115e8f 100644 --- a/macros/latex/contrib/biblatex-contrib/biblatex-chem/biblatex-chem-rsc.pdf +++ b/macros/latex/contrib/biblatex-contrib/biblatex-chem/biblatex-chem-rsc.pdf diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chem/biblatex-chem.pdf b/macros/latex/contrib/biblatex-contrib/biblatex-chem/biblatex-chem.pdf Binary files differindex c5316fb35c..c36dc44779 100644 --- a/macros/latex/contrib/biblatex-contrib/biblatex-chem/biblatex-chem.pdf +++ b/macros/latex/contrib/biblatex-contrib/biblatex-chem/biblatex-chem.pdf diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chem/biblatex-chem.tex b/macros/latex/contrib/biblatex-contrib/biblatex-chem/biblatex-chem.tex index 8c9690f39a..5d91e6c829 100644 --- a/macros/latex/contrib/biblatex-contrib/biblatex-chem/biblatex-chem.tex +++ b/macros/latex/contrib/biblatex-contrib/biblatex-chem/biblatex-chem.tex @@ -21,8 +21,8 @@ {\texttt{joseph.wright@morningstar2.co.uk}}}} \title{\pkg{biblatex-chem} -- A set of \pkg{biblatex} implementations of chemistry-related bibliography styles% - \footnote{This file describes v1.1x, last revised 2019/08/24.}} -\date{Released 2019/08/24} + \footnote{This file describes v1.1y, last revised 2019/12/03.}} +\date{Released 2019/12/03} \providecommand*{\opt}[1]{\texttt{#1}} \providecommand*{\pkg}[1]{\textsf{#1}} @@ -230,6 +230,7 @@ be sent by e-mail to \changes{v1.1w}{2018/10/18}{Bring \texttt{related} support in line with \pkg{biblatex} core} \changes{v1.1x}{2019-08-24}{Better formatting when article titles are included} +\changes{v1.1y}{2019-12-03}{Add a missing space} \PrintChanges diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chem/chem-acs.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-chem/chem-acs.bbx index 3d33792c48..47dfebd4b2 100644 --- a/macros/latex/contrib/biblatex-contrib/biblatex-chem/chem-acs.bbx +++ b/macros/latex/contrib/biblatex-contrib/biblatex-chem/chem-acs.bbx @@ -8,7 +8,7 @@ %% --------------------------------------------------------------- %% -\ProvidesFile{chem-acs.bbx}[2019/08/24 v1.1x biblatex bibliography style] +\ProvidesFile{chem-acs.bbx}[2019/12/03 v1.1y biblatex bibliography style] % Load the standard style to avoid copy-pasting unnecessary material \RequireBibliographyStyle{numeric-comp} @@ -286,7 +286,7 @@ \iftoggle{bbx:articletitle} {% \usebibmacro{title}% - \printunit{\adddot}% + \printunit{\adddot\addspace}% } {}% \usebibmacro{byauthor}% diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chem/chem-acs.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-chem/chem-acs.cbx index 353cc55721..cc1625b50e 100644 --- a/macros/latex/contrib/biblatex-contrib/biblatex-chem/chem-acs.cbx +++ b/macros/latex/contrib/biblatex-contrib/biblatex-chem/chem-acs.cbx @@ -8,7 +8,7 @@ %% --------------------------------------------------------------- %% -\ProvidesFile{chem-acs.cbx}[2019/08/24 v1.1x biblatex citation style] +\ProvidesFile{chem-acs.cbx}[2019/12/03 v1.1y biblatex citation style] \RequireCitationStyle{numeric-comp} diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chem/chem-angew.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-chem/chem-angew.bbx index 4de530d3c0..666d420a07 100644 --- a/macros/latex/contrib/biblatex-contrib/biblatex-chem/chem-angew.bbx +++ b/macros/latex/contrib/biblatex-contrib/biblatex-chem/chem-angew.bbx @@ -8,7 +8,7 @@ %% --------------------------------------------------------------- %% -\ProvidesFile{chem-angew.bbx}[2019/08/24 v1.1x biblatex bibliography style] +\ProvidesFile{chem-angew.bbx}[2019/12/03 v1.1y biblatex bibliography style] % Load the standard style to avoid copy-pasting unnecessary material \RequireBibliographyStyle{numeric-comp} diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chem/chem-angew.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-chem/chem-angew.cbx index cba9538058..1a93d1c099 100644 --- a/macros/latex/contrib/biblatex-contrib/biblatex-chem/chem-angew.cbx +++ b/macros/latex/contrib/biblatex-contrib/biblatex-chem/chem-angew.cbx @@ -8,7 +8,7 @@ %% --------------------------------------------------------------- %% -\ProvidesFile{chem-angew.cbx}[2019/08/24 v1.1x biblatex citation style] +\ProvidesFile{chem-angew.cbx}[2019/12/03 v1.1y biblatex citation style] \RequireCitationStyle{numeric-comp} diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chem/chem-biochem.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-chem/chem-biochem.bbx index 0b072056d4..f729e852b4 100644 --- a/macros/latex/contrib/biblatex-contrib/biblatex-chem/chem-biochem.bbx +++ b/macros/latex/contrib/biblatex-contrib/biblatex-chem/chem-biochem.bbx @@ -8,7 +8,7 @@ %% --------------------------------------------------------------- %% -\ProvidesFile{chem-biochem.bbx}[2019/08/24 v1.1x biblatex bibliography style] +\ProvidesFile{chem-biochem.bbx}[2019/12/03 v1.1y biblatex bibliography style] % Load the standard style to avoid copy-pasting unnecessary material \RequireBibliographyStyle{numeric-comp} diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chem/chem-biochem.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-chem/chem-biochem.cbx index fd272ea7e5..05d832300c 100644 --- a/macros/latex/contrib/biblatex-contrib/biblatex-chem/chem-biochem.cbx +++ b/macros/latex/contrib/biblatex-contrib/biblatex-chem/chem-biochem.cbx @@ -8,7 +8,7 @@ %% --------------------------------------------------------------- %% -\ProvidesFile{chem-biochem.cbx}[2019/08/24 v1.1x biblatex citation style] +\ProvidesFile{chem-biochem.cbx}[2019/12/03 v1.1y biblatex citation style] \RequireCitationStyle{numeric-comp} diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chem/chem-rsc.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-chem/chem-rsc.bbx index 48815b4f73..6d0983da08 100644 --- a/macros/latex/contrib/biblatex-contrib/biblatex-chem/chem-rsc.bbx +++ b/macros/latex/contrib/biblatex-contrib/biblatex-chem/chem-rsc.bbx @@ -8,7 +8,7 @@ %% --------------------------------------------------------------- %% -\ProvidesFile{chem-rsc.bbx}[2019/08/24 v1.1x biblatex bibliography style] +\ProvidesFile{chem-rsc.bbx}[2019/12/03 v1.1y biblatex bibliography style] % Load the standard style to avoid copy-pasting unnecessary material \RequireBibliographyStyle{numeric-comp} diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chem/chem-rsc.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-chem/chem-rsc.cbx index 1e00013dfd..202b6110fb 100644 --- a/macros/latex/contrib/biblatex-contrib/biblatex-chem/chem-rsc.cbx +++ b/macros/latex/contrib/biblatex-contrib/biblatex-chem/chem-rsc.cbx @@ -8,7 +8,7 @@ %% --------------------------------------------------------------- %% -\ProvidesFile{chem-rsc.cbx}[2019/08/24 v1.1x biblatex citation style] +\ProvidesFile{chem-rsc.cbx}[2019/12/03 v1.1y biblatex citation style] \RequireCitationStyle{numeric-comp} diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-phys/biblatex-phys.pdf b/macros/latex/contrib/biblatex-contrib/biblatex-phys/biblatex-phys.pdf Binary files differindex 0de0fe144e..16758e75a7 100644 --- a/macros/latex/contrib/biblatex-contrib/biblatex-phys/biblatex-phys.pdf +++ b/macros/latex/contrib/biblatex-contrib/biblatex-phys/biblatex-phys.pdf diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-phys/biblatex-phys.tex b/macros/latex/contrib/biblatex-contrib/biblatex-phys/biblatex-phys.tex index 984b04402f..89550aed25 100644 --- a/macros/latex/contrib/biblatex-contrib/biblatex-phys/biblatex-phys.tex +++ b/macros/latex/contrib/biblatex-contrib/biblatex-phys/biblatex-phys.tex @@ -25,8 +25,8 @@ {\texttt{joseph.wright@morningstar2.co.uk}}}} \title{\pkg{biblatex-phys} -- A \pkg{biblatex} implementation of the \textsc{aip} and \textsc{aps} bibliography style% - \footnote{This file describes v1.1a, last revised 2019/09/21.}} -\date{Released 2019/09/21} + \footnote{This file describes v1.1b, last revised 2019/12/03.}} +\date{Released 2019/12/03} \providecommand*{\opt}[1]{\texttt{#1}} \providecommand*{\pkg}[1]{\textsf{#1}} @@ -201,6 +201,7 @@ be sent by e-mail to style changes} \changes{v1.1}{2018/10/19}{Support for \texttt{collaboration} field} \changes{v1.1a}{2019-09-20}{Biber support for \texttt{collaboration} field} +\changes{v1.1b}{2019-12-03}{Fix printing of DOI when pages are missing} \PrintChanges diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-phys/phys.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-phys/phys.bbx index 439bdd6bcf..442f4feae5 100644 --- a/macros/latex/contrib/biblatex-contrib/biblatex-phys/phys.bbx +++ b/macros/latex/contrib/biblatex-contrib/biblatex-phys/phys.bbx @@ -8,7 +8,7 @@ %% --------------------------------------------------------------- %% -\ProvidesFile{phys.bbx}[2019/09/21 v1.1a biblatex bibliography style] +\ProvidesFile{phys.bbx}[2019/12/03 v1.1b biblatex bibliography style] % Load the standard style to avoid copy-pasting unnecessary material \RequireBibliographyStyle{numeric-comp} @@ -458,6 +458,22 @@ }% } +\renewbibmacro*{note+pages}{% + \printfield{note}% + \setunit{\bibpagespunct}% + \printfield{pages}% + \iffieldundef{pages} + {% + \printfield{doi}% + \clearfield{doi}% + }% + {% + \iftoggle{bbx:doi} + {} + {\clearfield{doi}}% + }% +} + \newbibmacro*{related:translatedas}[1]{% \entrydata{#1}{% \usebibmacro{journal+issuetitle}% diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-phys/phys.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-phys/phys.cbx index 946b36614c..7758bc0a2b 100644 --- a/macros/latex/contrib/biblatex-contrib/biblatex-phys/phys.cbx +++ b/macros/latex/contrib/biblatex-contrib/biblatex-phys/phys.cbx @@ -8,7 +8,7 @@ %% --------------------------------------------------------------- %% -\ProvidesFile{phys.cbx}[2019/09/21 v1.1a biblatex citation style] +\ProvidesFile{phys.cbx}[2019/12/03 v1.1b biblatex citation style] \RequireCitationStyle{numeric-comp} diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-phys/phys.dbx b/macros/latex/contrib/biblatex-contrib/biblatex-phys/phys.dbx index d7ed7e17dc..c47ca1e2d9 100644 --- a/macros/latex/contrib/biblatex-contrib/biblatex-phys/phys.dbx +++ b/macros/latex/contrib/biblatex-contrib/biblatex-phys/phys.dbx @@ -8,7 +8,7 @@ %% --------------------------------------------------------------- %% -\ProvidesFile{phys.dbx}[2019/09/21 v1.1a biblatex database model extension] +\ProvidesFile{phys.dbx}[2019/12/03 v1.1b biblatex database model extension] \DeclareDatamodelFields[type=field, datatype=literal]{collaboration} diff --git a/macros/latex/contrib/bookmark/README.md b/macros/latex/contrib/bookmark/README.md new file mode 100644 index 0000000000..d4437f18fc --- /dev/null +++ b/macros/latex/contrib/bookmark/README.md @@ -0,0 +1,12 @@ +# bookmarks + +bookmarks package for LaTeX + + +This package implements a new bookmark (outline) organization for +package hyperref. Bookmark properties such +as style and color can now be set. Other action types +are available (URI, GoToR, Named). The bookmarks are +generated in the first compile run. + +Package hyperref uses two runs. diff --git a/macros/latex/contrib/oberdiek/bookmark.dtx b/macros/latex/contrib/bookmark/bookmark.dtx index 7d9c9c1eec..49ed2e897d 100644 --- a/macros/latex/contrib/oberdiek/bookmark.dtx +++ b/macros/latex/contrib/bookmark/bookmark.dtx @@ -1,13 +1,13 @@ % \iffalse meta-comment % % File: bookmark.dtx -% Version: 2019/06/04 v1.27 +% Version: 2019/12/03 v1.28 % Info: PDF bookmarks % % Copyright (C) % 2007-2011 Heiko Oberdiek % 2016-2019 Oberdiek Package Support Group -% https://github.com/ho-tex/oberdiek/issues +% https://github.com/ho-tex/bookmark/issues % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either @@ -23,7 +23,7 @@ % % The Current Maintainers of this work are % Heiko Oberdiek and the Oberdiek Package Support Group -% https://github.com/ho-tex/oberdiek/issues +% https://github.com/ho-tex/bookmark/issues % % This work consists of the main source file bookmark.dtx % and the derived files @@ -33,8 +33,8 @@ % bookmark-example.tex. % % Distribution: -% CTAN:macros/latex/contrib/oberdiek/bookmark.dtx -% CTAN:macros/latex/contrib/oberdiek/bookmark.pdf +% CTAN:macros/latex/contrib/bookmark/bookmark.dtx +% CTAN:macros/latex/contrib/bookmark/bookmark.pdf % % Unpacking: % (a) If bookmark.ins is present: @@ -63,16 +63,16 @@ % pdflatex bookmark.dtx % % Installation: -% TDS:tex/latex/oberdiek/bookmark.sty -% TDS:tex/latex/oberdiek/bkm-dvipdfm.def -% TDS:tex/latex/oberdiek/bkm-dvips.def -% TDS:tex/latex/oberdiek/bkm-dvipsone.def -% TDS:tex/latex/oberdiek/bkm-textures.def -% TDS:tex/latex/oberdiek/bkm-pdftex.def -% TDS:tex/latex/oberdiek/bkm-vtex.def -% TDS:doc/latex/oberdiek/bookmark.pdf -% TDS:doc/latex/oberdiek/bookmark-example.tex -% TDS:source/latex/oberdiek/bookmark.dtx +% TDS:tex/latex/bookmark/bookmark.sty +% TDS:tex/latex/bookmark/bkm-dvipdfm.def +% TDS:tex/latex/bookmark/bkm-dvips.def +% TDS:tex/latex/bookmark/bkm-dvipsone.def +% TDS:tex/latex/bookmark/bkm-textures.def +% TDS:tex/latex/bookmark/bkm-pdftex.def +% TDS:tex/latex/bookmark/bkm-vtex.def +% TDS:doc/latex/bookmark/bookmark.pdf +% TDS:doc/latex/bookmark/bookmark-example.tex +% TDS:source/latex/bookmark/bookmark.dtx % %<*ignore> \begingroup @@ -89,7 +89,7 @@ \input docstrip.tex \Msg{************************************************************************} \Msg{* Installation} -\Msg{* Package: bookmark 2019/06/04 v1.27 PDF bookmarks (HO)} +\Msg{* Package: bookmark 2019/12/03 v1.28 PDF bookmarks (HO)} \Msg{************************************************************************} \keepsilent @@ -101,7 +101,7 @@ This is a generated file. Project: bookmark -Version: 2019/06/04 v1.27 +Version: 2019/12/03 v1.28 Copyright (C) 2007-2011 Heiko Oberdiek @@ -121,7 +121,7 @@ This work has the LPPL maintenance status "maintained". The Current Maintainers of this work are Heiko Oberdiek and the Oberdiek Package Support Group -https://github.com/ho-tex/oberdiek/issues +https://github.com/ho-tex/bookmark/issues This work consists of the main source file bookmark.dtx @@ -137,7 +137,7 @@ and the derived files \generate{% \file{bookmark.ins}{\from{bookmark.dtx}{install}}% \file{bookmark.drv}{\from{bookmark.dtx}{driver}}% - \usedir{tex/latex/oberdiek}% + \usedir{tex/latex/bookmark}% \file{bookmark.sty}{\from{bookmark.dtx}{package}}% \file{bkm-dvipdfm.def}{\from{bookmark.dtx}{dvipdfm}}% \file{bkm-dvips.def}{\from{bookmark.dtx}{dvips,pdfmark}}% @@ -145,12 +145,8 @@ and the derived files \file{bkm-textures.def}{\from{bookmark.dtx}{textures,pdfmark}}% \file{bkm-pdftex.def}{\from{bookmark.dtx}{pdftex}}% \file{bkm-vtex.def}{\from{bookmark.dtx}{vtex}}% - \usedir{doc/latex/oberdiek}% + \usedir{doc/latex/bookmark}% \file{bookmark-example.tex}{\from{bookmark.dtx}{example}}% - \nopreamble - \nopostamble -% \usedir{source/latex/oberdiek/catalogue}% -% \file{bookmark.xml}{\from{bookmark.dtx}{catalogue}}% } \catcode32=13\relax% active space @@ -179,7 +175,7 @@ and the derived files %<*driver> \NeedsTeXFormat{LaTeX2e} \ProvidesFile{bookmark.drv}% - [2019/06/04 v1.27 PDF bookmarks (HO)]% + [2019/12/03 v1.28 PDF bookmarks (HO)]% \documentclass{ltxdoc} \usepackage{holtxdoc}[2011/11/22] \begin{document} @@ -189,28 +185,13 @@ and the derived files % \fi % % -% \CharacterTable -% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z -% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z -% Digits \0\1\2\3\4\5\6\7\8\9 -% Exclamation \! Double quote \" Hash (number) \# -% Dollar \$ Percent \% Ampersand \& -% Acute accent \' Left paren \( Right paren \) -% Asterisk \* Plus \+ Comma \, -% Minus \- Point \. Solidus \/ -% Colon \: Semicolon \; Less than \< -% Equals \= Greater than \> Question mark \? -% Commercial at \@ Left bracket \[ Backslash \\ -% Right bracket \] Circumflex \^ Underscore \_ -% Grave accent \` Left brace \{ Vertical bar \| -% Right brace \} Tilde \~} % % \GetFileInfo{bookmark.drv} % % \title{The \xpackage{bookmark} package} -% \date{2019/06/04 v1.27} +% \date{2019/12/03 v1.28} % \author{Heiko Oberdiek\thanks -% {Please report any issues at \url{https://github.com/ho-tex/oberdiek/issues}}} +% {Please report any issues at \url{https://github.com/ho-tex/bookmark/issues}}} % % \maketitle % @@ -668,7 +649,7 @@ and the derived files open, openlevel=2, atend -]{bookmark}[2019/06/04] +]{bookmark}[2019/12/03] \bookmarksetup{color=blue} @@ -771,7 +752,7 @@ and the derived files %<*package> \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{bookmark}% - [2019/06/04 v1.27 PDF bookmarks (HO)]% + [2019/12/03 v1.28 PDF bookmarks (HO)]% % \end{macrocode} % % \subsubsection{Requirements} @@ -803,9 +784,6 @@ and the derived files % % \paragraph{Escape features of \hologo{pdfTeX}.} % -% \begin{macrocode} -\RequirePackage{pdfescape}[2007/03/20] -% \end{macrocode} % \begin{macro}{\BKM@EscapeName} % \begin{macrocode} \def\BKM@EscapeName#1{% @@ -846,19 +824,9 @@ and the derived files % % \paragraph{Packages.} % +% Don't load packages loaded by xpackage{hyperref} % \begin{macrocode} -\RequirePackage{ifpdf}[2009/04/10] -\RequirePackage{ifxetex} -\RequirePackage{ifvtex}[2008/11/04] -\RequirePackage{ifluatex}[2010/03/01] -\RequirePackage{pdftexcmds}[2010/11/04] \RequirePackage{hyperref}[2010/06/18] -\RequirePackage{auxhook}[2007/04/06] -\RequirePackage{kvsetkeys}[2010/03/01] -\RequirePackage{kvoptions}[2009/08/13] -\RequirePackage{hycolor}[2008/09/08] -\RequirePackage{bitset}[2011/01/30] -\RequirePackage{ltxcmds}[2011/04/14] % \end{macrocode} % % \subsubsection{Package options} @@ -1899,7 +1867,7 @@ and the derived files %<*dvipdfm> \NeedsTeXFormat{LaTeX2e} \ProvidesFile{bkm-dvipdfm.def}% - [2019/06/04 v1.27 bookmark driver for dvipdfm (HO)]% + [2019/12/03 v1.28 bookmark driver for dvipdfm (HO)]% % \end{macrocode} % % \begin{macro}{\BKM@id} @@ -2074,7 +2042,7 @@ and the derived files %<*vtex> \NeedsTeXFormat{LaTeX2e} \ProvidesFile{bkm-vtex.def}% - [2019/06/04 v1.27 bookmark driver for VTeX (HO)]% + [2019/12/03 v1.28 bookmark driver for VTeX (HO)]% % \end{macrocode} % % \begin{macrocode} @@ -2405,7 +2373,7 @@ and the derived files %<*pdftex> \NeedsTeXFormat{LaTeX2e} \ProvidesFile{bkm-pdftex.def}% - [2019/06/04 v1.27 bookmark driver for pdfTeX (HO)]% + [2019/12/03 v1.28 bookmark driver for pdfTeX (HO)]% % \end{macrocode} % % \begin{macro}{\BKM@DO@entry} @@ -2561,7 +2529,7 @@ and the derived files %<*dvips> \NeedsTeXFormat{LaTeX2e} \ProvidesFile{bkm-dvips.def}% - [2019/06/04 v1.27 bookmark driver for dvips (HO)]% + [2019/12/03 v1.28 bookmark driver for dvips (HO)]% % \end{macrocode} % \begin{macro}{\BKM@PSHeaderFile} % \begin{macrocode} @@ -2580,7 +2548,7 @@ and the derived files %<*dvipsone> \NeedsTeXFormat{LaTeX2e} \ProvidesFile{bkm-dvipsone.def}% - [2019/06/04 v1.27 bookmark driver for dvipsone (HO)]% + [2019/12/03 v1.28 bookmark driver for dvipsone (HO)]% % \end{macrocode} % \begin{macro}{\BKM@PSHeaderFile} % \begin{macrocode} @@ -2599,7 +2567,7 @@ and the derived files %<*textures> \NeedsTeXFormat{LaTeX2e} \ProvidesFile{bkm-textures.def}% - [2019/06/04 v1.27 bookmark driver for textures (HO)]% + [2019/12/03 v1.28 bookmark driver for textures (HO)]% % \end{macrocode} % \begin{macro}{\BKM@PSHeaderFile} % \begin{macrocode} @@ -3086,17 +3054,17 @@ and the derived files % \paragraph{Package.} This package is available on % CTAN\footnote{\CTANpkg{bookmark}}: % \begin{description} -% \item[\CTAN{macros/latex/contrib/oberdiek/bookmark.dtx}] The source file. -% \item[\CTAN{macros/latex/contrib/oberdiek/bookmark.pdf}] Documentation. +% \item[\CTAN{macros/latex/contrib/bookmark/bookmark.dtx}] The source file. +% \item[\CTAN{macros/latex/contrib/bookmark/bookmark.pdf}] Documentation. % \end{description} % % -% \paragraph{Bundle.} All the packages of the bundle `oberdiek' +% \paragraph{Bundle.} All the packages of the bundle `bookmark' % are also available in a TDS compliant ZIP archive. There % the packages are already unpacked and the documentation files % are generated. The files and directories obey the TDS standard. % \begin{description} -% \item[\CTANinstall{install/macros/latex/contrib/oberdiek.tds.zip}] +% \item[\CTANinstall{install/macros/latex/contrib/bookmark.tds.zip}] % \end{description} % \emph{TDS} refers to the standard ``A Directory Structure % for \TeX\ Files'' (\CTANpkg{tds}). Directories @@ -3104,11 +3072,11 @@ and the derived files % % \subsection{Bundle installation} % -% \paragraph{Unpacking.} Unpack the \xfile{oberdiek.tds.zip} in the +% \paragraph{Unpacking.} Unpack the \xfile{bookmark.tds.zip} in the % TDS tree (also known as \xfile{texmf} tree) of your choice. % Example (linux): % \begin{quote} -% |unzip oberdiek.tds.zip -d ~/texmf| +% |unzip bookmark.tds.zip -d ~/texmf| % \end{quote} % % \subsection{Package installation} @@ -3126,16 +3094,16 @@ and the derived files % \begin{quote} % \def\t{^^A % \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}} -% bookmark.sty & tex/latex/oberdiek/bookmark.sty\\ -% bkm-dvipdfm.def & tex/latex/oberdiek/bkm-dvipdfm.def\\ -% bkm-dvips.def & tex/latex/oberdiek/bkm-dvips.def\\ -% bkm-dvipsone.def & tex/latex/oberdiek/bkm-dvipsone.def\\ -% bkm-textures.def & tex/latex/oberdiek/bkm-textures.def\\ -% bkm-pdftex.def & tex/latex/oberdiek/bkm-pdftex.def\\ -% bkm-vtex.def & tex/latex/oberdiek/bkm-vtex.def\\ -% bookmark.pdf & doc/latex/oberdiek/bookmark.pdf\\ -% bookmark-example.tex & doc/latex/oberdiek/bookmark-example.tex\\ -% bookmark.dtx & source/latex/oberdiek/bookmark.dtx\\ +% bookmark.sty & tex/latex/bookmark/bookmark.sty\\ +% bkm-dvipdfm.def & tex/latex/bookmark/bkm-dvipdfm.def\\ +% bkm-dvips.def & tex/latex/bookmark/bkm-dvips.def\\ +% bkm-dvipsone.def & tex/latex/bookmark/bkm-dvipsone.def\\ +% bkm-textures.def & tex/latex/bookmark/bkm-textures.def\\ +% bkm-pdftex.def & tex/latex/bookmark/bkm-pdftex.def\\ +% bkm-vtex.def & tex/latex/bookmark/bkm-vtex.def\\ +% bookmark.pdf & doc/latex/bookmark/bookmark.pdf\\ +% bookmark-example.tex & doc/latex/bookmark/bookmark-example.tex\\ +% bookmark.dtx & source/latex/bookmark/bookmark.dtx\\ % \end{tabular}^^A % }^^A % \sbox0{\t}^^A @@ -3463,6 +3431,12 @@ and the derived files % unknown style options are ignored (issue 67) % \end{Version} +% \begin{Version}{2019/12/03 v1.28} +% \item +% Documentation updates. +% \item adjust package loading (all required packages already loade +% by \xpackage{hyperref}). +% \end{Version} % \end{History} % % \PrintIndex diff --git a/macros/latex/contrib/bookmark/bookmark.pdf b/macros/latex/contrib/bookmark/bookmark.pdf Binary files differnew file mode 100644 index 0000000000..e4fbe0984c --- /dev/null +++ b/macros/latex/contrib/bookmark/bookmark.pdf diff --git a/macros/latex/contrib/embedfile/README.md b/macros/latex/contrib/embedfile/README.md new file mode 100644 index 0000000000..d410d5f8c1 --- /dev/null +++ b/macros/latex/contrib/embedfile/README.md @@ -0,0 +1,7 @@ +# embedfile + +embedfile package for LaTeX + + +This package embeds files to a PDF document. +Currently the only supported drivers are pdfTeX and LuaTeX. diff --git a/macros/latex/contrib/oberdiek/embedfile.dtx b/macros/latex/contrib/embedfile/embedfile.dtx index f88e4bf2ae..1fb0ed84b6 100644 --- a/macros/latex/contrib/oberdiek/embedfile.dtx +++ b/macros/latex/contrib/embedfile/embedfile.dtx @@ -1,13 +1,13 @@ % \iffalse meta-comment % % File: embedfile.dtx -% Version: 2018/11/01 v2.8 +% Version: 2019/12/03 v2.9 % Info: Embed files into PDF % % Copyright (C) % 2006-2011 Heiko Oberdiek % 2016-2019 Oberdiek Package Support Group -% https://github.com/ho-tex/oberdiek/issues +% https://github.com/ho-tex/embedfile/issues % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either @@ -23,7 +23,7 @@ % % The Current Maintainers of this work are % Heiko Oberdiek and the Oberdiek Package Support Group -% https://github.com/ho-tex/oberdiek/issues +% https://github.com/ho-tex/embedfile/issues % % The Base Interpreter refers to any `TeX-Format', % because some files are installed in TDS:tex/generic//. @@ -37,8 +37,8 @@ % embedfile-test4.tex. % % Distribution: -% CTAN:macros/latex/contrib/oberdiek/embedfile.dtx -% CTAN:macros/latex/contrib/oberdiek/embedfile.pdf +% CTAN:macros/latex/contrib/embedfile/embedfile.dtx +% CTAN:macros/latex/contrib/embedfile/embedfile.pdf % % Unpacking: % (a) If embedfile.ins is present: @@ -67,16 +67,12 @@ % pdflatex embedfile.dtx % % Installation: -% TDS:tex/generic/oberdiek/embedfile.sty -% TDS:tex/generic/oberdiek/dtx-attach.sty -% TDS:doc/latex/oberdiek/embedfile.pdf -% TDS:doc/latex/oberdiek/embedfile-example-plain.tex -% TDS:doc/latex/oberdiek/embedfile-example-collection.tex -% TDS:doc/latex/oberdiek/test/embedfile-test1.tex -% TDS:doc/latex/oberdiek/test/embedfile-test2.tex -% TDS:doc/latex/oberdiek/test/embedfile-test3.tex -% TDS:doc/latex/oberdiek/test/embedfile-test4.tex -% TDS:source/latex/oberdiek/embedfile.dtx +% TDS:tex/generic/embedfile/embedfile.sty +% TDS:tex/generic/embedfile/dtx-attach.sty +% TDS:doc/latex/embedfile/embedfile.pdf +% TDS:doc/latex/embedfile/embedfile-example-plain.tex +% TDS:doc/latex/embedfile/embedfile-example-collection.tex +% TDS:source/latex/embedfile/embedfile.dtx % %<*ignore> \begingroup @@ -93,7 +89,7 @@ \input docstrip.tex \Msg{************************************************************************} \Msg{* Installation} -\Msg{* Package: embedfile 2018/11/01 v2.8 Embed files into PDF (HO)} +\Msg{* Package: embedfile 2019/12/03 v2.9 Embed files into PDF (HO)} \Msg{************************************************************************} \keepsilent @@ -105,7 +101,7 @@ This is a generated file. Project: embedfile -Version: 2018/11/01 v2.8 +Version: 2019/12/03 v2.9 Copyright (C) 2006-2011 Heiko Oberdiek @@ -125,7 +121,7 @@ This work has the LPPL maintenance status "maintained". The Current Maintainers of this work are Heiko Oberdiek and the Oberdiek Package Support Group -https://github.com/ho-tex/oberdiek/issues +https://github.com/ho-tex/embedfile/issues The Base Interpreter refers to any `TeX-Format', @@ -145,22 +141,18 @@ and the derived files \generate{% \file{embedfile.ins}{\from{embedfile.dtx}{install}}% \file{embedfile.drv}{\from{embedfile.dtx}{driver}}% - \usedir{tex/generic/oberdiek}% + \usedir{tex/generic/embedfile}% \file{embedfile.sty}{\from{embedfile.dtx}{package}}% - \usedir{tex/latex/oberdiek}% + \usedir{tex/latex/embedfile}% \file{dtx-attach.sty}{\from{embedfile.dtx}{dtxattach}}% - \usedir{doc/latex/oberdiek}% + \usedir{doc/latex/embedfile}% \file{embedfile-example-plain.tex}{\from{embedfile.dtx}{exampleplain}}% \file{embedfile-example-collection.tex}{\from{embedfile.dtx}{examplecollection}}% -% \usedir{doc/latex/oberdiek/test}% +% \usedir{doc/latex/embedfile/test}% % \file{embedfile-test1.tex}{\from{embedfile.dtx}{test1}}% % \file{embedfile-test2.tex}{\from{embedfile.dtx}{test2}}% % \file{embedfile-test3.tex}{\from{embedfile.dtx}{test3}}% % \file{embedfile-test4.tex}{\from{embedfile.dtx}{test4}}% - \nopreamble - \nopostamble -% \usedir{source/latex/oberdiek/catalogue}% -% \file{embedfile.xml}{\from{embedfile.dtx}{catalogue}}% } \catcode32=13\relax% active space @@ -187,7 +179,7 @@ and the derived files %<*driver> \NeedsTeXFormat{LaTeX2e} \ProvidesFile{embedfile.drv}% - [2018/11/01 v2.8 Embed files into PDF (HO)]% + [2019/12/03 v2.9 Embed files into PDF (HO)]% \documentclass{ltxdoc} \usepackage{holtxdoc}[2011/11/22] \begin{document} @@ -197,28 +189,13 @@ and the derived files % \fi % % -% \CharacterTable -% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z -% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z -% Digits \0\1\2\3\4\5\6\7\8\9 -% Exclamation \! Double quote \" Hash (number) \# -% Dollar \$ Percent \% Ampersand \& -% Acute accent \' Left paren \( Right paren \) -% Asterisk \* Plus \+ Comma \, -% Minus \- Point \. Solidus \/ -% Colon \: Semicolon \; Less than \< -% Equals \= Greater than \> Question mark \? -% Commercial at \@ Left bracket \[ Backslash \\ -% Right bracket \] Circumflex \^ Underscore \_ -% Grave accent \` Left brace \{ Vertical bar \| -% Right brace \} Tilde \~} % % \GetFileInfo{embedfile.drv} % % \title{The \xpackage{embedfile} package} -% \date{2018/11/01 v2.8} +% \date{2019/12/03 v2.9} % \author{Heiko Oberdiek\thanks -% {Please report any issues at \url{https://github.com/ho-tex/oberdiek/issues}}} +% {Please report any issues at \url{https://github.com/ho-tex/embedfile/issues}}} % % \maketitle % @@ -575,7 +552,7 @@ This example document contains three embedded files. \usepackage[bookmarks=false]{hyperref} % provides \pdfstringdef that is then used by `title' and % other keys. -\usepackage{embedfile}[2018/11/01] +\usepackage{embedfile}[2019/12/03] \embedfilesetup{ view=details, initialfile=embedfile.pdf @@ -643,8 +620,8 @@ You need Acrobat Reader 8 or higher. %<*dtxattach> \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{dtx-attach} - [2018/11/01 v2.8 Embed \string\jobname.dtx (HO)]% -\RequirePackage{embedfile}[2018/11/01] + [2019/12/03 v2.9 Embed \string\jobname.dtx (HO)]% +\RequirePackage{embedfile}[2019/12/03] \embedfile[% stringmethod=escape,% mimetype=plain/text,% @@ -734,7 +711,7 @@ You need Acrobat Reader 8 or higher. \fi \expandafter\x\csname ver@embedfile.sty\endcsname \ProvidesPackage{embedfile}% - [2018/11/01 v2.8 Embed files into PDF (HO)]% + [2019/12/03 v2.9 Embed files into PDF (HO)]% % \end{macrocode} % % \subsection{Catcodes} @@ -817,15 +794,16 @@ You need Acrobat Reader 8 or higher. \protected\def\pdflastobj {\numexpr\pdffeedback lastobj\relax} \protected\def\pdfnames {\pdfextension names } \protected\def\pdfobj {\pdfextension obj } + \protected\def\pdfcatalog {\pdfextension catalog } \let\pdfoutput \outputmode \fi % \end{macrocode} % % \subsection{Check for recent \pdfTeX\ in PDF mode} % -% Load package \xpackage{ifpdf} and check mode. +% Load package \xpackage{iftex} and check mode. % \begin{macrocode} -\EmFi@RequirePackage{ifpdf}[2007/09/09] +\EmFi@RequirePackage{iftex}[2019/11/07] \ifpdf \else \EmFi@Error{% @@ -909,6 +887,11 @@ You need Acrobat Reader 8 or higher. \EmFi@temp{desc} % \end{macrocode} % \end{macro} +% \begin{macro}{\EmFi@S@afrelationship} +% \begin{macrocode} +\EmFi@temp{afrelationship} +% \end{macrocode} +% \end{macro} % \begin{macro}{\EmFi@S@moddate} % \begin{macrocode} \EmFi@temp{moddate} @@ -1034,6 +1017,10 @@ You need Acrobat Reader 8 or higher. % \begin{macrocode} \EmFi@DefineKey{desc}{} % \end{macrocode} +% AFRelationship (mandatory for PDF/A-3 compliance). +% \begin{macrocode} +\EmFi@DefineKey{afrelationship}{} +% \end{macrocode} % Method for converting text to PDF strings. % \begin{macrocode} \EmFi@DefineKey{stringmethod}{% @@ -1195,6 +1182,7 @@ You need Acrobat Reader 8 or higher. \else\ifx\EmFi@type\EmFi@S@number N% \else\ifx\EmFi@type\EmFi@S@file F% \else\ifx\EmFi@type\EmFi@S@desc Desc% + \else\ifx\EmFi@type\EmFi@S@afrelationship AFRelationship% \else\ifx\EmFi@type\EmFi@S@moddate ModDate% \else\ifx\EmFi@type\EmFi@S@creationdate CreationDate% \else\ifx\EmFi@type\EmFi@S@size Size% @@ -1307,6 +1295,8 @@ You need Acrobat Reader 8 or higher. \let\EmFi@type\EmFi@temp \else\ifx\EmFi@temp\EmFi@S@desc \let\EmFi@type\EmFi@temp + \else\ifx\EmFi@temp\EmFi@S@afrelationship + \let\EmFi@type\EmFi@temp \else\ifx\EmFi@temp\EmFi@S@moddate \let\EmFi@type\EmFi@temp \else\ifx\EmFi@temp\EmFi@S@creationdate @@ -1317,9 +1307,9 @@ You need Acrobat Reader 8 or higher. \EmFi@Error{% Unknown type `\EmFi@temp'.\MessageBreak Supported types: `text', `date', `number', `file',\MessageBreak - `desc', `moddate', `creationdate', `size'% + `desc', `afrelationship', `moddate', `creationdate', `size'% }% - \fi\fi\fi\fi\fi\fi\fi\fi + \fi\fi\fi\fi\fi\fi\fi\fi\fi } % \end{macrocode} % \begin{macrocode} @@ -1419,6 +1409,11 @@ You need Acrobat Reader 8 or higher. \else \EmFi@convert\EmFi@desc\EmFi@@desc \fi + \ifx\EmFi@afrelationship\ltx@empty + \let\EmFi@@afrelationship\ltx@empty + \else + \EmFi@convert\EmFi@afrelationship\EmFi@@afrelationship + \fi \ifEmFi@item \let\do\EmFi@do \immediate\pdfobj{% @@ -1457,6 +1452,10 @@ You need Acrobat Reader 8 or higher. \else /Desc(\EmFi@@desc)% \fi + \ifx\EmFi@@afrelationship\ltx@empty + \else + /AFRelationship\EmFi@@afrelationship% + \fi /EF<<% /F \the\pdflastobj\ltx@space 0 R% >>% @@ -1581,6 +1580,17 @@ You need Acrobat Reader 8 or higher. /EmbeddedFiles \the\pdflastobj\ltx@space 0 R% }% \endgroup + \begingroup + \def\do##1##2{% + \ltx@space##2% + }% + \immediate\pdfobj{% + [\EmFi@list]% + }% + \pdfcatalog{% + /AF \the\pdflastobj\ltx@space 0 R% + }% + \endgroup % \end{macrocode} % Write collection objects. % \begin{macrocode} @@ -1680,196 +1690,6 @@ You need Acrobat Reader 8 or higher. \EmFi@AtEnd% %</package> % \end{macrocode} -% -% \section{Test} -% -% \subsection{Catcode checks for loading} -% -% \begin{macrocode} -%<*test1> -% \end{macrocode} -% \begin{macrocode} -\catcode`\{=1 % -\catcode`\}=2 % -\catcode`\#=6 % -\catcode`\@=11 % -\expandafter\ifx\csname count@\endcsname\relax - \countdef\count@=255 % -\fi -\expandafter\ifx\csname @gobble\endcsname\relax - \long\def\@gobble#1{}% -\fi -\expandafter\ifx\csname @firstofone\endcsname\relax - \long\def\@firstofone#1{#1}% -\fi -\expandafter\ifx\csname loop\endcsname\relax - \expandafter\@firstofone -\else - \expandafter\@gobble -\fi -{% - \def\loop#1\repeat{% - \def\body{#1}% - \iterate - }% - \def\iterate{% - \body - \let\next\iterate - \else - \let\next\relax - \fi - \next - }% - \let\repeat=\fi -}% -\def\RestoreCatcodes{} -\count@=0 % -\loop - \edef\RestoreCatcodes{% - \RestoreCatcodes - \catcode\the\count@=\the\catcode\count@\relax - }% -\ifnum\count@<255 % - \advance\count@ 1 % -\repeat - -\def\RangeCatcodeInvalid#1#2{% - \count@=#1\relax - \loop - \catcode\count@=15 % - \ifnum\count@<#2\relax - \advance\count@ 1 % - \repeat -} -\def\RangeCatcodeCheck#1#2#3{% - \count@=#1\relax - \loop - \ifnum#3=\catcode\count@ - \else - \errmessage{% - Character \the\count@\space - with wrong catcode \the\catcode\count@\space - instead of \number#3% - }% - \fi - \ifnum\count@<#2\relax - \advance\count@ 1 % - \repeat -} -\def\space{ } -\expandafter\ifx\csname LoadCommand\endcsname\relax - \def\LoadCommand{\input embedfile.sty\relax}% -\fi -\def\Test{% - \RangeCatcodeInvalid{0}{47}% - \RangeCatcodeInvalid{58}{64}% - \RangeCatcodeInvalid{91}{96}% - \RangeCatcodeInvalid{123}{255}% - \catcode`\@=12 % - \catcode`\\=0 % - \catcode`\%=14 % - \LoadCommand - \RangeCatcodeCheck{0}{36}{15}% - \RangeCatcodeCheck{37}{37}{14}% - \RangeCatcodeCheck{38}{47}{15}% - \RangeCatcodeCheck{48}{57}{12}% - \RangeCatcodeCheck{58}{63}{15}% - \RangeCatcodeCheck{64}{64}{12}% - \RangeCatcodeCheck{65}{90}{11}% - \RangeCatcodeCheck{91}{91}{15}% - \RangeCatcodeCheck{92}{92}{0}% - \RangeCatcodeCheck{93}{96}{15}% - \RangeCatcodeCheck{97}{122}{11}% - \RangeCatcodeCheck{123}{255}{15}% - \RestoreCatcodes -} -\Test -\csname @@end\endcsname -\end -% \end{macrocode} -% \begin{macrocode} -%</test1> -% \end{macrocode} -% -% \subsection{Simple test} -% -% \begin{macrocode} -%<*test2> -\input embedfile.sty\relax -\embedfile[% - stringmethod=escape,% - mimetype=plain/text,% - desc={LaTeX docstrip source archive for package `embedfile'},% - id={embedfile.dtx}% -]{embedfile.dtx} -\nopagenumbers -Test (plain-\TeX): {\tt embedfile.dtx} should be embedded.% - -\def\Test#1{% - \par - \embedfileifobjectexists{embedfile.dtx}{#1}{% - Object #1 (embedfile.dtx): % - \embedfilegetobject{embedfile.dtx}{#1}% - }{% - \errmessage{Missing object #1 (embedfile.dtx)}% - }% -} -\Test{EmbeddedFile} -\Test{Filespec} -\embedfilefinish -\bye -%</test2> -% \end{macrocode} -% \begin{macrocode} -%<*test3> -\NeedsTeXFormat{LaTeX2e} -\let\SavedJobname\jobname -\def\jobname{embedfile} -\RequirePackage{dtx-attach}[2018/11/01] -\let\jobname\SavedJobname -\documentclass{minimal} -\begin{document} - Test (\LaTeX): \texttt{embedfile.dtx} should be embedded.% -\end{document} -%</test3> -% \end{macrocode} -% -% \subsection{Test for \iniTeX} -% -% \begin{macrocode} -%<*test4> -\catcode`\{=1 % -\catcode`\}=2 % -\input ifluatex.sty % -\ifluatex - \directlua{% - tex.enableprimitives('', {% - 'pdflastobj',% - 'pdfnames',% - 'pdfobj',% - 'pdfoutput'% - })% - }% - \ifx\pdfextension\undefined\else - \protected\def\pdflastobj {\numexpr\pdffeedback lastobj\relax} - \protected\def\pdfnames {\pdfextension names } - \protected\def\pdfobj {\pdfextension obj } - \let\pdfoutput \outputmode - \fi -\fi -\pdfoutput=1 % -\input embedfile.sty % -\shipout\hbox{} -\embedfile[% - stringmethod=escape,% - mimetype=plain/text,% - desc={iniTeX source},% -]{\jobname.tex} -\embedfilefinish -\end -%</test4> -% \end{macrocode} -% % \section{Installation} % % \subsection{Download} @@ -1877,17 +1697,17 @@ Test (plain-\TeX): {\tt embedfile.dtx} should be embedded.% % \paragraph{Package.} This package is available on % CTAN\footnote{\CTANpkg{embedfile}}: % \begin{description} -% \item[\CTAN{macros/latex/contrib/oberdiek/embedfile.dtx}] The source file. -% \item[\CTAN{macros/latex/contrib/oberdiek/embedfile.pdf}] Documentation. +% \item[\CTAN{macros/latex/contrib/embedfile/embedfile.dtx}] The source file. +% \item[\CTAN{macros/latex/contrib/embedfile/embedfile.pdf}] Documentation. % \end{description} % % -% \paragraph{Bundle.} All the packages of the bundle `oberdiek' +% \paragraph{Bundle.} All the packages of the bundle `embedfile' % are also available in a TDS compliant ZIP archive. There % the packages are already unpacked and the documentation files % are generated. The files and directories obey the TDS standard. % \begin{description} -% \item[\CTANinstall{install/macros/latex/contrib/oberdiek.tds.zip}] +% \item[\CTANinstall{install/macros/latex/contrib/embedfile.tds.zip}] % \end{description} % \emph{TDS} refers to the standard ``A Directory Structure % for \TeX\ Files'' (\CTANpkg{tds}). Directories @@ -1895,11 +1715,11 @@ Test (plain-\TeX): {\tt embedfile.dtx} should be embedded.% % % \subsection{Bundle installation} % -% \paragraph{Unpacking.} Unpack the \xfile{oberdiek.tds.zip} in the +% \paragraph{Unpacking.} Unpack the \xfile{embedfile.tds.zip} in the % TDS tree (also known as \xfile{texmf} tree) of your choice. % Example (linux): % \begin{quote} -% |unzip oberdiek.tds.zip -d ~/texmf| +% |unzip embedfile.tds.zip -d ~/texmf| % \end{quote} % % \subsection{Package installation} @@ -1917,16 +1737,12 @@ Test (plain-\TeX): {\tt embedfile.dtx} should be embedded.% % \begin{quote} % \def\t{^^A % \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}} -% embedfile.sty & tex/generic/oberdiek/embedfile.sty\\ -% dtx-attach.sty & tex/generic/oberdiek/dtx-attach.sty\\ -% embedfile.pdf & doc/latex/oberdiek/embedfile.pdf\\ -% embedfile-example-plain.tex & doc/latex/oberdiek/embedfile-example-plain.tex\\ -% embedfile-example-collection.tex & doc/latex/oberdiek/embedfile-example-collection.tex\\ -% test/embedfile-test1.tex & doc/latex/oberdiek/test/embedfile-test1.tex\\ -% test/embedfile-test2.tex & doc/latex/oberdiek/test/embedfile-test2.tex\\ -% test/embedfile-test3.tex & doc/latex/oberdiek/test/embedfile-test3.tex\\ -% test/embedfile-test4.tex & doc/latex/oberdiek/test/embedfile-test4.tex\\ -% embedfile.dtx & source/latex/oberdiek/embedfile.dtx\\ +% embedfile.sty & tex/generic/embedfile/embedfile.sty\\ +% dtx-attach.sty & tex/generic/embedfile/dtx-attach.sty\\ +% embedfile.pdf & doc/latex/embedfile/embedfile.pdf\\ +% embedfile-example-plain.tex & doc/latex/embedfile/embedfile-example-plain.tex\\ +% embedfile-example-collection.tex & doc/latex/embedfile/embedfile-example-collection.tex\\ +% embedfile.dtx & source/latex/embedfile/embedfile.dtx\\ % \end{tabular}^^A % }^^A % \sbox0{\t}^^A @@ -2045,7 +1861,7 @@ Test (plain-\TeX): {\tt embedfile.dtx} should be embedded.% % \bibitem{attachfile2} % Heiko Oberdiek: \textit{The \xpackage{attachfile2} package}; % 2006/08/16 v2.2; -% \CTAN{macros/latex/contrib/attachfile2/attachfile2.pdf}. +% \CTANpkg{attachfile2}. % % \bibitem{pdfspec} % Adobe Systems Incorporated: @@ -2133,6 +1949,14 @@ Test (plain-\TeX): {\tt embedfile.dtx} should be embedded.% % \item % Remove luatex85 package depenency. % \end{Version} +% \begin{Version}{2019/12/03 v2.9} +% \item +% add \verb|/AF| and \verb|/AFrelationship| keys (Andreas Karrenbauer) +% \item +% add \verb|\pdfcatalog| emulation for Lua\TeX. +% \item +% update to use \xpackage{iftex} +% \end{Version} % \end{History} % % \PrintIndex diff --git a/macros/latex/contrib/embedfile/embedfile.pdf b/macros/latex/contrib/embedfile/embedfile.pdf Binary files differnew file mode 100644 index 0000000000..a91594eaf5 --- /dev/null +++ b/macros/latex/contrib/embedfile/embedfile.pdf diff --git a/macros/latex/contrib/knowledge/README.md b/macros/latex/contrib/knowledge/README.md index a5bc16beaa..81a9ddf7f8 100644 --- a/macros/latex/contrib/knowledge/README.md +++ b/macros/latex/contrib/knowledge/README.md @@ -3,8 +3,8 @@ This directory contains the package name: knowledge license: LaTeX Project Public License version 1.2 or above - version: v1.19 - date: 2019/11/19 + version: v1.20 + date: 2019/12/03 author: Thomas Colcombet mail: thomas.colcombet@irif.fr web: https://www.irif.fr/~colcombe/knowledge_en.html diff --git a/macros/latex/contrib/knowledge/knowledge-code.dtx b/macros/latex/contrib/knowledge/knowledge-code.dtx index 40ea1c6aa0..d97ed2143a 100644 --- a/macros/latex/contrib/knowledge/knowledge-code.dtx +++ b/macros/latex/contrib/knowledge/knowledge-code.dtx @@ -23,7 +23,7 @@ % % \iffalse %<head>\usepackage{expl3} -%<head>\ProvidesExplPackage{knowledge}{2019/11/19}{1.19}{} +%<head>\ProvidesExplPackage{knowledge}{2019/12/03}{1.20}{} %<*driver> \def\knowledgecode{active} \input{knowledge.tex} @@ -52,6 +52,7 @@ % \changes{1.17}{2019/10/03}{improvements} % % \changes{1.18}{2019/10/03}{bug fix/improvement} % % \changes{1.19}{2019/11/19}{bug fix} % +% \changes{1.20}{2019/12/03}{bug fix} % % \GetFileInfo{knowledge.sty} % % \DoNotIndex{} % @@ -71,8 +72,8 @@ This directory contains the package name: knowledge license: LaTeX Project Public License version 1.2 or above - version: v1.19 - date: 2019/11/19 + version: v1.20 + date: 2019/12/03 author: Thomas Colcombet mail: thomas.colcombet@irif.fr web: https://www.irif.fr/~colcombe/knowledge_en.html @@ -171,6 +172,16 @@ Content of the file knowledge-sources.zip: {\expandafter\tl_head:n\expandafter{\string\escape}} % \end{macrocode} % +% \begin{macrocode} +\cs_new:Nn\debug_vars:nn{ + \iow_term:n{---~{#1}} + \tl_map_inline:nn{#2} + {\iow_term:x{\space\space\exp_not:N##1=\space\tl_if_exist:NTF##1 + {{\exp_not:V##1}} + {undefined}}} +} +% \end{macrocode} +% % \subsection{Messages of the package} % %\AP First, some generic messages that are produced using \csintro{\knowledge_info:n}, @@ -204,20 +215,20 @@ Content of the file knowledge-sources.zip: % \csintro{knowledge~unknown~in~scope}, \csintro{knowledge~unknown~label}, \csintro{package~required} and \csintro{knowledge~exists}. % \begin{macrocode} \msg_new:nnn{ knowledge }{ knowledge~recursion } - { The~knowledges~are~probably~cyclic,~starting~from~'#1'~(namespace~'#2'),~ + { The~knowledges~are~probably~cyclic,~starting~from\\<#1>~(namespace~'#2'),~ currently~at~'#3'.} % \end{macrocode} % \begin{macrocode} \msg_new:nnn{ knowledge }{ knowledge~unknown } - {The~knowledge~'#1'~could~not~be~found~in~scopes~<~#3~>~(namespace~'#2').} + {The~knowledge~'#1'~could~not~be~found~in~scopes\\<#3>~(namespace~'#2').} % \end{macrocode} % \begin{macrocode} \msg_new:nnn{ knowledge }{ knowledge~unknown~in~scope } - {The~knowledge~'#1'~could~not~be~found~in~scope~'#3'~(namespace~'#2').} + {The~knowledge~'#1'~could~not~be~found~in~scope\\<#3>~(namespace~'#2').} % \end{macrocode} % \begin{macrocode} \msg_new:nnn{ knowledge }{ knowledge~unknown~label } - {The~label~'#2'~could~not~be~found~while~searching~for~'#1'.~Possibly~rerun~latex.} + {The~label~'#2'~could~not~be~found~while~searching~for:\\<#1>\\Possibly~rerun~latex.} % \end{macrocode} % \begin{macrocode} \msg_new:nnn{ knowledge }{ package~required } @@ -254,12 +265,12 @@ Content of the file knowledge-sources.zip: % \end{macrocode} %\AP We define new the final messages, that are thrown at the end of the compilation as a recap that some problems occured. These are: \csintro{recap~unknown~knowledge}, \csintro{recap~autoref~introduced~twice} and \csintro{recap~autoref~not~introduced}. % \begin{macrocode} -\msg_new:nnn{knowledge}{recap~unknown~knowledge} - {Some~knowledge~are~not~defined.~See~the~'.diagnose'~file~for~more~information.} -\msg_new:nnn{knowledge}{recap~autoref~introduced~twice} - {Some~knowledge~is~introduced~twice.~See~the~'.diagnose'~file~for~more~information.} -\msg_new:nnn{knowledge}{recap~autoref~not~introduced} - {Some~knowledge~is~used~but~not~introduced.~See~the~'.diagnose'~file~for~more~information.} +\exp_args:Nnnx\msg_new:nnn{knowledge}{recap~unknown~knowledge} + {Some~knowledge~are~not~defined.~See~the~'\c_sys_jobname_str.diagnose'~file~for~more~information.} +\exp_args:Nnnx\msg_new:nnn{knowledge}{recap~autoref~introduced~twice} + {Some~knowledge~is~introduced~twice.~See~the~'\c_sys_jobname_str.diagnose'~file~for~more~information.} +\exp_args:Nnnx\msg_new:nnn{knowledge}{recap~autoref~not~introduced} + {Some~knowledge~is~used~but~not~introduced.~See~the~'\c_sys_jobname_str.diagnose'~file~for~more~information.} % \end{macrocode} % % @@ -431,11 +442,18 @@ Content of the file knowledge-sources.zip: \bool_set_false:N\knowledge_configuration_diagnoseline_bool \KnowledgeConfigureBooleanOption[\knowledge_configuration_diagnoseline_bool]{diagnose~line} % \end{macrocode} +% Activates or deactivates the help in the "diagnose file". +% \begin{macrocode} +\bool_new:N\knowledge_configuration_diagnosehelp_bool +\bool_set_true:N\knowledge_configuration_diagnosehelp_bool +\KnowledgeConfigureBooleanOption[\knowledge_configuration_diagnosehelp_bool]{diagnose~help} +% \end{macrocode} % % \begin{macrocode} -\bool_new:N\knowledge_configuration_barsuggestion_bool -\bool_gset_false:N\knowledge_configuration_barsuggestion_bool -\KnowledgeConfigureBooleanOption[\knowledge_configuration_barsuggestion_bool]{bar~suggestion} +\bool_new:N\knowledge_configuration_diagnosebar_bool +\bool_gset_true:N\knowledge_configuration_diagnosebar_bool +\KnowledgeConfigureBooleanOption[\knowledge_configuration_diagnosebar_bool]{bar~suggestion}%backward compatibility +\KnowledgeConfigureBooleanOption[\knowledge_configuration_diagnosebar_bool]{diagnose~bar} % \end{macrocode} % % \begin{macrocode} @@ -1189,7 +1207,7 @@ Content of the file knowledge-sources.zip: {} } % \end{macrocode} -% The command \cs{\knowledge_scope_track_scope:n} +% \AP The command \cs{\knowledge_scope_track_scope:n} % is used to set the variable \cs{\knowledge_knowledge_instance_tl}. % If the argument is a scope name, then it is searched for in the context, and the corresponding "instance" is used. % Otherwise it is used as a "scopetag"; this "scopetag" being potentially @@ -1231,14 +1249,14 @@ Content of the file knowledge-sources.zip: % % \subsubsection{Scope tags} % -% A ""scopetag"" is a name that can be used to identify a family of "instances" that correspond to it. +% \AP A ""scopetag"" is a name that can be used to identify a family of "instances" that correspond to it. % It gets to have two variables attached to it: % \begin{description} % \itemAP[\cs{\knowledge_scopetag_tl}\texttt{{[TAG]}\_bool}] which tells whether it % has been officially declared (it is false if it has been used but not declared by a \cs{\knowledgescope} % or a \cs{\label} command). % \itemAP[\cs{\knowledge_scopetag_tl}\texttt{{[TAG]}\_seq}] is a sequence of -% "instances" that are attached to it. It always contains (as soon as created) +% "instances" that are attached to it. It always contains (as soon as created) \textbf{explicit-scope:}\texttt{TAG}. % \end{description} % % In order to identify scopes, the command~\cs{\knowledgescope} (or \cs{\label} which is overloaded for this purpose). @@ -1280,7 +1298,7 @@ Content of the file knowledge-sources.zip: % \AP The command \csintro{\knowledgescope} associates an "instance" to one or more "scopetags": % \begin{macrocode} \NewDocumentCommand\knowledgescope{ >{\SplitList{,}}m }{ - \kl_hide_begin:\group_begin: + \kl_hide_begin:\group_begin: \ProcessList{#1}\knowledge_knowledgescope_one:n \group_end:\kl_hide_end: } @@ -1290,8 +1308,7 @@ Content of the file knowledge-sources.zip: \cs_new:Nn\knowledge_knowledgescope_one:n{ \knowledge_scopetag_declares:n{#1} \scope_get_labelizable_instance:N\l_tmpb_tl - \KAuxWriteX*{\exp_not:n{\KAuxNewLinkScopetagInstance}%{\exp_not:n{#1}}% old version - {#1}{\l_tmpb_tl}} + \KAuxWriteX*{\exp_not:N\KAuxNewLinkScopetagInstance{#1}{\l_tmpb_tl}} } % \end{macrocode} % @@ -1302,10 +1319,11 @@ Content of the file knowledge-sources.zip: \bool_new:N\knowledge_configuration_label_autoscope_bool \bool_gset_true:N\knowledge_configuration_label_autoscope_bool \KnowledgeConfigureBooleanOption[\knowledge_configuration_label_autoscope_bool]{patch~label} +\KnowledgeConfigureBooleanOption[\knowledge_configuration_label_autoscope_bool]{label~scope} % \end{macrocode} -% \noindent\AP\csintro{\scopeLabel} implicitly adds a call to \cs{\knowledgescope} (if \cs{\knowledge_configuration_label_autoscope_bool} is set to true), and then calls the original \cs{\label} code. +% \noindent\AP\csintro{\knowledgelabel} implicitly adds a call to \cs{\knowledgescope} (if \cs{\knowledge_configuration_label_autoscope_bool} is set to true), and then calls the original \cs{\label} code. % \begin{macrocode} -\NewDocumentCommand\scopeLabel{m}{ +\NewDocumentCommand\knowledgelabel{m}{ \kl_hide_begin: \bool_if:NTF \knowledge_configuration_label_autoscope_bool @@ -1315,7 +1333,8 @@ Content of the file knowledge-sources.zip: \kl_hide_end: \cs_if_exist:NTF\LaTeXlabel\LaTeXlabel\use_none:n{#1} } -\let\label\scopeLabel +\let\scopeLabel\knowledgelabel%for backward compatibility +\let\label\knowledgelabel % \end{macrocode} % \AP In order to cicumvent this overloading, the normal \cs{\label} command % can be used using \csintro{\knowledge_latex_label:n}: @@ -1340,8 +1359,8 @@ Content of the file knowledge-sources.zip: \NewKAuxCommand\KAuxNewLinkScopetagInstance{mm} {Package~scope:~Declares~that~a~label~is~declared~in~an~instance~of~a~scope.} \DeclareKAuxPhaseCommand\KAuxNewLinkScopetagInstance{init}{ - \knowledge_scopetag_ensure:n{#1} - \seq_gput_right:cn{\knowledge_scopetag_tl[#1]_seq}{#2} + \knowledge_scopetag_ensure:n{#1} + \seq_gput_right:cn{\knowledge_scopetag_tl[#1]_seq}{#2} } % \end{macrocode} % @@ -1425,7 +1444,7 @@ Content of the file knowledge-sources.zip: {\scope_area_pop:n{##1}} {}} \kutils_secure_latex_command:N\label - \let\label\scopeLabel + \let\label\knowledgelabel } % \end{macrocode} % @@ -1497,7 +1516,7 @@ Content of the file knowledge-sources.zip: {\scope_area_pop:n{knowledge~import~internal}} \NewDocumentEnvironment{knowledge~context}{m} {\ScopeActivate\scope_area_push:n{knowledge~context~internal} - \scopeLabel{#1}} + \knowledgelabel{#1}} {\scope_area_pop:n{knowledge~context~internal}} % \end{macrocode} % \subsection{Files} @@ -1506,8 +1525,9 @@ Content of the file knowledge-sources.zip: % \subsubsection{KAux file} % % Code to be executed before, at initialization and after the writing of the \kl{kaux file}. +% It tests before is the file was properly written during the last compilation using |\IfKAuxReadyTF|. % \begin{macrocode} -\KAuxBefore{\KAuxProcess{init}} +\KAuxBefore{\IfKAuxReadyTF{\KAuxProcess{init}}{}} \KAuxInit{} \KAuxAfter{\KnowledgeDiagnoseOutput} % \end{macrocode} @@ -1558,6 +1578,21 @@ Content of the file knowledge-sources.zip: \knowledge_diagnose:n{} \knowledge_diagnose:n{} % + \bool_if:NTF\knowledge_configuration_diagnosehelp_bool + { + \knowledge_diagnose:n{********} + \knowledge_diagnose:n{*~Help~*} + \knowledge_diagnose:n{********} + \knowledge_diagnose:n{} + \knowledge_diagnose:x{\use:c{@backslashchar}\cs_to_str:N\knowledgeconfigure{diagnose~bar=false}~deactivate~`|'-notation~in~diagnose~file.} + \knowledge_diagnose:x{\use:c{@backslashchar}\cs_to_str:N\knowledgeconfigure{diagnose~help=false}~deactivate~long~help~in~the~diagnose~file.} + \knowledge_diagnose:x{\use:c{@backslashchar}\cs_to_str:N\knowledgeconfigure{diagnose~line=true}~add~line~numbers~to~diagnose~file.} + \knowledge_diagnose:n{} + }{ + \knowledge_diagnose:x{\use:c{@backslashchar}\cs_to_str:N\knowledgeconfigure{diagnose~help=true}~to~activate~help~in~the~diagnose~file.} + \knowledge_diagnose:n{} + } + % \int_compare:nNnT\kl_digest_unknownknowledge_int>0{ \knowledge_diagnose:n{************************} \knowledge_diagnose:n{*~Undefined~knowledges~*} @@ -1565,6 +1600,8 @@ Content of the file knowledge-sources.zip: \knowledge_diagnose:n{} % \knowledge_diagnose_reset_line: + \bool_if:NT\knowledge_configuration_diagnosebar_bool + {\knowledge_diagnose:x{\use:c{@backslashchar}knowledge{ignore}}} \KAuxProcess{diagnose-unknown-suggest} % \knowledge_diagnose:n{} @@ -1952,17 +1989,13 @@ Content of the file knowledge-sources.zip: export / false .code:n = {\bool_set_false:N\knowledge_knowledge_export_bool}, export / true .code:n = {\bool_set_true:N\knowledge_knowledge_export_bool}, export .default:n = false, -% instance .code:n = -% { \tl_set:Nn\knowledge_knowledge_instance_tl{#1} }, - link~instance .code:n = - { \tl_set:Nn\knowledge_knowledge_instance_tl{#1} }, scope .code:n = - { \knowledge_scope_track_scope:n{#1} + { \knowledge_scope_track_scope:n{#1} \tl_gput_right:Nn\knowledge_knowledge_immediate_synonym_directives_tl{,scope = {#1}}}, synonym .code:n = { \bool_set_true:N\knowledge_knowledge_is_synonym_bool \exp_args:Nnx\keys_set:nn { knowledge~directives } - {link={\exp_not:o\knowledge_knowledge_synonymlink_tl}, + {link={\exp_not:V\knowledge_knowledge_synonymlink_tl}, link~instance={\exp_not:V\knowledge_knowledge_synonyminstance_tl}}}, } % \end{macrocode} @@ -2049,7 +2082,7 @@ Content of the file knowledge-sources.zip: \bool_gset_false:N\knowledge_knowledge_is_synonym_bool % \tl_if_eq:nnTF{#4}{|} - {\__knowledge_knowledge_cont_newsyntax:nw{#3}|} + {\__knowledge_knowledge_cont_barnotation:nw{#3}|} {\tl_if_eq:nnTF{#4}{[} {\__knowledge_knowledge_cont_classical:nw{#3}[} {\__knowledge_knowledge_cont_classical:nw{#3}{#4}}} @@ -2071,6 +2104,7 @@ Content of the file knowledge-sources.zip: % \end{macrocode} % \begin{macrocode} \NewDocumentCommand\__knowledge_knowledge_cont_classical:nw{m >{\SplitList{|}}o m }{ + %\iow_term:n{\__knowledge_knowledge_cont_classical~{#1}{#3}} \knowledge_knowledge_setparseat:NNn\l_tmpa_tl\l_tmpb_tl{#1} % \use:x{ @@ -2081,6 +2115,9 @@ Content of the file knowledge-sources.zip: \tl_if_empty:NTF\l_tmpb_tl{}{,scope={\exp_not:V\l_tmpb_tl}}}} % \exp_args:NV\__knowledge_knowledge_recallsynonym:n\l_tmpa_tl + %\tl_show:N\l_tmpa_tl + %\tl_show:N\knowledge_knowledge_instance_tl + %\tl_show:N\knowledge_knowledge_immediate_synonym_directives_tl % \IfNoValueTF{#2}{}{ \cs_set:Nn\l_tmpa_cs:n @@ -2092,53 +2129,79 @@ Content of the file knowledge-sources.zip: \__knowledge_knowledge_end: } % \end{macrocode} +% \AP The code for the "`\vbar'-notation". +% \csintro{\knowledge_knowledge_barnotation_firstline:n} and \csintro{\knowledge_knowledge_barnotation_nextlines:n} +% contain the code to be executed when the first line is read, then the following ones. This is defined during parsing. +% \csintro{\knowledge_knowledge_barnotation_exec_line:n} changes from one value to the other during the parsing. % \begin{macrocode} -\cs_new:Npn\knowledge_knowledge_newsyntax_firstline:n{} +\cs_new:Npn\knowledge_knowledge_barnotation_firstline:n{} % \end{macrocode} % \begin{macrocode} -\cs_new:Npn\knowledge_knowledge_newsyntax_nextlines:n{} +\cs_new:Npn\knowledge_knowledge_barnotation_nextlines:n{} % \end{macrocode} +% \AP\csintro{\__knowledge_knowledge_cont_barnotation:nw} takes as first as argument the directives to be used for the +% defining the first "knowledge" (first argument in the "`\vbar'-notation"), and then it absorbs the content of the following line, +% from the first~`\vbar' to the line return. % \begin{macrocode} -\cs_new:Npn\__knowledge_knowledge_cont_newsyntax:nw#1{ - \cs_set:Nn\knowledge_knowledge_newsyntax_firstline:n - {\knowledge{##1}{#1} - \cs_set_eq:NN - \knowledge_knowledge_newsyntax_exec_line:n - \knowledge_knowledge_newsyntax_nextlines:n} - \cs_set:Nn\knowledge_knowledge_newsyntax_nextlines:n - {\exp_args:Nnx\knowledge{##1} - {\exp_not:V\knowledge_knowledge_immediate_synonym_directives_tl}} - \cs_set_eq:NN - \knowledge_knowledge_newsyntax_exec_line:n - \knowledge_knowledge_newsyntax_firstline:n - \kl_newknowledge_parse:w +\cs_new:Npn\__knowledge_knowledge_cont_barnotation:nw#1{ + \cs_set:Nn\knowledge_knowledge_barnotation_firstline:n{ + %\knowledge_knowledge_setparseat\g_tmpa_tl\g_tmpb_tl{#1} + %\iow_term:n{\knowledge{##1}{#1}~(first)} + \knowledge{##1}{#1} + \cs_set_eq:NN + \knowledge_knowledge_barnotation_exec_line:n + \knowledge_knowledge_barnotation_nextlines:n} + \cs_set:Nn\knowledge_knowledge_barnotation_nextlines:n + {%\iow_term:n{\exp_not:n{\knowledge{##1}}{synonym}} + \knowledge{##1}{synonym}} + \cs_set_eq:NN + \knowledge_knowledge_barnotation_exec_line:n + \knowledge_knowledge_barnotation_firstline:n + \kl_newknowledge_parse:w } % \end{macrocode} +% \AP Now the core of the parsing works by calling \csintro{\kl_newknowledge_parse:w}. +% It tests the existence of a starting `\vbar', and in this case absorb the line +% using \cs{\knowledge_knowledge_barnotation_exec_line:w} +% and calls \cs{\knowledge_knowledge_barnotation_exec_line:n} to +% execute it. This operation is repeated +% until there are no more starting `\vbar', and in this case \cs{\__knowledge_knowledge_end:} +% is used. % \begin{macrocode} \cs_new:Npn\kl_newknowledge_parse:w{ - \peek_charcode_remove_ignore_spaces:NTF| - {\kl_insert_klendline:w\knowledge_knowledge_newsyntax_exec_line:w} - {\__knowledge_knowledge_end:} + \peek_charcode_remove_ignore_spaces:NTF| + {\kl_insert_klendline:w\knowledge_knowledge_barnotation_exec_line:w} + {\__knowledge_knowledge_end:} } % \end{macrocode} % \begin{macrocode} -\cs_new:Npn\knowledge_knowledge_newsyntax_exec_line:w#1\kl_end_line:{ - \knowledge_knowledge_newsyntax_exec_line:n{#1} - \kl_newknowledge_parse:w +\cs_new:Npn\knowledge_knowledge_barnotation_exec_line:w#1\kl_end_line:{ + \knowledge_knowledge_barnotation_exec_line:n{#1} + \kl_newknowledge_parse:w } % \end{macrocode} +% The catcode modifications for parsing a single line in "`\vbar'-notation": +% \AP The macro \csintro{\kl_insert_klendline:w} replaces the next occurrence of +% a line return by the control sequence \csintro{\kl_end_line:}. +% This temporarily changes the catcode. However, as soon as it is done, a normal command +% (meaning using the standard catcode regime) can then absorb the line. % \begin{macrocode} \char_set_catcode_active:N\^^M \cs_gset:Npn\kl_insert_klendline:w{\group_begin:\catcode`\^^M=\active\kl_insert_klendline_:w} \cs_gset:Npn\kl_insert_klendline_:w#1^^M{\group_end:#1\kl_end_line:} \char_set_catcode_end_line:N\^^M % \end{macrocode} +% \AP How to break a line from the "`\vbar'-notation" in pieces. +% The \csintro{\knowledge_knowledge_setparseat:NNn}\ +% takes two tl-variables and the line content. +% The result is that the part before the first `@' is put inside the first variable, +% and what is after and before the next `@' (possibly empty) in the second one. % \begin{macrocode} \cs_new:Nn\knowledge_knowledge_setparseat:NNn - {\knowledge_knowledge_setparseat_:NNw#1#2#3@@\kl_end:} + {\knowledge_knowledge_setparseat_:NNw#1#2#3@@\kl_end:} \cs_new:Npn\knowledge_knowledge_setparseat_:NNw#1#2#3@#4@#5\kl_end: - {\tl_set:Nx#1{\tl_trim_spaces:n{#3}} - \tl_set:Nx#2{\tl_trim_spaces:n{#4}}} + {\tl_set:Nx#1{\tl_trim_spaces:n{#3}} + \tl_set:Nx#2{\tl_trim_spaces:n{#4}}} % \end{macrocode} % %\AP The boolean \cs{\knowledge_knowledgestyle_bool} @@ -2229,9 +2292,9 @@ Content of the file knowledge-sources.zip: {} % \bool_if:NT\knowledge_knowledge_clear_bool - {\tl_put_left:Nn\knowledge_knowledge_directives_tl{clear,}} + {\tl_put_left:Nn\knowledge_knowledge_directives_tl{clear,}} \bool_if:NT\knowledge_knowledge_append_bool - {\tl_put_left:Nn\knowledge_knowledge_directives_tl{force,}} + {\tl_put_left:Nn\knowledge_knowledge_directives_tl{force,}} % \bool_if:nTF{\knowledge_knowledge_now_bool} {\use:x{ @@ -2348,8 +2411,9 @@ Content of the file knowledge-sources.zip: } % \end{macrocode} % -% \AP The following macro, \csintro{\knowledge_klTKS:nnn} is an internal version of \cs{\kl}-like commands. it takes explicitely the text to be displayed, -% followed by the \kl{knowledge name} to be used, and a \kl{label} pointing to the \kl[instance]{instance of scope} +% \AP The following macro, \csintro{\knowledge_klTKS:nnn} is an internal version of \cs{\kl}-like commands. +% It takes explicitly (1) the text to be displayed, +% (2) the \kl{knowledge name} to be used for the search, and (3) a \kl{label} pointing to the \kl[instance]{instance of scope} % in which the \kl{knowledge name} has to be searched for. This \kl{label} can be empty, and in this case, this means that % the stack of instances that are visible in the context of the call of the command should be inspected for searching for % the knowledge. @@ -2372,14 +2436,18 @@ Content of the file knowledge-sources.zip: % \end{macrocode} % \begin{macrocode} \cs_new:Nn\knowledge_klTKS:nnn{ + %\iow_term:n{\knowledge_klTKS:nnn{#1}{#2}{#3}} \group_begin: % \tl_set:Nx\knowledge_kl_linkscope_tl{\tl_to_str:n{#3}} - \tl_set:Nn\knowledge_kl_instance_tl{} + \tl_set:Nn\knowledge_kl_linkinstance_tl{} \tl_set:Nn\knowledge_kl_text_tl{#1} \tl_set:Nx\knowledge_kl_base_key_tl{\tl_to_str:n{#2}} \tl_set_eq:NN\knowledge_kl_key_tl\knowledge_kl_base_key_tl \int_set_eq:NN\knowledge_kl_recursion_int\knowledge_kl_max_recursion_int + %\debug_vars:nn{klTKS:nnn} + % {\knowledge_kl_linkscope_tl\knowledge_kl_linkinstance_tl + % \knowledge_kl_text_tl\knowledge_kl_base_key_tl} % \tl_if_exist:cTF {knowledge_kl_\tl_to_str:V\knowledge_kl_modifiers_tl _init_tl} @@ -2420,7 +2488,9 @@ Content of the file knowledge-sources.zip: \knowledge_kl_find_recursion_exceeded:TF \knowledge_kl_error_recursion: {\tl_if_empty:NTF\knowledge_kl_linkscope_tl - \knowledge_kl_find_withoutscope: + {\tl_if_empty:NTF\knowledge_kl_linkinstance_tl + {\knowledge_kl_find_withoutscope:} + {\knowledge_kl_find_withinstance:}} \knowledge_kl_find_withscopetag:} } % \end{macrocode} @@ -2435,23 +2505,25 @@ Content of the file knowledge-sources.zip: \cs_new:Nn\knowledge_kl_find_withinstance:{ \knowledge_knowledge_if_exist:VVVTF \knowledge_kl_namespace_tl - \knowledge_kl_instance_tl + \knowledge_kl_linkinstance_tl \knowledge_kl_key_tl {\knowledge_kl_exec:nnV \knowledge_kl_namespace_tl - \knowledge_kl_instance_tl + \knowledge_kl_linkinstance_tl \knowledge_kl_key_tl} { \knowledge_kl_error_unknown_in_scope_firsttime: } } % \end{macrocode} -% \csintro{\knowledge_kl_find_withscopetag:} searches for the knowledge, with a given scopetag +% \AP \csintro{\knowledge_kl_find_withscopetag:} searches for the knowledge, with a given "scopetag". % \begin{macrocode} \cs_new:Nn\knowledge_kl_find_withscopetag:{ + %\debug_vars:nn{\knowledge_kl_find_withscopetag:}{\knowledge_kl_linkscope_tl} \exp_args:NV\knowledge_scopetag_warn_if_unknown:n\knowledge_kl_linkscope_tl \tl_clear:N\l_tmpa_tl \exp_args:Nc\seq_map_function:NN {\knowledge_scopetag_tl[\knowledge_kl_linkscope_tl]_seq} \knowledge_kl_find_scopetag_tmpa:n + % tests whether the search was successful \tl_if_empty:NTF\l_tmpa_tl {\knowledge_kl_error_unknown_in_scope_firsttime:} {\knowledge_kl_exec:VVV @@ -2460,10 +2532,14 @@ Content of the file knowledge-sources.zip: \knowledge_kl_key_tl} } % \end{macrocode} -% \csintro{\knowledge_kl_find_scopetag:Nn} takes a token list for the result, and -% a scopetag as argument. If the tl is empty, and a knowledge using scopetag as instance is found, -% then the scopetag is transfered to the token list. +% \AP \csintro{\knowledge_kl_find_scopetag:Nn} takes a tl variable for the result, and +% a "scopetag" as argument. If the tl is empty, and a knowledge using "scopetag" as instance is found, +% then the "scopetag" is transferred to the token list. \csintro{\knowledge_kl_find_scopetag_tmpa:n} +% uses as variable \cs{\l_tmpa_tl} % \begin{macrocode} +\cs_new:Npn\knowledge_kl_find_scopetag_tmpa:n{ + \knowledge_kl_find_scopetag:Nn\l_tmpa_tl +} \cs_new:Nn\knowledge_kl_find_scopetag:Nn{ \tl_if_empty:NTF#1 {\knowledge_knowledge_if_exist:VnVTF @@ -2474,23 +2550,25 @@ Content of the file knowledge-sources.zip: {}} {} } -\cs_new:Npn\knowledge_kl_find_scopetag_tmpa:n{ - \knowledge_kl_find_scopetag:Nn\l_tmpa_tl -} % \end{macrocode} % \begin{macrocode} \cs_new:Nn\knowledge_kl_find_withoutscope:{ + %\debug_vars:nn{\knowledge_kl_find_withoutscope:} + % {\knowledge_kl_key_tl\knowledge_kl_linkinstance_tl} + %\exp_args:NVVV\knowledge_knowledge_if_exist:nnnTF + % \knowledge_kl_namespace_tl\knowledge_kl_linkinstance_tl\knowledge_kl_key_tl + % {\tl_show:n{found}}{\tl_show:n{not~found}} \knowledge_kl_find_in_scope:VNTF \knowledge_kl_key_tl - \knowledge_kl_instance_tl - {\knowledge_kl_exec:nnV + \knowledge_kl_linkinstance_tl + {\knowledge_kl_exec:VVV \knowledge_kl_namespace_tl - \knowledge_kl_instance_tl + \knowledge_kl_linkinstance_tl \knowledge_kl_key_tl} {\knowledge_kl_error_unknown_firsttime:} } % \end{macrocode} -% \cs{\knowledge_kl_find_in_scope:nNTF} introduces the namespace as +% \AP \csintro{\knowledge_kl_find_in_scope:nNTF} introduces the "namespace" as % first argument in a call to \cs{\knowledge_kl_find_in_scope:nnNTF} % \begin{macrocode} \cs_new:Npn\knowledge_kl_find_in_scope:nNTF{ @@ -2498,12 +2576,13 @@ Content of the file knowledge-sources.zip: \knowledge_kl_namespace_tl } % \end{macrocode} -% We now code the macro \cs{\knowledge_kl_find_in_scope:nnNTF}, that +% \AP We now code the macro \csintro{\knowledge_kl_find_in_scope:nnNTF}, that % takes the \kl{namespace}, and the \kl{knowledge}, and answers the \kl{instance} (if it exists), % and sets the tl-token (third argument) to contain the scope in which it has been found. % \begin{macrocode} \cs_new:Nn\knowledge_kl_find_in_scope:nnNTF{ \group_begin: + %\tl_show:n{\knowledge_kl_find_in_scope:~#1/#2/#3} \tl_set:Nn\l_tmpa_tl{#1} \tl_set:Nn\l_tmpb_tl{#2} \bool_gset_false:N\g_tmpa_bool @@ -2518,17 +2597,17 @@ Content of the file knowledge-sources.zip: % \end{macrocode} % \cs{\knowledge_kl_find_in_scope_test:n} tests the existence of a "knowledge" % in the "scopetag" given as argument. For this it searches through all the instances associated to the -% scopetag, and sets \cs{\g_tmpa_bool} when found. +% "scopetag", and sets \cs{\g_tmpa_bool} when found. % One has to check that the visible instance is not the mark. % \begin{macrocode} \cs_new:Nn\knowledge_kl_find_in_scope_test:n{ - \tl_if_eq:nnTF{#1}{|}{}{ - \knowledge_kl_find_in_scope_test_:n{#1} - \seq_if_exist:cTF{\knowledge_scopetag_tl[#1]_seq} - {\exp_args:Nc\seq_map_function:NN - {\knowledge_scopetag_tl[#1]_seq} - \knowledge_kl_find_in_scope_test_:n - }{}} + \tl_if_eq:nnTF{#1}{|}{}{ + \knowledge_kl_find_in_scope_test_:n{#1} + \seq_if_exist:cTF{\knowledge_scopetag_tl[#1]_seq} + {\exp_args:Nc\seq_map_function:NN + {\knowledge_scopetag_tl[#1]_seq} + \knowledge_kl_find_in_scope_test_:n + }{}} } % \end{macrocode} % \begin{macrocode} @@ -2557,13 +2636,14 @@ Content of the file knowledge-sources.zip: \cs_new:Nn\knowledge_kl_exec:nnn{ \tl_set:Nx\knowledge_kl_resourcearguments_tl {{#1}{#2}{\exp_not:n{#3}}} + %\debug_vars:nn{\knowledge_kl_exec:nnn}{\knowledge_kl_resourcearguments_tl} \exp_args:NNc\tl_set:Nn\knowledge_kl_resourcetoken_tl {\knowledge_id:nnn{#1}{#2}{#3}} \expandafter\ktuple_countuse_gincr:N\knowledge_kl_resourcetoken_tl % \tl_clear:N\knowledge_kl_link_tl \tl_clear:N\knowledge_kl_linkscope_tl - \tl_clear:N\knowledge_kl_instance_tl + \tl_clear:N\knowledge_kl_linkinstance_tl \tl_map_function:NN \knowledge_kl_styledirectives_tl \tl_clear:N @@ -2662,7 +2742,7 @@ Content of the file knowledge-sources.zip: {\tl_if_empty:NTF\l_tmpa_tl{}{\tl_put_right:Nn\l_tmpa_tl{,} \tl_put_right:Nn\l_tmpa_tl{namespace={#1}}}} - \bool_if:NTF\knowledge_configuration_barsuggestion_bool{ + \bool_if:NTF\knowledge_configuration_diagnosebar_bool{ %\knowledge_diagnose:x{\char_escape_tl knowledge{\exp_not:V\l_tmpa_tl}} \tl_set:Nn\l_tmpa_tl{~~~|~~#3} \tl_if_empty:nTF{#2}{} @@ -3045,7 +3125,7 @@ Content of the file knowledge-sources.zip: % \begin{macrocode} \NewKnowledgeParamTl*{link} \NewKnowledgeParamTl*[\knowledge_kl_linkscope_tl]{link~scope} -\NewKnowledgeParamTl*[\knowledge_kl_instance_tl]{link~instance} +\NewKnowledgeParamTl*[\knowledge_kl_linkinstance_tl]{link~instance} \NewKnowledgeParamTl*[\knowledge_kl_forcedtext_tl]{text} \NewKnowledgeParamTl*{wrap} % \end{macrocode} @@ -3848,7 +3928,13 @@ Content of the file knowledge-sources.zip: \expandafter{\tl_to_str:n{#1}}} \newcommand\robustdisplaybracket[1] {[\robustdisplay{#1}]} - +% \end{macrocode} +% The ignore directive does nothing... +% \begin{macrocode} +\knowledgedirective{ignore}{} +% \end{macrocode} +% +% \begin{macrocode} \ExplSyntaxOff % in paper mode, nothing is displayed \IfKnowledgePaperModeTF{ diff --git a/macros/latex/contrib/knowledge/knowledge-utils.dtx b/macros/latex/contrib/knowledge/knowledge-utils.dtx index dc0f0deed7..477d57c188 100644 --- a/macros/latex/contrib/knowledge/knowledge-utils.dtx +++ b/macros/latex/contrib/knowledge/knowledge-utils.dtx @@ -323,11 +323,46 @@ \KAuxWrite*{}} \NewDocumentCommand\KAuxClose{} - {\iow_close:N\knowledge_kaux_iow + {\KAuxWrite*{\KAuxEOF {}} + \iow_close:N\knowledge_kaux_iow \bool_gset_true:N\kaux_can_be_used_bool \kaux_posttreatment_tl } % \end{macrocode} +% Testing if the KAux file is complete. +% |\kaux_if_exist_containline:nnTF| tests if a line of a file is equal to the argument. +% This has to be used with care: the searched line is transformed into a str, thus introducing +% potential extra spaces after the control sequences. +% Also, when lines are read from the files, the trailing spaces are lost. +% Anyway, |IfKAuxReadyTF| tests for the presence of |\KAuxEOF {}| in a proper way. +% \begin{macrocode} +\cs_new:Npn\kaux_if_exist_containline:nnTF#1#2{ + \file_if_exist:nTF{#1}{ + \ior_open:Nn\klg_tmpa_ior{#1} + \bool_gset_false:N\g_tmpa_bool + \bool_gset_false:N\g_tmpb_bool + \str_gset:Nn\g_tmpb_str{#2} + \bool_do_until:Nn\g_tmpa_bool{ + \ior_if_eof:NTF\klg_tmpa_ior + {\bool_set_true:N\g_tmpa_bool} + { + \ior_str_get:NN\klg_tmpa_ior\g_tmpa_str + %\iow_term:x{(\exp_not:V\g_tmpa_str)=?(\exp_not:V\g_tmpb_str)} + \str_if_eq:NNTF\g_tmpa_str\g_tmpb_str + {\bool_gset_true:N\g_tmpa_bool + \bool_gset_true:N\g_tmpb_bool} + {} + }} + \ior_close:N\klg_tmpa_ior + %\bool_show:N\g_tmpb_bool + \bool_if:NTF\g_tmpb_bool + } + {\use_ii:nn} +} + +\NewDocumentCommand\IfKAuxReadyTF{} + {\exp_args:Nx\kaux_if_exist_containline:nnTF{\c_sys_jobname_str.kaux}{\KAuxEOF {}}} +% \end{macrocode} % % % @@ -386,6 +421,14 @@ \tl_gset:cn{kaux_\cs_to_str:N#1-args_tl}{#2} \tl_gput_right:Nn\kaux_command_list_tl{#1} } +% \end{macrocode} +% As an example, |\KAuxEOF| describes is used at the end of the Kaux file. +% \begin{macrocode} +\NewKAuxCommand\KAuxEOF{m} + {Does~nothing,~useless~empty~argument + ,~and~is~searched~for~knowing~if~the~kaux~file~was~written~till~the~end.} +% \end{macrocode} +% \begin{macrocode} \NewDocumentCommand\KAuxCommand{mmm} { \cs_if_exist:NTF #1 {} @@ -524,7 +567,7 @@ % \subsection{References} % % This is an old part of the code which is difficult to read. -% It should probably be cleaned. +% It should be cleaned. But this is a lot of work. % % When using \cs{\cell_new_type:nnn}, a new name space is created, % in which can be stored information. The first parameter is the name space. The second @@ -1010,7 +1053,8 @@ \ior_close:N\klg_tmpa_ior \iow_close:N\klg_tmpa_iow \group_end:}} - +% \end{macrocode} +% \begin{macrocode} \cs_new_protected_with_variants:Nnn\kl_compare_files:Nnn{NnV,NVn,NVV} {\group_begin: \bool_set_false:N\l_tmpa_bool% set when finished @@ -1052,7 +1096,8 @@ {\group_end:\bool_set_true:N#1} {\group_end:\bool_set_false:N#1} } - +% \end{macrocode} +% \begin{macrocode} \cs_new_protected:Nn\kl_tl_to_file:nn {\iow_open:Nn\klg_tmpa_iow{#1} \iow_now:Nn\klg_tmpa_iow{#2} diff --git a/macros/latex/contrib/knowledge/knowledge.pdf b/macros/latex/contrib/knowledge/knowledge.pdf Binary files differindex 7412086a72..b2e551fbb9 100644 --- a/macros/latex/contrib/knowledge/knowledge.pdf +++ b/macros/latex/contrib/knowledge/knowledge.pdf diff --git a/macros/latex/contrib/knowledge/knowledge.tex b/macros/latex/contrib/knowledge/knowledge.tex index d567aa3604..d65b26a459 100644 --- a/macros/latex/contrib/knowledge/knowledge.tex +++ b/macros/latex/contrib/knowledge/knowledge.tex @@ -188,7 +188,10 @@ \knowledgeconfigure{quotation=false} -\knowledge{LaTeX}[latex|LATEX|Latex]{text=\LaTeX, color=black} +\knowledge{LaTeX}[latex|LATEX|Latex]{text=\LaTeX} +\knowledge{tex}[TeX|TEX]{text=\TeX} +\knowledge{pdflatex}{typewriter} + \knowledge"{text=\quotesymbol} \knowledge{""}{text=\quotesymbol\quotesymbol} \knowledgeconfigure{quotation=true} @@ -220,7 +223,6 @@ \knowledge{{@}}{kcommand,text=\arobas} -\knowledge{tex}{text=\TeX} \knowledgedirective{people}{emphasize,color=DarkGray} \knowledge{stackexchange}{people} @@ -317,8 +319,7 @@ \knowledge{index key=}{directive} \knowledge{index parent key=}{directive} \knowledge{index style=}{directive} -\knowledge{bar suggestion=}{directive} -\knowledge{patch label}[patch label=]{option} +\knowledge{label scope}[label scope=]{option} \knowledge{color=}{directive} \knowledge{cyclic color}{directive} \knowledge{colorbox=}{directive} @@ -357,8 +358,9 @@ \knowledge{unprotect link co}{option,text=unprotect link} \knowledge{hyperlinks=}{option} \knowledge{fix hyperref twocolumn}{option} +\knowledge{diagnose help=}[diagnose help]{option} \knowledge{diagnose line=}[diagnose line]{option} -\knowledge{bar suggestion=}[bar suggestion]{option} +\knowledge{diagnose bar=}[diagnose bar]{option} \knowledge{active}{option} @@ -470,10 +472,6 @@ | scopes | Scopes \knowledge{doc notion} - | explicit scope - | Explicit scopes - | explicit scopes -\knowledge{doc notion} | scopetag | scopetags \knowledge{namespace}[namespaces|Namespaces]{doc notion} @@ -521,9 +519,6 @@ \knowledge {scope.sty}{link=scope option} -\knowledge{latex}{text=\LaTeX} -\knowledge{tex}{} -\knowledge{pdflatex}{} \knowledgedefault{} @@ -741,9 +736,12 @@ This involves testing the counter |beamer@coveringdepth| which if higher than o "Explicit scopes" are introduced. Updating of the documentation. "up" directive in math mode now silently does nothing, and \cs{\knowledgedirective} now forbids redefinitions by default (thanks to Léo Stefanesco). \item[2019-07-02] Removing the `\texttt{kl}' and `\texttt{intro}' styles that prevented a proper configuration of "intro notion@@style" (thanks to Léo Stefanesco). \item[2019-10-03] Update of the documentation, and V1.17. -\item[2019-10-27] Bug correction and added the `\kl{patch label}' configuration directive (thanks to \href{https://becca.ooo/}{Rebecca Turner}). V1.18. +\item[2019-10-27] Bug correction and added the `\textbf{patch label}' configuration directive (thanks to \href{https://becca.ooo/}{Rebecca Turner}). V1.18. \item[2019-11-19] Now the labels are evaluated before being written to the "kaux file" in a \cs\KAuxNewLinkScopetagInstance\ command (bug fix). V1.19. - \end{compactdesc} +\item[2019-11-29] Help added in the "diagnose file". \textbf{bar suggestion} (still working) renamed to "diagnose bar", and activated by default. \textbf{patch label} is renamed into "label scope". +\item[2019-12-02] The "kaux file" is now checked for completeness befre being used. This should avoid errors when the previous compilation failed. +\item[2019-12-03] Corrected bug in the scope access. V1.20 +\end{compactdesc} \normalsize %\restoregeometry @@ -1229,8 +1227,11 @@ be used in the optional parameter of \cs{\usepackage} when loading the "knowledg ""Configuration directives"" consists of a comma separated list of elements that can take the following values: \begin{description} -\itemAP["diagnose line="] can be set to true or false. It activates or deactivates the line numbering in the "diagnose file". False is the default. +\itemAP["diagnose bar="] (de)activates the "`\vbar'-notation" in the "diagnose file". True by default. +\itemAP["diagnose help="] can be set to true or false. It activates or deactivates the help in the "diagnose file". True by default. +\itemAP["diagnose line="] can be set to true or false. It activates or deactivates the line numbering in the "diagnose file". False by default. \itemAP[\kl{fix hyperref twocolumn}] triggers a hack that solves a known problem that may occur when "hyperref@@package" is used in two-columns mode. +\itemAP[\kl{label scope}] enables or disables the redefined \cs{\label} command, which helps automatically define scopes (default is~\textmd{true}). \itemAP["notion@@option"] configures the "notion" "directive" which is a refined version of "autoref". \itemAP["protect quotation="] is followed by a comma separated list of environments in which the "quotation notation" will be automatically deactivated (surrounded by braces if more than one item in the list). \itemAP[\intro{protect link co} and \intro{unprotect link co}] starts and ends respectively a zone in which the "knowledge@@package" package do not create hyperlinks. These can be nested. @@ -1879,13 +1880,27 @@ The following code (that requires the "scope option" for being functional) shoul It is often the case in a text, that one has to locally break the nesting structure of a document, and refer to a object local in an environment. For instance, a comment may refer to a variables/concept that has been locally used in the proof. The "knowledge@@package" provides suitable mechanisms for complex referencing of scopes. Let us explain this through an example: \begin{code} -\cs\begin{definition}\cs\label{} -\indent~~\cs\knowledge{} -\cs\end{definition} +\textcolor{gray}{\% We declare first in the preamble the environments that use knowledge.}\\ +\cs\knowledgeconfigureenvironment\{definition\}\{knowledge=attracts\}\par\indent +{[...]}\\ +\indent +\cs\begin\{definition\}\cs\label\{somewhere\}\\ +\indent~~\cs\knowledge\{something\}\{notion\}\\ +\indent~~Here, \cs\intro\{something\} is a notion internal to the definition. +\cs\end\{definition\} \end{code} +Note here that what is important is the location of the \cs\knowledge\ command, irrespective of the location ofthe \cs\intro\ command. +\AP The \cs\label\ command is used to name the "scope". In fact, the real command is +\begin{center} + \smallcode{\csintro\knowledgescope\{scope name\}} +\end{center}\noindent +which associates a scope name to the surrounding environment (providing it has been declared possible to do it using +\cs\knowledgeconfigureenvironment). +\AP +The standard \LaTeX\ command \cs\label\ is overloaded and performs implicitly a call to \cs\knowledgescope\ (this behavior can be deactivated/reactivated using the ""label scope=""\texttt{\{true,false\}} directive). The result is that the same string of characters can be used in order to name the scope, and at the same time is used as a standard \LaTeX\ label. -Something important is missing so far: one rapidly wants to access to \kl{knowledges} that do not exist in the current \kl{scope}. For instance, a notion is used in a section of a document, and one would like to refer to it in the introduction. Another case is that of a notion or a mathematic variable that is introduced in the statement of a theorem, and should be accessible inside the proof. There are essentially two ways to access such distance \kl{knowledges}: either use the \smallcode{\cs\kl(label)\{text\}} command (or the equivalent \smallcode{\kl{"...@...@..."}} notation), or use the \cs{\knowledgeimport} command. We describe the second possibility now. The syntax is: +\AP Something important is missing so far: one rapidly wants to access to \kl{knowledges} that do not exist in the current \kl{scope}. For instance, a notion is used in a section of a document, and one would like to refer to it in the introduction. Another case is that of a notion or a mathematic variable that is introduced in the statement of a theorem, and should be accessible inside the proof. There are essentially two ways to access such distant \kl{knowledges}: either use the \smallcode{\cs\kl(label)\{text\}} command (or the equivalent \smallcode{\kl{"...@...@..."}} notation), or use the \cs{\knowledgeimport} command. We describe the second possibility now. The syntax is: \begin{center} \smallcode{\csintro\knowledgeimport\{label\}} \end{center} @@ -1967,18 +1982,19 @@ The detail of the problems are then gathered in the \kl{diagnose file}. \label{subsection:diagnose file} The \intro{diagnose file} is a file that is created when the "knowledge@@package" package is used -(note that another file, ""jobname.kaux"" is also created by the "knowledge@@package" package, for internal use). It enormously eases the use of the package, and it is a good habit to sometimes check it. It gathers a certain number of informations, that can be warning, code to be used, or simply information. This file has the name of the tex document with the extension \kl{.diagnose}. Its content is divided into clearly identified parts. Depending on the used options, some of these parts may appear or disappear. +(note that another file, ""jobname.kaux"" is also created by the "knowledge@@package" package, for internal use). It enormously eases the use of the package, and it is important to look into it when finalizing a document. It gathers a certain number of informations, that can be warning, code to be used, or simply information. This file has the name of the tex document with the extension \kl{.diagnose}. Its content is divided into clearly identified parts. Depending on the used options, some of these parts may appear or disappear. \begin{description} \itemAP[\intro{Undefined knowledges}] in this section are listed all the knowledges that have been unsuccessfully searched for. These are given in lines either of the form - \begin{quote} - \texttt{\cs{\knowledge}\{undefined knowledge\}\{\textit{suggested directives}\}} - \end{quote} - or of the form \begin{quote} \texttt{\cs{\knowledge}\{\textit{suggested directives}\}\\ - \indent~~~\klbn|~~undefined knowledge}\textit{[\klbn@scope]} + \indent~~~\klbn|~~undefined knowledge}\textit{[\klbn@scope]}\\ + \indent~~~~~~~~~~~~~~\vdots \end{quote} - \AP Switching from one mode to another is obtained using the "configuration directive" ""bar suggestion=""\{true,false\} (default is true). + or of the form + \begin{quote} + \texttt{\cs{\knowledge}\{undefined knowledge\}\{\textit{suggested directives}\}} + \end{quote} + \AP Switching from one mode to another is obtained using the "configuration directive" "diagnose bar="\{true,false\} (default is true). The intent is that copying the content of this section to the document itself will solve all problems of \kl{undefined knowledges}. It is an efficient way, when one has written a document without caring so much about knowledges to copy the content of this section, and then modify it/reorganize it, in order to suit ones purposes. By default, no suggestion is offered, or "notion" is suggested if the "notion@@option" directive has been used. Suggestion can be automatically configured using the "suggestion=@@variant" "directive@@variant" of the macros \cs{\knowledgenewvariant} and \cs{\knowledgesetvariant}. @@ -2001,9 +2017,8 @@ This can be activated using the "diagnose line" boolean option: \end{center} \AP By default, the "diagnose file" gives suggestions to be used with the normal \cs\knowledge\ syntax. A "`\vbar'-notation" suggestion can be activated using: -This can be activated using the "diagnose line" boolean option: \begin{center} -\smallcode{\cs\knowledgeconfigure\{""bar suggestion=""true\}} +\smallcode{\cs\knowledgeconfigure\{""diagnose bar=""true\}} \end{center} \iffalse @@ -2369,9 +2384,9 @@ I do not know to which extend it is compatible with various classes... \subsubsection{The "notion@@option" directive} -The configuration option~\intro(option){notion} is activated using: +\AP The configuration option~\intro(option){notion} is activated using: \begin{center} -\smallcode{\cs\knowledgeconfigure\{\intro(option){notion}\}} +\smallcode{\cs\knowledgeconfigure\{\kl(option){notion}\}} \end{center}\noindent \AP It automatically configures a \kl[\knowledge directives]{directive} \intro{notion} which is an \kl{autoref} displayed properly: @@ -2710,7 +2725,7 @@ If other kind of problems occur, report them to \texttt{thomas.colcombet@irif.fr \label{subsection:configuration directive list} \begin{compactdesc} -\item["bar suggestion="\textmd{\{true,false\}}] activates the \kl{`\vbar'-notation} in the "diagnose file" (default is false) +\item["diagnose bar="\textmd{\{true,false\}}] activates the \kl{`\vbar'-notation} in the "diagnose file" (default is false) \item["composition"] switches to "composition mode", \item["cyclic colors=@@option"] fixes the cyclic list of colors used by the "directive" "cyclic color". \item["diagnose line="\textmd{\{true,false\}}] activates or deactivates the line numbering in the "diagnose file". @@ -2720,7 +2735,7 @@ If other kind of problems occur, report them to \texttt{thomas.colcombet@irif.fr \item[\kl{hyperlinks=}\textmd{\{true,false\}}] activates or deactivates the hyperlinks. \item[{{\kl(option){notion}}}] activates the "notion" directive \item["paper"] switches to "paper mode", -\itemAP[\kl{patch label}] enables or disables the redefined \cs{\label} command, which helps automatically define scopes (default is~\textmd{true}). +\itemAP[\kl{label scope=}\textmd{\{true,false\}}] enables or disables the redefined \cs{\label} command, which helps automatically define scopes (default is~\textmd{true}). \item[\kl{protect link co} and \kl{unprotect link co}] starts and ends respectively a zone in which the "knowledge@@package" package does not create hyperlinks. \item[\kl{protect quotation=}\textmd{\{environment list\}}] declares a list of environment in which the "quotation notation" should be deactivated \item[{{\kl(option)[quotation]{quotation=}\textmd{\{true,false\}}}}] activates or deactivates the "quotation notation". diff --git a/macros/latex/contrib/oberdiek/bookmark.pdf b/macros/latex/contrib/oberdiek/bookmark.pdf Binary files differdeleted file mode 100644 index d465c8285b..0000000000 --- a/macros/latex/contrib/oberdiek/bookmark.pdf +++ /dev/null diff --git a/macros/latex/contrib/oberdiek/embedfile.pdf b/macros/latex/contrib/oberdiek/embedfile.pdf Binary files differdeleted file mode 100644 index d7ccbeb198..0000000000 --- a/macros/latex/contrib/oberdiek/embedfile.pdf +++ /dev/null |