diff options
91 files changed, 8231 insertions, 6630 deletions
diff --git a/FILES.byname b/FILES.byname index d4aeebe3d4..5902de54df 100644 --- a/FILES.byname +++ b/FILES.byname @@ -5100,7 +5100,7 @@ 1990/10/02 | 5440 | dviware/vutex/vaxvms.hlp 1990/10/02 | 812 | dviware/vutex/vaxvms.ins 1990/10/02 | 127576 | dviware/vutex/vutex.web -2021/07/20 | 122326 | FILES.last07days +2021/07/21 | 117275 | FILES.last07days 2020/08/14 | 104065 | fonts/academicons/academicons.pdf 2020/08/14 | 17247 | fonts/academicons/academicons.sty 2020/08/14 | 6546 | fonts/academicons/academicons.tex @@ -131726,28 +131726,28 @@ 1995/01/27 | 48128 | fonts/utilities/fontload/vms/subfont.exe-alpha 1995/01/27 | 89600 | fonts/utilities/fontload/vms/subfont.exe-vax 2007/11/24 | 136238 | fonts/utilities/fontload.zip -2021/04/01 | 13334 | fonts/utilities/fontools/bin/afm2afm -2021/04/01 | 159316 | fonts/utilities/fontools/bin/autoinst -2021/04/01 | 27582 | fonts/utilities/fontools/bin/ot2kpx -2021/04/01 | 9480 | fonts/utilities/fontools/bin/splitttc -2021/04/01 | 27065 | fonts/utilities/fontools/doc/afm2afm.pdf -2021/04/01 | 69654 | fonts/utilities/fontools/doc/autoinst.pdf -2021/04/01 | 27441 | fonts/utilities/fontools/doc/ot2kpx.pdf -2021/04/01 | 20583 | fonts/utilities/fontools/doc/splitttc.pdf -2021/04/01 | 17997 | fonts/utilities/fontools/GPLv2.txt -2021/04/01 | 3003 | fonts/utilities/fontools/README -2021/04/01 | 8032 | fonts/utilities/fontools/share/fontools_lgr.enc -2021/04/01 | 2855 | fonts/utilities/fontools/share/fontools_ly1.enc -2021/04/01 | 2248 | fonts/utilities/fontools/share/fontools_oml.enc -2021/04/01 | 2587 | fonts/utilities/fontools/share/fontools_ot1.enc -2021/04/01 | 2815 | fonts/utilities/fontools/share/fontools_t1.enc -2021/04/01 | 2907 | fonts/utilities/fontools/share/fontools_t2a.enc -2021/04/01 | 3729 | fonts/utilities/fontools/share/fontools_t2b.enc -2021/04/01 | 3651 | fonts/utilities/fontools/share/fontools_t2c.enc -2021/04/01 | 2656 | fonts/utilities/fontools/share/fontools_t3.enc -2021/04/01 | 3080 | fonts/utilities/fontools/share/fontools_ts1.enc -2021/04/01 | 2751 | fonts/utilities/fontools/share/fontools_ts3.enc -2021/04/01 | 204110 | fonts/utilities/fontools.zip +2021/07/21 | 13334 | fonts/utilities/fontools/bin/afm2afm +2021/07/21 | 160879 | fonts/utilities/fontools/bin/autoinst +2021/07/21 | 27582 | fonts/utilities/fontools/bin/ot2kpx +2021/07/21 | 9480 | fonts/utilities/fontools/bin/splitttc +2021/07/21 | 27053 | fonts/utilities/fontools/doc/afm2afm.pdf +2021/07/21 | 69866 | fonts/utilities/fontools/doc/autoinst.pdf +2021/07/21 | 27426 | fonts/utilities/fontools/doc/ot2kpx.pdf +2021/07/21 | 20571 | fonts/utilities/fontools/doc/splitttc.pdf +2021/07/21 | 17997 | fonts/utilities/fontools/GPLv2.txt +2021/07/21 | 3003 | fonts/utilities/fontools/README +2021/07/21 | 8032 | fonts/utilities/fontools/share/fontools_lgr.enc +2021/07/21 | 2855 | fonts/utilities/fontools/share/fontools_ly1.enc +2021/07/21 | 2248 | fonts/utilities/fontools/share/fontools_oml.enc +2021/07/21 | 2587 | fonts/utilities/fontools/share/fontools_ot1.enc +2021/07/21 | 2815 | fonts/utilities/fontools/share/fontools_t1.enc +2021/07/21 | 2907 | fonts/utilities/fontools/share/fontools_t2a.enc +2021/07/21 | 3729 | fonts/utilities/fontools/share/fontools_t2b.enc +2021/07/21 | 3651 | fonts/utilities/fontools/share/fontools_t2c.enc +2021/07/21 | 2656 | fonts/utilities/fontools/share/fontools_t3.enc +2021/07/21 | 3080 | fonts/utilities/fontools/share/fontools_ts1.enc +2021/07/21 | 2751 | fonts/utilities/fontools/share/fontools_ts3.enc +2021/07/21 | 204731 | fonts/utilities/fontools.zip 2007/11/26 | 1775673 | fonts/utilities/freetype/freetype-2.3.5.tar.gz 2007/11/26 | 189 | fonts/utilities/freetype/freetype-2.3.5.tar.gz.sig 2007/11/26 | 117706 | fonts/utilities/freetype/freetype-doc-2.3.5.tar.gz @@ -187746,11 +187746,11 @@ 2018/12/08 | 2244 | macros/generic/texdate/texdate.ins 2018/12/08 | 251821 | macros/generic/texdate/texdate.pdf 2018/12/09 | 268811 | macros/generic/texdate.zip -2021/07/15 | 596 | macros/generic/texdimens/LICENSE.md -2021/07/15 | 20693 | macros/generic/texdimens/README.md -2021/07/15 | 277 | macros/generic/texdimens/texdimens.sty -2021/07/15 | 11329 | macros/generic/texdimens/texdimens.tex -2021/07/15 | 10369 | macros/generic/texdimens.zip +2021/07/21 | 596 | macros/generic/texdimens/LICENSE.md +2021/07/21 | 21431 | macros/generic/texdimens/README.md +2021/07/21 | 272 | macros/generic/texdimens/texdimens.sty +2021/07/21 | 16725 | macros/generic/texdimens/texdimens.tex +2021/07/21 | 12206 | macros/generic/texdimens.zip 2008/11/11 | 1043 | macros/generic/tex-ewd/bsdlic.txt 2008/11/10 | 7400 | macros/generic/tex-ewd/dotnot.tex 2008/11/11 | 16442 | macros/generic/tex-ewd/p0.tex @@ -187980,18 +187980,18 @@ 2020/11/11 | 719 | macros/generic/xlop/tex/xlop.sty 2020/11/11 | 126743 | macros/generic/xlop/tex/xlop.tex 2020/11/11 | 609317 | macros/generic/xlop.zip -2019/02/04 | 3828 | macros/generic/xstring/README -2019/02/01 | 99780 | macros/generic/xstring/test_etex.pdf -2019/02/01 | 37798 | macros/generic/xstring/test_etex.tex -2019/02/01 | 150611 | macros/generic/xstring/test_latex.pdf -2019/02/01 | 41390 | macros/generic/xstring/test_latex.tex -2019/02/05 | 187648 | macros/generic/xstring/xstring-en.pdf -2019/02/02 | 91078 | macros/generic/xstring/xstring-en.tex -2019/02/05 | 201920 | macros/generic/xstring/xstring-fr.pdf -2019/02/01 | 103754 | macros/generic/xstring/xstring-fr.tex -2018/12/03 | 123 | macros/generic/xstring/xstring.sty -2019/02/05 | 47762 | macros/generic/xstring/xstring.tex -2019/02/05 | 685405 | macros/generic/xstring.zip +2021/07/21 | 3828 | macros/generic/xstring/README +2021/07/21 | 99781 | macros/generic/xstring/test_etex.pdf +2021/07/21 | 37798 | macros/generic/xstring/test_etex.tex +2021/07/21 | 155263 | macros/generic/xstring/test_latex.pdf +2021/07/21 | 41390 | macros/generic/xstring/test_latex.tex +2021/07/21 | 199536 | macros/generic/xstring/xstring-en.pdf +2021/07/21 | 91079 | macros/generic/xstring/xstring-en.tex +2021/07/21 | 215317 | macros/generic/xstring/xstring-fr.pdf +2021/07/21 | 103753 | macros/generic/xstring/xstring-fr.tex +2021/07/21 | 123 | macros/generic/xstring/xstring.sty +2021/07/21 | 48190 | macros/generic/xstring/xstring.tex +2021/07/21 | 713300 | macros/generic/xstring.zip 2011/01/22 | 845 | macros/generic/yax/README 2011/01/22 | 654 | macros/generic/yax/t-yax.tex 2011/01/22 | 113177 | macros/generic/yax/yax-doc.pdf @@ -204983,11 +204983,16 @@ 2019/05/15 | 203 | macros/latex/contrib/lion-msc/minimal.tex 2020/06/03 | 677 | macros/latex/contrib/lion-msc/README.md 2020/06/04 | 1588710 | macros/latex/contrib/lion-msc.zip -2021/03/03 | 308958 | macros/latex/contrib/lipsum/lipsum.dtx -2021/03/03 | 2330 | macros/latex/contrib/lipsum/lipsum.ins -2021/03/03 | 812071 | macros/latex/contrib/lipsum/lipsum.pdf -2021/03/03 | 1525 | macros/latex/contrib/lipsum/README.txt -2021/03/04 | 902430 | macros/latex/contrib/lipsum.zip +2021/07/20 | 1368 | macros/latex/contrib/lipsum/CHANGELOG.md +2021/07/20 | 14 | macros/latex/contrib/lipsum/DEPENDS.txt +2021/07/20 | 134671 | macros/latex/contrib/lipsum/lipsum-cicero.txt +2021/07/20 | 98064 | macros/latex/contrib/lipsum/lipsum-cs.txt +2021/07/20 | 55662 | macros/latex/contrib/lipsum/lipsum.dtx +2021/07/20 | 3735 | macros/latex/contrib/lipsum/lipsum.ins +2021/07/20 | 91127 | macros/latex/contrib/lipsum/lipsum-la.txt +2021/07/20 | 644963 | macros/latex/contrib/lipsum/lipsum.pdf +2021/07/20 | 1525 | macros/latex/contrib/lipsum/README.txt +2021/07/21 | 774697 | macros/latex/contrib/lipsum.zip 2015/10/25 | 11875 | macros/latex/contrib/lisp-on-tex/examples/div2.pdf 2015/10/25 | 973 | macros/latex/contrib/lisp-on-tex/examples/div2.tex 2015/10/25 | 36632 | macros/latex/contrib/lisp-on-tex/examples/fact.pdf @@ -208808,54 +208813,54 @@ 2019/12/05 | 299397 | macros/latex/contrib/pdflscape/pdflscape.pdf 2019/12/05 | 170 | macros/latex/contrib/pdflscape/README.md 2019/12/06 | 301872 | macros/latex/contrib/pdflscape.zip -2021/06/29 | 3305 | macros/latex/contrib/pdfmanagement-testphase/CHANGELOG.md -2021/06/29 | 7728 | macros/latex/contrib/pdfmanagement-testphase/color-ltx.sty -2021/06/29 | 172566 | macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.dtx -2021/06/29 | 947374 | macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.pdf -2021/06/29 | 4212 | macros/latex/contrib/pdfmanagement-testphase/hyperxmp-patches-tmp-ltx.sty -2021/06/29 | 53204 | macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.dtx -2021/06/29 | 588657 | macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.pdf -2021/06/29 | 26394 | macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.dtx -2021/06/29 | 573839 | macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.pdf -2021/06/29 | 17429 | macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.dtx -2021/06/29 | 527212 | macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.pdf -2021/06/29 | 26672 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.dtx -2021/06/29 | 547968 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.pdf -2021/06/29 | 18289 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.dtx -2021/06/29 | 531008 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.pdf -2021/06/29 | 20556 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.dtx -2021/06/29 | 534217 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.pdf -2021/06/29 | 67782 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield.dtx -2021/06/29 | 739355 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield.pdf -2021/06/29 | 25885 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.dtx -2021/06/29 | 526297 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.pdf -2021/06/29 | 27438 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.dtx -2021/06/29 | 576394 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.pdf -2021/06/29 | 22113 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.dtx -2021/06/29 | 505648 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.pdf -2021/06/29 | 28041 | macros/latex/contrib/pdfmanagement-testphase/l3pdffile.dtx -2021/06/29 | 553295 | macros/latex/contrib/pdfmanagement-testphase/l3pdffile.pdf -2021/06/29 | 55323 | macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.dtx -2021/06/29 | 658998 | macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.pdf -2021/06/29 | 30568 | macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.dtx -2021/06/29 | 663954 | macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.pdf -2021/06/29 | 15784 | macros/latex/contrib/pdfmanagement-testphase/l3pdftools.dtx -2021/06/29 | 518377 | macros/latex/contrib/pdfmanagement-testphase/l3pdftools.pdf -2021/06/29 | 6306 | macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.dtx -2021/06/29 | 435902 | macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.pdf -2021/06/25 | 4041 | macros/latex/contrib/pdfmanagement-testphase/l3ref-tmp.sty -2021/06/29 | 12476 | macros/latex/contrib/pdfmanagement-testphase/ltdocinit.dtx -2021/06/29 | 552844 | macros/latex/contrib/pdfmanagement-testphase/ltdocinit.pdf -2021/06/29 | 1822 | macros/latex/contrib/pdfmanagement-testphase/pdflscape-ltx.sty -2021/06/29 | 11265 | macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.dtx -2021/06/29 | 422433 | macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.pdf -2021/06/29 | 17807 | macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.dtx +2021/07/21 | 3872 | macros/latex/contrib/pdfmanagement-testphase/CHANGELOG.md +2021/07/21 | 7728 | macros/latex/contrib/pdfmanagement-testphase/color-ltx.sty +2021/07/21 | 173339 | macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.dtx +2021/07/21 | 949513 | macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.pdf +2021/07/21 | 4212 | macros/latex/contrib/pdfmanagement-testphase/hyperxmp-patches-tmp-ltx.sty +2021/07/21 | 57218 | macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.dtx +2021/07/21 | 594809 | macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.pdf +2021/07/21 | 27837 | macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.dtx +2021/07/21 | 577451 | macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.pdf +2021/07/21 | 17429 | macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.dtx +2021/07/21 | 527225 | macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.pdf +2021/07/21 | 26672 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.dtx +2021/07/21 | 548003 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.pdf +2021/07/21 | 18289 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.dtx +2021/07/21 | 531031 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.pdf +2021/07/21 | 20556 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.dtx +2021/07/21 | 534245 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.pdf +2021/07/21 | 67782 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield.dtx +2021/07/21 | 739384 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield.pdf +2021/07/21 | 26662 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.dtx +2021/07/21 | 526426 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.pdf +2021/07/21 | 27438 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.dtx +2021/07/21 | 576432 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.pdf +2021/07/21 | 22113 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.dtx +2021/07/21 | 505665 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.pdf +2021/07/21 | 28041 | macros/latex/contrib/pdfmanagement-testphase/l3pdffile.dtx +2021/07/21 | 553454 | macros/latex/contrib/pdfmanagement-testphase/l3pdffile.pdf +2021/07/21 | 55200 | macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.dtx +2021/07/21 | 658859 | macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.pdf +2021/07/21 | 30568 | macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.dtx +2021/07/21 | 664002 | macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.pdf +2021/07/21 | 15784 | macros/latex/contrib/pdfmanagement-testphase/l3pdftools.dtx +2021/07/21 | 518408 | macros/latex/contrib/pdfmanagement-testphase/l3pdftools.pdf +2021/07/21 | 6549 | macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.dtx +2021/07/21 | 418445 | macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.pdf +2021/06/29 | 4041 | macros/latex/contrib/pdfmanagement-testphase/l3ref-tmp.sty +2021/07/21 | 15944 | macros/latex/contrib/pdfmanagement-testphase/ltdocinit.dtx +2021/07/21 | 537047 | macros/latex/contrib/pdfmanagement-testphase/ltdocinit.pdf +2021/07/21 | 1822 | macros/latex/contrib/pdfmanagement-testphase/pdflscape-ltx.sty +2021/07/21 | 11151 | macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.dtx +2021/07/21 | 421608 | macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.pdf +2021/07/21 | 17807 | macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.dtx 2021/06/14 | 4760 | macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.ins -2021/06/29 | 446514 | macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.pdf -2021/06/29 | 1195 | macros/latex/contrib/pdfmanagement-testphase/README.md -2021/06/29 | 580 | macros/latex/contrib/pdfmanagement-testphase/transparent-ltx.sty -2021/06/29 | 3797 | macros/latex/contrib/pdfmanagement-testphase/xcolor-patches-tmp-ltx.sty -2021/06/29 | 10676982 | macros/latex/contrib/pdfmanagement-testphase.zip +2021/07/21 | 446478 | macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.pdf +2021/07/21 | 1195 | macros/latex/contrib/pdfmanagement-testphase/README.md +2021/07/21 | 580 | macros/latex/contrib/pdfmanagement-testphase/transparent-ltx.sty +2021/07/21 | 3959 | macros/latex/contrib/pdfmanagement-testphase/xcolor-patches-tmp-ltx.sty +2021/07/21 | 10657849 | macros/latex/contrib/pdfmanagement-testphase.zip 2011/05/05 | 156 | macros/latex/contrib/pdfmarginpar/doc/pdfmarginparexample.aux 2011/05/05 | 3368 | macros/latex/contrib/pdfmarginpar/doc/pdfmarginparexample.log 2011/05/05 | 64982 | macros/latex/contrib/pdfmarginpar/doc/pdfmarginparexample.pdf @@ -215766,12 +215771,12 @@ 2019/06/20 | 14652 | macros/latex/contrib/tlc-article/tlc-article.tex 2019/06/20 | 24 | macros/latex/contrib/tlc-article/tlc-article.texx 2019/06/23 | 444208 | macros/latex/contrib/tlc-article.zip -2021/07/15 | 35 | macros/latex/contrib/to-be-determined/DEPENDS.txt -2021/07/15 | 1298 | macros/latex/contrib/to-be-determined/README.md -2021/07/15 | 183512 | macros/latex/contrib/to-be-determined/to-be-determined.pdf -2021/07/15 | 1588 | macros/latex/contrib/to-be-determined/to-be-determined.sty -2021/07/15 | 2448 | macros/latex/contrib/to-be-determined/to-be-determined.tex -2021/07/15 | 186901 | macros/latex/contrib/to-be-determined.zip +2021/07/21 | 35 | macros/latex/contrib/to-be-determined/DEPENDS.txt +2021/07/21 | 1298 | macros/latex/contrib/to-be-determined/README.md +2021/07/21 | 183126 | macros/latex/contrib/to-be-determined/to-be-determined.pdf +2021/07/21 | 1590 | macros/latex/contrib/to-be-determined/to-be-determined.sty +2021/07/21 | 2448 | macros/latex/contrib/to-be-determined/to-be-determined.tex +2021/07/21 | 186502 | macros/latex/contrib/to-be-determined.zip 2010/10/13 | 3382 | macros/latex/contrib/tocbibind/README 2010/10/13 | 44060 | macros/latex/contrib/tocbibind/tocbibind.dtx 2010/10/13 | 2497 | macros/latex/contrib/tocbibind/tocbibind.ins @@ -221011,14 +221016,14 @@ 1995/11/22 | 4779 | macros/latex/contrib/utthesis/ICDE-11/runtime_Q8.ps 1995/11/22 | 309 | macros/latex/contrib/utthesis/ICDE-11/stretch.sty 1994/12/27 | 38982 | macros/latex/contrib/utthesis/prairie.tar.gz -2021/05/04 | 1510 | macros/latex/contrib/ut-thesis/README +2021/07/21 | 1677 | macros/latex/contrib/ut-thesis/README 1994/12/23 | 254682 | macros/latex/contrib/utthesis/tr94-16.ps 1995/01/01 | 7583 | macros/latex/contrib/utthesis/utthesis.doc -2021/05/04 | 19510 | macros/latex/contrib/ut-thesis/ut-thesis.dtx -2021/03/11 | 1721 | macros/latex/contrib/ut-thesis/ut-thesis.ins -2021/05/04 | 116669 | macros/latex/contrib/ut-thesis/ut-thesis.pdf +2021/07/21 | 19509 | macros/latex/contrib/ut-thesis/ut-thesis.dtx +2021/07/21 | 1841 | macros/latex/contrib/ut-thesis/ut-thesis.ins +2021/07/21 | 142544 | macros/latex/contrib/ut-thesis/ut-thesis.pdf 1995/05/22 | 25294 | macros/latex/contrib/utthesis/utthesis.sty -2021/05/04 | 123154 | macros/latex/contrib/ut-thesis.zip +2021/07/21 | 146946 | macros/latex/contrib/ut-thesis.zip 2005/04/27 | 638510 | macros/latex/contrib/utthesis.zip 2000/09/27 | 16593 | macros/latex/contrib/uwmslide/logo.eps 2002/10/30 | 7959 | macros/latex/contrib/uwmslide/README @@ -266833,9 +266838,9 @@ 2021/02/07 | 147984 | systems/texlive/tlnet/archive/babel-finnish.doc.r57643.tar.xz 2021/02/07 | 2416 | systems/texlive/tlnet/archive/babel-finnish.r57643.tar.xz 2021/02/07 | 6224 | systems/texlive/tlnet/archive/babel-finnish.source.r57643.tar.xz -2020/10/10 | 502492 | systems/texlive/tlnet/archive/babel-french.doc.r56607.tar.xz -2020/10/10 | 15924 | systems/texlive/tlnet/archive/babel-french.r56607.tar.xz -2020/10/10 | 56156 | systems/texlive/tlnet/archive/babel-french.source.r56607.tar.xz +2021/07/21 | 507936 | systems/texlive/tlnet/archive/babel-french.doc.r59997.tar.xz +2021/07/21 | 15876 | systems/texlive/tlnet/archive/babel-french.r59997.tar.xz +2021/07/21 | 55972 | systems/texlive/tlnet/archive/babel-french.source.r59997.tar.xz 2019/02/28 | 138624 | systems/texlive/tlnet/archive/babel-friulan.doc.r39861.tar.xz 2019/02/28 | 1576 | systems/texlive/tlnet/archive/babel-friulan.r39861.tar.xz 2019/02/28 | 3456 | systems/texlive/tlnet/archive/babel-friulan.source.r39861.tar.xz @@ -267391,16 +267396,15 @@ 2021/02/27 | 5575912 | systems/texlive/tlnet/archive/bibtexu.amd64-freebsd.r57941.tar.xz 2021/02/24 | 5540660 | systems/texlive/tlnet/archive/bibtexu.amd64-netbsd.r57877.tar.xz 2021/02/27 | 5489928 | systems/texlive/tlnet/archive/bibtexu.armhf-linux.r57957.tar.xz -2019/11/19 | 67480 | systems/texlive/tlnet/archive/bibtexu.doc.r52851.tar.xz +2021/07/21 | 67484 | systems/texlive/tlnet/archive/bibtexu.doc.r60002.tar.xz 2021/03/16 | 5563796 | systems/texlive/tlnet/archive/bibtexu.i386-cygwin.r58387.tar.xz 2021/02/27 | 5533416 | systems/texlive/tlnet/archive/bibtexu.i386-freebsd.r57961.tar.xz 2021/02/24 | 5696092 | systems/texlive/tlnet/archive/bibtexu.i386-linux.r57878.tar.xz 2021/02/24 | 5504740 | systems/texlive/tlnet/archive/bibtexu.i386-netbsd.r57877.tar.xz 2021/02/27 | 5872712 | systems/texlive/tlnet/archive/bibtexu.i386-solaris.r57938.tar.xz 2021/02/25 | 177164 | systems/texlive/tlnet/archive/bibtex.universal-darwin.r57908.tar.xz -2019/11/19 | 292 | systems/texlive/tlnet/archive/bibtexu.r52851.tar.xz +2021/07/21 | 296 | systems/texlive/tlnet/archive/bibtexu.r60002.tar.xz 2021/02/25 | 11424936 | systems/texlive/tlnet/archive/bibtexu.universal-darwin.r57908.tar.xz -2021/04/08 | 586696 | systems/texlive/tlnet/archive/bibtexu.win32.r58783.tar.xz 2021/03/16 | 5555712 | systems/texlive/tlnet/archive/bibtexu.x86_64-cygwin.r58387.tar.xz 2021/03/09 | 5536668 | systems/texlive/tlnet/archive/bibtexu.x86_64-darwinlegacy.r58231.tar.xz 2021/02/24 | 5665972 | systems/texlive/tlnet/archive/bibtexu.x86_64-linuxmusl.r57878.tar.xz @@ -267791,9 +267795,9 @@ 2019/02/28 | 542996 | systems/texlive/tlnet/archive/catcodes.doc.r38859.tar.xz 2019/02/28 | 6288 | systems/texlive/tlnet/archive/catcodes.r38859.tar.xz 2019/02/28 | 6940 | systems/texlive/tlnet/archive/catcodes.source.r38859.tar.xz -2019/02/28 | 395344 | systems/texlive/tlnet/archive/catechis.doc.r49061.tar.xz -2019/02/28 | 1664 | systems/texlive/tlnet/archive/catechis.r49061.tar.xz -2019/02/28 | 6420 | systems/texlive/tlnet/archive/catechis.source.r49061.tar.xz +2021/07/21 | 395736 | systems/texlive/tlnet/archive/catechis.doc.r59998.tar.xz +2021/07/21 | 1660 | systems/texlive/tlnet/archive/catechis.r59998.tar.xz +2021/07/21 | 6440 | systems/texlive/tlnet/archive/catechis.source.r59998.tar.xz 2019/02/28 | 19124 | systems/texlive/tlnet/archive/catoptions.doc.r35069.tar.xz 2019/02/28 | 37784 | systems/texlive/tlnet/archive/catoptions.r35069.tar.xz 2020/12/15 | 424340 | systems/texlive/tlnet/archive/causets.doc.r57139.tar.xz @@ -268094,8 +268098,8 @@ 2019/02/28 | 356 | systems/texlive/tlnet/archive/cjk-gs-integrate.x86_64-linuxmusl.r46840.tar.xz 2019/02/28 | 348 | systems/texlive/tlnet/archive/cjk-gs-integrate.x86_64-linux.r37223.tar.xz 2019/02/28 | 352 | systems/texlive/tlnet/archive/cjk-gs-integrate.x86_64-solaris.r37223.tar.xz -2021/07/18 | 160592 | systems/texlive/tlnet/archive/cjk-ko.doc.r59958.tar.xz -2021/07/18 | 8448 | systems/texlive/tlnet/archive/cjk-ko.r59958.tar.xz +2021/07/21 | 160448 | systems/texlive/tlnet/archive/cjk-ko.doc.r59996.tar.xz +2021/07/21 | 8728 | systems/texlive/tlnet/archive/cjk-ko.r59996.tar.xz 2019/02/28 | 143540 | systems/texlive/tlnet/archive/cjkpunct.doc.r41119.tar.xz 2019/02/28 | 4060 | systems/texlive/tlnet/archive/cjkpunct.r41119.tar.xz 2019/02/28 | 7020 | systems/texlive/tlnet/archive/cjkpunct.source.r41119.tar.xz @@ -269631,9 +269635,9 @@ 2021/07/19 | 313228 | systems/texlive/tlnet/archive/easing.doc.r59975.tar.xz 2021/07/19 | 2220 | systems/texlive/tlnet/archive/easing.r59975.tar.xz 2021/07/19 | 7876 | systems/texlive/tlnet/archive/easing.source.r59975.tar.xz -2021/07/20 | 590124 | systems/texlive/tlnet/archive/easybook.doc.r59988.tar.xz -2021/07/20 | 16036 | systems/texlive/tlnet/archive/easybook.r59988.tar.xz -2021/07/20 | 36632 | systems/texlive/tlnet/archive/easybook.source.r59988.tar.xz +2021/07/21 | 590152 | systems/texlive/tlnet/archive/easybook.doc.r59999.tar.xz +2021/07/21 | 16024 | systems/texlive/tlnet/archive/easybook.r59999.tar.xz +2021/07/21 | 36624 | systems/texlive/tlnet/archive/easybook.source.r59999.tar.xz 2019/02/28 | 4540 | systems/texlive/tlnet/archive/easy.doc.r19440.tar.xz 2020/09/08 | 175976 | systems/texlive/tlnet/archive/easyfig.doc.r56291.tar.xz 2020/09/08 | 1936 | systems/texlive/tlnet/archive/easyfig.r56291.tar.xz @@ -276425,9 +276429,9 @@ 2021/06/26 | 250232 | systems/texlive/tlnet/archive/siunits.doc.r59702.tar.xz 2021/06/26 | 6040 | systems/texlive/tlnet/archive/siunits.r59702.tar.xz 2021/06/26 | 34532 | systems/texlive/tlnet/archive/siunits.source.r59702.tar.xz -2021/07/08 | 2859504 | systems/texlive/tlnet/archive/siunitx.doc.r59867.tar.xz -2021/07/08 | 61448 | systems/texlive/tlnet/archive/siunitx.r59867.tar.xz -2021/07/08 | 105828 | systems/texlive/tlnet/archive/siunitx.source.r59867.tar.xz +2021/07/21 | 2858352 | systems/texlive/tlnet/archive/siunitx.doc.r60000.tar.xz +2021/07/21 | 61424 | systems/texlive/tlnet/archive/siunitx.r60000.tar.xz +2021/07/21 | 105756 | systems/texlive/tlnet/archive/siunitx.source.r60000.tar.xz 2019/02/28 | 200108 | systems/texlive/tlnet/archive/skak.doc.r46259.tar.xz 2019/02/28 | 316212 | systems/texlive/tlnet/archive/skaknew.doc.r20031.tar.xz 2019/02/28 | 160064 | systems/texlive/tlnet/archive/skaknew.r20031.tar.xz @@ -277294,7 +277298,7 @@ 2020/05/17 | 592 | systems/texlive/tlnet/archive/texlive-scripts.amd64-freebsd.r55172.tar.xz 2020/05/17 | 588 | systems/texlive/tlnet/archive/texlive-scripts.amd64-netbsd.r55172.tar.xz 2020/05/17 | 592 | systems/texlive/tlnet/archive/texlive-scripts.armhf-linux.r55172.tar.xz -2021/07/20 | 398880 | systems/texlive/tlnet/archive/texlive-scripts.doc.r59985.tar.xz +2021/07/21 | 398840 | systems/texlive/tlnet/archive/texlive-scripts.doc.r59995.tar.xz 2020/01/27 | 916 | systems/texlive/tlnet/archive/texlive-scripts-extra.aarch64-linux.r53577.tar.xz 2020/01/27 | 924 | systems/texlive/tlnet/archive/texlive-scripts-extra.amd64-freebsd.r53577.tar.xz 2020/01/27 | 916 | systems/texlive/tlnet/archive/texlive-scripts-extra.amd64-netbsd.r53577.tar.xz @@ -277318,7 +277322,7 @@ 2020/05/17 | 588 | systems/texlive/tlnet/archive/texlive-scripts.i386-linux.r55172.tar.xz 2020/05/17 | 592 | systems/texlive/tlnet/archive/texlive-scripts.i386-netbsd.r55172.tar.xz 2020/05/17 | 588 | systems/texlive/tlnet/archive/texlive-scripts.i386-solaris.r55172.tar.xz -2021/07/20 | 108036 | systems/texlive/tlnet/archive/texlive-scripts.r59985.tar.xz +2021/07/21 | 108048 | systems/texlive/tlnet/archive/texlive-scripts.r59995.tar.xz 2021/02/25 | 572 | systems/texlive/tlnet/archive/texlive-scripts.universal-darwin.r57908.tar.xz 2021/04/12 | 36308 | systems/texlive/tlnet/archive/texlive-scripts.win32.r58829.tar.xz 2020/05/17 | 588 | systems/texlive/tlnet/archive/texlive-scripts.x86_64-cygwin.r55172.tar.xz @@ -279030,16 +279034,16 @@ 2020/07/18 | 47816 | systems/texlive/tlnet/archive/zztex.doc.r55862.tar.xz 2020/07/18 | 101724 | systems/texlive/tlnet/archive/zztex.r55862.tar.xz 2021/05/02 | 105152 | systems/texlive/tlnet/install-tl -2021/07/20 | 6811275 | systems/texlive/tlnet/install-tl-unx.tar.gz -2021/07/20 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512 -2021/07/20 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc +2021/07/21 | 6811233 | systems/texlive/tlnet/install-tl-unx.tar.gz +2021/07/21 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512 +2021/07/21 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc 2021/04/11 | 4945 | systems/texlive/tlnet/install-tl-windows.bat -2021/07/20 | 20810041 | systems/texlive/tlnet/install-tl-windows.exe -2021/07/20 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512 -2021/07/20 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc -2021/07/20 | 25585309 | systems/texlive/tlnet/install-tl.zip -2021/07/20 | 145 | systems/texlive/tlnet/install-tl.zip.sha512 -2021/07/20 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc +2021/07/21 | 20811264 | systems/texlive/tlnet/install-tl-windows.exe +2021/07/21 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512 +2021/07/21 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc +2021/07/21 | 25585318 | systems/texlive/tlnet/install-tl.zip +2021/07/21 | 145 | systems/texlive/tlnet/install-tl.zip.sha512 +2021/07/21 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc 2021/04/01 | 1229 | systems/texlive/tlnet/README.md 2021/04/01 | 0 | systems/texlive/tlnet/TEXLIVE_2021 2021/07/03 | 7181 | systems/texlive/tlnet/tlpkg/gpg/pubring.gpg @@ -279049,7 +279053,7 @@ 2021/07/03 | 1280 | systems/texlive/tlnet/tlpkg/gpg/trustdb.gpg 2021/07/02 | 49348 | systems/texlive/tlnet/tlpkg/installer/config.guess 2010/11/11 | 11651 | systems/texlive/tlnet/tlpkg/installer/COPYING.MinGW-runtime.txt -2021/07/19 | 6911 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl +2021/07/20 | 6957 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl 2020/04/15 | 223687 | systems/texlive/tlnet/tlpkg/installer/curl/curl-ca-bundle.crt 2020/04/15 | 2606592 | systems/texlive/tlnet/tlpkg/installer/curl/curl.exe 2017/04/16 | 2629 | systems/texlive/tlnet/tlpkg/installer/installer-options.txt @@ -279091,12 +279095,12 @@ 2021/05/16 | 20371 | systems/texlive/tlnet/tlpkg/TeXLive/TLCrypto.pm 2021/05/16 | 5402 | systems/texlive/tlnet/tlpkg/TeXLive/TLDownload.pm 2021/05/16 | 27555 | systems/texlive/tlnet/tlpkg/TeXLive/TLPaper.pm -2021/07/20 | 17328498 | systems/texlive/tlnet/tlpkg/texlive.tlpdb -2021/07/20 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 +2021/07/21 | 17328203 | systems/texlive/tlnet/tlpkg/texlive.tlpdb +2021/07/21 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 2021/05/16 | 86511 | systems/texlive/tlnet/tlpkg/TeXLive/TLPDB.pm -2021/07/20 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 -2021/07/20 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc -2021/07/20 | 2323748 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz +2021/07/21 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 +2021/07/21 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc +2021/07/21 | 2324392 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz 2021/05/16 | 58801 | systems/texlive/tlnet/tlpkg/TeXLive/TLPOBJ.pm 2021/05/16 | 42084 | systems/texlive/tlnet/tlpkg/TeXLive/TLPSRC.pm 2021/05/16 | 16103 | systems/texlive/tlnet/tlpkg/TeXLive/TLTREE.pm @@ -283948,7 +283952,7 @@ 2020/10/03 | 318630 | systems/win32/miktex/tm/packages/filehook.tar.lzma 2012/12/04 | 924573 | systems/win32/miktex/tm/packages/fileinfo.tar.lzma 2011/09/21 | 281409 | systems/win32/miktex/tm/packages/filemod.tar.lzma -2021/07/20 | 591231 | systems/win32/miktex/tm/packages/files.csv.lzma +2021/07/21 | 591231 | systems/win32/miktex/tm/packages/files.csv.lzma 2001/05/14 | 5617 | systems/win32/miktex/tm/packages/finbib.tar.lzma 2015/10/20 | 44379 | systems/win32/miktex/tm/packages/findhyph.tar.lzma 2011/10/21 | 89323 | systems/win32/miktex/tm/packages/fink.tar.lzma @@ -285264,9 +285268,9 @@ 2018/01/12 | 157226 | systems/win32/miktex/tm/packages/miktex-zip-bin-x64.tar.lzma 2021/07/17 | 39091 | systems/win32/miktex/tm/packages/miktex-zlib-bin-2.9.tar.lzma 2021/07/17 | 43361 | systems/win32/miktex/tm/packages/miktex-zlib-bin-x64-2.9.tar.lzma -2021/07/20 | 229193 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma -2021/07/20 | 1315413 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma -2021/07/20 | 1223153 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma +2021/07/21 | 229176 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma +2021/07/21 | 1315955 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma +2021/07/21 | 1223502 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma 2021/07/17 | 13442 | systems/win32/miktex/tm/packages/miktex-zzip-bin-2.9.tar.lzma 2021/07/17 | 14316 | systems/win32/miktex/tm/packages/miktex-zzip-bin-x64-2.9.tar.lzma 2016/07/15 | 35914 | systems/win32/miktex/tm/packages/mil3.tar.lzma @@ -285459,189 +285463,189 @@ 2018/04/09 | 400132 | systems/win32/miktex/tm/packages/newunicodechar.tar.lzma 2011/09/19 | 101312 | systems/win32/miktex/tm/packages/newvbtm.tar.lzma 2021/03/17 | 232249 | systems/win32/miktex/tm/packages/newverbs.tar.lzma -2021/07/20 | 591126 | systems/win32/miktex/tm/packages/next/files.csv.lzma -2021/07/20 | 51111 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma -2021/07/20 | 56474 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma -2021/07/20 | 975018 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma -2021/07/20 | 1077988 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma -2021/07/20 | 29035 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma -2021/07/20 | 31350 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma -2021/07/20 | 29840 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma -2021/07/20 | 34665 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma -2021/07/20 | 50149 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma -2021/07/20 | 57548 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma -2021/07/20 | 83540 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma -2021/07/20 | 95400 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma -2021/07/20 | 67818 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma -2021/07/20 | 75792 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma -2021/07/20 | 27198 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma -2021/07/20 | 30823 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma -2021/07/20 | 330786 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma -2021/07/20 | 392793 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma -2021/07/20 | 32672 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma -2021/07/20 | 36628 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma -2021/07/20 | 51308 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma -2021/07/20 | 56683 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma -2021/07/20 | 241811 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma -2021/07/20 | 263959 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma -2021/07/20 | 180010 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma -2021/07/20 | 195635 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma -2021/07/20 | 54631 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma -2021/07/20 | 61811 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma -2021/07/20 | 21224 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma -2021/07/20 | 23363 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma -2021/07/20 | 461811 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma -2021/07/20 | 45904 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma -2021/07/20 | 51201 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma -2021/07/20 | 284578 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma -2021/07/20 | 325042 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma -2021/07/20 | 41192 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma -2021/07/20 | 45308 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma -2021/07/20 | 119819 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma -2021/07/20 | 133863 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma -2021/07/20 | 1291300 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma -2021/07/20 | 1421867 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma -2021/07/20 | 100624 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma -2021/07/20 | 112982 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma -2021/07/20 | 43027 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma -2021/07/20 | 48248 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma -2021/07/20 | 25019 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma -2021/07/20 | 28179 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma -2021/07/20 | 56316 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma -2021/07/20 | 62784 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma -2021/07/20 | 136816 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma -2021/07/20 | 154425 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma -2021/07/20 | 73195 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma -2021/07/20 | 77949 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma -2021/07/20 | 71667 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma -2021/07/20 | 80447 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma -2021/07/20 | 258879 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma -2021/07/20 | 295203 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma -2021/07/20 | 22049 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma -2021/07/20 | 24995 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma -2021/07/20 | 97338 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma -2021/07/20 | 112088 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma -2021/07/20 | 64427 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma -2021/07/20 | 73147 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma -2021/07/20 | 96632 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma -2021/07/20 | 115350 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma -2021/07/20 | 38140 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma -2021/07/20 | 43002 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma -2021/07/20 | 483653 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma -2021/07/20 | 566526 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma -2021/07/20 | 147371 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma -2021/07/20 | 159578 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma -2021/07/20 | 94799 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma -2021/07/20 | 109030 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma -2021/07/20 | 16356 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma -2021/07/20 | 17979 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma -2021/07/20 | 28389 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma -2021/07/20 | 30057 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma -2021/07/20 | 629398 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma -2021/07/20 | 681249 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma -2021/07/20 | 531850 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma -2021/07/20 | 596927 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma -2021/07/20 | 476918 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma -2021/07/20 | 510586 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma -2021/07/20 | 94308 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma -2021/07/20 | 103399 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma -2021/07/20 | 1713892 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma -2021/07/20 | 2009902 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma -2021/07/20 | 67618 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma -2021/07/20 | 74209 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma -2021/07/20 | 27357 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma -2021/07/20 | 31619 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma -2021/07/20 | 7720 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma -2021/07/20 | 8767 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma -2021/07/20 | 196870 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma -2021/07/20 | 215248 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma -2021/07/20 | 250263 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma -2021/07/20 | 284023 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma -2021/07/20 | 98379 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma -2021/07/20 | 103200 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma -2021/07/20 | 60635 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-2.9.tar.lzma -2021/07/20 | 68022 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-x64-2.9.tar.lzma -2021/07/20 | 124281 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma -2021/07/20 | 136820 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma -2021/07/20 | 178353 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma -2021/07/20 | 196739 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma -2021/07/20 | 199732 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma -2021/07/20 | 180120 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma -2021/07/20 | 67482 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma -2021/07/20 | 76825 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma -2021/07/20 | 31228 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma -2021/07/20 | 35084 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma -2021/07/20 | 37803 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma -2021/07/20 | 42710 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma -2021/07/20 | 42890 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma -2021/07/20 | 46905 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma -2021/07/20 | 45970 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma -2021/07/20 | 52523 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma -2021/07/20 | 194380 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-2.9.tar.lzma -2021/07/20 | 206604 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma -2021/07/20 | 35690 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin.tar.lzma -2021/07/20 | 40228 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma -2021/07/20 | 744117 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma -2021/07/20 | 815240 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma -2021/07/20 | 198167 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma -2021/07/20 | 202795 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma -2021/07/20 | 208046 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma -2021/07/20 | 243425 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma -2021/07/20 | 78773 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma -2021/07/20 | 87775 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma -2021/07/20 | 1169717 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma -2021/07/20 | 1301191 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma -2021/07/20 | 20136 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma -2021/07/20 | 23901 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma -2021/07/20 | 31537 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma -2021/07/20 | 37238 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma -2021/07/20 | 64184 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma -2021/07/20 | 72205 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma -2021/07/20 | 50394 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma -2021/07/20 | 57725 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma -2021/07/20 | 1340929 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma -2021/07/20 | 1464201 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma -2021/07/20 | 42385 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma -2021/07/20 | 51748 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma -2021/07/20 | 56512 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin.tar.lzma -2021/07/20 | 60038 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma -2021/07/20 | 25289 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma -2021/07/20 | 27391 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma -2021/07/20 | 16413 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma -2021/07/20 | 18177 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma -2021/07/20 | 63776 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma -2021/07/20 | 69913 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma -2021/07/20 | 154804 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma -2021/07/20 | 169241 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma -2021/07/20 | 57011 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma -2021/07/20 | 65785 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma -2021/07/20 | 98259 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma -2021/07/20 | 105222 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma -2021/07/20 | 2672608 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma -2021/07/20 | 2796725 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma -2021/07/20 | 56352 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma -2021/07/20 | 62227 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma -2021/07/20 | 33544 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin.tar.lzma -2021/07/20 | 37359 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma -2021/07/20 | 27728 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma -2021/07/20 | 33632 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma -2021/07/20 | 65619 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma -2021/07/20 | 70647 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma -2021/07/20 | 312106 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma -2021/07/20 | 345738 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma -2021/07/20 | 55497 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin.tar.lzma -2021/07/20 | 57138 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma -2021/07/20 | 589841 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma -2021/07/20 | 624650 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma -2021/07/20 | 39127 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma -2021/07/20 | 43425 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma -2021/07/20 | 229233 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma -2021/07/20 | 1315124 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma -2021/07/20 | 1223339 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma -2021/07/20 | 13463 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma -2021/07/20 | 14347 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma +2021/07/21 | 591126 | systems/win32/miktex/tm/packages/next/files.csv.lzma +2021/07/21 | 51110 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma +2021/07/21 | 56473 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma +2021/07/21 | 975017 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma +2021/07/21 | 1077989 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma +2021/07/21 | 29034 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma +2021/07/21 | 31350 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma +2021/07/21 | 29841 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma +2021/07/21 | 34663 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma +2021/07/21 | 50151 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma +2021/07/21 | 57548 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma +2021/07/21 | 83541 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma +2021/07/21 | 95399 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma +2021/07/21 | 67820 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma +2021/07/21 | 75790 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma +2021/07/21 | 27197 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma +2021/07/21 | 30822 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma +2021/07/21 | 330786 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma +2021/07/21 | 392792 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma +2021/07/21 | 32670 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma +2021/07/21 | 36628 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma +2021/07/21 | 51308 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma +2021/07/21 | 56684 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma +2021/07/21 | 241811 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma +2021/07/21 | 263959 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma +2021/07/21 | 180009 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma +2021/07/21 | 195635 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma +2021/07/21 | 54632 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma +2021/07/21 | 61810 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma +2021/07/21 | 21222 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma +2021/07/21 | 23362 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma +2021/07/21 | 461813 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma +2021/07/21 | 45904 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma +2021/07/21 | 51200 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma +2021/07/21 | 284578 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma +2021/07/21 | 325041 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma +2021/07/21 | 41194 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma +2021/07/21 | 45309 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma +2021/07/21 | 119819 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma +2021/07/21 | 133864 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma +2021/07/21 | 1291300 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma +2021/07/21 | 1421867 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma +2021/07/21 | 100624 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma +2021/07/21 | 112982 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma +2021/07/21 | 43025 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma +2021/07/21 | 48250 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma +2021/07/21 | 25018 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma +2021/07/21 | 28179 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma +2021/07/21 | 56316 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma +2021/07/21 | 62784 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma +2021/07/21 | 136815 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma +2021/07/21 | 154425 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma +2021/07/21 | 73192 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma +2021/07/21 | 77949 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma +2021/07/21 | 71667 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma +2021/07/21 | 80446 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma +2021/07/21 | 258880 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma +2021/07/21 | 295202 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma +2021/07/21 | 22048 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma +2021/07/21 | 24993 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma +2021/07/21 | 97337 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma +2021/07/21 | 112085 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma +2021/07/21 | 64426 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma +2021/07/21 | 73145 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma +2021/07/21 | 96631 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma +2021/07/21 | 115349 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma +2021/07/21 | 38139 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma +2021/07/21 | 43002 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma +2021/07/21 | 483652 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma +2021/07/21 | 566525 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma +2021/07/21 | 147370 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma +2021/07/21 | 159578 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma +2021/07/21 | 94797 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma +2021/07/21 | 109027 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma +2021/07/21 | 16356 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma +2021/07/21 | 17978 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma +2021/07/21 | 28389 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma +2021/07/21 | 30057 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma +2021/07/21 | 629398 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma +2021/07/21 | 681250 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma +2021/07/21 | 531849 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma +2021/07/21 | 596929 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma +2021/07/21 | 476918 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma +2021/07/21 | 510585 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma +2021/07/21 | 94308 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma +2021/07/21 | 103398 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma +2021/07/21 | 1713894 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma +2021/07/21 | 2009904 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma +2021/07/21 | 67617 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma +2021/07/21 | 74210 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma +2021/07/21 | 27357 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma +2021/07/21 | 31619 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma +2021/07/21 | 7721 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma +2021/07/21 | 8767 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma +2021/07/21 | 196870 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma +2021/07/21 | 215246 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma +2021/07/21 | 250264 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma +2021/07/21 | 284024 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma +2021/07/21 | 98380 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma +2021/07/21 | 103201 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma +2021/07/21 | 60636 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-2.9.tar.lzma +2021/07/21 | 68022 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-x64-2.9.tar.lzma +2021/07/21 | 124279 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma +2021/07/21 | 136818 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma +2021/07/21 | 178352 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma +2021/07/21 | 196739 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma +2021/07/21 | 199731 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma +2021/07/21 | 180119 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma +2021/07/21 | 67480 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma +2021/07/21 | 76825 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma +2021/07/21 | 31230 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma +2021/07/21 | 35085 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma +2021/07/21 | 37804 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma +2021/07/21 | 42710 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma +2021/07/21 | 42889 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma +2021/07/21 | 46905 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma +2021/07/21 | 45970 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma +2021/07/21 | 52522 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma +2021/07/21 | 194380 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-2.9.tar.lzma +2021/07/21 | 206601 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma +2021/07/21 | 35689 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin.tar.lzma +2021/07/21 | 40227 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma +2021/07/21 | 744116 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma +2021/07/21 | 815241 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma +2021/07/21 | 198169 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma +2021/07/21 | 202793 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma +2021/07/21 | 208047 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma +2021/07/21 | 243426 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma +2021/07/21 | 78773 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma +2021/07/21 | 87775 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma +2021/07/21 | 1169716 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma +2021/07/21 | 1301192 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma +2021/07/21 | 20135 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma +2021/07/21 | 23901 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma +2021/07/21 | 31534 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma +2021/07/21 | 37240 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma +2021/07/21 | 64182 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma +2021/07/21 | 72205 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma +2021/07/21 | 50393 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma +2021/07/21 | 57726 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma +2021/07/21 | 1340930 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma +2021/07/21 | 1464201 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma +2021/07/21 | 42384 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma +2021/07/21 | 51749 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma +2021/07/21 | 56512 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin.tar.lzma +2021/07/21 | 60038 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma +2021/07/21 | 25290 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma +2021/07/21 | 27388 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma +2021/07/21 | 16412 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma +2021/07/21 | 18175 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma +2021/07/21 | 63777 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma +2021/07/21 | 69913 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma +2021/07/21 | 154804 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma +2021/07/21 | 169241 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma +2021/07/21 | 57012 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma +2021/07/21 | 65785 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma +2021/07/21 | 98260 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma +2021/07/21 | 105218 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma +2021/07/21 | 2672609 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma +2021/07/21 | 2796725 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma +2021/07/21 | 56355 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma +2021/07/21 | 62226 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma +2021/07/21 | 33544 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin.tar.lzma +2021/07/21 | 37356 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma +2021/07/21 | 27727 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma +2021/07/21 | 33631 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma +2021/07/21 | 65619 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma +2021/07/21 | 70647 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma +2021/07/21 | 312105 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma +2021/07/21 | 345738 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma +2021/07/21 | 55497 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin.tar.lzma +2021/07/21 | 57138 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma +2021/07/21 | 589845 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma +2021/07/21 | 624655 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma +2021/07/21 | 39127 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma +2021/07/21 | 43425 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma +2021/07/21 | 229240 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma +2021/07/21 | 1314594 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma +2021/07/21 | 1223434 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma +2021/07/21 | 13466 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma +2021/07/21 | 14348 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma 2019/03/12 | 1412 | systems/win32/miktex/tm/packages/nextpage.tar.lzma -2021/07/20 | 1153 | systems/win32/miktex/tm/packages/next/pr.ini +2021/07/21 | 1153 | systems/win32/miktex/tm/packages/next/pr.ini 2018/07/06 | 145915 | systems/win32/miktex/tm/packages/nexus-otf.tar.lzma 2017/03/30 | 191149 | systems/win32/miktex/tm/packages/nfssext-cfr.tar.lzma 2012/12/20 | 612251 | systems/win32/miktex/tm/packages/nicefilelist.tar.lzma @@ -286006,7 +286010,7 @@ 2020/10/20 | 342254 | systems/win32/miktex/tm/packages/preview.tar.lzma 2019/06/20 | 375963 | systems/win32/miktex/tm/packages/prftree.tar.lzma 2021/04/23 | 274028 | systems/win32/miktex/tm/packages/principia.tar.lzma -2021/07/20 | 937 | systems/win32/miktex/tm/packages/pr.ini +2021/07/21 | 937 | systems/win32/miktex/tm/packages/pr.ini 2010/09/27 | 248469 | systems/win32/miktex/tm/packages/printlen.tar.lzma 2008/06/17 | 77313 | systems/win32/miktex/tm/packages/proba.tar.lzma 2017/07/12 | 988486 | systems/win32/miktex/tm/packages/probsoln.tar.lzma @@ -287393,7 +287397,7 @@ 2004/06/04 | 404 | tds/tds.sed 2004/06/23 | 65418 | tds/tds.tex 2019/05/29 | 304264 | tds.zip -2021/07/21 | 186 | timestamp +2021/07/22 | 186 | timestamp 2002/08/26 | 61898 | usergrps/dante/antrag.pdf 2002/08/26 | 118217 | usergrps/dante/antrag.ps 2017/06/30 | 917 | usergrps/dante/dtk/doc/beispiel.bib diff --git a/FILES.byname.gz b/FILES.byname.gz Binary files differindex 464ddc6936..8af4b94791 100644 --- a/FILES.byname.gz +++ b/FILES.byname.gz diff --git a/FILES.last07days b/FILES.last07days index 8b5b62d8db..c9f29f2158 100644 --- a/FILES.last07days +++ b/FILES.last07days @@ -1,277 +1,397 @@ -2021/07/20 | 98379 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma -2021/07/20 | 98259 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma +2021/07/21 | 99781 | macros/generic/xstring/test_etex.pdf +2021/07/21 | 98380 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma +2021/07/21 | 98260 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma +2021/07/21 | 975017 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma +2021/07/21 | 97337 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma +2021/07/21 | 96631 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma +2021/07/21 | 95399 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma +2021/07/21 | 949513 | macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.pdf +2021/07/21 | 9480 | fonts/utilities/fontools/bin/splitttc +2021/07/21 | 94797 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma +2021/07/21 | 94308 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma +2021/07/21 | 937 | systems/win32/miktex/tm/packages/pr.ini +2021/07/21 | 91079 | macros/generic/xstring/xstring-en.tex +2021/07/21 | 87775 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma +2021/07/21 | 8767 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma +2021/07/21 | 8728 | systems/texlive/tlnet/archive/cjk-ko.r59996.tar.xz +2021/07/21 | 83541 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma +2021/07/21 | 815241 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma +2021/07/21 | 80446 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma +2021/07/21 | 8032 | fonts/utilities/fontools/share/fontools_lgr.enc +2021/07/21 | 78773 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma +2021/07/21 | 77949 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma +2021/07/21 | 774697 | macros/latex/contrib/lipsum.zip +2021/07/21 | 7728 | macros/latex/contrib/pdfmanagement-testphase/color-ltx.sty +2021/07/21 | 7721 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma +2021/07/21 | 76825 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma +2021/07/21 | 75790 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma +2021/07/21 | 744116 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma +2021/07/21 | 74210 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma +2021/07/21 | 739384 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield.pdf +2021/07/21 | 73192 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma +2021/07/21 | 73145 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma +2021/07/21 | 72205 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma +2021/07/21 | 71667 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma +2021/07/21 | 713300 | macros/generic/xstring.zip +2021/07/21 | 70647 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma +2021/07/21 | 69913 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma +2021/07/21 | 69866 | fonts/utilities/fontools/doc/autoinst.pdf +2021/07/21 | 681250 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma +2021/07/21 | 6811233 | systems/texlive/tlnet/install-tl-unx.tar.gz +2021/07/21 | 68022 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-x64-2.9.tar.lzma +2021/07/21 | 67820 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma +2021/07/21 | 67782 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield.dtx +2021/07/21 | 67617 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma +2021/07/21 | 67484 | systems/texlive/tlnet/archive/bibtexu.doc.r60002.tar.xz +2021/07/21 | 67480 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma +2021/07/21 | 664002 | macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.pdf +2021/07/21 | 658859 | macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.pdf +2021/07/21 | 65785 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma +2021/07/21 | 65619 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma +2021/07/21 | 6549 | macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.dtx +2021/07/21 | 64426 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma +2021/07/21 | 6440 | systems/texlive/tlnet/archive/catechis.source.r59998.tar.xz +2021/07/21 | 64182 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma +2021/07/21 | 63777 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma +2021/07/21 | 629398 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma +2021/07/21 | 62784 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma +2021/07/21 | 624655 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma +2021/07/21 | 62226 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma +2021/07/21 | 61810 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma +2021/07/21 | 61424 | systems/texlive/tlnet/archive/siunitx.r60000.tar.xz +2021/07/21 | 60636 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-2.9.tar.lzma +2021/07/21 | 60038 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma +2021/07/21 | 596 | macros/generic/texdimens/LICENSE.md +2021/07/21 | 596929 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma +2021/07/21 | 594809 | macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.pdf +2021/07/21 | 591231 | systems/win32/miktex/tm/packages/files.csv.lzma +2021/07/21 | 591126 | systems/win32/miktex/tm/packages/next/files.csv.lzma +2021/07/21 | 590152 | systems/texlive/tlnet/archive/easybook.doc.r59999.tar.xz +2021/07/21 | 589845 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma +2021/07/21 | 580 | macros/latex/contrib/pdfmanagement-testphase/transparent-ltx.sty +2021/07/21 | 577451 | macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.pdf +2021/07/21 | 57726 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma +2021/07/21 | 576432 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.pdf +2021/07/21 | 57548 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma +2021/07/21 | 57218 | macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.dtx +2021/07/21 | 57138 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma +2021/07/21 | 57012 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma +2021/07/21 | 56684 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma +2021/07/21 | 566525 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma +2021/07/21 | 56512 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin.tar.lzma +2021/07/21 | 56473 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma +2021/07/21 | 56355 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma +2021/07/21 | 56316 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma +2021/07/21 | 55972 | systems/texlive/tlnet/archive/babel-french.source.r59997.tar.xz +2021/07/21 | 55497 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin.tar.lzma +2021/07/21 | 553454 | macros/latex/contrib/pdfmanagement-testphase/l3pdffile.pdf +2021/07/21 | 55200 | macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.dtx +2021/07/21 | 548003 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.pdf +2021/07/21 | 54632 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma +2021/07/21 | 537047 | macros/latex/contrib/pdfmanagement-testphase/ltdocinit.pdf +2021/07/21 | 534245 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.pdf +2021/07/21 | 531849 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma +2021/07/21 | 531031 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.pdf +2021/07/21 | 527225 | macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.pdf +2021/07/21 | 526426 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.pdf +2021/07/21 | 52522 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma +2021/07/21 | 518408 | macros/latex/contrib/pdfmanagement-testphase/l3pdftools.pdf +2021/07/21 | 51749 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma +2021/07/21 | 51308 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma +2021/07/21 | 51200 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma +2021/07/21 | 51110 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma +2021/07/21 | 510585 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma +2021/07/21 | 507936 | systems/texlive/tlnet/archive/babel-french.doc.r59997.tar.xz +2021/07/21 | 505665 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.pdf +2021/07/21 | 50393 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma +2021/07/21 | 50151 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma +2021/07/21 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 +2021/07/21 | 483652 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma +2021/07/21 | 48250 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma +2021/07/21 | 48190 | macros/generic/xstring/xstring.tex +2021/07/21 | 476918 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma +2021/07/21 | 46905 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma +2021/07/21 | 461813 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma +2021/07/21 | 45970 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma +2021/07/21 | 45904 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma +2021/07/21 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc +2021/07/21 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc +2021/07/21 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc +2021/07/21 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc +2021/07/21 | 45309 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma +2021/07/21 | 446478 | macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.pdf +2021/07/21 | 43425 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma +2021/07/21 | 43025 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma +2021/07/21 | 43002 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma +2021/07/21 | 42889 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma +2021/07/21 | 42710 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma +2021/07/21 | 42384 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma +2021/07/21 | 421608 | macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.pdf +2021/07/21 | 4212 | macros/latex/contrib/pdfmanagement-testphase/hyperxmp-patches-tmp-ltx.sty +2021/07/21 | 418445 | macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.pdf +2021/07/21 | 41390 | macros/generic/xstring/test_latex.tex +2021/07/21 | 41194 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma +2021/07/21 | 40227 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma +2021/07/21 | 398840 | systems/texlive/tlnet/archive/texlive-scripts.doc.r59995.tar.xz +2021/07/21 | 3959 | macros/latex/contrib/pdfmanagement-testphase/xcolor-patches-tmp-ltx.sty +2021/07/21 | 395736 | systems/texlive/tlnet/archive/catechis.doc.r59998.tar.xz +2021/07/21 | 392792 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma +2021/07/21 | 39127 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma +2021/07/21 | 3872 | macros/latex/contrib/pdfmanagement-testphase/CHANGELOG.md +2021/07/21 | 3828 | macros/generic/xstring/README +2021/07/21 | 38139 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma +2021/07/21 | 37804 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma +2021/07/21 | 37798 | macros/generic/xstring/test_etex.tex +2021/07/21 | 37356 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma +2021/07/21 | 3729 | fonts/utilities/fontools/share/fontools_t2b.enc +2021/07/21 | 37240 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma +2021/07/21 | 36628 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma +2021/07/21 | 36624 | systems/texlive/tlnet/archive/easybook.source.r59999.tar.xz +2021/07/21 | 3651 | fonts/utilities/fontools/share/fontools_t2c.enc +2021/07/21 | 35 | macros/latex/contrib/to-be-determined/DEPENDS.txt +2021/07/21 | 35689 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin.tar.lzma +2021/07/21 | 35085 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma +2021/07/21 | 34663 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma +2021/07/21 | 345738 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma +2021/07/21 | 33631 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma +2021/07/21 | 33544 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin.tar.lzma +2021/07/21 | 330786 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma +2021/07/21 | 32670 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma +2021/07/21 | 325041 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma +2021/07/21 | 31619 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma +2021/07/21 | 31534 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma +2021/07/21 | 31350 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma +2021/07/21 | 31230 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma +2021/07/21 | 312105 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma +2021/07/21 | 30822 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma +2021/07/21 | 3080 | fonts/utilities/fontools/share/fontools_ts1.enc +2021/07/21 | 30568 | macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.dtx +2021/07/21 | 30057 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma +2021/07/21 | 3003 | fonts/utilities/fontools/README +2021/07/21 | 29841 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma +2021/07/21 | 296 | systems/texlive/tlnet/archive/bibtexu.r60002.tar.xz +2021/07/21 | 295202 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma +2021/07/21 | 2907 | fonts/utilities/fontools/share/fontools_t2a.enc +2021/07/21 | 29034 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma +2021/07/21 | 2858352 | systems/texlive/tlnet/archive/siunitx.doc.r60000.tar.xz +2021/07/21 | 2855 | fonts/utilities/fontools/share/fontools_ly1.enc +2021/07/21 | 284578 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma +2021/07/21 | 284024 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma +2021/07/21 | 28389 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma +2021/07/21 | 28179 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma +2021/07/21 | 2815 | fonts/utilities/fontools/share/fontools_t1.enc +2021/07/21 | 28041 | macros/latex/contrib/pdfmanagement-testphase/l3pdffile.dtx +2021/07/21 | 2796725 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma +2021/07/21 | 27837 | macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.dtx +2021/07/21 | 27727 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma +2021/07/21 | 27582 | fonts/utilities/fontools/bin/ot2kpx +2021/07/21 | 2751 | fonts/utilities/fontools/share/fontools_ts3.enc +2021/07/21 | 27438 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.dtx +2021/07/21 | 27426 | fonts/utilities/fontools/doc/ot2kpx.pdf +2021/07/21 | 27388 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma +2021/07/21 | 27357 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma +2021/07/21 | 272 | macros/generic/texdimens/texdimens.sty +2021/07/21 | 27197 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma +2021/07/21 | 27053 | fonts/utilities/fontools/doc/afm2afm.pdf +2021/07/21 | 2672609 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma +2021/07/21 | 26672 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.dtx +2021/07/21 | 26662 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.dtx +2021/07/21 | 2656 | fonts/utilities/fontools/share/fontools_t3.enc +2021/07/21 | 263959 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma +2021/07/21 | 258880 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma +2021/07/21 | 2587 | fonts/utilities/fontools/share/fontools_ot1.enc +2021/07/21 | 25585318 | systems/texlive/tlnet/install-tl.zip +2021/07/21 | 25290 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma +2021/07/21 | 250264 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma +2021/07/21 | 25018 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma +2021/07/21 | 24993 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma +2021/07/21 | 2448 | macros/latex/contrib/to-be-determined/to-be-determined.tex +2021/07/21 | 243426 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma +2021/07/21 | 241811 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma +2021/07/21 | 23901 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma +2021/07/21 | 23362 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma +2021/07/21 | 2324392 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz +2021/07/21 | 229240 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma +2021/07/21 | 229176 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma +2021/07/21 | 2248 | fonts/utilities/fontools/share/fontools_oml.enc +2021/07/21 | 22113 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.dtx +2021/07/21 | 22048 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma +2021/07/21 | 215317 | macros/generic/xstring/xstring-fr.pdf +2021/07/21 | 215246 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma +2021/07/21 | 21431 | macros/generic/texdimens/README.md +2021/07/21 | 21222 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma +2021/07/21 | 20811264 | systems/texlive/tlnet/install-tl-windows.exe +2021/07/21 | 208047 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma +2021/07/21 | 206601 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma +2021/07/21 | 20571 | fonts/utilities/fontools/doc/splitttc.pdf +2021/07/21 | 20556 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.dtx +2021/07/21 | 204731 | fonts/utilities/fontools.zip +2021/07/21 | 202793 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma +2021/07/21 | 20135 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma +2021/07/21 | 2009904 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma +2021/07/21 | 199731 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma +2021/07/21 | 199536 | macros/generic/xstring/xstring-en.pdf +2021/07/21 | 198169 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma +2021/07/21 | 196870 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma +2021/07/21 | 196739 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma +2021/07/21 | 195635 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma +2021/07/21 | 19509 | macros/latex/contrib/ut-thesis/ut-thesis.dtx +2021/07/21 | 194380 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-2.9.tar.lzma +2021/07/21 | 186502 | macros/latex/contrib/to-be-determined.zip +2021/07/21 | 1841 | macros/latex/contrib/ut-thesis/ut-thesis.ins +2021/07/21 | 183126 | macros/latex/contrib/to-be-determined/to-be-determined.pdf +2021/07/21 | 18289 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.dtx +2021/07/21 | 1822 | macros/latex/contrib/pdfmanagement-testphase/pdflscape-ltx.sty +2021/07/21 | 18175 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma +2021/07/21 | 180119 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma +2021/07/21 | 180009 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma +2021/07/21 | 17997 | fonts/utilities/fontools/GPLv2.txt +2021/07/21 | 17978 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma +2021/07/21 | 178352 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma +2021/07/21 | 17807 | macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.dtx +2021/07/21 | 17429 | macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.dtx +2021/07/21 | 173339 | macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.dtx +2021/07/21 | 17328203 | systems/texlive/tlnet/tlpkg/texlive.tlpdb +2021/07/21 | 1713894 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma +2021/07/21 | 169241 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma +2021/07/21 | 1677 | macros/latex/contrib/ut-thesis/README +2021/07/21 | 16725 | macros/generic/texdimens/texdimens.tex +2021/07/21 | 1660 | systems/texlive/tlnet/archive/catechis.r59998.tar.xz +2021/07/21 | 16412 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma +2021/07/21 | 16356 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma +2021/07/21 | 160879 | fonts/utilities/fontools/bin/autoinst +2021/07/21 | 160448 | systems/texlive/tlnet/archive/cjk-ko.doc.r59996.tar.xz +2021/07/21 | 16024 | systems/texlive/tlnet/archive/easybook.r59999.tar.xz +2021/07/21 | 159578 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma +2021/07/21 | 15944 | macros/latex/contrib/pdfmanagement-testphase/ltdocinit.dtx +2021/07/21 | 1590 | macros/latex/contrib/to-be-determined/to-be-determined.sty +2021/07/21 | 15876 | systems/texlive/tlnet/archive/babel-french.r59997.tar.xz +2021/07/21 | 15784 | macros/latex/contrib/pdfmanagement-testphase/l3pdftools.dtx +2021/07/21 | 155263 | macros/generic/xstring/test_latex.pdf +2021/07/21 | 154804 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma +2021/07/21 | 154425 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma +2021/07/21 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512 +2021/07/21 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512 +2021/07/21 | 147370 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma +2021/07/21 | 146946 | macros/latex/contrib/ut-thesis.zip +2021/07/21 | 1464201 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma +2021/07/21 | 145 | systems/texlive/tlnet/install-tl.zip.sha512 +2021/07/21 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 +2021/07/21 | 14348 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma +2021/07/21 | 142544 | macros/latex/contrib/ut-thesis/ut-thesis.pdf +2021/07/21 | 1421867 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma +2021/07/21 | 136818 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma +2021/07/21 | 136815 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma +2021/07/21 | 13466 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma +2021/07/21 | 1340930 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma +2021/07/21 | 133864 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma +2021/07/21 | 13334 | fonts/utilities/fontools/bin/afm2afm +2021/07/21 | 1315955 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma +2021/07/21 | 1314594 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma +2021/07/21 | 1301192 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma +2021/07/21 | 1298 | macros/latex/contrib/to-be-determined/README.md +2021/07/21 | 1291300 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma +2021/07/21 | 124279 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma +2021/07/21 | 123 | macros/generic/xstring/xstring.sty +2021/07/21 | 1223502 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma +2021/07/21 | 1223434 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma +2021/07/21 | 12206 | macros/generic/texdimens.zip +2021/07/21 | 119819 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma +2021/07/21 | 1195 | macros/latex/contrib/pdfmanagement-testphase/README.md +2021/07/21 | 1169716 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma +2021/07/21 | 1153 | systems/win32/miktex/tm/packages/next/pr.ini +2021/07/21 | 115349 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma +2021/07/21 | 112982 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma +2021/07/21 | 112085 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma +2021/07/21 | 11151 | macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.dtx +2021/07/21 | 109027 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma +2021/07/21 | 108048 | systems/texlive/tlnet/archive/texlive-scripts.r59995.tar.xz +2021/07/21 | 1077989 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma +2021/07/21 | 10657849 | macros/latex/contrib/pdfmanagement-testphase.zip +2021/07/21 | 105756 | systems/texlive/tlnet/archive/siunitx.source.r60000.tar.xz +2021/07/21 | 105218 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma +2021/07/21 | 103753 | macros/generic/xstring/xstring-fr.tex +2021/07/21 | 103398 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma +2021/07/21 | 103201 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma +2021/07/21 | 100624 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma 2021/07/20 | 98189 | macros/latex/contrib/siunitx/siunitx-unit.dtx -2021/07/20 | 975018 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma -2021/07/20 | 97338 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma -2021/07/20 | 96632 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma +2021/07/20 | 98064 | macros/latex/contrib/lipsum/lipsum-cs.txt 2021/07/20 | 964 | macros/latex/contrib/siunitx/README.md -2021/07/20 | 95400 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma 2021/07/20 | 951 | macros/latex/contrib/catechis/README -2021/07/20 | 94799 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma 2021/07/20 | 94650 | macros/latex/contrib/babel-contrib/french/frenchb-doc.tex -2021/07/20 | 94308 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma -2021/07/20 | 937 | systems/win32/miktex/tm/packages/pr.ini +2021/07/20 | 91127 | macros/latex/contrib/lipsum/lipsum-la.txt 2021/07/20 | 9104 | language/korean/cjk-ko/cjk-ko-doc.tex 2021/07/20 | 9040 | macros/latex/contrib/siunitx/siunitx-symbol.dtx -2021/07/20 | 87775 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma -2021/07/20 | 8767 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma 2021/07/20 | 8752 | macros/latex/contrib/siunitx/siunitx-command.dtx 2021/07/20 | 838240 | systems/texlive/tlnet/archive/babel.doc.r59990.tar.xz -2021/07/20 | 83540 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma -2021/07/20 | 815240 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma -2021/07/20 | 80447 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma 2021/07/20 | 791728 | systems/texlive/tlnet/archive/fithesis.r59989.tar.xz -2021/07/20 | 78773 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma -2021/07/20 | 77949 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma -2021/07/20 | 7720 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma -2021/07/20 | 76825 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma -2021/07/20 | 75792 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma -2021/07/20 | 744117 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma -2021/07/20 | 74209 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma -2021/07/20 | 73195 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma -2021/07/20 | 73147 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma 2021/07/20 | 729492 | systems/texlive/tlnet/archive/fithesis.doc.r59989.tar.xz -2021/07/20 | 72205 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma 2021/07/20 | 71888 | systems/texlive/tlnet/archive/spectralsequences.r59992.tar.xz -2021/07/20 | 71667 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma -2021/07/20 | 70647 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma -2021/07/20 | 69913 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma +2021/07/20 | 6957 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl 2021/07/20 | 687808 | systems/texlive/tlnet/archive/babel.source.r59990.tar.xz -2021/07/20 | 681249 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma -2021/07/20 | 6811275 | systems/texlive/tlnet/install-tl-unx.tar.gz -2021/07/20 | 68022 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-x64-2.9.tar.lzma -2021/07/20 | 67818 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma -2021/07/20 | 67618 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma -2021/07/20 | 67482 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma -2021/07/20 | 65785 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma -2021/07/20 | 65619 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma -2021/07/20 | 64427 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma -2021/07/20 | 64184 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma -2021/07/20 | 63776 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma +2021/07/20 | 644963 | macros/latex/contrib/lipsum/lipsum.pdf 2021/07/20 | 635529 | macros/latex/contrib/siunitx/siunitx.pdf -2021/07/20 | 629398 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma -2021/07/20 | 62784 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma 2021/07/20 | 627332 | macros/latex/contrib/siunitx/siunitx-unit.pdf -2021/07/20 | 624650 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma -2021/07/20 | 62227 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma -2021/07/20 | 61811 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma -2021/07/20 | 60635 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-2.9.tar.lzma -2021/07/20 | 60038 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma -2021/07/20 | 596927 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma -2021/07/20 | 591231 | systems/win32/miktex/tm/packages/files.csv.lzma -2021/07/20 | 591126 | systems/win32/miktex/tm/packages/next/files.csv.lzma -2021/07/20 | 590124 | systems/texlive/tlnet/archive/easybook.doc.r59988.tar.xz -2021/07/20 | 589841 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma -2021/07/20 | 57725 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma 2021/07/20 | 575555 | macros/latex/contrib/babel-contrib/french.zip -2021/07/20 | 57548 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma -2021/07/20 | 57138 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma -2021/07/20 | 57011 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma -2021/07/20 | 56683 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma -2021/07/20 | 566526 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma -2021/07/20 | 56512 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin.tar.lzma -2021/07/20 | 56474 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma -2021/07/20 | 56352 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma -2021/07/20 | 56316 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma -2021/07/20 | 55497 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin.tar.lzma +2021/07/20 | 55662 | macros/latex/contrib/lipsum/lipsum.dtx 2021/07/20 | 5489 | language/korean/cjk-ko/cjkutf8-josa.sty -2021/07/20 | 54631 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma 2021/07/20 | 5380 | systems/texlive/tlnet/archive/letterswitharrows.source.r59993.tar.xz -2021/07/20 | 531850 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma -2021/07/20 | 52523 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma -2021/07/20 | 51748 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma -2021/07/20 | 51308 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma -2021/07/20 | 51201 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma -2021/07/20 | 51111 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma -2021/07/20 | 510586 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma -2021/07/20 | 50394 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma -2021/07/20 | 50149 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma 2021/07/20 | 494352 | systems/texlive/tlnet/archive/beamertheme-focus.doc.r59991.tar.xz -2021/07/20 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 2021/07/20 | 48827 | macros/latex/contrib/siunitx/siunitx-table.dtx 2021/07/20 | 484555 | macros/latex/contrib/siunitx/siunitx-print.pdf -2021/07/20 | 483653 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma -2021/07/20 | 48248 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma 2021/07/20 | 480964 | systems/texlive/tlnet/archive/letterswitharrows.doc.r59993.tar.xz -2021/07/20 | 476918 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma 2021/07/20 | 4748 | macros/latex/contrib/siunitx/siunitx-abbreviations.cfg 2021/07/20 | 4746 | macros/latex/contrib/siunitx/siunitx-locale.dtx -2021/07/20 | 46905 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma 2021/07/20 | 4624 | language/korean/cjk-ko/kolabels-utf.sty -2021/07/20 | 461811 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma -2021/07/20 | 45970 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma -2021/07/20 | 45904 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma -2021/07/20 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc -2021/07/20 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc -2021/07/20 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc -2021/07/20 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc -2021/07/20 | 45308 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma 2021/07/20 | 44662 | macros/latex/contrib/siunitx/CHANGELOG.md 2021/07/20 | 44620 | systems/texlive/tlnet/archive/fithesis.source.r59989.tar.xz 2021/07/20 | 4396 | systems/texlive/tlnet/archive/beamertheme-focus.r59991.tar.xz -2021/07/20 | 43425 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma -2021/07/20 | 43027 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma -2021/07/20 | 43002 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma 2021/07/20 | 4299 | language/korean/cjk-ko/README -2021/07/20 | 42890 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma -2021/07/20 | 42710 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma -2021/07/20 | 42385 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma -2021/07/20 | 41192 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma 2021/07/20 | 4081 | language/korean/cjk-ko/konames-utf.sty -2021/07/20 | 40228 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma 2021/07/20 | 402002 | macros/latex/contrib/catechis.zip -2021/07/20 | 398880 | systems/texlive/tlnet/archive/texlive-scripts.doc.r59985.tar.xz -2021/07/20 | 392793 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma -2021/07/20 | 39127 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma 2021/07/20 | 388762 | macros/latex/contrib/catechis/catechis.pdf -2021/07/20 | 38140 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma -2021/07/20 | 37803 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma -2021/07/20 | 37359 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma -2021/07/20 | 37238 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma +2021/07/20 | 3735 | macros/latex/contrib/lipsum/lipsum.ins 2021/07/20 | 3687 | macros/latex/contrib/siunitx/siunitx.ins -2021/07/20 | 36632 | systems/texlive/tlnet/archive/easybook.source.r59988.tar.xz -2021/07/20 | 36628 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma -2021/07/20 | 35690 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin.tar.lzma -2021/07/20 | 35084 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma -2021/07/20 | 34665 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma -2021/07/20 | 345738 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma -2021/07/20 | 33632 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma -2021/07/20 | 33544 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin.tar.lzma 2021/07/20 | 3343893 | install/macros/latex/contrib/siunitx.tds.zip 2021/07/20 | 33434 | macros/latex/contrib/siunitx/siunitx-compound.dtx 2021/07/20 | 331863 | macros/latex/contrib/babel-contrib/french/frenchb.pdf -2021/07/20 | 330786 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma 2021/07/20 | 3305270 | macros/latex/contrib/siunitx.zip -2021/07/20 | 32672 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma 2021/07/20 | 3252 | systems/texlive/tlnet/archive/letterswitharrows.r59993.tar.xz -2021/07/20 | 325042 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma 2021/07/20 | 31738 | macros/latex/contrib/siunitx/siunitx-version-1.cfg 2021/07/20 | 31661 | macros/latex/contrib/siunitx/siunitx-print.dtx -2021/07/20 | 31619 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma -2021/07/20 | 31537 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma -2021/07/20 | 31350 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma 2021/07/20 | 31333 | macros/latex/contrib/siunitx/siunitx-emulation.dtx -2021/07/20 | 31228 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma -2021/07/20 | 312106 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma -2021/07/20 | 30823 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma 2021/07/20 | 3029 | macros/latex/contrib/babel-contrib/french/frenchb.ins -2021/07/20 | 30057 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma -2021/07/20 | 29840 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma -2021/07/20 | 295203 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma -2021/07/20 | 29035 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma 2021/07/20 | 2883 | macros/latex/contrib/siunitx/siunitx-binary.dtx -2021/07/20 | 284578 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma -2021/07/20 | 284023 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma -2021/07/20 | 28389 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma -2021/07/20 | 28179 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma -2021/07/20 | 2796725 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma -2021/07/20 | 27728 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma -2021/07/20 | 27391 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma -2021/07/20 | 27357 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma 2021/07/20 | 273398 | macros/latex/contrib/siunitx/siunitx-v2.sty -2021/07/20 | 27198 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma 2021/07/20 | 2685 | language/korean/cjk-ko/kotex.sty 2021/07/20 | 2678 | language/korean/cjk-ko/ChangeLog -2021/07/20 | 2672608 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma -2021/07/20 | 263959 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma 2021/07/20 | 25939 | macros/latex/contrib/siunitx/siunitx-complex.dtx -2021/07/20 | 258879 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma -2021/07/20 | 25585309 | systems/texlive/tlnet/install-tl.zip -2021/07/20 | 25289 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma -2021/07/20 | 250263 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma -2021/07/20 | 25019 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma -2021/07/20 | 24995 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma -2021/07/20 | 243425 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma 2021/07/20 | 2426 | macros/latex/contrib/siunitx/siunitx-code.tex -2021/07/20 | 241811 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma 2021/07/20 | 239147 | macros/latex/contrib/babel-contrib/french/frenchb.dtx -2021/07/20 | 23901 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma -2021/07/20 | 23363 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma -2021/07/20 | 2323748 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz -2021/07/20 | 229233 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma -2021/07/20 | 229193 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma -2021/07/20 | 22049 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma 2021/07/20 | 2197 | macros/latex/contrib/catechis/catechis.ins -2021/07/20 | 215248 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma 2021/07/20 | 21467 | macros/latex/contrib/catechis/catechis.dtx -2021/07/20 | 21224 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma -2021/07/20 | 20810041 | systems/texlive/tlnet/install-tl-windows.exe -2021/07/20 | 208046 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma -2021/07/20 | 206604 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma -2021/07/20 | 202795 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma -2021/07/20 | 20136 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma -2021/07/20 | 2009902 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma -2021/07/20 | 199732 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma -2021/07/20 | 198167 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma 2021/07/20 | 19804 | macros/latex/contrib/siunitx/siunitx.dtx -2021/07/20 | 196870 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma -2021/07/20 | 196739 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma -2021/07/20 | 195635 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma -2021/07/20 | 194380 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-2.9.tar.lzma 2021/07/20 | 19106 | macros/latex/contrib/catechis/lppl.txt 2021/07/20 | 1839584 | systems/texlive/tlnet/archive/spectralsequences.doc.r59992.tar.xz 2021/07/20 | 1832 | language/korean/cjk-ko/cjkutf8-nanummjhanja.sty -2021/07/20 | 18177 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma 2021/07/20 | 180588 | systems/texlive/tlnet/archive/babel.r59990.tar.xz -2021/07/20 | 180120 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma -2021/07/20 | 180010 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma -2021/07/20 | 17979 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma -2021/07/20 | 178353 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma 2021/07/20 | 174467 | language/korean/cjk-ko.zip 2021/07/20 | 173333 | language/korean/cjk-ko/cjk-ko-doc.pdf -2021/07/20 | 17328498 | systems/texlive/tlnet/tlpkg/texlive.tlpdb 2021/07/20 | 1729 | macros/latex/contrib/siunitx/siunitx-binary.cfg -2021/07/20 | 1713892 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma -2021/07/20 | 169241 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma 2021/07/20 | 16529 | macros/latex/contrib/siunitx/siunitx-angle.dtx -2021/07/20 | 16413 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma -2021/07/20 | 16356 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma -2021/07/20 | 16036 | systems/texlive/tlnet/archive/easybook.r59988.tar.xz -2021/07/20 | 159578 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma 2021/07/20 | 159363 | macros/latex/contrib/babel-contrib/french/frenchb-doc.pdf 2021/07/20 | 1591 | macros/latex/contrib/babel-contrib/french/README.md 2021/07/20 | 15827 | language/korean/cjk-ko/cjkutf8-ko.sty -2021/07/20 | 154804 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma -2021/07/20 | 154425 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma -2021/07/20 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512 2021/07/20 | 15317 | macros/latex/contrib/siunitx/siunitx-quantity.dtx -2021/07/20 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512 +2021/07/20 | 1525 | macros/latex/contrib/lipsum/README.txt +2021/07/20 | 14 | macros/latex/contrib/lipsum/DEPENDS.txt 2021/07/20 | 1496050 | macros/latex/contrib/siunitx/siunitx-code.pdf -2021/07/20 | 147371 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma -2021/07/20 | 1464201 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma 2021/07/20 | 146108 | macros/latex/contrib/siunitx/siunitx.tex -2021/07/20 | 145 | systems/texlive/tlnet/install-tl.zip.sha512 -2021/07/20 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 -2021/07/20 | 14347 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma -2021/07/20 | 1421867 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma 2021/07/20 | 1370 | macros/latex/contrib/catechis/CHANGES -2021/07/20 | 136820 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma -2021/07/20 | 136816 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma -2021/07/20 | 13463 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma -2021/07/20 | 1340929 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma -2021/07/20 | 133863 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma -2021/07/20 | 1315413 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma -2021/07/20 | 1315124 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma -2021/07/20 | 1301191 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma -2021/07/20 | 1291300 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma -2021/07/20 | 124281 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma -2021/07/20 | 1223339 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma -2021/07/20 | 1223153 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma -2021/07/20 | 119819 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma -2021/07/20 | 1169717 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma +2021/07/20 | 1368 | macros/latex/contrib/lipsum/CHANGELOG.md +2021/07/20 | 134671 | macros/latex/contrib/lipsum/lipsum-cicero.txt 2021/07/20 | 115602 | macros/latex/contrib/siunitx/siunitx-number.dtx -2021/07/20 | 1153 | systems/win32/miktex/tm/packages/next/pr.ini -2021/07/20 | 115350 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma -2021/07/20 | 112982 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma -2021/07/20 | 112088 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma -2021/07/20 | 109030 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma -2021/07/20 | 108036 | systems/texlive/tlnet/archive/texlive-scripts.r59985.tar.xz -2021/07/20 | 1077988 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma -2021/07/20 | 105222 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma -2021/07/20 | 103399 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma -2021/07/20 | 103200 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma 2021/07/20 | 10106 | macros/latex/contrib/siunitx/siunitx-abbreviation.dtx -2021/07/20 | 100624 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma 2021/07/19 | 9953 | graphics/pgf/contrib/spectralsequences/src/sseqforeach.code.tex 2021/07/19 | 9720 | graphics/pgf/contrib/spectralsequences/examples/ASS-S_2.tex 2021/07/19 | 9717 | macros/latex/contrib/beamer-contrib/themes/beamertheme-focus/focus-demo/demo-focus.jpg @@ -289,7 +409,6 @@ 2021/07/19 | 7461 | macros/latex/required/babel/base/babel.ins 2021/07/19 | 72391 | graphics/pgf/contrib/spectralsequences/examples/SSS-KZ3.pdf 2021/07/19 | 713940 | macros/latex/required/babel/base/babel.dtx -2021/07/19 | 6911 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl 2021/07/19 | 67825 | graphics/pgf/contrib/spectralsequences/src/sseqparsers.code.tex 2021/07/19 | 659582 | graphics/pgf/contrib/spectralsequences/manual/spectralsequencesmanual.pdf 2021/07/19 | 6585 | graphics/pgf/contrib/spectralsequences/README.md @@ -404,7 +523,6 @@ 2021/07/18 | 869 | macros/latex/contrib/fithesis/locale/slovak.ins 2021/07/18 | 8645 | systems/win32/miktex/tm/packages/cjk-ko.tar.lzma 2021/07/18 | 845 | macros/latex/contrib/fithesis/locale/czech.ins -2021/07/18 | 8448 | systems/texlive/tlnet/archive/cjk-ko.r59958.tar.xz 2021/07/18 | 8201 | systems/win32/miktex/tm/packages/easing__source.tar.lzma 2021/07/18 | 8082 | macros/latex/contrib/fithesis/logo/mu/fithesis-ped-czech-color.eps 2021/07/18 | 8068 | macros/latex/contrib/fithesis/logo/mu/fithesis-ped-czech.eps @@ -568,7 +686,6 @@ 2021/07/18 | 177482 | macros/latex/contrib/semantex/semantex.tex 2021/07/18 | 1760 | macros/latex/contrib/fithesis/LICENSE.tex 2021/07/18 | 17579 | macros/latex/contrib/fithesis/logo/mu/fithesis-law-color.pdf -2021/07/18 | 160592 | systems/texlive/tlnet/archive/cjk-ko.doc.r59958.tar.xz 2021/07/18 | 15892 | macros/latex/contrib/fithesis/logo/mu/fithesis-base.pdf 2021/07/18 | 157608 | systems/win32/miktex/tm/packages/cjk-ko__doc.tar.lzma 2021/07/18 | 15264 | macros/latex/contrib/fithesis/locale/english.dtx @@ -1012,7 +1129,6 @@ 2021/07/15 | 620541 | install/macros/latex/contrib/biblatex-contrib/biblatex-philosophy.tds.zip 2021/07/15 | 6160 | macros/latex/contrib/tudscr/source/doc/tudscr-examples.tex 2021/07/15 | 603645 | macros/latex/contrib/huawei.zip -2021/07/15 | 596 | macros/generic/texdimens/LICENSE.md 2021/07/15 | 59453 | macros/latex/contrib/tudscr/source/tudscr-title.dtx 2021/07/15 | 59427 | macros/latex/contrib/stackengine/stackengine.tex 2021/07/15 | 58 | macros/latex/contrib/changes/userdoc/usepackage_authormarkuptext_changes_in.tex @@ -1077,7 +1193,6 @@ 2021/07/15 | 378117 | macros/latex/contrib/changes/changes.ngerman.pdf 2021/07/15 | 375443 | macros/latex/contrib/stackengine.zip 2021/07/15 | 370498 | macros/latex/contrib/changes/changes.english.pdf -2021/07/15 | 35 | macros/latex/contrib/to-be-determined/DEPENDS.txt 2021/07/15 | 34 | macros/latex/contrib/changes/userdoc/sethighlightmarkup_in.tex 2021/07/15 | 3487 | macros/latex/contrib/tudscr/source/doc/tudscr-preface.tex 2021/07/15 | 336192 | macros/latex/contrib/huawei/huawei.pdf @@ -1096,7 +1211,6 @@ 2021/07/15 | 27 | macros/latex/contrib/changes/userdoc/setsummarytowidth_in.tex 2021/07/15 | 27 | macros/latex/contrib/changes/userdoc/path_script_in.tex 2021/07/15 | 2793 | macros/luatex/latex/pyluatex/pyluatex-interpreter.py -2021/07/15 | 277 | macros/generic/texdimens/texdimens.sty 2021/07/15 | 27069 | macros/latex/contrib/colorist/colorist-doc.tex 2021/07/15 | 26 | macros/latex/contrib/changes/userdoc/setsummarywidth_in.tex 2021/07/15 | 26 | macros/latex/contrib/changes/userdoc/setanonymousname_in.tex @@ -1110,7 +1224,6 @@ 2021/07/15 | 2513 | macros/latex/contrib/biblatex-contrib/biblatex-philosophy/README 2021/07/15 | 24705 | macros/unicodetex/latex/beaulivre/beaulivre-doc-fr.tex 2021/07/15 | 2450 | systems/win32/miktex/tm/packages/kdpcover__source.tar.lzma -2021/07/15 | 2448 | macros/latex/contrib/to-be-determined/to-be-determined.tex 2021/07/15 | 24266 | macros/unicodetex/latex/lebhart/lebhart-doc-en.tex 2021/07/15 | 241703 | macros/latex/contrib/tudscr/source/tudscr-manual.dtx 2021/07/15 | 23385 | macros/latex/contrib/tudscr/source/tudscr-misc.dtx @@ -1126,15 +1239,11 @@ 2021/07/15 | 21436 | macros/latex/contrib/tudscr/source/tudscr-supervisor.dtx 2021/07/15 | 21332 | macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.tex 2021/07/15 | 20948 | macros/latex/contrib/tudscr/source/tudscr-texindy.dtx -2021/07/15 | 20693 | macros/generic/texdimens/README.md 2021/07/15 | 2054 | macros/latex/contrib/huawei/samples/huawei-charter.tex -2021/07/15 | 1999 | macros/latex/contrib/tudscr/source/doc/examples/evaluation.tex 2021/07/15 | 196 | macros/latex/contrib/changes/userdoc/setcommentmarkup_ex.tex 2021/07/15 | 1947 | macros/latex/contrib/huawei/samples/huawei-cfp.tex 2021/07/15 | 1912608 | macros/latex/contrib/nicematrix.zip -2021/07/15 | 186901 | macros/latex/contrib/to-be-determined.zip 2021/07/15 | 1843877 | systems/win32/miktex/tm/packages/hvfloat__source.tar.lzma -2021/07/15 | 183512 | macros/latex/contrib/to-be-determined/to-be-determined.pdf 2021/07/15 | 1832 | macros/latex/contrib/tudscr/source/doc/examples/notice.tex 2021/07/15 | 18322 | graphics/pgf/contrib/cartonaugh/cartonaugh-example.pdf 2021/07/15 | 182 | macros/latex/contrib/changes/userdoc/added_ex.tex @@ -1151,7 +1260,6 @@ 2021/07/15 | 16355 | macros/latex/contrib/tudscr/README.md 2021/07/15 | 16273 | macros/latex/contrib/stackengine/stackengine.sty 2021/07/15 | 1607 | macros/latex/contrib/tudscr/source/doc/examples/mathtype-example.tex -2021/07/15 | 1588 | macros/latex/contrib/to-be-determined/to-be-determined.sty 2021/07/15 | 1551800 | systems/win32/miktex/tm/packages/circuitikz__doc.tar.lzma 2021/07/15 | 1551384 | systems/texlive/tlnet/archive/circuitikz.doc.r59929.tar.xz 2021/07/15 | 154 | macros/latex/contrib/changes/userdoc/usepackage_authormarkup_changes_ex.tex @@ -1174,7 +1282,6 @@ 2021/07/15 | 1416 | macros/luatex/latex/pyluatex/pyluatex.sty 2021/07/15 | 1339461 | macros/latex/contrib/nicematrix/nicematrix.pdf 2021/07/15 | 1326 | macros/latex/contrib/changes/README -2021/07/15 | 1298 | macros/latex/contrib/to-be-determined/README.md 2021/07/15 | 128951 | macros/latex/contrib/tudscr/doc/tutorials/mathswap.pdf 2021/07/15 | 12643 | macros/unicodetex/latex/beaulivre/beaulivre.cls 2021/07/15 | 12639 | macros/unicodetex/latex/lebhart/lebhart.cls @@ -1187,7 +1294,6 @@ 2021/07/15 | 1149093 | macros/latex/contrib/tudscr/doc/tudscr.pdf 2021/07/15 | 11346 | systems/win32/miktex/tm/packages/hvfloat.tar.lzma 2021/07/15 | 1133767 | macros/latex/contrib/tudscr/doc/tudscr_print.pdf -2021/07/15 | 11329 | macros/generic/texdimens/texdimens.tex 2021/07/15 | 113230 | macros/generic/expkv/expkv.dtx 2021/07/15 | 111392 | macros/latex/contrib/changes/examples/changes.example.authormarkup.footnote.pdf 2021/07/15 | 1108 | macros/latex/contrib/tudscr/doc/LICENSE.md @@ -1202,7 +1308,6 @@ 2021/07/15 | 1063109 | macros/latex/contrib/tudscr/doc/tudscrsource.pdf 2021/07/15 | 104 | macros/latex/contrib/changes/userdoc/setsummarytowidth_ex.tex 2021/07/15 | 103987 | macros/latex/contrib/changes/examples/changes.example.setanonymousname.pdf -2021/07/15 | 10369 | macros/generic/texdimens.zip 2021/07/15 | 102974 | macros/latex/contrib/changes/examples/changes.example.listofchanges.show.pdf 2021/07/15 | 102637 | macros/latex/contrib/changes/examples/changes.example.language.french.pdf 2021/07/15 | 102351 | macros/latex/contrib/changes/examples/changes.example.language.ngerman.pdf @@ -1215,148 +1320,3 @@ 2021/07/15 | 101103 | macros/latex/contrib/changes/examples/changes.example.setsocextension.pdf 2021/07/15 | 101072 | macros/latex/contrib/changes/examples/changes.example.listofchanges.all.pdf 2021/07/15 | 100430 | macros/latex/contrib/changes/examples/changes.example.deletedmarkup.uuline.pdf -2021/07/14 | 968 | graphics/pgf/contrib/cartonaugh/test/cartonaugh-implicantcorner.tex -2021/07/14 | 9648 | graphics/pgf/contrib/circuitikz/tex/pgfcircflow.tex -2021/07/14 | 938 | graphics/pgf/contrib/circuitikz/doc/circuitikz-context.tex -2021/07/14 | 9382 | graphics/pgf/contrib/circuitikz/tex/pgfcirccurrent.tex -2021/07/14 | 937130 | graphics/pgf/contrib/circuitikz/tex/circuitikz-1.1.2-body.tex -2021/07/14 | 929934 | graphics/pgf/contrib/circuitikz/tex/t-circuitikz-1.1.2.tex -2021/07/14 | 8597 | systems/win32/miktex/tm/packages/minimalist__source.tar.lzma -2021/07/14 | 8540 | macros/latex/contrib/kdpbook/kdpcover-vol-1.pdf -2021/07/14 | 848644 | systems/win32/miktex/tm/packages/l3backend__doc.tar.lzma -2021/07/14 | 846696 | systems/texlive/tlnet/archive/l3backend.doc.r59922.tar.xz -2021/07/14 | 841340 | graphics/pgf/contrib/circuitikz/tex/circuitikz-1.0-body.tex -2021/07/14 | 834142 | graphics/pgf/contrib/circuitikz/tex/t-circuitikz-1.0.tex -2021/07/14 | 8229 | graphics/pgf/contrib/circuitikz/doc/ctikzmanutils.sty -2021/07/14 | 79816 | systems/win32/miktex/tm/packages/xint.tar.lzma -2021/07/14 | 79404 | systems/win32/miktex/tm/packages/l3experimental__source.tar.lzma -2021/07/14 | 78752 | systems/texlive/tlnet/archive/l3experimental.source.r59922.tar.xz -2021/07/14 | 758991 | graphics/pgf/contrib/circuitikz/tex/circuitikz-0.9.6-body.tex -2021/07/14 | 757 | graphics/pgf/contrib/cartonaugh/test/cartonaugh-options.tex -2021/07/14 | 751663 | graphics/pgf/contrib/circuitikz/tex/t-circuitikz-0.9.6.tex -2021/07/14 | 737 | graphics/pgf/contrib/cartonaugh/cartonaugh.ins -2021/07/14 | 728 | graphics/pgf/contrib/circuitikz/tex/circuitikz-0.4.sty -2021/07/14 | 7256 | macros/latex/contrib/kdpbook/kdpcover-signature.pdf -2021/07/14 | 7206 | systems/win32/miktex/tm/packages/minimalist.tar.lzma -2021/07/14 | 7156 | macros/latex/contrib/kdpbook/kdpcover-vol-3.pdf -2021/07/14 | 7028 | systems/texlive/tlnet/archive/minimalist.r59923.tar.xz -2021/07/14 | 690729 | graphics/pgf/contrib/circuitikz/tex/circuitikz-0.9.3-body.tex -2021/07/14 | 683433 | graphics/pgf/contrib/circuitikz/tex/t-circuitikz-0.9.3.tex -2021/07/14 | 6723 | macros/latex/contrib/kdpbook/kdpcover-vol-4.pdf -2021/07/14 | 65822 | macros/latex/contrib/hvfloat/latex/hvfloat.sty -2021/07/14 | 6504 | macros/latex/contrib/kdpbook/kdpcover-vol-2.pdf -2021/07/14 | 6483040 | systems/win32/miktex/tm/packages/uantwerpendocs.tar.lzma -2021/07/14 | 6472428 | systems/texlive/tlnet/archive/uantwerpendocs.r59920.tar.xz -2021/07/14 | 641 | graphics/pgf/contrib/circuitikz/tex/circuitikz-0.8.3.sty -2021/07/14 | 635 | graphics/pgf/contrib/circuitikz/tex/circuitikz-0.7.sty -2021/07/14 | 635 | graphics/pgf/contrib/circuitikz/tex/circuitikz-0.6.sty -2021/07/14 | 633 | graphics/pgf/contrib/circuitikz/tex/circutikz-0.9.6.sty -2021/07/14 | 632 | graphics/pgf/contrib/circuitikz/tex/circuitikz-1.2.7.sty -2021/07/14 | 632 | graphics/pgf/contrib/circuitikz/tex/circuitikz-1.1.2.sty -2021/07/14 | 632 | graphics/pgf/contrib/circuitikz/tex/circuitikz-0.9.3.sty -2021/07/14 | 626 | graphics/pgf/contrib/circuitikz/tex/circuitikz-1.0.sty -2021/07/14 | 606928 | systems/texlive/tlnet/archive/simplivre.doc.r59923.tar.xz -2021/07/14 | 59608 | graphics/pgf/contrib/cartonaugh/cartonaugh.dtx -2021/07/14 | 591734 | systems/win32/miktex/tm/packages/simplivre__doc.tar.lzma -2021/07/14 | 580460 | systems/texlive/tlnet/archive/l3kernel.source.r59922.tar.xz -2021/07/14 | 577943 | systems/win32/miktex/tm/packages/l3kernel__source.tar.lzma -2021/07/14 | 5722430 | macros/latex/contrib/hvfloat/doc/hvfloat.pdf -2021/07/14 | 564676 | systems/texlive/tlnet/archive/einfart.doc.r59923.tar.xz -2021/07/14 | 548863 | systems/win32/miktex/tm/packages/einfart__doc.tar.lzma -2021/07/14 | 5449 | graphics/pgf/contrib/cartonaugh/test/cartonaugh-implicant.tex -2021/07/14 | 54038 | graphics/pgf/contrib/circuitikz/tex/pgfcircmonopoles.tex -2021/07/14 | 54003 | systems/win32/miktex/tm/packages/xetexko.tar.lzma -2021/07/14 | 53764 | systems/texlive/tlnet/archive/xetexko.r59921.tar.xz -2021/07/14 | 52071 | systems/win32/miktex/tm/packages/yathesis__source.tar.lzma -2021/07/14 | 517 | graphics/pgf/contrib/cartonaugh/test/cartonaugh-grid.tex -2021/07/14 | 4872284 | systems/win32/miktex/tm/packages/yathesis__doc.tar.lzma -2021/07/14 | 453339 | graphics/pgf/contrib/circuitikz/doc/circuitikzmanual.tex -2021/07/14 | 4461445 | systems/win32/miktex/tm/packages/uantwerpendocs__doc.tar.lzma -2021/07/14 | 4454948 | systems/texlive/tlnet/archive/uantwerpendocs.doc.r59920.tar.xz -2021/07/14 | 4285 | macros/latex/contrib/kdpbook/kdpcover.cls -2021/07/14 | 422295 | graphics/pgf/contrib/circuitikz/tex/circuitikz-0.8.3-body.tex -2021/07/14 | 418 | graphics/pgf/contrib/circuitikz/doc/compatibility.tex -2021/07/14 | 416850 | graphics/pgf/contrib/circuitikz/tex/t-circuitikz-0.8.3.tex -2021/07/14 | 403567 | graphics/pgf/contrib/circuitikz/tex/circuitikz-0.7-body.tex -2021/07/14 | 394796 | systems/win32/miktex/tm/packages/xint__source.tar.lzma -2021/07/14 | 393884 | graphics/pgf/contrib/circuitikz/tex/circuitikz-0.6-body.tex -2021/07/14 | 3894 | systems/win32/miktex/tm/packages/macrolist__source.tar.lzma -2021/07/14 | 38488 | systems/win32/miktex/tm/packages/uantwerpendocs__source.tar.lzma -2021/07/14 | 38116 | systems/texlive/tlnet/archive/uantwerpendocs.source.r59920.tar.xz -2021/07/14 | 37867 | graphics/pgf/contrib/circuitikz/doc/changelog.tex -2021/07/14 | 3695 | systems/win32/miktex/tm/packages/einfart.tar.lzma -2021/07/14 | 3670 | graphics/pgf/contrib/circuitikz/README.md -2021/07/14 | 3667 | systems/win32/miktex/tm/packages/simplivre.tar.lzma -2021/07/14 | 364469 | graphics/pgf/contrib/circuitikz/tex/pgfcirctripoles.tex -2021/07/14 | 364117 | graphics/pgf/contrib/circuitikz/tex/circuitikz-0.4-body.tex -2021/07/14 | 3590 | graphics/pgf/contrib/circuitikz/tex/t-circuitikz.tex -2021/07/14 | 356 | graphics/pgf/contrib/cartonaugh/test/cartonaugh-bw-color.tex -2021/07/14 | 3543 | macros/latex/contrib/hvfloat/Changes -2021/07/14 | 3516 | systems/texlive/tlnet/archive/einfart.r59923.tar.xz -2021/07/14 | 34979 | graphics/pgf/contrib/circuitikz/tex/pgfcircvoltage.tex -2021/07/14 | 3490406 | systems/win32/miktex/tm/packages/l3experimental__doc.tar.lzma -2021/07/14 | 3489332 | systems/texlive/tlnet/archive/l3experimental.doc.r59922.tar.xz -2021/07/14 | 3488 | systems/texlive/tlnet/archive/simplivre.r59923.tar.xz -2021/07/14 | 3370 | macros/latex/contrib/kdpbook/kdpcover.tex -2021/07/14 | 3258 | systems/win32/miktex/tm/packages/ifallfalse__source.tar.lzma -2021/07/14 | 31805 | graphics/pgf/contrib/circuitikz/tex/pgfcircshapes.tex -2021/07/14 | 31715 | systems/win32/miktex/tm/packages/l3backend__source.tar.lzma -2021/07/14 | 3150 | graphics/pgf/contrib/circuitikz/tex/ctikzstyle-legacy.tex -2021/07/14 | 31480 | systems/texlive/tlnet/archive/l3backend.source.r59922.tar.xz -2021/07/14 | 30835 | graphics/pgf/contrib/circuitikz/tex/pgfcirc.defines.tex -2021/07/14 | 2852 | systems/texlive/tlnet/archive/ifallfalse.source.r59918.tar.xz -2021/07/14 | 280 | graphics/pgf/contrib/circuitikz/tex/ctikzstyle-example.tex -2021/07/14 | 2783854 | install/graphics/pgf/contrib/circuitikz.tds.zip -2021/07/14 | 2766544 | graphics/pgf/contrib/circuitikz.zip -2021/07/14 | 266340 | systems/texlive/tlnet/archive/xetexko.doc.r59921.tar.xz -2021/07/14 | 256322 | systems/win32/miktex/tm/packages/xetexko__doc.tar.lzma -2021/07/14 | 244276 | graphics/pgf/contrib/circuitikz/tex/pgfcircbipoles.tex -2021/07/14 | 2401 | systems/win32/miktex/tm/packages/macrolist.tar.lzma -2021/07/14 | 23727 | systems/win32/miktex/tm/packages/yathesis.tar.lzma -2021/07/14 | 23269 | systems/win32/miktex/tm/packages/l3experimental.tar.lzma -2021/07/14 | 22912 | systems/texlive/tlnet/archive/l3experimental.r59922.tar.xz -2021/07/14 | 2188 | graphics/pgf/contrib/circuitikz/tex/ctikzstyle-romano.tex -2021/07/14 | 2185133 | systems/win32/miktex/tm/packages/xint__doc.tar.lzma -2021/07/14 | 2093 | graphics/pgf/contrib/cartonaugh/test/cartonaugh-implicantedge.tex -2021/07/14 | 1811 | macros/latex/contrib/kdpbook/README.md -2021/07/14 | 180893 | systems/win32/miktex/tm/packages/macrolist__doc.tar.lzma -2021/07/14 | 1803 | graphics/pgf/contrib/cartonaugh/test/cartonaugh-terms.tex -2021/07/14 | 17858 | systems/win32/miktex/tm/packages/einfart__source.tar.lzma -2021/07/14 | 1783 | graphics/pgf/contrib/cartonaugh/README.md -2021/07/14 | 17688 | graphics/pgf/contrib/circuitikz/doc/circuitikz-context.pdf -2021/07/14 | 1758 | graphics/pgf/contrib/cartonaugh/test.sh -2021/07/14 | 174103 | systems/win32/miktex/tm/packages/ifallfalse__doc.tar.lzma -2021/07/14 | 17373 | systems/win32/miktex/tm/packages/simplivre__source.tar.lzma -2021/07/14 | 173680 | systems/texlive/tlnet/archive/ifallfalse.doc.r59918.tar.xz -2021/07/14 | 168234 | macros/latex/contrib/nicematrix/nicematrix-french.tex -2021/07/14 | 167900 | systems/texlive/tlnet/archive/l3kernel.r59922.tar.xz -2021/07/14 | 167405 | systems/win32/miktex/tm/packages/l3kernel.tar.lzma -2021/07/14 | 16721 | graphics/pgf/contrib/circuitikz/tex/pgfcircpath.tex -2021/07/14 | 1664 | macros/latex/contrib/easybook/README.md -2021/07/14 | 15442 | graphics/pgf/contrib/circuitikz/tex/pgfcirclabel.tex -2021/07/14 | 15056035 | macros/latex/contrib/hvfloat.zip -2021/07/14 | 146 | macros/latex/contrib/kdpbook/DEPENDS.txt -2021/07/14 | 14687 | systems/win32/miktex/tm/packages/l3backend.tar.lzma -2021/07/14 | 14532 | systems/texlive/tlnet/archive/l3backend.r59922.tar.xz -2021/07/14 | 1441257 | graphics/pgf/contrib/circuitikz/doc/circuitikzmanual.pdf -2021/07/14 | 1398 | systems/win32/miktex/tm/packages/ifallfalse.tar.lzma -2021/07/14 | 13856 | graphics/pgf/contrib/circuitikz/tex/pgfcircutils.tex -2021/07/14 | 13612 | graphics/pgf/contrib/circuitikz/tex/circuitikz.sty -2021/07/14 | 133973 | macros/latex/contrib/kdpbook.zip -2021/07/14 | 123018 | graphics/pgf/contrib/circuitikz/tex/pgfcircquadpoles.tex -2021/07/14 | 121818 | systems/win32/miktex/tm/packages/etoc__source.tar.lzma -2021/07/14 | 121404 | systems/texlive/tlnet/archive/etoc.source.r59917.tar.xz -2021/07/14 | 12106 | systems/win32/miktex/tm/packages/xetexko__source.tar.lzma -2021/07/14 | 1200 | systems/texlive/tlnet/archive/ifallfalse.r59918.tar.xz -2021/07/14 | 1132456 | systems/texlive/tlnet/archive/etoc.doc.r59917.tar.xz -2021/07/14 | 1122568 | systems/win32/miktex/tm/packages/etoc__doc.tar.lzma -2021/07/14 | 111945 | graphics/pgf/contrib/circuitikz/tex/pgfcircmultipoles.tex -2021/07/14 | 10968536 | systems/texlive/tlnet/archive/l3kernel.doc.r59922.tar.xz -2021/07/14 | 10834 | systems/win32/miktex/tm/packages/etoc.tar.lzma -2021/07/14 | 10814287 | systems/win32/miktex/tm/packages/l3kernel__doc.tar.lzma -2021/07/14 | 107764 | systems/texlive/tlnet/archive/minimalist.doc.r59923.tar.xz -2021/07/14 | 10568 | systems/texlive/tlnet/archive/etoc.r59917.tar.xz -2021/07/14 | 103975 | macros/latex/contrib/kdpbook/kdpcover.pdf -2021/07/14 | 1021798 | graphics/pgf/contrib/circuitikz/tex/circuitikz-1.2.7-body.tex -2021/07/14 | 1014383 | graphics/pgf/contrib/circuitikz/tex/t-circuitikz-1.2.7.tex -2021/07/14 | 100935 | systems/win32/miktex/tm/packages/minimalist__doc.tar.lzma diff --git a/fonts/utilities/fontools/bin/afm2afm b/fonts/utilities/fontools/bin/afm2afm index b1233e0c52..9a6319a9da 100755 --- a/fonts/utilities/fontools/bin/afm2afm +++ b/fonts/utilities/fontools/bin/afm2afm @@ -37,7 +37,7 @@ use File::Basename; use Getopt::Long; use Pod::Usage; -my $VERSION = "20210401"; +my $VERSION = "20210721"; parse_commandline(); @@ -421,7 +421,7 @@ See the GNU General Public License for more details. =head1 VERSION -This document describes B<afm2afm> version 20210401. +This document describes B<afm2afm> version 20210721. =head1 RECENT CHANGES diff --git a/fonts/utilities/fontools/bin/autoinst b/fonts/utilities/fontools/bin/autoinst index 77e17aa92e..46e0a598cb 100755 --- a/fonts/utilities/fontools/bin/autoinst +++ b/fonts/utilities/fontools/bin/autoinst @@ -41,7 +41,7 @@ use Getopt::Long (); use Pod::Usage (); use POSIX (); -my $VERSION = '20210401'; +my $VERSION = '20210721'; my ($d, $m, $y) = (localtime time)[3 .. 5]; my $TODAY = sprintf "%04d/%02d/%02d", $y + 1900, $m + 1, $d; @@ -265,7 +265,7 @@ my @WEIGHT = ( el => [ qw( extralight 200 ) ], l => [ qw( light 300 ) ], sl => [ qw( semilight blond ) ], - '' => [ qw( regular normal text book 400 normallight normaldark ) ], + '' => [ qw( regular normal text book 400 normallight normaldark plain ) ], sb => [ qw( semibold demibold 600 medium 500 ) ], b => [ qw( bold 700 ) ], eb => [ qw( extrabold 800 ) ], @@ -606,14 +606,14 @@ sub _get_metadata { my $cmd = qq(otfinfo --info "$filename"); open my $otfinfo, '-|', $cmd - or die "[ERROR] Could not fork(): $!"; + or die "[ERROR] Could not run '$cmd': $!"; my %data = map { my ($k,$v) = m/\A\s* ([^:]+?) \s*:\s* ([^\r\n]+)/xms; $k =~ s/\s+//xmsg; (lc $k => $v); } grep { m/\A\s* [^:]+? \s*:\s* [^\r\n]+/xms } <$otfinfo>; close $otfinfo - or die "[ERROR] '$cmd' failed."; + or die "[ERROR] '$cmd' failed"; return \%data; } @@ -709,6 +709,20 @@ sub _parse_metadata { $self->{weight} = Attr::unabbreviate($self->{weight}); $self->{shape} = Attr::unabbreviate($self->{shape}); + # Handle the (semi)condensed widths of the Thesis family. + # Doing this in the WIDTH table is tricky (i.e., TheSansCd might be + # parsed as the SCd width of the TheSan family), so we treat it as + # a special case instead. + if ($self->{family} =~ m/\A (The (?: Sans | Serif | Mix)) (S? Cd) \z/xms + and $self->{width} eq 'regular') { + $self->{family} = $1; + $self->{width} + = $2 eq 'Cd' ? 'condensed' + : $2 eq 'SCd' ? 'semicondensed' + : die '[ERROR] Internal error, please report!' + ; + } + # Some font families put small caps into separate families; # we merge these into the 'main' family. # We have to test both 'family', 'subfamily' and 'name' for hints @@ -813,17 +827,17 @@ sub _parse_featuredata { my $cmd = qq(otfinfo --features "$self->{filename}"); open my $otfinfo, '-|', $cmd - or die "[ERROR] Could not fork(): $!"; + or die "[ERROR] Could not run '$cmd': $!"; my @data = map { substr $_, 0, 4 } <$otfinfo>; close $otfinfo - or die "[ERROR] '$cmd' failed."; + or die "[ERROR] '$cmd' failed"; $cmd = qq(otfinfo --tables "$self->{filename}"); open $otfinfo, '-|', $cmd - or die "[ERROR] Could not fork(): $!"; + or die "[ERROR] Could not run '$cmd': $!"; my $data = do { local $/; <$otfinfo> }; close $otfinfo - or die "[ERROR] '$cmd' failed."; + or die "[ERROR] '$cmd' failed"; if ($data =~ m/\d+ \s+ kern/xms) { push @data, 'kern'; @@ -843,14 +857,14 @@ sub _parse_sizedata { my $cmd = qq(otfinfo --optical-size "$self->{filename}"); open my $otfinfo, '-|', $cmd - or die "[ERROR] Could not fork(): $!"; + or die "[ERROR] Could not run '$cmd': $!"; my $data = do { local $/; <$otfinfo> }; close $otfinfo - or die "[ERROR] '$cmd' failed."; + or die "[ERROR] '$cmd' failed"; my ($minsize, $maxsize) - = $data =~ m/[(] ([\d.]+) \s* pt, \s* - ([\d.]+) \s* pt \s* [])]/xms; + = $data =~ m/[([] ([\d.]+) (?:\s* pt)?, \s* + ([\d.]+) (?:\s* pt)? \s* [])]/xms; $minsize //= 0; $maxsize //= 0; @@ -1258,7 +1272,9 @@ END_STY_FONTAXES_ORN if ($seen{Numr}) { print {$STY} <<'END_STY_FONTAXES_NUMR'; \fa@naming@exception{figures}{{numerators}{proportional}}{Numr} + \fa@naming@exception{figures}{{numerator}{proportional}}{Numr} \fa@naming@exception{figures}{{numerators}{tabular}}{Numr} + \fa@naming@exception{figures}{{numerator}{tabular}}{Numr} END_STY_FONTAXES_NUMR } @@ -1266,7 +1282,9 @@ END_STY_FONTAXES_NUMR if ($seen{Dnom}) { print {$STY} <<'END_STY_FONTAXES_DNOM'; \fa@naming@exception{figures}{{denominators}{proportional}}{Dnom} + \fa@naming@exception{figures}{{denominator}{proportional}}{Dnom} \fa@naming@exception{figures}{{denominators}{tabular}}{Dnom} + \fa@naming@exception{figures}{{denominator}{tabular}}{Dnom} END_STY_FONTAXES_DNOM } @@ -2272,7 +2290,7 @@ sub create_command { return join q( ), 'otftotfm', '--automatic', - "--encoding='$workitem->{enc_file}'", + "--encoding=$workitem->{enc_file}", $targetdirs, '--no-updmap', '--force', @@ -2302,11 +2320,22 @@ sub create_command { sub run_commands { my ($commandlist, $family, $log) = @_; + my $n_cmds = scalar @{$commandlist}; + my ($log_ncmds, $ceil) = (1, 10); + while ($n_cmds >= $ceil) { + $log_ncmds++; + $ceil *= 10; + } + my $template = sprintf "%%%dd of %%%dd", $log_ncmds, $log_ncmds; + my $l_template = 4 + 2 * $log_ncmds; + $| = 1; # autoflush + print "[INFO] Generating fonts for $family: ", " " x $l_template; + + my $i_cmd = 1; my $oops = 0; - $| = 1; # turn on autoflush, to make a poor man's progress bar - print "[INFO] Generating fonts for $family "; for my $command (@{$commandlist}) { - print '.'; + print "\b" x $l_template; + printf $template, $i_cmd++, $n_cmds; open my $otftotfm, '-|', "$command 2>&1" or die "could not fork(): $!"; my $msgs = do { local $/; <$otftotfm> }; @@ -3049,13 +3078,13 @@ sub cleanup { # Figure out whether the encoding option refers to a custom encoding file # in the current directory, or to the name of one of our standard - # encodings. In the latter case, we add the 'fontools_' prefix. - my $try = $workitem->{encoding}; - $try .= '.enc' if $try !~ m/[.]enc\z/xmsi; - if (-e $try) { - $workitem->{enc_file} = $try; + # encodings. In the former case, we quote the filename, to account + # for possible spaces or other metacharacters; in the latter case, + # we add the 'fontools_' prefix. + if (-e $workitem->{encoding}) { + $workitem->{enc_file} = qq{"$workitem->{encoding}"}; $workitem->{encoding} - = File::Basename::basename($try, '.enc', '.ENC'); + = File::Basename::basename($workitem->{encoding}, '.enc', '.ENC'); } else { ($workitem->{enc_file} = $workitem->{encoding}) @@ -3173,7 +3202,7 @@ sub modify_fontnames { my $cmd = qq(t1disasm "$oldfn"); open my $t1disasm, '-|:raw', $cmd - or die "[ERROR] Could not fork(): $!"; + or die "[ERROR] Could not run '$cmd': $!"; my @pfbdata = readline $t1disasm; close $t1disasm or die "[ERROR] '$cmd' failed"; @@ -3193,7 +3222,7 @@ sub modify_fontnames { $cmd = qq(t1asm --pfb >"$newfn"); open my $t1asm, '|-:raw', $cmd - or die "[ERROR] Could not fork(): $!"; + or die "[ERROR] Could not run '$cmd': $!"; print {$t1asm} @pfbdata; close $t1asm or die "[ERROR] '$cmd' failed"; @@ -4000,7 +4029,7 @@ GNU General Public License for more details. =head1 VERSION -This document describes B<autoinst> version 20210401. +This document describes B<autoinst> version 20210721. =head1 RECENT CHANGES @@ -4009,6 +4038,26 @@ This document describes B<autoinst> version 20210401. =over 12 +=item I<2021-07-21> + +Bugfixes: + +=over 3 + +=item - + +Yet another problem with argument quoting on Windows. + +=item - + +Selecting numerator/denominator fonts didn't work as documented. + +=item - + +Font info parsing failed for Microsoft Sitka and LucasFonts Thesis. + +=back + =item I<2021-04-01> The I<-encoding> option now also accepts filenames of encoding files diff --git a/fonts/utilities/fontools/bin/ot2kpx b/fonts/utilities/fontools/bin/ot2kpx index 295c917782..a037fa7685 100755 --- a/fonts/utilities/fontools/bin/ot2kpx +++ b/fonts/utilities/fontools/bin/ot2kpx @@ -38,7 +38,7 @@ use Getopt::Long (); use List::Util @List::Util::EXPORT_OK; use Pod::Usage; -my $VERSION = "20210401"; +my $VERSION = "20210721"; our ($NUM_GLYPHS, $UNITS_PER_EM, %kern); @@ -858,7 +858,7 @@ See the GNU General Public License for more details. =head1 VERSION -This document describes B<ot2kpx> version 20210401. +This document describes B<ot2kpx> version 20210721. =head1 RECENT CHANGES diff --git a/fonts/utilities/fontools/bin/splitttc b/fonts/utilities/fontools/bin/splitttc index 28e52c5a2e..f0950a1256 100755 --- a/fonts/utilities/fontools/bin/splitttc +++ b/fonts/utilities/fontools/bin/splitttc @@ -38,7 +38,7 @@ use File::Basename; use Getopt::Long; use Pod::Usage; -my $VERSION = "20210401"; +my $VERSION = "20210721"; parse_commandline(); @@ -303,7 +303,7 @@ See the GNU General Public License for more details. =head1 VERSION -This document describes B<splitttc> version 20210401. +This document describes B<splitttc> version 20210721. =head1 RECENT CHANGES diff --git a/fonts/utilities/fontools/doc/afm2afm.pdf b/fonts/utilities/fontools/doc/afm2afm.pdf Binary files differindex 0c4610bbfa..5729170dfd 100644 --- a/fonts/utilities/fontools/doc/afm2afm.pdf +++ b/fonts/utilities/fontools/doc/afm2afm.pdf diff --git a/fonts/utilities/fontools/doc/autoinst.pdf b/fonts/utilities/fontools/doc/autoinst.pdf Binary files differindex 9d3defddd8..003afb51d0 100644 --- a/fonts/utilities/fontools/doc/autoinst.pdf +++ b/fonts/utilities/fontools/doc/autoinst.pdf diff --git a/fonts/utilities/fontools/doc/ot2kpx.pdf b/fonts/utilities/fontools/doc/ot2kpx.pdf Binary files differindex b335757e7b..f2187ab324 100644 --- a/fonts/utilities/fontools/doc/ot2kpx.pdf +++ b/fonts/utilities/fontools/doc/ot2kpx.pdf diff --git a/fonts/utilities/fontools/doc/splitttc.pdf b/fonts/utilities/fontools/doc/splitttc.pdf Binary files differindex 454684a60d..5c68b8c142 100644 --- a/fonts/utilities/fontools/doc/splitttc.pdf +++ b/fonts/utilities/fontools/doc/splitttc.pdf diff --git a/macros/generic/texdimens/README.md b/macros/generic/texdimens/README.md index 4f028fe689..d574ae2ae6 100644 --- a/macros/generic/texdimens/README.md +++ b/macros/generic/texdimens/README.md @@ -10,7 +10,7 @@ LPPL 1.3c. See file LICENSE.md. Development: https://github.com/jfbu/texdimens -Release: `0.9delta 2021/07/15` +Release: `0.9 2021/07/21` ## Aim of this package @@ -46,24 +46,24 @@ of one TeX point `1pt`, or rather `1pt` is represented internally as `65536`. If `\foo` is a dimen register: -- `\number\foo` produces the integer `N` such as `\foo` is the same as `N sp`, +- `\number\foo` produces the integer `N` such as `\foo` is the same as `Nsp`, - inside `\numexpr`, `\foo` is replaced by `N`, - `\the\foo` produces a decimal `D` (with at most five places) followed -with `pt` (catcode 12 tokens) and this output `D pt` can serve as input +with `pt` (catcode 12 tokens) and this output `Dpt` can serve as input in a dimen assignment to produce the same dimension as `\foo`. One can also use the catcode 11 characters `pt` for this. Digits and decimal mark must have their standard catcode 12. -When TeX encounters a dimen denotation of the type `D pt` it will +When TeX encounters a dimen denotation of the type `Dpt` it will compute `N` in a way equivalent to `N = round(65536 D)` where ties are rounded away from zero. Only 17 decimal places of `D` are kept as it can be shown that going beyond can not change the result. -When `\foo` has been assigned as `D pt`, `\the\foo` will produce some -`E pt` where `E` is not necessarily the same as `D`. But it is guaranteed -that `E pt` defines the same dimension as `D pt̀`. +When `\foo` has been assigned as `Dpt`, `\the\foo` will produce some +`Ept` where `E` is not necessarily the same as `D`. But it is guaranteed +that `Ept` defines the same dimension as `Dpt̀`. ## Further units known to TeX on input @@ -100,8 +100,8 @@ among those listed above, it first handles `U` as with the `pt` unit. This means that it computes `N = round(65536*U)`. It then multiplies this `N` by the conversion factor `phi` and truncates towards zero the mathematically exact result to obtain an integer `T`: -`T=trunc(N*phi)`. The assignment `U uu` is concluded by defining the -value of the dimension to be `T sp`. +`T=trunc(N*phi)`. The assignment `Uuu` is concluded by defining the +value of the dimension to be `Tsp`. Attention that although the mnemotic is `phi=1uu/1pt`, this formula definitely does not apply with numerator and denominator interpreted as @@ -129,7 +129,7 @@ between attainable dimensions is `72--73sp` for the `in` and `28--29sp` for the `cm`, and as `1in` differs internally from `2.54cm` by only `12sp` (see below the `xintsession` verbatim) it is impossible to adjust either the `in` side or the `cm` side to obtain equality. See in the -[TODO] section the closest dimension attainable both via `in` and via +[Extras?] section the closest dimension attainable both via `in` and via `cm`. In particular `1in==2.54cm` is **false** in TeX, but it is true that @@ -152,19 +152,19 @@ In particular `1in==2.54cm` is **false** in TeX, but it is true that other units the maximal attainable dimensions in `sp` unit are given in the middle column of the next table. - maximal allowed the corresponding minimal TeX dimen denotation - (with 5 places) maximal attainable dim. causing "Dimension too large" - --------------- -------------------------- -------------------------- - 16383.99999 pt 1073741823 sp (=\maxdimen) 16383.99999237060546875 pt - 16322.78954 bp 1073741823 sp (=\maxdimen) 16322.78954315185546875 bp - 15355.51532 nd 1073741823 sp (=\maxdimen) 15355.51532745361328125 nd - 15312.02584 dd 1073741822 sp 15312.02584075927734375 dd - 5758.31742 mm 1073741822 sp 5758.31742095947265625 mm - 1365.33333 pc 1073741820 sp 1365.33333587646484375 pc - 1279.62627 nc 1073741814 sp 1279.62627410888671875 nc - 1276.00215 cc 1073741821 sp 1276.00215911865234375 cc - 575.83174 cm 1073741822 sp 575.83174896240234375 cm - 226.70540 in 1073741768 sp 226.70540618896484375 in + maximal allowed the corresponding minimal TeX dimen denotation + (with 5 places) maximal attainable dim. causing "Dimension too large" + --------------- ------------------------- -------------------------- + 16383.99999pt 1073741823sp (=\maxdimen) 16383.99999237060546875pt + 16322.78954bp 1073741823sp (=\maxdimen) 16322.78954315185546875bp + 15355.51532nd 1073741823sp (=\maxdimen) 15355.51532745361328125nd + 15312.02584dd 1073741822sp 15312.02584075927734375dd + 5758.31742mm 1073741822sp 5758.31742095947265625mm + 1365.33333pc 1073741820sp 1365.33333587646484375pc + 1279.62627nc 1073741814sp 1279.62627410888671875nc + 1276.00215cc 1073741821sp 1276.00215911865234375cc + 575.83174cm 1073741822sp 575.83174896240234375cm + 226.70540in 1073741768sp 226.70540618896484375in Perhaps for these various peculiarities with dimensional units, TeX does not provide an output facility for them similar to what `\the` achieves for @@ -173,11 +173,11 @@ the `pt`. ## Macros of this package The macros defined by the package are expandable, and will expand -completely in an `\edef`, or in a `\dimexpr...\relax` construc. +completely in an `\edef`, or in a `\dimexpr...\relax` construct. As they parse their inputs via `\dimexpr` they can be nested (with -suitable postfix dimension unit added to inner macro). +the suitable dimension unit added as postfix to nested macro). -Apart for the `\texdimin<uu>up` in case of a negative input, they will +Apart from the `\texdimen<uu>up` in case of a negative input, they will even expand completely under f-expansion. Negative dimensions behave as if replaced by their absolute value, then @@ -187,67 +187,67 @@ at last step the sign (if result is not zero) is applied (so "down" means 1. For input `X` equal to (or sufficiently close to) `\maxdimen` and those units `uu` for which `\maxdimen` is not exactly representable (i.e. all units except `pt`, `bp` and `nd`), the output `D` of the - "up" macros `\texdimin<uu>up{X}`, if used as `Duu` in a dimension + "up" macros `\texdimen<uu>up{X}`, if used as `Duu` in a dimension assignment or expression, will (naturally) trigger a "Dimension too large" error. 2. For `dd`, `nc` and `in`, and input `X` equal to (or sufficiently - close to) `\maxdimen` it turns out that `\texdimin<uu>{X}` produces + close to) `\maxdimen` it turns out that `\texdimen<uu>{X}` produces an output `D` such that `Duu` is the first "virtually attainable" TeX dimension *beyond* `\maxdimen`. Hence `Duu` will trigger on use "Dimension too large error". 3. Again for the `dd`, `nc` and `in` units, both the "down" and "up" macros will trigger "Dimension too large" during their execution if used - with an input equal to (or sufficiently close to `\maxdimen`. + with an input equal to (or sufficiently close to) `\maxdimen`. -`\texdiminpt{<dim. expr.>}` +`\texdimenpt{<dim. expr.>}` > Does `\the\dimexpr <dim. expr.> \relax` then removes the `pt`. -`\texdiminbp{<dim. expr.>}` +`\texdimenbp{<dim. expr.>}` -> Produces a decimal (with up to five decimal places) `D` such that `D bp` +> Produces a decimal (with up to five decimal places) `D` such that `Dbp` > represents the dimension exactly if possible. If not possible it > will differ by `1sp` from the original dimension, but it is not > known in advance if it will be above or below. > `\maxdimen` on input produces `16322.78954` and indeed is realized as `16322.78954bp`. -`\texdiminbpdown{<dim. expr.>}` +`\texdimenbpdown{<dim. expr.>}` -> Produces a decimal (with up to five decimal places) `D` such that `D bp` +> Produces a decimal (with up to five decimal places) `D` such that `Dbp` > represents the dimension exactly if possible. If not possible it > will be smaller by `1sp` from the original dimension. -`\texdiminbpup{<dim. expr.>}` +`\texdimenbpup{<dim. expr.>}` -> Produces a decimal (with up to five decimal places) `D` such that `D bp` +> Produces a decimal (with up to five decimal places) `D` such that `Dbp` > represents the dimension exactly if possible. If not possible it > will be larger by `1sp` from the original dimension. -`\texdiminnd{<dim. expr.>}` +`\texdimennd{<dim. expr.>}` -> Produces a decimal (with up to five decimal places) `D` such that `D nd` +> Produces a decimal (with up to five decimal places) `D` such that `Dnd` > represents the dimension exactly if possible. If not possible it > will differ by `1sp` from the original dimension, but it is not > known in advance if it will be above or below. > `\maxdimen` on input produces `15355.51532` and indeed is realized as `15355.51532nd`. -`\texdiminnddown{<dim. expr.>}` +`\texdimennddown{<dim. expr.>}` -> Produces a decimal (with up to five decimal places) `D` such that `D nd` +> Produces a decimal (with up to five decimal places) `D` such that `Dnd` > represents the dimension exactly if possible. If not possible it > will be smaller by `1sp` from the original dimension. -`\texdiminndup{<dim. expr.>}` +`\texdimenndup{<dim. expr.>}` -> Produces a decimal (with up to five decimal places) `D` such that `D nd` +> Produces a decimal (with up to five decimal places) `D` such that `Dnd` > represents the dimension exactly if possible. If not possible it > will be larger by `1sp` from the original dimension. -`\texdimindd{<dim. expr.>}` +`\texdimendd{<dim. expr.>}` -> Produces a decimal (with up to five decimal places) `D` such that `D dd` +> Produces a decimal (with up to five decimal places) `D` such that `Ddd` > represents the dimension exactly if possible. If not possible it > will differ by `1sp` from the original dimension, but it is not > known in advance if it will be above or below. @@ -256,21 +256,21 @@ at last step the sign (if result is not zero) is applied (so "down" means > will trigger "Dimension too large" error. > `\maxdimen-1sp` is attainable via `15312.02584dd`. -`\texdimindddown{<dim. expr.>}` +`\texdimendddown{<dim. expr.>}` -> Produces a decimal (with up to five decimal places) `D` such that `D dd` +> Produces a decimal (with up to five decimal places) `D` such that `Ddd` > represents the dimension exactly if possible. If not possible it > will be smaller by `1sp` from the original dimension. -`\texdiminddup{<dim. expr.>}` +`\texdimenddup{<dim. expr.>}` -> Produces a decimal (with up to five decimal places) `D` such that `D dd` +> Produces a decimal (with up to five decimal places) `D` such that `Ddd` > represents the dimension exactly if possible. If not possible it > will be larger by `1sp` from the original dimension. -`\texdiminmm{<dim. expr.>}` +`\texdimenmm{<dim. expr.>}` -> Produces a decimal (with up to five decimal places) `D` such that `D mm` +> Produces a decimal (with up to five decimal places) `D` such that `Dmm` > represents the dimension exactly if possible. If not possible it > will either be the closest from below or from above, but it is not > known in advance which one (and it is not known if the other choice @@ -279,21 +279,21 @@ at last step the sign (if result is not zero) is applied (so "down" means > `\maxdimen` as input produces on output `5758.31741` and indeed the > maximal attainable dimension is `5758.31741mm` (`1073741822sp`). -`\texdiminmmdown{<dim. expr.>}` +`\texdimenmmdown{<dim. expr.>}` -> Produces a decimal (with up to five decimal places) `D` such that `D mm` +> Produces a decimal (with up to five decimal places) `D` such that `Dmm` > represents the dimension exactly if possible. If not possible it > will be largest representable dimension smaller than the original one. -`\texdiminmmup{<dim. expr.>}` +`\texdimenmmup{<dim. expr.>}` -> Produces a decimal (with up to five decimal places) `D` such that `D mm` +> Produces a decimal (with up to five decimal places) `D` such that `Dmm` > represents the dimension exactly if possible. If not possible it > will be smallest representable dimension larger than the original one. -`\texdiminpc{<dim. expr.>}` +`\texdimenpc{<dim. expr.>}` -> Produces a decimal (with up to five decimal places) `D` such that `D pc` +> Produces a decimal (with up to five decimal places) `D` such that `Dpc` > represents the dimension exactly if possible. If not possible it > will be the closest representable one (in case of tie, the approximant > from above is chosen). @@ -301,21 +301,21 @@ at last step the sign (if result is not zero) is applied (so "down" means > `\maxdimen` as input produces on output `1365.33333` and indeed the > maximal attainable dimension is `1365.33333pc` (`1073741820sp`). -`\texdiminpcdown{<dim. expr.>}` +`\texdimenpcdown{<dim. expr.>}` -> Produces a decimal (with up to five decimal places) `D` such that `D pc` +> Produces a decimal (with up to five decimal places) `D` such that `Dpc` > represents the dimension exactly if possible. If not possible it > will be largest representable dimension smaller than the original one. -`\texdiminpcup{<dim. expr.>}` +`\texdimenpcup{<dim. expr.>}` -> Produces a decimal (with up to five decimal places) `D` such that `D pc` +> Produces a decimal (with up to five decimal places) `D` such that `Dpc` > represents the dimension exactly if possible. If not possible it > will be smallest representable dimension larger than the original one. -`\texdiminnc{<dim. expr.>}` +`\texdimennc{<dim. expr.>}` -> Produces a decimal (with up to five decimal places) `D` such that `D nc` +> Produces a decimal (with up to five decimal places) `D` such that `Dnc` > represents the dimension exactly if possible. If not possible it > will either be the closest from below or from above, but it is not > known in advance which one (and it is not known if the other choice @@ -325,21 +325,21 @@ at last step the sign (if result is not zero) is applied (so "down" means > will trigger "Dimension too large" error. > `\maxdimen-9sp` is attainable via `1279.62627nc`. -`\texdiminncdown{<dim. expr.>}` +`\texdimenncdown{<dim. expr.>}` -> Produces a decimal (with up to five decimal places) `D` such that `D nc` +> Produces a decimal (with up to five decimal places) `D` such that `Dnc` > represents the dimension exactly if possible. If not possible it > will be largest representable dimension smaller than the original one. -`\texdiminncup{<dim. expr.>}` +`\texdimenncup{<dim. expr.>}` -> Produces a decimal (with up to five decimal places) `D` such that `D nc` +> Produces a decimal (with up to five decimal places) `D` such that `Dnc` > represents the dimension exactly if possible. If not possible it > will be smallest representable dimension larger than the original one. -`\texdimincc{<dim. expr.>}` +`\texdimencc{<dim. expr.>}` -> Produces a decimal (with up to five decimal places) `D` such that `D cc` +> Produces a decimal (with up to five decimal places) `D` such that `Dcc` > represents the dimension exactly if possible. If not possible it > will either be the closest from below or from above, but it is not > known in advance which one (and it is not known if the other choice @@ -348,21 +348,21 @@ at last step the sign (if result is not zero) is applied (so "down" means > `\maxdimen` as input produces on output `1276.00215` and indeed the > maximal attainable dimension is `1276.00215cc` (`1073741821sp`). -`\texdiminccdown{<dim. expr.>}` +`\texdimenccdown{<dim. expr.>}` -> Produces a decimal (with up to five decimal places) `D` such that `D cc` +> Produces a decimal (with up to five decimal places) `D` such that `Dcc` > represents the dimension exactly if possible. If not possible it > will be largest representable dimension smaller than the original one. -`\texdiminccup{<dim. expr.>}` +`\texdimenccup{<dim. expr.>}` -> Produces a decimal (with up to five decimal places) `D` such that `D cc` +> Produces a decimal (with up to five decimal places) `D` such that `Dcc` > represents the dimension exactly if possible. If not possible it > will be smallest representable dimension larger than the original one. -`\texdimincm{<dim. expr.>}` +`\texdimencm{<dim. expr.>}` -> Produces a decimal (with up to five decimal places) `D` such that `D cm` +> Produces a decimal (with up to five decimal places) `D` such that `Dcm` > represents the dimension exactly if possible. If not possible it > will either be the closest from below or from above, but it is not > known in advance which one (and it is not known if the other choice @@ -371,21 +371,21 @@ at last step the sign (if result is not zero) is applied (so "down" means > `\maxdimen` as input produces on output `575.83174` and indeed the > maximal attainable dimension is `575.83174cm` (`1073741822sp`). -`\texdimincmdown{<dim. expr.>}` +`\texdimencmdown{<dim. expr.>}` -> Produces a decimal (with up to five decimal places) `D` such that `D cm` +> Produces a decimal (with up to five decimal places) `D` such that `Dcm` > represents the dimension exactly if possible. If not possible it > will be largest representable dimension smaller than the original one. -`\texdimincmup{<dim. expr.>}` +`\texdimencmup{<dim. expr.>}` -> Produces a decimal (with up to five decimal places) `D` such that `D cm` +> Produces a decimal (with up to five decimal places) `D` such that `Dcm` > represents the dimension exactly if possible. If not possible it > will be smallest representable dimension larger than the original one. -`\texdiminin{<dim. expr.>}` +`\texdimenin{<dim. expr.>}` -> Produces a decimal (with up to five decimal places) `D` such that `D in` +> Produces a decimal (with up to five decimal places) `D` such that `Din` > represents the dimension exactly if possible. If not possible it > will either be the closest from below or from above, but it is not > known in advance which one (and it is not known if the other choice @@ -395,18 +395,54 @@ at last step the sign (if result is not zero) is applied (so "down" means > will trigger "Dimension too large" error. > `\maxdimen-55sp` is maximal attainable dimension (via `226.7054in`). -`\texdiminindown{<dim. expr.>}` +`\texdimenindown{<dim. expr.>}` -> Produces a decimal (with up to five decimal places) `D` such that `D in` +> Produces a decimal (with up to five decimal places) `D` such that `Din` > represents the dimension exactly if possible. If not possible it > will be largest representable dimension smaller than the original one. -`\texdimininup{<dim. expr.>}` +`\texdimeninup{<dim. expr.>}` -> Produces a decimal (with up to five decimal places) `D` such that `D in` +> Produces a decimal (with up to five decimal places) `D` such that `Din` > represents the dimension exactly if possible. If not possible it > will be smallest representable dimension larger than the original one. +`\texdimenbothcmin{<dim. expr.>}` (new with `0.9dev`) + +> Produces a decimal (with up to five decimal places) `D` such that `Din` +> is the largest dimension smaller than the original one and +> exactly representable both in the `in` and `cm` units. + +`\texdimenbothincm{<dim. expr.>}` (new with `0.9dev`) + +> Produces a decimal (with up to five decimal places) `D` such that `Dcm` +> is the largest dimension smaller than the original one and +> exactly representable both in the `in` and `cm` units. It thus represents +> the same dimension as `\texdimenbothcmin{<dim. expr.>}in`. + +`\texdimenbothcminpt{<dim. expr.>}` (new with `0.9dev`) + +> Produces a decimal (with up to five decimal places) `D` such that `Dpt` +> is the largest dimension smaller than the original one and +> exactly representable both in the `in` and `cm` units. It thus represents +> the same dimension as the one provided by `\texdimenbothcmin` and +> `\texdimenbothincm`. + +`\texdimenbothincmpt{<dim. expr.>}` (new with `0.9dev`) + +> Same as `\texdimenbothcminpt`. + +`\texdimenbothcminsp{<dim. expr.>}` (new with `0.9dev`) + +> Produces an integer (explicit digit tokens) `N` such that `Nsp` +> is the largest dimension smaller than the original one and +> exactly representable both in the `in` and `cm` units. + +`\texdimenbothincmsp{<dim. expr.>}` (new with `0.9dev`) + +> Same as `\texdimenbothcminsp`. + + ## Extras? As already stated the "up" and also the "down" macros for the `dd`, `nc` @@ -418,46 +454,28 @@ some demand for it. But of course anyhow the output from the "up" macros if used as input with the corresponding unit will be beyond `\maxdimen` if the -latter is not atteignable, i.e. for all units except `bp`, and `nd` +latter is not attainable, i.e. for all units except `bp`, and `nd` (and `pt` but there is no "up" macro for it). -Provide a macro `\texdimforbothincm{<dim.expr.>}` which would output -the nearest dimension simultaneously representable both in `in` and in -`cm`? - According to a reference on the web by an anonymous contributor the dimensions representable with both `in` and `cm` units have the shape -`trunc(3613.5*k) sp` for some integer `k`. So we basically may have a -delta up to about `1800sp` which is about `0.0275pt` and is still small -(less than one hundredth of a millimeter, i.e. less than ten micron), -so perhaps such a utility for -"safe dimensions" may be useful. Here are for example the dimensions -nearest to `1in` and realizable both in `in` and `cm` units: - - >>> \input texdimens.tex\relax - (executing \input texdimens.tex\relax in background) - (./texdimens.tex) - >>> &exact - exact mode (floating point evaluations use 16 digits) - >>> (\texdiminin{4737298sp}); - @_10 1.00021 - >>> (\texdimincm{4737298sp}); - @_11 2.54054 - >>> (\dimexpr1.00021in, \dimexpr2.54054cm); - @_12 4737298, 4737298 - >>> (\texdiminin{4733685sp}); - @_13 0.99945 - >>> (\texdimincm{4733685sp}); - @_14 2.5386 - >>> (\dimexpr0.99945in, \dimexpr2.5386cm); - @_15 4733685, 4733685 - -As promised, one of them, the upper approximation, is at less than -one hundredth of millimeter from the two nearby targets. - -Simpler however and more efficient -would be for people to finally adopt the French revolution Système -Métrique (rather than setting up giant financial paradises). +`trunc(3613.5*k)sp` for some integer `k`. The largest one smaller +than a given dimension will thus differ from it by at most about `0.055pt`, +which is also about `0.02mm`. + +For example `\texdimenbothincm{1cm}` expands to `0.99994cm` which maps +internally to `1864566sp` which differs from TeX's `1cm` by only +`-113sp`. It can be obtained from `0.39368in` or `28.45102pt`. + +And `\texdimenbothcmin{1in}` expands to `0.99945in`, maps internally to +`4733685sp` which differs from TeX's `1in` by `-2601sp`. It can be obtained +as `2.5386cm` or `72.2303pt`. + +Currently the package does not provide analogous approximations from above. +For the `1in` for example it would be `4737298sp`, i.e. `1.00021in` which +differs from TeX's `1in` by `+1012sp` and is obtained also as `2.54054cm` +and `72.28543pt`. + <!-- --> diff --git a/macros/generic/texdimens/texdimens.sty b/macros/generic/texdimens/texdimens.sty index dbf39c72f8..8467e69a6f 100644 --- a/macros/generic/texdimens/texdimens.sty +++ b/macros/generic/texdimens/texdimens.sty @@ -1,5 +1,5 @@ % This is file texdimens.tex, part of texdimens package, which % is distributed under the LPPL 1.3c. Copyright (c) 2021 Jean-François Burnol -\ProvidesPackage{texdimens}[2021/07/15 v0.9delta conversion of TeX dimensions to decimals (JFB)] +\ProvidesPackage{texdimens}[2021/07/21 v0.9 conversion of TeX dimensions to decimals (JFB)] \@@input texdimens.tex\relax \endinput
\ No newline at end of file diff --git a/macros/generic/texdimens/texdimens.tex b/macros/generic/texdimens/texdimens.tex index 189caca95d..8103bef1cd 100644 --- a/macros/generic/texdimens/texdimens.tex +++ b/macros/generic/texdimens/texdimens.tex @@ -1,29 +1,70 @@ % This is file texdimens.tex, part of texdimens package, which % is distributed under the LPPL 1.3c. Copyright (c) 2021 Jean-François Burnol -% 2021/07/15 v0.9delta +% 2021/07/21 v0.9 +% All macros from 0.9delta release have changed names: \texdimen prefix +% has replaced \texdimin. \edef\texdimensendinput{\endlinechar\the\endlinechar\catcode`\noexpand _=\the\catcode`\_\relax\noexpand\endinput}% \endlinechar13\relax% \catcode`\_=11 % -% Mathematics +% Mathematics ("down" and "up" macros) % =========== % -% Is T sp attainable from unit "uu"?. Here we suppose T>0. -% phi>1, psi=1/phi, psi<1 -% U(N,phi)=trunc(N phi) is strictly increasing +% Is T sp attainable from unit "uu"?. +% If not, what is largest dimension < Tsp which is attainable? +% Here we suppose T>0. +% +% phi>1, psi=1/phi, psi<1. +% +% U(N,phi)=trunc(N phi) is the strictly increasing sequence, +% indexed by non-negative integers, of attainable dimensions. +% (in sp unit) +% % U(N)<= T < U(N+1) iff N = ceil((T+1)psi) - 1 % U(M)< T <= U(M+1) iff M = ceil(T psi) - 1 -% Either: +% +% Stumbling block +% --------------- +% +% The stumbling block is that computing "ceil((T+1)psi) - 1" without +% overflow is not obvious: yes \numexpr/\dimexpr allow so-called +% "scaling operations" but only in the "rounding up" variant. +% +% If we attempt computing the ceil(x) function via round(x+0.5), +% for example with psi=100/7227 which corresponds to the unit "in", +% this necessitates evaluating: +% +% round((((T+1)*200)+7227)/14454) +% +% But as far as I can tell currently, for this we need to be able +% to evaluate without overflow (T+1)*200+7227 and this limits to +% T's which are (roughly) such that 100 T is less than \maxdimen. +% +% A work-around +% ------------- +% +% The rest of the discussion is about an algorithm providing an +% alternative route to N, using \numexpr/\dimexpr/TeX facilities, +% and working with (almost, as we will see) the full range of allowed +% T's, 0 < T <= \maxdimen. (that the algorithm works for T=0 is to be +% checked manually after the main discussion). +% +% Let's return to the U(N)<= T < U(N+1) and U(M)< T <= U(M+1) equations. +% +% Either (recall in all of this T > 0): +% % case1: M = N, i.e. T is not attainable, M=N < T psi < (T+1) psi <= N+1 -% case2: M = N - 1, i.e. T is attained, T psi <= N < (T+1) psi, T = floor(N phi) +% case2: M = N - 1, i.e. T is attained, T psi <= N < (T+1) psi, T = trunc(N phi) % -% Let X = round(T psi). And let Y = trunc(X phi). +% Let X = round(T psi). And let Y = trunc(X phi). We will explain later +% how X and Y can be computed using \numexpr/\dimexpr/TeX. % % case1: X can be N or N+1. It will be N+1 iff Y > T. % case2: X can be N or N-1. It will be N iff trunc((X+1)phi)>T. % -% This is not convenient: if Y <= T it might still be that we are in case 2 -% and we must check then if trunc((X+1) phi) > T or not. +% This is not convenient: if Y < T it could be that we are in case 2 +% but to decide we must check if trunc((X+1) phi) = T or not, so +% this means a second computation. % % If psi < 0.5 % ------------ @@ -37,11 +78,11 @@ % a) compute X = round(T psi) % b) compute Y = trunc(X phi) and test if Y > T. If true, we % were in case 1, replace X by X - 1, else we were either -% in case 1 or case 2, but we can leave X as is. +% in case 1 or case 2, and we leave X as it is. % We have thus found N. % % The operation Y = trunc(X phi) can be achieved this way: -% i) use \the\dimexpr to convert X sp into D pt, +% i) use \the\dimexpr to convert X sp into D pt, % ii) use \the\numexpr\dimexpr to convert "D uu" into sp. % These steps give Y. % @@ -50,14 +91,14 @@ % % The computations of X and Y can be done independently of sign of T. % But the final test has to be changed to Y < T if T < 0 and then -% one must replace X by X+1. So we must filter sign. +% one must replace X by X+1. So we must filter out the sign of the input. % -% If the goal is only to find a decimal D such that "D uu" is +% If the goal is only to find a decimal D such that "D uu" is % exactly T sp in the case this is possible, then things are simpler % because from X = round(T psi) we get D such as X sp is same as D pt % and "D uu" will work. % We don't have to take sign into account for this computation. -% But if T sp was not atteignable we don't know if this X will give +% But if T sp was not attainable we don't know if this X will give % a D such that D uu < T sp or D uu > T sp. % % If psi > 0.5 @@ -65,7 +106,7 @@ % % For example unit "bp" has phi=803/800. % -% It is then not true that if T sp is atteignable, the X = round(T psi) +% It is then not true that if T sp is attainable, the X = round(T psi) % will always work. % % But it is true that R = round((T + 0.5) psi) will always work. @@ -76,7 +117,7 @@ % % So this gives an approach to find a D such that "D uu" is exactly % T sp when this is possible. -% +% % If Tsp (positive) is not attainable, this R however can produce % either N or N+1. % @@ -86,42 +127,38 @@ % It is slightly less costly to compute X = round(T psi) than % R = round((T + 0.5) psi), % but if we then realize that trunc(X phi) < T we do not yet know -% if trunc((X+1) phi) = T or is > T. +% if trunc((X+1) phi) = T or is > T. So we proceed via R, not X, +% to not have to make a second computation if a dimension comparison +% test goes awry. % % To recapitulate: we have our algorithm for all units to find out -% maximal dimension exactly atteignable in "uu" unit and at most equal +% maximal dimension exactly attainable in "uu" unit and at most equal % to (positive) T sp. % % Unfortunately the check that Y (in case psi < 0.5) or Z (in case psi > -% 0.5) may trigger a Dimension too large error if T sp was near -% non-atteignable \maxdimen. -% -% For additional envisioned "safe versions" we would tabulate first per unit -% what is the integer Rmax such that trunc(Rmax phi) <= \maxdimen. Then -% the "safe" versions would have an extra check of X or R before -% proceeding further. But the "up macros" supposed to give the next -% dimension above Tsp and exactly atteignable in "uu" unit, if compliant -% to their description can not avoid "Dimension too large" for inputs -% close to non-attainable \maxdimen. -% -% After having written the macros we will tabulate what is for each unit -% the maximal attainable dimension. -% -% About the macros such as \texdiminbp whose constraints are: -% - give a decimal D such that "Duu" = "T sp" for TeX if possible -% - else give nearest from below or above without knowing -% which one, -% -% there was some hesitation about whether or not using the simpler -% round(T psi) approach for units > 2pt and the \texdimin<uu> macros. -% Testing showed that this did not change the output for \maxdimen -% with the units "nc" and "in": still N+1 is returned... -% -% As it has great -% advantage to not have to check the sign of the input, the -% "simpler" approach was chosen for those units to which it -% applies, i.e. the units uu > 2pt (phi>2, psi<1/2), i.e. -% all units except bp, nd and dd. +% 0.5) verifies or not Y > T may trigger a Dimension too large error if +% T sp was near non-attainable \maxdimen. It turns out this sad +% situation happens only for the units `dd`, `nc`, and `in`, and T sp +% very close to \maxdimen (like for all units apart from `pt`, `bp`, +% `nd`, the \maxdimen is not attainable, and by bad luck for `dd`, `nc`, +% and `in`, the X will correspond to a decimal D such that Duu>\maxdimen +% is the nearest virtually attaible dimensions from above not from +% below; see the README.md for the tabulation of the maximal usable inputs). +% +% Regarding the \texdimen<uu> macros, and units with phi > 2, I +% hesitated using either the round((T+0.5)psi) or round(T psi), but for +% Tsp = \maxdimen, both formulas turned out to give the same result for +% all such units, so I chose for these \texdimen<uu> macros and the +% units with phi>2 to use the simpler round(T psi) which does not need +% to check the sign of T. +% +% For the "up" and "down" macros, we again use the round(T psi), but do +% have to check the sign anyhow. We could also have used the +% round((T+0.5)psi) which requires a sign check too, but it costs a bit +% more. It would have allowed though to share the same codebase for all +% units, here we have to prepare some slightly different shared macros +% for the first batch bp, nd, dd and the second batch mm, pc, nc, cc, +% cm, in. % % Implementation % ============== @@ -171,87 +208,164 @@ % % pt % -\def\texdiminpt#1{\expandafter\texdimenstrippt\the\dimexpr#1\relax}% +\def\texdimenpt#1{\expandafter\texdimenstrippt\the\dimexpr#1\relax}% % % bp 7227/7200 = 803/800 % -\def\texdiminbp#1{\expandafter\texdiminbp_\the\numexpr\dimexpr#1;}% -\def\texdiminbp_#1#2;{% +\def\texdimenbp#1{\expandafter\texdimenbp_\the\numexpr\dimexpr#1;}% +\def\texdimenbp_#1#2;{% \expandafter\texdimenstrippt\the\dimexpr\numexpr(2*#1#2+\if-#1-\fi1)*400/803sp\relax }% -% \texdiminbpdown: maximal dim exactly expressible in bp and at most equal to input -\def\texdiminbpdown#1{\expandafter\texdimendown_A\the\numexpr\dimexpr#1;*400/803;bp;}% -% \texdiminbpup: minimal dim exactly expressible in bp and at least equal to input -\def\texdiminbpup#1{\expandafter\texdimenup_A\the\numexpr\dimexpr#1;*400/803;bp;}% +% \texdimenbpdown: maximal dim exactly expressible in bp and at most equal to input +\def\texdimenbpdown#1{\expandafter\texdimendown_A\the\numexpr\dimexpr#1;*400/803;bp;}% +% \texdimenbpup: minimal dim exactly expressible in bp and at least equal to input +\def\texdimenbpup#1{\expandafter\texdimenup_A\the\numexpr\dimexpr#1;*400/803;bp;}% % % nd 685/642 % -\def\texdiminnd#1{\expandafter\texdiminnd_\the\numexpr\dimexpr#1;}% -\def\texdiminnd_#1#2;{% +\def\texdimennd#1{\expandafter\texdimennd_\the\numexpr\dimexpr#1;}% +\def\texdimennd_#1#2;{% \expandafter\texdimenstrippt\the\dimexpr\numexpr(2*#1#2+\if-#1-\fi1)*321/685sp\relax }% -% \texdiminnddown: maximal dim exactly expressible in nd and at most equal to input -\def\texdiminnddown#1{\expandafter\texdimendown_A\the\numexpr\dimexpr#1;*321/685;nd;}% -% \texdiminndup: minimal dim exactly expressible in nd and at least equal to input -\def\texdiminndup#1{\expandafter\texdimenup_A\the\numexpr\dimexpr#1;*321/685;nd;}% +% \texdimennddown: maximal dim exactly expressible in nd and at most equal to input +\def\texdimennddown#1{\expandafter\texdimendown_A\the\numexpr\dimexpr#1;*321/685;nd;}% +% \texdimenndup: minimal dim exactly expressible in nd and at least equal to input +\def\texdimenndup#1{\expandafter\texdimenup_A\the\numexpr\dimexpr#1;*321/685;nd;}% % % dd 1238/1157 % -\def\texdimindd#1{\expandafter\texdimindd_\the\numexpr\dimexpr#1;}% -\def\texdimindd_#1#2;{% +\def\texdimendd#1{\expandafter\texdimendd_\the\numexpr\dimexpr#1;}% +\def\texdimendd_#1#2;{% \expandafter\texdimenstrippt\the\dimexpr\numexpr(2*#1#2+\if-#1-\fi1)*1157/2476sp\relax }% -% \texdimindddown: maximal dim exactly expressible in dd and at most equal to input -\def\texdimindddown#1{\expandafter\texdimendown_A\the\numexpr\dimexpr#1;*1157/2476;dd;}% -% \texdiminddup: minimal dim exactly expressible in dd and at least equal to input -\def\texdiminddup#1{\expandafter\texdimenup_A\the\numexpr\dimexpr#1;*1157/2476;dd;}% +% \texdimendddown: maximal dim exactly expressible in dd and at most equal to input +\def\texdimendddown#1{\expandafter\texdimendown_A\the\numexpr\dimexpr#1;*1157/2476;dd;}% +% \texdimenddup: minimal dim exactly expressible in dd and at least equal to input +\def\texdimenddup#1{\expandafter\texdimenup_A\the\numexpr\dimexpr#1;*1157/2476;dd;}% % % mm 7227/2540 phi now >2, use from here on the simpler approach % -\def\texdiminmm#1{\expandafter\texdimenstrippt\the\dimexpr(#1)*2540/7227\relax}% -% \texdiminmmdown: maximal dim exactly expressible in mm and at most equal to input -\def\texdiminmmdown#1{\expandafter\texdimendown_a\the\numexpr\dimexpr#1;*2540/7227;mm;}% -% \texdiminmmup: minimal dim exactly expressible in mm and at least equal to input -\def\texdiminmmup#1{\expandafter\texdimenup_a\the\numexpr\dimexpr#1;*2540/7227;mm;}% +\def\texdimenmm#1{\expandafter\texdimenstrippt\the\dimexpr(#1)*2540/7227\relax}% +% \texdimenmmdown: maximal dim exactly expressible in mm and at most equal to input +\def\texdimenmmdown#1{\expandafter\texdimendown_a\the\numexpr\dimexpr#1;*2540/7227;mm;}% +% \texdimenmmup: minimal dim exactly expressible in mm and at least equal to input +\def\texdimenmmup#1{\expandafter\texdimenup_a\the\numexpr\dimexpr#1;*2540/7227;mm;}% % % pc 12/1 % -\def\texdiminpc#1{\expandafter\texdimenstrippt\the\dimexpr(#1)/12\relax}% -% \texdiminpcdown: maximal dim exactly expressible in pc and at most equal to input -\def\texdiminpcdown#1{\expandafter\texdimendown_a\the\numexpr\dimexpr#1;/12;pc;}% -% \texdiminpcup: minimal dim exactly expressible in pc and at least equal to input -\def\texdiminpcup#1{\expandafter\texdimenup_a\the\numexpr\dimexpr#1;/12;pc;}% +\def\texdimenpc#1{\expandafter\texdimenstrippt\the\dimexpr(#1)/12\relax}% +% \texdimenpcdown: maximal dim exactly expressible in pc and at most equal to input +\def\texdimenpcdown#1{\expandafter\texdimendown_a\the\numexpr\dimexpr#1;/12;pc;}% +% \texdimenpcup: minimal dim exactly expressible in pc and at least equal to input +\def\texdimenpcup#1{\expandafter\texdimenup_a\the\numexpr\dimexpr#1;/12;pc;}% % % nc 1370/107 % -\def\texdiminnc#1{\expandafter\texdimenstrippt\the\dimexpr(#1)*107/1370\relax}% -% \texdiminncdown: maximal dim exactly expressible in nc and at most equal to input -\def\texdiminncdown#1{\expandafter\texdimendown_a\the\numexpr\dimexpr#1;*107/1370;nc;}% -% \texdiminncup: minimal dim exactly expressible in nc and at least equal to input -\def\texdiminncup#1{\expandafter\texdimenup_a\the\numexpr\dimexpr#1;*107/1370;nc;}% +\def\texdimennc#1{\expandafter\texdimenstrippt\the\dimexpr(#1)*107/1370\relax}% +% \texdimenncdown: maximal dim exactly expressible in nc and at most equal to input +\def\texdimenncdown#1{\expandafter\texdimendown_a\the\numexpr\dimexpr#1;*107/1370;nc;}% +% \texdimenncup: minimal dim exactly expressible in nc and at least equal to input +\def\texdimenncup#1{\expandafter\texdimenup_a\the\numexpr\dimexpr#1;*107/1370;nc;}% % % cc 14856/1157 % -\def\texdimincc#1{\expandafter\texdimenstrippt\the\dimexpr(#1)*1157/14856\relax}% -% \texdiminccdown: maximal dim exactly expressible in cc and at most equal to input -\def\texdiminccdown#1{\expandafter\texdimendown_a\the\numexpr\dimexpr#1;*1157/14856;cc;}% -% \texdiminccup: minimal dim exactly expressible in cc and at least equal to input -\def\texdiminccup#1{\expandafter\texdimenup_a\the\numexpr\dimexpr#1;*1157/14856;cc;}% +\def\texdimencc#1{\expandafter\texdimenstrippt\the\dimexpr(#1)*1157/14856\relax}% +% \texdimenccdown: maximal dim exactly expressible in cc and at most equal to input +\def\texdimenccdown#1{\expandafter\texdimendown_a\the\numexpr\dimexpr#1;*1157/14856;cc;}% +% \texdimenccup: minimal dim exactly expressible in cc and at least equal to input +\def\texdimenccup#1{\expandafter\texdimenup_a\the\numexpr\dimexpr#1;*1157/14856;cc;}% % % cm 7227/254 % -\def\texdimincm#1{\expandafter\texdimenstrippt\the\dimexpr(#1)*254/7227\relax}% -% \texdimincmdown: maximal dim exactly expressible in cm and at most equal to input -\def\texdimincmdown#1{\expandafter\texdimendown_a\the\numexpr\dimexpr#1;*254/7227;cm;}% -% \texdimincmup: minimal dim exactly expressible in cm and at least equal to input -\def\texdimincmup#1{\expandafter\texdimenup_a\the\numexpr\dimexpr#1;*254/7227;cm;}% +\def\texdimencm#1{\expandafter\texdimenstrippt\the\dimexpr(#1)*254/7227\relax}% +% \texdimencmdown: maximal dim exactly expressible in cm and at most equal to input +\def\texdimencmdown#1{\expandafter\texdimendown_a\the\numexpr\dimexpr#1;*254/7227;cm;}% +% \texdimencmup: minimal dim exactly expressible in cm and at least equal to input +\def\texdimencmup#1{\expandafter\texdimenup_a\the\numexpr\dimexpr#1;*254/7227;cm;}% % % in 7227/100 % -\def\texdiminin#1{\expandafter\texdimenstrippt\the\dimexpr(#1)*100/7227\relax}% -% \texdiminindown: maximal dim exactly expressible in in and at most equal to input -\def\texdiminindown#1{\expandafter\texdimendown_a\the\numexpr\dimexpr#1;*100/7227;in;}% -% \texdimininup: minimal dim exactly expressible in in and at least equal to input -\def\texdimininup#1{\expandafter\texdimenup_a\the\numexpr\dimexpr#1;*100/7227;in;}% +\def\texdimenin#1{\expandafter\texdimenstrippt\the\dimexpr(#1)*100/7227\relax}% +% \texdimenindown: maximal dim exactly expressible in in and at most equal to input +\def\texdimenindown#1{\expandafter\texdimendown_a\the\numexpr\dimexpr#1;*100/7227;in;}% +% \texdimeninup: minimal dim exactly expressible in in and at least equal to input +\def\texdimeninup#1{\expandafter\texdimenup_a\the\numexpr\dimexpr#1;*100/7227;in;}% +% both in and cm +% Mathematics ("both" macros) +% =========== +% +% Let a and b be two non-negative integers such that U = floor(a 7227/100) = +% floor(b 7227/254). It can be proven that a=50k, b=127k for some integer k. +% The proof is left to reader. So U = floor(7227 k /2) for some k. +% +% Let's now find the largest such U <= T. So U = floor(k 7227/2)<= T which is +% equivalent (as k is integer) to k 7227/2 <= T + 1/2, i.e. +% +% kmax = floor((2T+1)/7227) +% +% If we used for x>0 the formula floor(x)=round(x-1/2)=<x-1/2> we would end +% up basically with some 4T hence overflow problems even in \numexpr. +% Here I used <.> to denote rounding in the sense of \numexpr. It is not +% 1-periodical due to how negative inputs are handled, but here x-1/2>-1/2. +% +% The following lemma holds: let T be a non-negative integer then +% +% floor((2T+1)/7227) = <(2T - 3612)/7227> +% +% So we can compute this k, hence get a=50k, b=127k, all within \numexpr and +% avoiding overflow. +% +% Implementation +% ============== % +% Regarding the output in pt or sp, we seem to need floor(k 7227/2). +% The computation of floor(k 7227/2) as <(7227 k - 1)/2> would require to +% check if k==0 so we do it rather as <(7227 k + 1)/2> - 1. No overflow +% can arise as k = 297147 for \maxdimen, and then 7227 k = 2**31 - 2279 and +% there is ample room for 7227k+1 using \numexpr. +% +% But this step, as well as initial step to get kmax will require to separate +% hangdling of negative input from positive one. +% +% Alternative +% ----------- +% +% For non-negative T we can compute U = ((T+1)/7227)*7227. If U <= T keep it, +% else if U > T, replace it by U - 3614. This is alternative road to the maximal +% floor(k 7227/2) at most equal to T. +% +% There is some slight under-efficiency to share macros across the 3 end targets +% as I added one layer of parentheses. +\def\texdimenbothincm#1{\expandafter\texdimenstrippt\the\dimexpr + \expandafter\texdimenboth_a\the\numexpr\dimexpr#1;127);}% +\def\texdimenbothcmin#1{\expandafter\texdimenstrippt\the\dimexpr + \expandafter\texdimenboth_a\the\numexpr\dimexpr#1;50);}% +\def\texdimenbothincmpt#1{\expandafter\texdimenstrippt\the\dimexpr + \expandafter\texdimenboth_a\the\numexpr\dimexpr#1;7227+1)/2-1;}% +\let\texdimenbothcminpt\texdimenbothincmpt +\def\texdimenboth_a#1{\if-#1\texdimenboth_neg\fi\texdimenboth_b#1}% +% The opening parenthesis ( is closed in #2, it was added to share "pt" output +% with the two others +\def\texdimenboth_b#1;#2;{\numexpr(((2*#1-3612)/7227)*#2sp\relax}% +% negative branch. This is expanded in a \dimexpr so we can insert the - +% in front of the \numexpr. +% #1 is \fi here and #2 is \texdimenboth_b +\def\texdimenboth_neg#1#2-#3;#4;{#1-\numexpr(((2*#3-3612)/7227)*#4sp\relax}% +% +% \texdimenbothincmsp is done separately as I found no easy way to share +% its macros with the others; alternative would have been to make it the +% core, and derive the others from it, (\texdimencm{\texdimenbothincmsp{...}sp}) +% but then they would be less efficient than their current versions. +% (it is a bit ironical to worry about not creating too many macros +% in such a small package, by the way) +\def\texdimenbothincmsp#1{\the\numexpr\expandafter\texdimenbothsp_a\the\numexpr\dimexpr#1;}% +\def\texdimenbothsp_a#1{\if-#1\texdimenbothsp_neg\fi\texdimenbothsp_b#1}% +\def\texdimenbothsp_b#1;{(((2*#1-3612)/7227)*7227+1)/2-1\relax}% +% #1 is \fi +% we need to regrab here or to add a \numexpr..\relax layer to +% \texdimenbothsp_b (parentheses could do but using 0-(...) syntax) +% finally doing the job of \texdimenbothsp_b directly +\def\texdimenbothsp_neg#1#2-#3;{#1-\numexpr(((2*#3-3612)/7227)*7227+1)/2-1\relax\relax}% +% +\let\texdimenbothcminsp\texdimenbothincmsp \texdimensendinput diff --git a/macros/generic/xstring/README b/macros/generic/xstring/README index 8234833cb9..ce2ea5d24e 100644 --- a/macros/generic/xstring/README +++ b/macros/generic/xstring/README @@ -1,8 +1,8 @@ _________________ xstring package - v 1.83 - 2019/02/06 + v 1.84 + 2021/07/21 _________________ This package provides macros manipulating strings for programming use. diff --git a/macros/generic/xstring/test_etex.pdf b/macros/generic/xstring/test_etex.pdf Binary files differindex 4d2b8134b2..17cb0ae3ac 100644 --- a/macros/generic/xstring/test_etex.pdf +++ b/macros/generic/xstring/test_etex.pdf diff --git a/macros/generic/xstring/test_latex.pdf b/macros/generic/xstring/test_latex.pdf Binary files differindex 2642a17751..8a1ee001e8 100644 --- a/macros/generic/xstring/test_latex.pdf +++ b/macros/generic/xstring/test_latex.pdf diff --git a/macros/generic/xstring/xstring-en.pdf b/macros/generic/xstring/xstring-en.pdf Binary files differindex d7581cd5e1..7a9da7b093 100644 --- a/macros/generic/xstring/xstring-en.pdf +++ b/macros/generic/xstring/xstring-en.pdf diff --git a/macros/generic/xstring/xstring-en.tex b/macros/generic/xstring/xstring-en.tex index 94c46f9d3f..61b6ad8078 100644 --- a/macros/generic/xstring/xstring-en.tex +++ b/macros/generic/xstring/xstring-en.tex @@ -178,7 +178,7 @@ In the following chapters, all the macros will be presented this plan: \textbf{Important}: in the following, a \argu{number} can be an integer written with numeric chars, a counter, or the result of an arithmetic operation made with the command \verbinline|\numexpr|.\smallskip -All the macros of \Xstring are displayed in {\makeatletter\color{@xs@keywordsxstring}red}. +All the macros of \Xstring are displayed in {\makeatletter\color{@xs@keywordsxstring}blue}. \subsection{The tests} \subsubsection{\ttfamily\textbackslash IfSubStr} diff --git a/macros/generic/xstring/xstring-fr.pdf b/macros/generic/xstring/xstring-fr.pdf Binary files differindex a1f72f8635..0550b0393d 100644 --- a/macros/generic/xstring/xstring-fr.pdf +++ b/macros/generic/xstring/xstring-fr.pdf diff --git a/macros/generic/xstring/xstring-fr.tex b/macros/generic/xstring/xstring-fr.tex index a339416149..0949306ec0 100644 --- a/macros/generic/xstring/xstring-fr.tex +++ b/macros/generic/xstring/xstring-fr.tex @@ -182,7 +182,7 @@ Dans ce chapitre, la totalité des macros est présentée selon ce plan :\par\no \textbf{Important} : dans les macros qui suivent, sauf cas spécifié, un \argu{nombre} est un nombre entier, un compteur, ou le résultat d'une opération arithmétique effectuée à l'aide de la primitive \verb|\numexpr|.\smallskip -Dans le reste du texte, les macros de \Xstring sont affichées en {\makeatletter\color{@xs@keywordsxstring}rouge}. +Dans le reste du texte, les macros de \Xstring sont affichées en {\makeatletter\color{@xs@keywordsxstring}bleu}. \subsection{Les tests} \subsubsection{\ttfamily\textbackslash IfSubStr} diff --git a/macros/generic/xstring/xstring.tex b/macros/generic/xstring/xstring.tex index 654fe462ae..d5dcd6354f 100644 --- a/macros/generic/xstring/xstring.tex +++ b/macros/generic/xstring/xstring.tex @@ -1,12 +1,12 @@ -% !TeX encoding = ISO-8859-1 +% !TeX encoding = UTF-8 % Ce fichier contient le code de l'extension "xstring" % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % \def\xstringname {xstring} % -\def\xstringversion {1.83} % +\def\xstringversion {1.84} % % % -\def\xstringdate {2019/02/06} % +\def\xstringdate {2021/07/21} % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % @@ -32,7 +32,7 @@ \immediate\write-1 {Package: xstring \xstringdate\space v\xstringversion\space String manipulations (CT)}% \fi \newcount\integerpart -\newcount\decimalpart% compteurs utilisés par xstring +\newcount\decimalpart% compteurs utilisés par xstring \edef\restorexstringcatcode{\catcode\number`\_ =\number\catcode`\_\relax} \catcode`\_=11 @@ -76,14 +76,14 @@ \xs_read_verb } -\def\setverbdelim#1{% définit quel est le délimiteur de verb +\def\setverbdelim#1{% définit quel est le délimiteur de verb \xs_exparg\xs_ifempty{\xs_gobarg#1}% {} {\errmessage{Package xstring Warning: verb delimiter "\detokenize{#1}" is not a single token}}% - \def\xs_read_verb##1#1##2#1{\endgroup\xs_assign_verb{##2}}% on appelle l'exécution de fin + \def\xs_read_verb##1#1##2#1{\endgroup\xs_assign_verb{##2}}% on appelle l'exécution de fin } -% Assigne l'argument entre délimiteur verb dans la sc #1 +% Assigne l'argument entre délimiteur verb dans la sc #1 \def\verbtocs#1{% \def\xs_assign_verb##1{\def#1{##1}}% \xs_toks_toverb @@ -99,7 +99,7 @@ \def\tokenize#1#2{% \begingroup - \xs_def\xs_reserved_A{#2}% on développe en accord avec \fullexpandarg ou \noexpandarg + \xs_def\xs_reserved_A{#2}% on développe en accord avec \fullexpandarg ou \noexpandarg \everyeof\expandafter{\xs_twozeroschars#1}% \endlinechar-1 \expandafter\xs_assigntokenizeresult\scantokens\expandafter{\expandafter\relax\xs_reserved_A}% on fait l'assignation @@ -111,18 +111,18 @@ \def\xs_ledef{\long\edef} \def\normalexpandarg{% - \let\xs_def\xs_ldef% on définit \xs_call avec \def + \let\xs_def\xs_ldef% on définit \xs_call avec \def \def\xs_expand##1{\unexpanded\expandafter{##1}}% } \let\noexpandarg\normalexpandarg% synonyme \def\expandarg{% - \let\xs_def\xs_ldef% on définit \xs_call avec \def + \let\xs_def\xs_ldef% on définit \xs_call avec \def \def\xs_expand##1{\unexpanded\expandafter\expandafter\expandafter{##1}}% } \def\fullexpandarg{% - \let\xs_def\xs_ledef% on définit\xs_call avec \edef + \let\xs_def\xs_ledef% on définit\xs_call avec \edef \def\xs_expand##1{##1}% et on neutralise \xs_expand } @@ -144,7 +144,7 @@ \endcsname } -% Cette macro interne prend la 1ere unité syntaxique de #1 et assigne le résultat à #2 +% Cette macro interne prend la 1ere unité syntaxique de #1 et assigne le résultat à #2 \long\def\xs_returnfirstsyntaxunit#1#2{% \let\xs_toks\relax \xs_ifempty{#1} @@ -179,18 +179,18 @@ }% } -% Cette macro interne est utilisée dans les macros étoilées pour : -% 1) développer l'argument selon qu'on a choisit \fullexpandarg -% ou \normalexpandarg, et ceci à l'aide de la macro \xs_def -% 2) Ensuite, on détokenize ce développement de façon n'avoir plus que +% Cette macro interne est utilisée dans les macros étoilées pour : +% 1) développer l'argument selon qu'on a choisit \fullexpandarg +% ou \normalexpandarg, et ceci à l'aide de la macro \xs_def +% 2) Ensuite, on détokenize ce développement de façon n'avoir plus que % des catcodes de 10 pour les espaces et 12 pour le reste. \long\def\xs_expand_and_detokenize#1#2{% \long\def#1{#2}% - \expandafter\edef\expandafter#1\expandafter{\xs_expand#1}% on développe #2 selon le mode de développement - \long\edef#1{\detokenize\expandafter{#1}}% puis on détokenize et on assigne à #1 + \expandafter\edef\expandafter#1\expandafter{\xs_expand#1}% on développe #2 selon le mode de développement + \long\edef#1{\detokenize\expandafter{#1}}% puis on détokenize et on assigne à #1 } -\long\def\xs_expand_and_assign#1#2{\xs_def#1{#2}}% on développe #2 selon \fullexpandarg ou \normalexpandarg +\long\def\xs_expand_and_assign#1#2{\xs_def#1{#2}}% on développe #2 selon \fullexpandarg ou \normalexpandarg \def\xs_arglist{0########1########2########3########4########5########6########7########8########9} @@ -205,7 +205,7 @@ \def\xs_assign_one_arg#1{\xs_exparg\xs_assign_one_arg_i{\number\numexpr#1-1}{#1}} \def\xs_assign_one_arg_i#1#2{\def\xs_assign_one_arg_ii##1#1##2#2##3\_nil{\def\xs_myarg{##2#2}}\expandafter\xs_assign_one_arg_ii\xs_arglist\_nil} -% #1 : numéro du 1er argument; #2 : nombre de lignes; #3 argument optionnel; #4 : dernier numéro de l'argument devant être détokenisé si étoile +% #1 : numéro du 1er argument; #2 : nombre de lignes; #3 argument optionnel; #4 : dernier numéro de l'argument devant être détokenisé si étoile \def\xs_buildlines#1#2#3#4{% \let\xs_newlines\empty \let\xs_newargs\empty @@ -218,7 +218,7 @@ \edef\xs_reserved_B{\ifnum##1>#4 xs_def\else xs_assign\fi}% }% et s'il y a un argument optionnel alors, on met des crochets {\xs_eaddtomacro\xs_newargs{\expandafter[\xs_reserved_B]}% - \def\xs_reserved_B{xs_def}% ne pas détokéniser l'argument optionnel grace au \xs_def + \def\xs_reserved_B{xs_def}% ne pas détokéniser l'argument optionnel grace au \xs_def }% } {\xs_eaddtomacro\xs_newargs{\expandafter{\xs_reserved_B}}% @@ -238,7 +238,7 @@ {\let\xs_reserved_D\relax\xs_newmacro_0}% } -% #1 : dernier numéro de l'argument devant être détokenisé +% #1 : dernier numéro de l'argument devant être détokenisé % #2 : nom de la macro publique % #3 : argument optionnel (vide si pas d'arg optionnel) % #4 : nombre d'arguments obligatoires @@ -263,7 +263,7 @@ \noexpand\xs_testopt{\expandafter\noexpand\csname\xs_reserved_A __\endcsname}{\ifx\xs_def\xs_ledef#3\else\unexpanded{#3}\fi}}% \fi }% - % Que fait \xs_reserved_B ? Il définit : + % Que fait \xs_reserved_B ? Il définit : % si #3 est vide : \NOM{\xs_ifstar{\let\xs_assign\xs_expand_and_detokenize\xs_NOM__}{\let\xs_assign\xs_expand_and_assign\xs_NOM__}} % si #3 existe : \NOM{\xs_ifstar{\let\xs_assign\xs_expand_and_detokenize\xs_NOM_}{\let\xs_assign\xs_expand_and_assign\xs_NOM_}} % \xs_NOM_{\xs_testopt{\xs_NOM__}{#3}}} @@ -281,7 +281,7 @@ \ifnum#5=1 \edef\xs_reserved_D{\noexpand\noexpand\noexpand\xs_testopt{\unexpanded\expandafter{\xs_reserved_D}}{}}\fi \xs_edefaddtomacro\xs_reserved_C{{\unexpanded\expandafter{\xs_reserved_D}}\noexpand\xs_call}% \xs_edefaddtomacro\xs_reserved_B{{\unexpanded\expandafter{\xs_reserved_C}}}% - % Que fait \xs_reserved_B ? Il définit par exemple pour 3 arguments obligatoires et 1 facultatif : + % Que fait \xs_reserved_B ? Il définit par exemple pour 3 arguments obligatoires et 1 facultatif : % \def\xs_NOM__[##2]##3##4##5{% % \xs_def\xs_arg_i{##2}\xs_assign\xs_arg_ii{##3}\xs_assign\xs_arg_iii{##4}\xs_asign\xs_arg_iv{##5}% % si #5=0: \edef\xs_call{\noexpand\xs_NOM[\xs_expand\xs_arg_i]{\xs_expand\xs_arg_ii}{\xs_expand\xs_arg_iii}{\xs_expand\xs_arg_iv}}% @@ -292,15 +292,15 @@ \def\expandafter\noexpand\csname\xs_reserved_A\endcsname \xs_myarg\ifnum#5=1 [\unexpanded{##}\number\numexpr\ifx\empty#3\empty#4+1\else#4+2\fi]\fi }% - % Que fait \xs_reserved_B ? Il définit par exemple pour 3 arguments obligatoires et 1 facultatif : + % Que fait \xs_reserved_B ? Il définit par exemple pour 3 arguments obligatoires et 1 facultatif : % \def \xs_NOM[##2]##3##4##5[##6]{#6} \long\xs_reserved_B } -% macro générique qui lit \xs_reserved_C us par us -% 3 sous-routines sont appelées à des moments clé : -% \xs_atendofgroup (un groupe se finit, appel récursif) -% \xs_atbegingroup (un groupe vient d'être ouvert) +% macro générique qui lit \xs_reserved_C us par us +% 3 sous-routines sont appelées à des moments clé : +% \xs_atendofgroup (un groupe se finit, appel récursif) +% \xs_atbegingroup (un groupe vient d'être ouvert) % \xs_atnextsyntaxunit (la future US n'est pas un groupe) \def\xs_read_reserved_C{% \xs_exparg\xs_ifempty{\xs_reserved_C}% @@ -329,9 +329,9 @@ }% } -% macro générique qui lit \xs_reserved_D en procédant à des tests avec \IfBeginWith -% 1 sous-routine est appelée : -% \xs_atoccurfound (une occurrence a été trouvée) +% macro générique qui lit \xs_reserved_D en procédant à des tests avec \IfBeginWith +% 1 sous-routine est appelée : +% \xs_atoccurfound (une occurrence a été trouvée) \def\xs_read_reserved_D{% \xs_exparg\xs_ifempty{\xs_reserved_D}% {\xs_ifnum{\xs_nestlevel=0 } @@ -403,11 +403,11 @@ }% } -% \xs_cutafteroccur coupe l'argument #1 après la #3ème occurrence de #2 +% \xs_cutafteroccur coupe l'argument #1 après la #3ème occurrence de #2 % \xs_reserved_C : contient ce qui se trouve avant cette occurrence % \xs_reserved_D : contient ce qui se trouve avant cette occurrence y compris cette occurrence -% \xs_reserved_E : contient ce qui se trouve après l'occurrence -% si l'occurrence n'existe pas ou qu'un des arguments est vide, toutes les chaines renvoyées sont vides +% \xs_reserved_E : contient ce qui se trouve après l'occurrence +% si l'occurrence n'existe pas ou qu'un des arguments est vide, toutes les chaines renvoyées sont vides \long\def\xs_cutafteroccur#1#2#3{% \xs_ifnum{#3<1 } {\let\xs_reserved_C\empty\let\xs_reserved_E\empty\gdef\groupID{}} @@ -425,13 +425,13 @@ \noexpand\decimalpart=\number\decimalpart\relax }% \expandafter\xs_exitallgroups\__temp - \xs_gobarg% mange l'appel récursif \xs_read_reserved_D dans \xs_read_reserved_D + \xs_gobarg% mange l'appel récursif \xs_read_reserved_D dans \xs_read_reserved_D } {\xs_eaddtomacro\xs_reserved_C{\xs_reserved_E}% }% }% \xs_read_reserved_D - \xs_ifnum{\decimalpart=\numexpr(#3)\relax}% occurrence trouvée ? + \xs_ifnum{\decimalpart=\numexpr(#3)\relax}% occurrence trouvée ? {\let\xs_reserved_E\xs_reserved_D \xs_exparg{\def\xs_reserved_D}{\xs_reserved_C#2}% } @@ -454,16 +454,16 @@ \long\def\xs_IfBeginWith_i#1#2{% \xs_ifempty{#2}% - {\xs_execfirst% #2 est vide, tous les tests sont passés avec succès : on renvoie #3 + {\xs_execfirst% #2 est vide, tous les tests sont passés avec succès : on renvoie #3 } {\xs_ifempty{#1}% {\xs_execsecond% #1 est vide, c'est que #2 est + long que #1 : on renvoie #4 } {\xs_returnfirstsyntaxunit{#2}\xs_reserved_B \xs_returnfirstsyntaxunit{#1}\xs_reserved_A - \xs_ifx{\xs_reserved_A\xs_reserved_B}% il y a égalité... + \xs_ifx{\xs_reserved_A\xs_reserved_B}% il y a égalité... {\xs_removefirstsyntaxunit{#2}\xs_reserved_B - \xs_removefirstsyntaxunit{#1}\xs_reserved_A% on enlève les 1ere unités syntaxiques + \xs_removefirstsyntaxunit{#1}\xs_reserved_A% on enlève les 1ere unités syntaxiques \xs_exptwoargs\xs_IfBeginWith_i\xs_reserved_A\xs_reserved_B } {\xs_execsecond @@ -538,7 +538,7 @@ \expandafter\xs_testdot\afterinteger\_nil \xs_ifx{\empty\afterdecimal} {\xs_ifnum{\decimalpart=0 } - {\xs_execfirst% partie décimale constituée de 0 --> seul cas où on renvoie vrai + {\xs_execfirst% partie décimale constituée de 0 --> seul cas où on renvoie vrai } {\expandafter\xs_defafterinteger\xs_after_intpart\relax\_nil \xs_execsecond @@ -583,36 +583,36 @@ \expandafter\xs_defafterdecimal\afterinteger\_nil } -% test d'égalité sur des chaines (et des chaines contenant des nombres) +% test d'égalité sur des chaines (et des chaines contenant des nombres) \long\def\xs_IfStrEqFalse_i#1#2{\let\xs_reserved_A\xs_execsecond} -\long\def\xs_IfStrEqFalse_ii#1#2{% renvoie vrai si les 2 arg sont décimaux et s'ils sont égaux, faux sinon +\long\def\xs_IfStrEqFalse_ii#1#2{% renvoie vrai si les 2 arg sont décimaux et s'ils sont égaux, faux sinon \xs_IfDecimal{#1}% {\xs_IfDecimal{#2}% {\ifdim#1pt=#2pt \let\xs_reserved_A\xs_execfirst \else \let\xs_reserved_A\xs_execsecond - \fi% les 2 sont décimaux : on fait le test + \fi% les 2 sont décimaux : on fait le test }% - {\let\xs_reserved_A\xs_execsecond}% un seul est décimal + {\let\xs_reserved_A\xs_execsecond}% un seul est décimal }% - {\let\xs_reserved_A\xs_execsecond}% #1 n'est pas décimal + {\let\xs_reserved_A\xs_execsecond}% #1 n'est pas décimal } -\long\def\xs_TestEqual#1#2{% teste si les 2 arguments sont égaux +\long\def\xs_TestEqual#1#2{% teste si les 2 arguments sont égaux \def\xs_reserved_A{#1}\def\xs_reserved_B{#2}% \xs_ifx{\xs_reserved_A\xs_reserved_B} - {\let\xs_reserved_A\xs_execfirst}% égalité parfaite des 2 chaines + {\let\xs_reserved_A\xs_execfirst}% égalité parfaite des 2 chaines {\xs_reserved_D{#1}{#2}}% \xs_reserved_A } -\xs_newmacro*2\IfStrEq{}{2}{0}{% teste si les deux chaines sont égales +\xs_newmacro*2\IfStrEq{}{2}{0}{% teste si les deux chaines sont égales \let\xs_reserved_D\xs_IfStrEqFalse_i \xs_TestEqual{#1}{#2}% } -\xs_newmacro*2\IfEq{}{2}{0}{% teste si les 2 arguments (chaine ou nombre) sont égaux +\xs_newmacro*2\IfEq{}{2}{0}{% teste si les 2 arguments (chaine ou nombre) sont égaux \let\xs_reserved_D\xs_IfStrEqFalse_ii \xs_TestEqual{#1}{#2}% } @@ -629,12 +629,12 @@ {\xs_IfStringCase\IfEq}% } -\long\def\xs_IfStringCase#1#2#3{% #1=macro avec ou sans étoile #2=argument à tester #3=liste des {<cas>}{code>} - \long\def\xs_testcase##1##2##3\_nil{% lit les 2 premieres unités syntaxiques dans ##1 et ##2. Les autres dans ##3 +\long\def\xs_IfStringCase#1#2#3{% #1=macro avec ou sans étoile #2=argument à tester #3=liste des {<cas>}{code>} + \long\def\xs_testcase##1##2##3\_nil{% lit les 2 premieres unités syntaxiques dans ##1 et ##2. Les autres dans ##3 #1{#2}{##1}% compare - {\xs_testopt{\xs_IfStringCase_ii{##2}}{}}% le test est positif, on exécute le code correspondant et on mange l'argument optionnel ## BUGfix dans 1.82 + {\xs_testopt{\xs_IfStringCase_ii{##2}}{}}% le test est positif, on exécute le code correspondant et on mange l'argument optionnel ## BUGfix dans 1.82 {\xs_ifempty{##3}% - {\xs_testopt{\xs_IfStringCase_i}{}}% s'il n'y a plus de cas, on exécute le code <autres cas> ## BUGfix dans 1.82 + {\xs_testopt{\xs_IfStringCase_i}{}}% s'il n'y a plus de cas, on exécute le code <autres cas> ## BUGfix dans 1.82 {\xs_testcase##3\_nil}% sinon, on recommence avec ce qui reste }% }% @@ -644,19 +644,19 @@ \long\def\xs_IfStringCase_i[#1]{#1} \long\def\xs_IfStringCase_ii#1[#2]{#1} -% Renvoie ce qui est à gauche de l'occurence n°#1 de la sous chaine #3 dans la chaine #2 +% Renvoie ce qui est à gauche de l'occurence n°#1 de la sous chaine #3 dans la chaine #2 \xs_newmacro*3\StrBefore{1}{2}{1}{% \xs_cutafteroccur{#2}{#3}{#1}% \xs_exparg\xs_assign_xstringresult{\xs_reserved_C}{#4}% } -% Renvoie ce qui est à droite de l'occurence n°#1 de la sous chaine #3 dans la chaine #2 +% Renvoie ce qui est à droite de l'occurence n°#1 de la sous chaine #3 dans la chaine #2 \xs_newmacro*3\StrBehind{1}{2}{1}{% \xs_cutafteroccur{#2}{#3}{#1}% \xs_exparg\xs_assign_xstringresult{\xs_reserved_E}{#4}% } -% Renvoie ce qui est strictement compris entre les occurrences n°#1 et n°#2 +% Renvoie ce qui est strictement compris entre les occurrences n°#1 et n°#2 % des chaines #4 et #5 dans la chaine #3 \xs_newmacro*4\StrBetween{1,1}{3}{1}{\xs_StrBetween_i[#1]{#2}{#3}{#4}[#5]} \long\def\xs_StrBetween_i[#1,#2]#3#4#5[#6]{% @@ -675,7 +675,7 @@ \def\saveexploremode{\let\xs_saveexploremode\xs_exploregroups} \def\restoreexploremode{\let\xs_exploregroups\xs_saveexploremode} -% Remplace les #1 premières occurences de la chaine #3 +% Remplace les #1 premières occurences de la chaine #3 % par la chaine #4 dans la chaine #2 \xs_newmacro\StrSubstitute{0}{3}{1}{% \def\xs_reserved_D{#2}\let\xs_reserved_C\empty\def\xs_reserved_E{#3}% @@ -697,12 +697,12 @@ }% } -% Supprime les #1 premières occurrences de #3 dans #2 +% Supprime les #1 premières occurrences de #3 dans #2 \xs_newmacro\StrDel{0}{2}{1}{\xs_StrSubstitute[#1]{#2}{#3}{}[#4]} \def\xs_exitallgroups{\ifnum\xs_nestlevel>0 \endgroup\expandafter\xs_exitallgroups\fi} -% Compte combien d'unités syntaxiques contient la chaine #1 ? +% Compte combien d'unités syntaxiques contient la chaine #1 ? \xs_newmacro\StrLen{}{1}{1}{% \def\xs_reserved_C{#1}\decimalpart0 \def\xs_nestlevel{0}\gdef\groupID{0}% \let\xs_atbegingroup\relax @@ -712,11 +712,11 @@ \xs_exparg\xs_assign_xstringresult{\number\decimalpart}{#2}% } -% Macro interne fermant autant de groupes que nécessaire pour trouver une unité syntaxique derrière +% Macro interne fermant autant de groupes que nécessaire pour trouver une unité syntaxique derrière \def\xs_continuetonext{% \xs_exparg\xs_ifempty{\xs_reserved_C}% {\ifnum\xs_nestlevel>0 - \xs_endgroup_eaddtomacro\xs_reserved_B{\expandafter{\xs_reserved_B}}% on concatène + \xs_endgroup_eaddtomacro\xs_reserved_B{\expandafter{\xs_reserved_B}}% on concatène \expandafter\xs_continuetonext% on recommence \fi} {}% @@ -729,7 +729,7 @@ {\endgroup\xs_eearg{\gdef\groupID}{\expandafter\groupID\expandafter,\number\integerpart}}% } -% Cette macro coupe la chaine #1 après l'unité syntaxique n°#2 +% Cette macro coupe la chaine #1 après l'unité syntaxique n°#2 \def\StrSplit{% \xs_ifstar {\let\xs_reserved_E\xs_continuetonext\StrSplit_i}% @@ -738,8 +738,8 @@ \xs_newmacro\StrSplit_i{}{2}{0}{\xs_StrSplit_ii{#2}{#1}\xs_StrSplit_iii} -% Cette macro interne coupe la chaine #2 après l'unité syntaxique n°#1 -% Le début est assigné dans \xs_reserved_B et la fin dans \xs_reserved_C +% Cette macro interne coupe la chaine #2 après l'unité syntaxique n°#1 +% Le début est assigné dans \xs_reserved_B et la fin dans \xs_reserved_C \long\def\xs_StrSplit_ii#1#2{% \let\xs_reserved_B\empty\def\xs_reserved_C{#2}\def\xs_reserved_D{#1}\gdef\groupID{}% \ifnum#1>0 @@ -759,7 +759,7 @@ {\ifx\xs_reserved_C\empty\xs_reserved_E\fi \edef\__temp{\def\noexpand\xs_reserved_B{\unexpanded\expandafter{\xs_reserved_B}}\def\noexpand\xs_reserved_C{\unexpanded\expandafter{\xs_reserved_C}}}% \expandafter\xs_exitallgroups\__temp - \xs_gobarg% mange l'appel récursif \xs_read_reserved_C dans \xs_read_reserved_C + \xs_gobarg% mange l'appel récursif \xs_read_reserved_C dans \xs_read_reserved_C } {}% }% @@ -770,8 +770,8 @@ \def\xs_StrSplit_iii#1#2{\let#1\xs_reserved_B\let#2\xs_reserved_C} % StrCut[n]{<texte>}{<motif>}\macroA\macroB -% \macroA reçoit ce qui se trouve avant la n ème occurrence <motif> dans <texte> -% \macroB reçoit ce qui est après cette n ème occurrence +% \macroA reçoit ce qui se trouve avant la n ème occurrence <motif> dans <texte> +% \macroB reçoit ce qui est après cette n ème occurrence \xs_newmacro*3\StrCut{1}{2}{0}{% \xs_ifempty{#3}% {\gdef\groupID{}\let\xs_reserved_C\empty\let\xs_reserved_E\empty @@ -794,7 +794,7 @@ \noexpand\decimalpart=\number\decimalpart\relax }% \expandafter\xs_exitallgroups\__temp - \xs_gobarg% stoppe la récursivité dans \xs_read_reserved_D + \xs_gobarg% stoppe la récursivité dans \xs_read_reserved_D } {\xs_eaddtomacro\xs_reserved_C{\xs_reserved_E}% }% @@ -807,7 +807,7 @@ \long\def\xs_StrCut_iii#1#2{\let#1\xs_reserved_C\let#2\xs_reserved_E} % De la chaine #1, renvoie ce qui se trouve entre les positions -% #2 et #3, unités syntaxiques aux positions compris ! +% #2 et #3, unités syntaxiques aux positions compris ! \xs_newmacro\StrMid{}{3}{1}{% \begingroup \noexploregroups @@ -821,21 +821,21 @@ \gdef\groupID{}% } -% supprime #2 unités syntaxiques à gauche dans la chaine #1 +% supprime #2 unités syntaxiques à gauche dans la chaine #1 \xs_newmacro\StrGobbleLeft{}{2}{1}{% \let\xs_reserved_E\relax \xs_StrSplit_ii{#2}{#1}% \xs_exparg\xs_assign_xstringresult{\xs_reserved_C}{#3}% } -% extrait de #1 la chaine à gauche de longueur #2 +% extrait de #1 la chaine à gauche de longueur #2 \xs_newmacro\StrLeft{}{2}{1}{% \let\xs_reserved_E\relax \xs_StrSplit_ii{#2}{#1}% \xs_exparg\xs_assign_xstringresult{\xs_reserved_B}{#3}% } -% supprime #2 unités syntaxiques à droite dans la chaine #1 +% supprime #2 unités syntaxiques à droite dans la chaine #1 \xs_newmacro\StrGobbleRight{}{2}{1}{% \xs_StrLen{#1}[\xs_reserved_D]% \let\xs_reserved_E\relax @@ -843,7 +843,7 @@ \xs_exparg\xs_assign_xstringresult{\xs_reserved_B}{#3}% } -% renvoie #2 unités syntaxiques à la droite de la chaine #1 +% renvoie #2 unités syntaxiques à la droite de la chaine #1 \xs_newmacro\StrRight{}{2}{1}{% \xs_StrLen{#1}[\xs_reserved_D]% \let\xs_reserved_E\relax @@ -858,10 +858,10 @@ \let\xs_atbegingroup\relax \def\xs_atendofgroup{\expandafter\endgroup\expandafter\decimalpart\number\decimalpart\relax}% \def\xs_atnextsyntaxunit{% - \ifnum\decimalpart=\xs_reserved_D% la n ième US est atteinte ? - \edef\__temp{\def\noexpand\xs_reserved_B{\unexpanded\expandafter{\xs_reserved_A}}}% on capture l'US en cours qui est celle cherchée + \ifnum\decimalpart=\xs_reserved_D% la n ième US est atteinte ? + \edef\__temp{\def\noexpand\xs_reserved_B{\unexpanded\expandafter{\xs_reserved_A}}}% on capture l'US en cours qui est celle cherchée \expandafter\xs_exitallgroups\__temp - \expandafter\xs_gobarg% stoppe la récursivité dans \xs_read_reserved_C + \expandafter\xs_gobarg% stoppe la récursivité dans \xs_read_reserved_C \fi }% \xs_read_reserved_C @@ -905,8 +905,8 @@ \def\restorecomparemode{\let\xs_comparecoeff\xs_saved_comparecoeff} % Compare les deux arguments #1 et #2 -% Renvoie 0 s'ils sont égaux et renvoie la -% position de la premiere unité syntaxiques différente sinon +% Renvoie 0 s'ils sont égaux et renvoie la +% position de la premiere unité syntaxiques différente sinon \xs_newmacro*2\StrCompare{}{2}{1}{% \def\xs_reserved_A{#1}% \def\xs_reserved_B{#2}% @@ -931,13 +931,13 @@ \xs_exparg\xs_returnfirstsyntaxunit{\xs_reserved_D}\xs_reserved_B \xs_ifx{\xs_reserved_B\xs_reserved_A} {\xs_exparg\xs_ifempty{\xs_reserved_A}% - {\xs_StrCompare_iii{##1}% les 2 unités syntaxiques sont égales, on renvoie la position + {\xs_StrCompare_iii{##1}% les 2 unités syntaxiques sont égales, on renvoie la position } - {\def\xs_next{\xs_exparg\xs_StrCompare_ii{\number\numexpr##1+1}}% les 2 unités syntaxiques sont égales et non vides, on recommence + {\def\xs_next{\xs_exparg\xs_StrCompare_ii{\number\numexpr##1+1}}% les 2 unités syntaxiques sont égales et non vides, on recommence \xs_exparg\xs_removefirstsyntaxunit{\xs_reserved_C}\xs_reserved_C \xs_exparg\xs_removefirstsyntaxunit{\xs_reserved_D}\xs_reserved_D }% - }% les 2 unités syntaxiques sont différentes : on renvoie la position + }% les 2 unités syntaxiques sont différentes : on renvoie la position {\xs_StrCompare_iii{##1}% }% \xs_next @@ -959,10 +959,10 @@ {\xs_assign_xstringresult{}{#3}% s'il ne reste plus rien, on renvoie vide } {\xs_exparg\xs_returnfirstsyntaxunit{\xs_reserved_C}\xs_reserved_D - \xs_ifx{\bgroup\xs_toks}% si la 1ère unité syntaxique est un groupe explicite + \xs_ifx{\bgroup\xs_toks}% si la 1ère unité syntaxique est un groupe explicite {\advance\decimalpart1 % on augmente le compteur - \xs_ifnum{\decimalpart=\xs_reserved_A\relax}% on est au groupe cherché lors de la profondeur courante ? - {\xs_ifx{\empty\xs_reserved_B}% on est à la profondeur maximale ? + \xs_ifnum{\decimalpart=\xs_reserved_A\relax}% on est au groupe cherché lors de la profondeur courante ? + {\xs_ifx{\empty\xs_reserved_B}% on est à la profondeur maximale ? {\xs_exparg\xs_assign_xstringresult{\xs_reserved_D}{#3}}% on renvoie ce groupe {\xs_exparg{\expandafter\xs_StrFindGroup_i\xs_reserved_D}{\xs_reserved_B}[#3]}% on recommence avec ce groupe et les profondeurs de recherche restantes } @@ -1003,7 +1003,7 @@ \def\xs_atbegingroup{\let\xs_reserved_B\empty}% \def\xs_atnextsyntaxunit{\xs_eeaddtomacro\xs_reserved_B{\xs_reserved_A}}% \def\xs_reserved_C{#2}% - \xs_StrExpand_i{#1}% Appel de la macro récursive + \xs_StrExpand_i{#1}% Appel de la macro récursive } {\def\xs_reserved_B{#2}% } @@ -1043,185 +1043,188 @@ H I S T O R I Q U E ------------------------------------------------------------------------------ -v1.0 4/7/2008 : - Package achevé. - 7/7/2008 : - Package publié sur CTAN. +v1.0 4/7/2008 : - Package achevé. + 7/7/2008 : - Package publié sur CTAN. ------------------------------------------------------------------------------ v1.1 15/8/2008 - - Le package ne nécessite plus LaTeX et est désormais utilisable sous + - Le package ne nécessite plus LaTeX et est désormais utilisable sous Plain eTeX. - Ajout des macros \IfInteger et \IfDecimal. - Pour cette dernière, la partie entière et la partie décimale sont - récupérables dans les compteurs \integerpart et \decimalpart. Ce - qu'il reste après qu'un caractère non attendu soit rencontré est + Pour cette dernière, la partie entière et la partie décimale sont + récupérables dans les compteurs \integerpart et \decimalpart. Ce + qu'il reste après qu'un caractère non attendu soit rencontré est dispo dans \xs_remainafterdecimal - Correction d'un bug dans \tokenize : - suppression de l'expansion avec \normalexpandarg pour éviter le bug - avec les lettres accentuées dans l'exemple : \tokenize\aa{éù} - - Amélioration du code de la plupart des macros. - - écriture d'une routine \xs_newmacro définissant les macros. - - Suppression de tous les compteurs grace à \numexpr. - - Nouvelles fonctionnalités internes dans : + suppression de l'expansion avec \normalexpandarg pour éviter le bug + avec les lettres accentuées dans l'exemple : \tokenize\aa{éù} + - Amélioration du code de la plupart des macros. + - écriture d'une routine \xs_newmacro définissant les macros. + - Suppression de tous les compteurs grace à \numexpr. + - Nouvelles fonctionnalités internes dans : \IfSubStr - ajout des chaines se trouvant avant et après l'occurrence testée + ajout des chaines se trouvant avant et après l'occurrence testée dans les sc \xs_behind_IfSubStr et \xs_before_IfSubStr \StrCount - a) ajout de ce qui se trouve après la dernière occurrence dans la + a) ajout de ce qui se trouve après la dernière occurrence dans la sc \xs_StrCount_afterlastocccur - b) la macro ne dépend plus d'aucune autre + b) la macro ne dépend plus d'aucune autre ------------------------------------------------------------------------------ v1.2 23/8/2008 - - Amélioration du code de \StrMid \StrGobbleLeft, \StrLeft, - \StrGobbleRight et \StrRight à l'aide de la nouvelle macro + - Amélioration du code de \StrMid \StrGobbleLeft, \StrLeft, + \StrGobbleRight et \StrRight à l'aide de la nouvelle macro \xs_StrSplit_i - Nouveau test \IfStrEq qui compare 2 chaines - Nouveau test \IfEq qui compare 2 chaines (ou 2 nombres si les 2 chaines contiennent un nombre) - Correction d'un bug dans \xs_formatnumber. La macro n'envisageait pas le - cas où son argument était vide ce qui faiasait planter + cas où son argument était vide ce qui faiasait planter \IfDecimal{}{V}{F} et \IfInteger{}{V}{F} ------------------------------------------------------------------------------ v1.3 21/9/2008 - - Amélioration du code, mise en place de récursivités terminales dans - toutes les macros récursives, simplification de \xs_TestEqual en + - Amélioration du code, mise en place de récursivités terminales dans + toutes les macros récursives, simplification de \xs_TestEqual en utilisant \ifx - Nouvelles macros \IfStrEqCase et \IfEqCase - Teste si une chaîne est égale à plusieurs chaines données et - exécute un code spécifique - - Création de la macro publique \StrSplit - Coupe la chaine en 2 à une position donnée + Teste si une chaîne est égale à plusieurs chaines données et + exécute un code spécifique + - Création de la macro publique \StrSplit + Coupe la chaine en 2 à une position donnée - Nouvelle macro \StrCompare - Compare 2 chaînes et renvoie la position du 1er caractère différent. - Renvoie 0 si elles sont égales. + Compare 2 chaînes et renvoie la position du 1er caractère différent. + Renvoie 0 si elles sont égales. ------------------------------------------------------------------------------ v1.3a 29/9/2008 - Correction d'un bug : \expandafter#1 dans les macros \IfSubStrBefore et \StrBetween qui buggue si #1 est un nombre > 9 ! - - Ré écriture de \xs_returnfirstsyntaxunit et \xs_gobarg qui - deviennent purement développables. - - Ré écriture de \StrLen + - Ré écriture de \xs_returnfirstsyntaxunit et \xs_gobarg qui + deviennent purement développables. + - Ré écriture de \StrLen - Nouvelle macro interne \xs_cutafteroccur - Coupe la chaine après la nième occurrence d'une sous chaine. - - Code amélioré de \StrMid, \StrLeft, \StrGobbleLeft, \StrRight, - \StrGobbleRight grace à \xs_cutafteroccur + Coupe la chaine après la nième occurrence d'une sous chaine. + - Code amélioré de \StrMid, \StrLeft, \StrGobbleLeft, \StrRight, + \StrGobbleRight grace à \xs_cutafteroccur ------------------------------------------------------------------------------ v1.4 4/11/2008 - - xstring traite ses arguments par unité syntaxique, et donc toutes les - macros internes ont été ré-écrites à cette fin. - - Le manuel a été ré-écrit, rendu plus clair et mieux structuré. - - Nouvelle fonctionnalité : \expandarg - le 1er lexème de chaque argument est 1-développé avant que la - macro ne soit appelée. Si un argument comporte plus qu'1 lexème, - il faut passer par \scancs*[1] pour 1-développer toutes les unités + - xstring traite ses arguments par unité syntaxique, et donc toutes les + macros internes ont été ré-écrites à cette fin. + - Le manuel a été ré-écrit, rendu plus clair et mieux structuré. + - Nouvelle fonctionnalité : \expandarg + le 1er lexème de chaque argument est 1-développé avant que la + macro ne soit appelée. Si un argument comporte plus qu'1 lexème, + il faut passer par \scancs*[1] pour 1-développer toutes les unités syntaxiques. - Correction de 2 erreurs dans le manuel anglais : 0 est la valeur par - défaut dans \StrSubstitute et \StrDel - - Cohérence dans les nom des séquences de contrôles temporaires qui - sont désormais : \xs_reserved_A à \xs_reserved_E + défaut dans \StrSubstitute et \StrDel + - Cohérence dans les nom des séquences de contrôles temporaires qui + sont désormais : \xs_reserved_A à \xs_reserved_E ------------------------------------------------------------------------------ v1.4a 12/11/2008 - - Correction d'un bug dans \xs_StrSplit dans le cas où l'argument - numérique est <1 : la 1ere coupure doit être vide et le seconde doit - être égale à l'argument. + - Correction d'un bug dans \xs_StrSplit dans le cas où l'argument + numérique est <1 : la 1ere coupure doit être vide et le seconde doit + être égale à l'argument. ------------------------------------------------------------------------------ v1.4b 16/11/2008 - Correction de 2 bugs dans \xs_returnfirstsyntaxunit ------------------------------------------------------------------------------ v1.5 31/12/2008 - - Nouvelles fonctionnalités dans la recherche de groupes par un - identificateur caractérisant leur imbrication. Implémentation de : + - Nouvelles fonctionnalités dans la recherche de groupes par un + identificateur caractérisant leur imbrication. Implémentation de : 1) \StrFindGroup 2) \groupID - - Ajout des nouvelles macros génériques \xs_read_reserved_C et + - Ajout des nouvelles macros génériques \xs_read_reserved_C et \xs_read_reserved_D - Correction d'un bug dans \StrSplit : \StrSplit{{a}bc}{1}[\truc] faisait - que \truc contenait «a{a}». - - Correction d'un bug dans \xs_newmacro : l'argument optionnel était - détokénisé à tort dans les macros étoilées. - - Dans \xs_newmacro, on doit choisir le numéro du dernier argument devant - être détokénisé dans le cas d'une macro étoilée (sachant que + que \truc contenait «a{a}». + - Correction d'un bug dans \xs_newmacro : l'argument optionnel était + détokénisé à tort dans les macros étoilées. + - Dans \xs_newmacro, on doit choisir le numéro du dernier argument devant + être détokénisé dans le cas d'une macro étoilée (sachant que l'argument optionnel ne l'est jamais) ------------------------------------------------------------------------------ v1.5a 09/2/2009 - Nouvelle macro \StrExpand, sensible au mode d'exploration. La macro est - indépendante du mode d'exploration et dispose de ses propres commandes + indépendante du mode d'exploration et dispose de ses propres commandes d'exploration : \expandingroups et \noexpandingroups - - Ré-écriture de \scancs, qui devient triviale puisque dépendant de - \StrExpand. Il n'y a plus de version étoilée et désormais, \scancs + - Ré-écriture de \scancs, qui devient triviale puisque dépendant de + \StrExpand. Il n'y a plus de version étoilée et désormais, \scancs est sensible au mode d'exploration. - Correction d'un bug dans \IfInteger : \IfInteger{2.0}{V}{F} affichait F - Correction de bugs : mettre \let\xs_reserved_E\relax avant d'appeler \xs_StrSplit_i - Suppression des messages d'erreur, de warning et d'info. xstring devient donc silencieux ;) - - Passage de 3 à 2 compteurs - - Le manuel est désormais plus coloré, en espérant qu'il sera un peu - plus agréable à lire ! + - Passage de 3 à 2 compteurs + - Le manuel est désormais plus coloré, en espérant qu'il sera un peu + plus agréable à lire ! ------------------------------------------------------------------------------ v1.5b 13/3/2009 - Modification d'un grand nombre de macros de telle sorte que vraiment - n'importe quel code peut désormais être placé dans les arguments des - macros (comme par exemple des \if, \ifx ou autre, même sans leur \fi, ce - qui n'était pas possible jusqu'alors) + n'importe quel code peut désormais être placé dans les arguments des + macros (comme par exemple des \if, \ifx ou autre, même sans leur \fi, ce + qui n'était pas possible jusqu'alors) ------------------------------------------------------------------------------ v1.5c 05/6/2009 - Correction d'un bug dans \IfBeginWith : il faut appeler \xs_returnfirstsyntaxunit pour l'argument #2 puis pour l'argument #1 et - non pas l'inverse pour que \xs_toks reflète ce qui se trouve dans #1 - - Correction d'un bug dans \xs_returnfirstsyntaxunit au cas où #1 commence - par un espace : mettre \xs_toks à 0 + non pas l'inverse pour que \xs_toks reflète ce qui se trouve dans #1 + - Correction d'un bug dans \xs_returnfirstsyntaxunit au cas où #1 commence + par un espace : mettre \xs_toks à 0 - Correction d'un bug dans \xs_returnfirstsyntaxunit : \xs_returnfirstsyntaxunit{{}}\truc - faisait que \truc se développait en un espace. - - Correction d'un bug dans \xs_removefirstsyntaxunit où le cas + faisait que \truc se développait en un espace. + - Correction d'un bug dans \xs_removefirstsyntaxunit où le cas \xs_removefirstsyntaxunit{ {b}}\truc - donnait \truc se développant en «b» au lieu de «{b}». + donnait \truc se développant en «b» au lieu de «{b}». ------------------------------------------------------------------------------ v1.5d 28/3/2010 - Correction d'un bug dans \IfInteger : \afterinteger ne donnait pas le - bon résultat. Par exemple avec 1.23 il renvoyait {} au lieu de {.23} - - \xs_formatnumber ne detokenize plus ses arguments (que m'est-il passé - par la tête pour que je code un truc comme ca ?), et donc + bon résultat. Par exemple avec 1.23 il renvoyait {} au lieu de {.23} + - \xs_formatnumber ne detokenize plus ses arguments (que m'est-il passé + par la tête pour que je code un truc comme ca ?), et donc \afterinteger et \xs_afterdecimal ont des tokens ayant le bon catcode ------------------------------------------------------------------------------ v1.6 24/10/2012 - - Correction d'un bug dans \xs_cutafteroccur au cas où #3<1 + - Correction d'un bug dans \xs_cutafteroccur au cas où #3<1 - \IfDecimal ne \detokenize plus l'argument. - Nouvelle version de \tokenize qui enlevait les accolades si son argument - était entre accolades + était entre accolades - Nouvelle macro \StrCut - - \xs_cutafteroccur_i ne produit plus d'espace indésirable si #3 était - évalué par \numexpr + - \xs_cutafteroccur_i ne produit plus d'espace indésirable si #3 était + évalué par \numexpr ------------------------------------------------------------------------------ v1.7 13/1/2013 - Correction d'un manque de rigueur dans les assignations concernant - \groupID : elles sont toutes globales désormais + \groupID : elles sont toutes globales désormais - Les macros de xstring sont \long ------------------------------------------------------------------------------ v1.7a 28/2/2013 - Correction d'un espace parasite dans \xs_removefirstsyntaxunit ------------------------------------------------------------------------------ v1.7b 29/7/2013 - - La date contenue dans \xstringdate est désormais conforme + - La date contenue dans \xstringdate est désormais conforme ------------------------------------------------------------------------------ v1.7c 13/10/2013 - - les macros impliquées dans \IfStrCase et \IfStrEqCase sont désormais \long + - les macros impliquées dans \IfStrCase et \IfStrEqCase sont désormais \long ------------------------------------------------------------------------------ v1.8 07/12/2018 - - affectations globales supprimées (sauf pour \groupID) afin de ne pas + - affectations globales supprimées (sauf pour \groupID) afin de ne pas surcharger la pile de sauvegarde - nettoyage du code, corrections de lourdeurs et maladresses ------------------------------------------------------------------------------ v1.81 09/12/2018 - - bug dans \IfInteger et \IfDecimal, la macro \xs_afterdecimal est indéfinie - et doit être remplacée par \afterdecimal + - bug dans \IfInteger et \IfDecimal, la macro \xs_afterdecimal est indéfinie + et doit être remplacée par \afterdecimal ------------------------------------------------------------------------------ v1.82 01/02/2019 - \xs_testopt n'est pas longue et provoque un bug dans \xs_IfStrCase et \xs_IfStrCase lorsque #1 contient \par : \xs_testopt reste courte et - \xs_IfStringCase a été modifiée pour que cela fonctionne. + \xs_IfStringCase a été modifiée pour que cela fonctionne. ------------------------------------------------------------------------------ v1.83 06/02/2019 - - mauvaise approche et mauvais fix dans la v1.82 : \xs_testopt devient - longue, pas le choix (et donc aussi \xs_ifnxttok)
\ No newline at end of file + - mauvaise approche et mauvais fix dans la v1.82 : \xs_testopt devient + longue, pas le choix (et donc aussi \xs_ifnxttok) +------------------------------------------------------------------------------ +v1.84 21/07/2021 + - encodage du fichier xstring.tex en UTF-8 diff --git a/macros/latex/contrib/lipsum/CHANGELOG.md b/macros/latex/contrib/lipsum/CHANGELOG.md new file mode 100644 index 0000000000..a9010903f4 --- /dev/null +++ b/macros/latex/contrib/lipsum/CHANGELOG.md @@ -0,0 +1,39 @@ +# Changelog +All notable changes to the `lipsum` bundle since mid-2021 will be +documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +this project uses date-based 'snapshot' version identifiers. + +## [v2.4] + +### Fixed +- Removed spurious group around `\lipsum` to avoid problems with, for + example, `wrapfig` (gh/1). + +### Added +- Czech dummy text provided by OndÅ™ej Macek. +- `\setlipsum` macro to change options in the document. +- `hyphens` option to turn on/off hyphenation pattern selection. + +### Removed +- `\setlipsumdefault` (superseded by `\SetLipsumDefault`). +- Some undocumented `expl3` interfaces (most of them kind of useless). +- Undocumented `\IfLipsumText` function. + +### Changed +- Reorder text sources: sources are plain text and generated text files + are plain-friendly. +- Various internal changes for `expl3` code style compliance. +- Added own range parsing to avoid low-level errors on missing range + argument, e.g. `\lipsum[]` (gh/5). +- Empty (optional) range arguments are now equivalent to not using the + argument at all (that is, `\lipsum[]` is equivalent to `\lipsum`). +- Use Unicode characters in `lipsum-cicero.txt` instead of text + commands. +- Use hyphenation patterns according to the language of the dummy text. + +## [v2.3] + +### Fixed +- Internal change to avoid error with newer `xparse`. diff --git a/macros/latex/contrib/lipsum/DEPENDS.txt b/macros/latex/contrib/lipsum/DEPENDS.txt new file mode 100644 index 0000000000..574e1c1ca4 --- /dev/null +++ b/macros/latex/contrib/lipsum/DEPENDS.txt @@ -0,0 +1 @@ +hard l3kernel diff --git a/macros/latex/contrib/lipsum/lipsum-cicero.txt b/macros/latex/contrib/lipsum/lipsum-cicero.txt new file mode 100644 index 0000000000..52b1f0d35c --- /dev/null +++ b/macros/latex/contrib/lipsum/lipsum-cicero.txt @@ -0,0 +1,2219 @@ +%% +%% This text was provided by github-user +%% svenper. See https://github.com/patta42/lipsum/issues/13 +%% + +Non eram nescius, Brute, cum, quae summis ingeniis exquisitaque doctrina +philosophi Graeco sermone tractavissent, ea Latinis litteris mandaremus, +fore ut hic noster labor in varias reprehensiones incurreret. Nam +quibusdam, et iis quidem non admodum indoctis, totum hoc displicet +philosophari. Quidam autem non tam id reprehendunt, si remissius agatur, +sed tantum studium tamque multam operam ponendam in eo non arbitrantur. +Erunt etiam, et ii quidem eruditi Graecis litteris, contemnentes +Latinas, qui se dicant in Graecis legendis operam malle consumere. +Postremo aliquos futuros suspicor, qui me ad alias litteras vocent, +genus hoc scribendi, etsi sit elegans, personae tamen et dignitatis esse +negent. + +Contra quos omnis dicendum breviter existimo. Quamquam philosophiae +quidem vituperatoribus satis responsum est eo libro, quo a nobis +philosophia defensa et collaudata est, cum esset accusata et vituperata +ab Hortensio. Qui liber cum et tibi probatus videretur et iis, quos ego +posse iudicare arbitrarer, plura suscepi veritus ne movere hominum +studia viderer, retinere non posse. Qui autem, si maxime hoc placeat, +moderatius tamen id volunt fieri, difficilem quandam temperantiam +postulant in eo, quod semel admissum coerceri reprimique non potest, ut +propemodum iustioribus utamur illis, qui omnino avocent a philosophia, +quam his, qui rebus infinitis modum constituant in reque eo meliore, quo +maior sit, mediocritatem desiderent. + +Sive enim ad sapientiam perveniri potest, non paranda nobis solum ea, +sed fruenda etiam [sapientia] est; sive hoc difficile est, tamen nec +modus est ullus investigandi veri, nisi inveneris, et quaerendi +defatigatio turpis est, cum id, quod quaeritur, sit pulcherrimum. Etenim +si delectamur, cum scribimus, quis est tam invidus, qui ab eo nos +abducat? Sin laboramus, quis est, qui alienae modum statuat industriae? +Nam ut Terentianus Chremes non inhumanus, qui novum vicinum non vult +‘fodere aut arare aut aliquid ferre denique’ – non enim illum ab +industria, sed ab inliberali labore deterret –, sic isti curiosi, quos +offendit noster minime nobis iniucundus labor. + +Iis igitur est difficilius satis facere, qui se Latina scripta dicunt +contemnere. In quibus hoc primum est in quo admirer, cur in gravissimis +rebus non delectet eos sermo patrius, cum idem fabellas Latinas ad +verbum e Graecis expressas non inviti legant. Quis enim tam inimicus +paene nomini Romano est, qui Ennii Medeam aut Antiopam Pacuvii spernat +aut reiciat, quod se isdem Euripidis fabulis delectari dicat, Latinas +litteras oderit? + +Synephebos ego, inquit, potius Caecilii aut Andriam Terentii quam +utramque Menandri legam? + +A quibus tantum dissentio, ut, cum Sophocles vel optime scripserit +Electram, tamen male conversam Atilii mihi legendam putem, de quo +Lucilius: ‘ferreum scriptorem’, verum, opinor, scriptorem tamen, ut +legendus sit. Rudem enim esse omnino in nostris poetis aut inertissimae +segnitiae est aut fastidii delicatissimi. Mihi quidem nulli satis +eruditi videntur, quibus nostra ignota sunt. An ‘Utinam ne in nemore…’ +nihilo minus legimus quam hoc idem Graecum, quae autem de bene beateque +vivendo a Platone disputata sunt, haec explicari non placebit Latine? + +Quid? Si nos non interpretum fungimur munere, sed tuemur ea, quae dicta +sunt ab iis quos probamus, eisque nostrum iudicium et nostrum scribendi +ordinem adiungimus, quid habent, cur Graeca anteponant iis, quae et +splendide dicta sint neque sint conversa de Graecis? Nam si dicent ab +illis has res esse tractatas, ne ipsos quidem Graecos est cur tam multos +legant, quam legendi sunt. Quid enim est a Chrysippo praetermissum in +Stoicis? Legimus tamen Diogenem, Antipatrum, Mnesarchum, Panaetium, +multos alios in primisque familiarem nostrum Posidonium. Quid? +Theophrastus mediocriterne delectat, cum tractat locos ab Aristotele +ante tractatos? Quid? Epicurei num desistunt de isdem, de quibus et ab +Epicuro scriptum est et ab antiquis, ad arbitrium suum scribere? Quodsi +Graeci leguntur a Graecis isdem de rebus alia ratione compositis, quid +est, cur nostri a nostris non legantur? + +Quamquam, si plane sic verterem Platonem aut Aristotelem, ut verterunt +nostri poetae fabulas, male, credo, mererer de meis civibus, si ad eorum +cognitionem divina illa ingenia transferrem. Sed id neque feci adhuc nec +mihi tamen, ne faciam, interdictum puto. Locos quidem quosdam, si +videbitur, transferam, et maxime ab iis, quos modo nominavi, cum +inciderit, ut id apte fieri possit, ut ab Homero Ennius, Afranius a +Menandro solet. Nec vero, ut noster Lucilius, recusabo, quo minus omnes +mea legant. Utinam esset ille Persius, Scipio vero et Rutilius multo +etiam magis, quorum ille iudicium reformidans Tarentinis ait se et +Consentinis et Siculis scribere. Facete is quidem, sicut alia; sed neque +tam docti tum erant, ad quorum iudicium elaboraret, et sunt illius +scripta leviora, ut urbanitas summa appareat, doctrina mediocris. + +Ego autem quem timeam lectorem, cum ad te ne Graecis quidem cedentem in +philosophia audeam scribere? Quamquam a te ipso id quidem facio +provocatus gratissimo mihi libro, quem ad me de virtute misisti. Sed ex +eo credo quibusdam usu venire; ut abhorreant a Latinis, quod inciderint +in inculta quaedam et horrida, de malis Graecis Latine scripta deterius. +Quibus ego assentior, dum modo de isdem rebus ne Graecos quidem legendos +putent. Res vero bonas verbis electis graviter ornateque dictas quis non +legat? Nisi qui se plane Graecum dici velit, ut a Scaevola est praetore +salutatus Athenis Albucius. + +Quem quidem locum comit multa venustate et omni sale idem Lucilius, apud +quem praeclare Scaevola: + +Graecum te, Albuci, quam Romanum atque Sabinum, municipem Ponti, +Tritani, centurionum, praeclarorum hominum ac primorum signiferumque, +maluisti dici. Graece ergo praetor Athenis, id quod maluisti, te, cum ad +me accedis, saluto: ‘[…],’ inquam, ‘Tite!’ lictores, turma omnis +chorusque: ‘[…], Tite!’ hinc hostis mi Albucius, hinc inimicus. + +Sed iure Mucius. Ego autem mirari [satis] non queo unde hoc sit tam +insolens domesticarum rerum fastidium. Non est omnino hic docendi locus; +sed ita sentio et saepe disserui, Latinam linguam non modo non inopem, +ut vulgo putarent, sed locupletiorem etiam esse quam Graecam. Quando +enim nobis, vel dicam aut oratoribus bonis aut poetis, postea quidem +quam fuit quem imitarentur, ullus orationis vel copiosae vel elegantis +ornatus defuit? Ego vero, quoniam forensibus operis, laboribus, +periculis non deseruisse mihi videor praesidium, in quo a populo Romano +locatus sum, debeo profecto, quantumcumque possum, in eo quoque +elaborare, ut sint opera, studio, labore meo doctiores cives mei, nec +cum istis tantopere pugnare, qui Graeca legere malint, modo legant illa +ipsa, ne simulent, et iis servire, qui vel utrisque litteris uti velint +vel, si suas habent, illas non magnopere desiderent. + +Qui autem alia malunt scribi a nobis, aequi esse debent, quod et scripta +multa sunt, sic ut plura nemini e nostris, et scribentur fortasse plura, +si vita suppetet; et tamen, qui diligenter haec, quae de philosophia +litteris mandamus, legere assueverit, iudicabit nulla ad legendum his +esse potiora. Quid est enim in vita tantopere quaerendum quam cum omnia +in philosophia, tum id, quod his libris quaeritur, qui sit finis, quid +extremum, quid ultimum, quo sint omnia bene vivendi recteque faciendi +consilia referenda, quid sequatur natura ut summum ex rebus expetendis, +quid fugiat ut extremum malorum? Qua de re cum sit inter doctissimos +summa dissensio, quis alienum putet eius esse dignitatis, quam mihi +quisque tribuat, quid in omni munere vitae optimum et verissimum sit, +exquirere? + +An, partus ancillae sitne in fructu habendus, disseretur inter principes +civitatis, P. Scaevolam M’.que Manilium, ab iisque M. Brutus dissentiet +– quod et acutum genus est et ad usus civium non inutile, nosque ea +scripta reliquaque eiusdem generis et legimus libenter et legemus –, +haec, quae vitam omnem continent, neglegentur? Nam, ut sint illa +vendibiliora, haec uberiora certe sunt. Quamquam id quidem licebit iis +existimare, qui legerint. Nos autem hanc omnem quaestionem de finibus +bonorum et malorum fere a nobis explicatam esse his litteris arbitramur, +in quibus, quantum potuimus, non modo quid nobis probaretur, sed etiam +quid a singulis philosophiae disciplinis diceretur, persecuti sumus. + +Ut autem a facillimis ordiamur, prima veniat in medium Epicuri ratio, +quae plerisque notissima est. Quam a nobis sic intelleges eitam, ut ab +ipsis, qui eam disciplinam probant, non soleat accuratius explicari; +verum enim invenire volumus, non tamquam adversarium aliquem convincere. +Accurate autem quondam a L. Torquato, homine omni doctrina erudito, +defensa est Epicuri sententia de voluptate, a meque ei responsum, cum C. +Triarius, in primis gravis et doctus adolescens, ei disputationi +interesset. + +Nam cum ad me in Cumanum salutandi causa uterque venisset, pauca primo +inter nos de litteris, quarum summum erat in utroque studium, deinde +Torquatus: Quoniam nacti te, inquit, sumus aliquando otiosum, certe +audiam, quid sit, quod Epicurum nostrum non tu quidem oderis, ut fere +faciunt, qui ab eo dissentiunt, sed certe non probes, eum quem ego +arbitror unum vidisse verum maximisque erroribus animos hominum +liberavisse et omnia tradidisse, quae pertinerent ad bene beateque +vivendum. Sed existimo te, sicut nostrum Triarium, minus ab eo +delectari, quod ista Platonis, Aristoteli, Theophrasti orationis +ornamenta neglexerit. Nam illud quidem adduci vix possum, ut ea, quae +senserit ille, tibi non vera videantur. + +Vide, quantum, inquam, fallare, Torquate. Oratio me istius philosophi +non offendit; nam et complectitur verbis, quod vult, et dicit plane, +quod intellegam; et tamen ego a philosopho, si afferat eloquentiam, non +asperner, si non habeat, non admodum flagitem. Re mihi non aeque +satisfacit, et quidem locis pluribus. Sed quot homines, tot sententiae; +falli igitur possumus. + +Quam ob rem tandem, inquit, non satisfacit? Te enim iudicem aequum puto, +modo quae dicat ille bene noris. + +Nisi mihi Phaedrum, inquam, tu mentitum aut Zenonem putas, quorum +utrumque audivi, cum mihi nihil sane praeter sedulitatem probarent, +omnes mihi Epicuri sententiae satis notae sunt. Atque eos, quos +nominavi, cum Attico nostro frequenter audivi, cum miraretur ille quidem +utrumque, Phaedrum autem etiam amaret, cotidieque inter nos ea, quae +audiebamus, conferebamus, neque erat umquam controversia, quid ego +intellegerem, sed quid probarem. + +Quid igitur est? Inquit; audire enim cupio, quid non probes. Principio, +inquam, in physicis, quibus maxime gloriatur, primum totus est alienus. +Democritea dicit perpauca mutans, sed ita, ut ea, quae corrigere vult, +mihi quidem depravare videatur. Ille atomos quas appellat, id est +corpora individua propter soliditatem, censet in infinito inani, in quo +nihil nec summum nec infimum nec medium nec ultimum nec extremum sit, +ita ferri, ut concursionibus inter se cohaerescant, ex quo efficiantur +ea, quae sint quaeque cernantur, omnia, eumque motum atomorum nullo a +principio, sed ex aeterno tempore intellegi convenire. + +Epicurus autem, in quibus sequitur Democritum, non fere labitur. +Quamquam utriusque cum multa non probo, tum illud in primis, quod, cum +in rerum natura duo quaerenda sint, unum, quae materia sit, ex qua +quaeque res efficiatur, alterum, quae vis sit, quae quidque efficiat, de +materia disseruerunt, vim et causam efficiendi reliquerunt. Sed hoc +commune vitium, illae Epicuri propriae ruinae: censet enim eadem illa +individua et solida corpora ferri deorsum suo pondere ad lineam, hunc +naturalem esse omnium corporum motum. + +Deinde ibidem homo acutus, cum illud ocurreret, si omnia deorsus e +regione ferrentur et, ut dixi, ad lineam, numquam fore ut atomus altera +alteram posset attingere itaque ** attulit rem commenticiam: declinare +dixit atomum perpaulum, quo nihil posset fieri minus; ita effici +complexiones et copulationes et adhaesiones atomorum inter se, ex quo +efficeretur mundus omnesque partes mundi, quaeque in eo essent. Quae cum +tota res (est) ficta pueriliter, tum ne efficit [quidem], quod vult. Nam +et ipsa declinatio ad libidinem fingitur – ait enim declinare atomum +sine causa; quo nihil turpius physico, quam fieri quicquam sine causa +dicere, – et illum motum naturalem omnium ponderum, ut ipse constituit, +e regione inferiorem locum petentium sine causa eripuit atomis nec tamen +id, cuius causa haec finxerat, assecutus est. + +Nam si omnes atomi declinabunt, nullae umquam cohaerescent, sive aliae +declinabunt, aliae suo nutu recte ferentur, primum erit hoc quasi, +provincias atomis dare, quae recte, quae oblique ferantur, deinde eadem +illa atomorum, in quo etiam Democritus haeret, turbulenta concursio hunc +mundi ornatum efficere non poterit. Ne illud quidem physici, credere +aliquid esse minimum, quod profecto numquam putavisset, si a Polyaeno, +familiari suo, geometrica discere maluisset quam illum etiam ipsum +dedocere. Sol Democrito magnus videtur, quippe homini erudito in +geometriaque perfecto, huic pedalis fortasse; tantum enim esse censet, +quantus videtur, vel paulo aut maiorem aut minorem. + +Ita, quae mutat, ea corrumpit, quae sequitur sunt tota Democriti, atomi, +inane, imagines, quae […] nominant, quorum incursione non solum +videamus, sed etiam cogitemus; infinitio ipsa, quam […] vocant, tota ab +illo est, tum innumerabiles mundi, qui et oriantur et intereant cotidie. +Quae etsi mihi nullo modo probantur, tamen Democritum laudatum a ceteris +ab hoc, qui eum unum secutus esset, nollem vituperatum. + +Iam in altera philosophiae parte. Quae est quaerendi ac disserendi, quae +[…] dicitur, iste vester plane, ut mihi quidem videtur, inermis ac nudus +est. Tollit definitiones, nihil de dividendo ac partiendo docet, non quo +modo efficiatur concludaturque ratio tradit, non qua via captiosa +solvantur ambigua distinguantur ostendit; iudicia rerum in sensibus +ponit, quibus si semel aliquid falsi pro vero probatum sit, sublatum +esse omne iudicium veri et falsi putat. + +Confirmat autem illud vel maxime, quod ipsa natura, ut ait ille, sciscat +et probet, id est voluptatem et dolorem. Ad haec et quae sequamur et +quae fugiamus refert omnia. Quod quamquam Aristippi est a Cyrenaicisque +melius liberiusque defenditur, tamen eius modi esse iudico, ut nihil +homine videatur indignius. Ad maiora enim quaedam nos natura genuit et +conformavit, ut mihi quidem videtur. Ac fieri potest, ut errem, sed ita +prorsus existimo, neque eum Torquatum, qui hoc primus cognomen +invenerit, aut torquem illum hosti detraxisse, ut aliquam ex eo +perciperet corpore voluptatem, aut cum Latinis tertio consulatu +conflixisse apud Veserim propter voluptatem; quod vero securi percussit +filium, privavisse se etiam videtur multis voluptatibus, cum ipsi +naturae patrioque amori praetulerit ius maiestatis atque imperii. + +Quid? T. Torquatus, is qui consul cum Cn.\ Octavio fuit, cum illam +severitatem in eo filio adhibuit, quem in adoptionem D. Silano +emancipaverat, ut eum Macedonum legatis accusantibus, quod pecunias +praetorem in provincia cepisse arguerent, causam apud se dicere iuberet +reque ex utraque parte audita pronuntiaret eum non talem videri fuisse +in imperio, quales eius maiores fuissent, et in conspectum suum venire +vetuit, numquid tibi videtur de voluptatibus suis cogitavisse? + +Sed ut omittam pericula, labores, dolorem etiam, quem optimus quisque +pro patria et pro suis suscipit, ut non modo nullam captet, sed etiam +praetereat omnes voluptates, dolores denique quosvis suscipere malit +quam deserere ullam officii partem, ad ea, quae hoc non minus declarant, +sed videntur leviora, veniamus. + +Quid tibi, Torquate, quid huic Triario litterae, quid historiae +cognitioque rerum, quid poetarum evolutio, quid tanta tot versuum +memoria voluptatis affert? Nec mihi illud dixeris: ‘Haec enim ipsa mihi +sunt voluptati, et erant illa Torquatis.’ Numquam hoc ita defendit +Epicurus neque Metrodorus aut quisquam eorum, qui aut saperet aliquid +aut ista didicisset. Et quod quaeritur saepe, cur tam multi sint +Epicurei, sunt aliae quoque causae, sed multitudinem haec maxime +allicit, quod ita putant dici ab illo, recta et honesta quae sint, ea +facere ipsa per se laetitiam, id est voluptatem. Homines optimi non +intellegunt totam rationem everti, si ita res se habeat. Nam si +concederetur, etiamsi ad corpus nihil referatur, ista sua sponte et per +se esse iucunda, per se esset et virtus et cognitio rerum, quod minime +ille vult expetenda. + +Haec igitur Epicuri non probo, inquam. De cetero vellem equidem aut ipse +doctrinis fuisset instructior – est enim, quod tibi ita videri necesse +est, non satis politus iis artibus, quas qui tenent, eruditi appellantur +– aut ne deterruisset alios a studiis. Quamquam te quidem video minime +esse deterritum. + +Quae cum dixissem, magis ut illum provocarem quam ut ipse loquerer, tum +Triarius leniter arridens: Tu quidem, inquit, totum Epicurum paene e +philosophorum choro sustulisti. Quid ei reliquisti, nisi te, quoquo modo +loqueretur, intellegere, quid diceret? Aliena dixit in physicis nec ea +ipsa, quae tibi probarentur; si qua in iis corrigere voluit, deteriora +fecit. Disserendi artem nullam habuit. Voluptatem cum summum bonum +diceret, primum in eo ipso parum vidit, deinde hoc quoque alienum; nam +ante Aristippus, et ille melius. Addidisti ad extremum etiam indoctum +fuisse. + +Fieri, inquam, Triari, nullo pacto potest, ut non dicas, quid non probes +eius, a quo dissentias. Quid enim me prohiberet Epicureum esse, si +probarem, quae ille diceret? Cum praesertim illa perdiscere ludus esset. +Quam ob rem dissentientium inter se reprehensiones non sunt +vituperandae, maledicta, contumeliae, tum iracundiae, contentiones +concertationesque in disputando pertinaces indignae philosophia mihi +videri solent. + +Tum Torquatus: Prorsus, inquit, assentior; neque enim disputari sine +reprehensione nec cum iracundia aut pertinacia recte disputari potest. +Sed ad haec, nisi molestum est, habeo quae velim. An me, inquam, nisi te +audire vellem, censes haec dicturum fuisse? Utrum igitur percurri omnem +Epicuri disciplinam placet an de una voluptate quaeri, de qua omne +certamen est? Tuo vero id quidem, inquam, arbitratu. Sic faciam igitur, +inquit: unam rem explicabo, eamque maximam, de physicis alias, et quidem +tibi et declinationem istam atomorum et magnitudinem solis probabo et +Democriti errata ab Epicuro reprehensa et correcta permulta. Nunc dicam +de voluptate, nihil scilicet novi, ea tamen, quae te ipsum probaturum +esse confidam. + +Certe, inquam, pertinax non ero tibique, si mihi probabis ea, quae +dices, libenter assentiar. Probabo, inquit, modo ista sis aequitate, +quam ostendis. Sed uti oratione perpetua malo quam interrogare aut +interrogari. Ut placet, inquam. Tum dicere exorsus est. Primum igitur, +inquit, sic agam, ut ipsi auctori huius disciplinae placet: constituam, +quid et quale sit id, de quo quaerimus, non quo ignorare vos arbitrer, +sed ut ratione et via procedat oratio. Quaerimus igitur, quid sit +extremum et ultimum bonorum, quod omnium philosophorum sententia tale +debet esse, ut ad id omnia referri oporteat, ipsum autem nusquam. Hoc +Epicurus in voluptate ponit, quod summum bonum esse vult, summumque +malum dolorem, idque instituit docere sic: + +Omne animal, simul atque natum sit, voluptatem appetere eaque gaudere ut +summo bono, dolorem aspernari ut summum malum et, quantum possit, a se +repellere, idque facere nondum depravatum ipsa natura incorrupte atque +integre iudicante. Itaque negat opus esse ratione neque disputatione, +quam ob rem voluptas expetenda, fugiendus dolor sit. Sentiri haec putat, +ut calere ignem, nivem esse albam, dulce mel. Quorum nihil oportere +exquisitis rationibus confirmare, tantum satis esse admonere. Interesse +enim inter argumentum conclusionemque rationis et inter mediocrem +animadversionem atque admonitionem. Altera occulta quaedam et quasi +involuta aperiri, altera prompta et aperta iudicari. Etenim quoniam +detractis de homine sensibus reliqui nihil est, necesse est, quid aut ad +naturam aut contra sit, a natura ipsa iudicari. Ea quid percipit aut +quid iudicat, quo aut petat aut fugiat aliquid, praeter voluptatem et +dolorem? + +Sunt autem quidam e nostris, qui haec subtilius velint tradere et negent +satis esse, quid bonum sit aut quid malum, sensu iudicari, sed animo +etiam ac ratione intellegi posse et voluptatem ipsam per se esse +expetendam et dolorem ipsum per se esse fugiendum. Itaque aiunt hanc +quasi naturalem atque insitam in animis nostris inesse notionem, ut +alterum esse appetendum, alterum aspernandum sentiamus. Alii autem, +quibus ego assentior, cum a philosophis compluribus permulta dicantur, +cur nec voluptas in bonis sit numeranda nec in malis dolor, non +existimant oportere nimium nos causae confidere, sed et argumentandum et +accurate disserendum et rationibus conquisitis de voluptate et dolore +disputandum putant. + +Sed ut perspiciatis, unde omnis iste natus error sit voluptatem +accusantium doloremque laudantium, totam rem aperiam eaque ipsa, quae ab +illo inventore veritatis et quasi architecto beatae vitae dicta sunt, +explicabo. Nemo enim ipsam voluptatem, quia voluptas sit, aspernatur aut +odit aut fugit, sed quia consequuntur magni dolores eos, qui ratione +voluptatem sequi nesciunt, neque porro quisquam est, qui dolorem ipsum, +quia dolor sit, amet, consectetur, adipisci velit, sed quia non numquam +eius modi tempora incidunt, ut labore et dolore magnam aliquam quaerat +voluptatem. Ut enim ad minima veniam, quis nostrum exercitationem ullam +corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? +Quis autem vel eum iure reprehenderit, qui in ea voluptate velit esse, +quam nihil molestiae consequatur, vel illum, qui dolorem eum fugiat, quo +voluptas nulla pariatur? + +At vero eos et accusamus et iusto odio dignissimos ducimus, qui +blanditiis praesentium voluptatum deleniti atque corrupti, quos dolores +et quas molestias excepturi sint, obcaecati cupiditate non provident, +similique sunt in culpa, qui officia deserunt mollitia animi, id est +laborum et dolorum fuga. Et harum quidem rerum facilis est et expedita +distinctio. Nam libero tempore, cum soluta nobis est eligendi optio, +cumque nihil impedit, quo minus id, quod maxime placeat, facere +possimus, omnis voluptas assumenda est, omnis dolor repellendus. +Temporibus autem quibusdam et aut officiis debitis aut rerum +necessitatibus saepe eveniet, ut et voluptates repudiandae sint et +molestiae non recusandae. Itaque earum rerum hic tenetur a sapiente +delectus, ut aut reiciendis voluptatibus maiores alias consequatur aut +perferendis doloribus asperiores repellat. + +Hanc ego cum teneam sententiam, quid est cur verear, ne ad eam non +possim accommodare Torquatos nostros? Quos tu paulo ante cum memoriter, +tum etiam erga nos amice et benivole collegisti, nec me tamen laudandis +maioribus meis corrupisti nec segniorem ad respondendum reddidisti. +Quorum facta quem ad modum, quaeso, interpretaris? Sicine eos censes aut +in armatum hostem impetum fecisse aut in liberos atque in sanguinem suum +tam crudelis fuisse, nihil ut de utilitatibus, nihil ut de commodis suis +cogitarent? At id ne ferae quidem faciunt, ut ita ruant itaque turbent, +ut earum motus et impetus quo pertineant non intellegamus, tu tam +egregios viros censes tantas res gessisse sine causa? + +Quae fuerit causa, mox videro; interea hoc tenebo, si ob aliquam causam +ista, quae sine dubio praeclara sunt, fecerint, virtutem iis per se +ipsam causam non fuisse. – Torquem detraxit hosti. – Et quidem se texit, +ne interiret. – At magnum periculum adiit. – In oculis quidem exercitus. +– Quid ex eo est consecutus? – Laudem et caritatem, quae sunt vitae sine +metu degendae praesidia firmissima. – Filium morte multavit. – Si sine +causa, nollem me ab eo ortum, tam inportuno tamque crudeli; sin, ut +dolore suo sanciret militaris imperii disciplinam exercitumque in +gravissimo bello animadversionis metu contineret, saluti prospexit +civium, qua intellegebat contineri suam. Atque haec ratio late patet. + +In quo enim maxime consuevit iactare vestra se oratio, tua praesertim, +qui studiose antiqua persequeris, claris et fortibus viris commemorandis +eorumque factis non emolumento aliquo, sed ipsius honestatis decore +laudandis, id totum evertitur eo delectu rerum, quem modo dixi, +constituto, ut aut voluptates omittantur maiorum voluptatum +adipiscendarum causa aut dolores suscipiantur maiorum dolorum +effugiendorum gratia. + +Sed de clarorum hominum factis illustribus et gloriosis satis hoc loco +dictum sit. Erit enim iam de omnium virtutum cursu ad voluptatem +proprius disserendi locus. Nunc autem explicabo, voluptas ipsa quae +qualisque sit, ut tollatur error omnis imperitorum intellegaturque ea, +quae voluptaria, delicata, mollis habeatur disciplina, quam gravis, quam +continens, quam severa sit. Non enim hanc solam sequimur, quae suavitate +aliqua naturam ipsam movet et cum iucunditate quadam percipitur +sensibus, sed maximam voluptatem illam habemus, quae percipitur omni +dolore detracto, nam quoniam, cum privamur dolore, ipsa liberatione et +vacuitate omnis molestiae gaudemus, omne autem id, quo gaudemus, +voluptas est, ut omne, quo offendimur, dolor, doloris omnis privatio +recte nominata est voluptas. Ut enim, cum cibo et potione fames sitisque +depulsa est, ipsa detractio molestiae consecutionem affert voluptatis, +sic in omni re doloris amotio successionem efficit voluptatis. + +Itaque non placuit Epicuro medium esse quiddam inter dolorem et +voluptatem; illud enim ipsum, quod quibusdam medium videretur, cum omni +dolore careret, non modo voluptatem esse, verum etiam summam voluptatem. +Quisquis enim sentit, quem ad modum sit affectus, eum necesse est aut in +voluptate esse aut in dolore. Omnis autem privatione doloris putat +Epicurus terminari summam voluptatem, ut postea variari voluptas +distinguique possit, augeri amplificarique non possit. + +At etiam Athenis, ut e patre audiebam facete et urbane Stoicos +irridente, statua est in Ceramico Chrysippi sedentis porrecta manu, quae +manus significet illum in hae esse rogatiuncula delectatum: ‘Numquidnam +manus tua sic affecta, quem ad modum affecta nunc est, desiderat?’ – +Nihil sane. – ‘At, si voluptas esset bonum, desideraret.’ – Ita credo. +– ‘Non est igitur voluptas bonum.’ Hoc ne statuam quidem dicturam pater +aiebat, si loqui posset. Conclusum est enim contra Cyrenaicos satis +acute, nihil ad Epicurum. Nam si ea sola voluptas esset, quae quasi +titillaret sensus, ut ita dicam, et ad eos cum suavitate afflueret et +illaberetur, nec manus esse contenta posset nec ulla pars vacuitate +doloris sine iucundo motu voluptatis. Sin autem summa voluptas est, ut +Epicuro placet, nihil dolere, primum tibi recte, Chrysippe, concessum +est nihil desiderare manum, cum ita esset affecta, secundum non recte, +si voluptas esset bonum, fuisse desideraturam. Idcirco enim non +desideraret, quia, quod dolore caret, id in voluptate est. + +Extremum autem esse bonorum voluptatem ex hoc facillime perspici potest: +Constituamus aliquem magnis, multis, perpetuis fruentem et animo et +corpore voluptatibus nullo dolore nec impediente nec inpendente, quem +tandem hoc statu praestabiliorem aut magis expetendum possimus dicere? +Inesse enim necesse est in eo, qui ita sit affectus, et firmitatem animi +nec mortem nec dolorem timentis, quod mors sensu careat, dolor in +longinquitate levis, in gravitate brevis soleat esse, ut eius +magnitudinem celeritas, diuturnitatem allevatio consoletur. + +Ad ea cum accedit, ut neque divinum numen horreat nec praeteritas +voluptates effluere patiatur earumque assidua recordatione laetetur, +quid est, quod huc possit, quod melius sit, accedere? Statue contra +aliquem confectum tantis animi corporisque doloribus, quanti in hominem +maximi cadere possunt, nulla spe proposita fore levius aliquando, nulla +praeterea neque praesenti nec expectata voluptate, quid eo miserius dici +aut fingi potest? Quodsi vita doloribus referta maxime fugienda est, +summum profecto malum est vivere cum dolore, cui sententiae consentaneum +est ultimum esse bonorum eum voluptate vivere. Nec enim habet nostra +mens quicquam, ubi consistat tamquam in extremo, omnesque et metus et +aegritudines ad dolorem referuntur, nec praeterea est res ulla, quae sua +natura aut sollicitare possit aut angere. + +Praeterea et appetendi et refugiendi et omnino rerum gerendarum initia +proficiscuntur aut a voluptate aut a dolore. Quod cum ita sit, +perspicuum est omnis rectas res atque laudabilis eo referri, ut cum +voluptate vivatur. Quoniam autem id est vel summum bonorum vel ultimum +vel extremum – quod Graeci […] nominant –, quod ipsum nullam ad aliam +rem, ad id autem res referuntur omnes, fatendum est summum esse bonum +iucunde vivere. + +Id qui in una virtute ponunt et splendore nominis capti quid natura +postulet non intellegunt, errore maximo, si Epicurum audire voluerint, +liberabuntur: istae enim vestrae eximiae pulchraeque virtutes nisi +voluptatem efficerent, quis eas aut laudabilis aut expetendas +arbitraretur? Ut enim medicorum scientiam non ipsius artis, sed bonae +valetudinis causa probamus, et gubernatoris ars, quia bene navigandi +rationem habet, utilitate, non arte laudatur, sic sapientia, quae ars +vivendi putanda est, non expeteretur, si nihil efficeret; nunc +expetitur, quod est tamquam artifex conquirendae et comparandae +voluptatis – + +Quam autem ego dicam voluptatem, iam videtis, ne invidia verbi +labefactetur oratio mea –. Nam cum ignoratione rerum bonarum et malarum +maxime hominum vita vexetur, ob eumque errorem et voluptatibus maximis +saepe priventur et durissimis animi doloribus torqueantur, sapientia est +adhibenda, quae et terroribus cupiditatibusque detractis et omnium +falsarum opinionum temeritate derepta certissimam se nobis ducem +praebeat ad voluptatem. Sapientia enim est una, quae maestitiam pellat +ex animis, quae nos exhorrescere metu non sinat. Qua praeceptrice in +tranquillitate vivi potest omnium cupiditatum ardore restincto. +Cupiditates enim sunt insatiabiles, quae non modo singulos homines, sed +universas familias evertunt, totam etiam labefactant saepe rem publicam. + +Ex cupiditatibus odia, discidia, discordiae, seditiones, bella +nascuntur, nec eae se foris solum iactant nec tantum in alios caeco +impetu incurrunt, sed intus etiam in animis inclusae inter se dissident +atque discordant, ex quo vitam amarissimam necesse est effici, ut +sapiens solum amputata circumcisaque inanitate omni et errore naturae +finibus contentus sine aegritudine possit et sine metu vivere. + +Quae est enim aut utilior aut ad bene vivendum aptior partitio quam +illa, qua est usus Epicurus? Qui unum genus posuit earum cupiditatum, +quae essent et naturales et necessariae, alterum, quae naturales essent +nec tamen necessariae, tertium, quae nec naturales nec necessariae. +Quarum ea ratio est, ut necessariae nec opera multa nec impensa +expleantur; ne naturales quidem multa desiderant, propterea quod ipsa +natura divitias, quibus contenta sit, et parabilis et terminatas habet; +inanium autem cupiditatum nec modus ullus nec finis inveniri potest. + +Quodsi vitam omnem perturbari videmus errore et inscientia, +sapientiamque esse solam, quae nos a libidinum impetu et a formidinum +terrore vindicet et ipsius fortunae modice ferre doceat iniurias et +omnis monstret vias, quae ad quietem et ad tranquillitatem ferant, quid +est cur dubitemus dicere et sapientiam propter voluptates expetendam et +insipientiam propter molestias esse fugiendam? + +Eademque ratione ne temperantiam quidem propter se expetendam esse +dicemus, sed quia pacem animis afferat et eos quasi concordia quadam +placet ac leniat. Temperantia est enim, quae in rebus aut expetendis aut +fugiendis ut rationem sequamur monet. Nec enim satis est iudicare quid +faciendum non faciendumve sit, sed stare etiam oportet in eo, quod sit +iudicatum. Plerique autem, quod tenere atque servare id, quod ipsi +statuerunt, non possunt, victi et debilitati obiecta specie voluptatis +tradunt se libidinibus constringendos nec quid eventurum sit provident +ob eamque causam propter voluptatem et parvam et non necessariam et quae +vel aliter pararetur et qua etiam carere possent sine dolore tum in +morbos gravis, tum in damna, tum in dedecora incurrunt, saepe etiam +legum iudiciorumque poenis obligantur. + +Qui autem ita frui volunt voluptatibus, ut nulli propter eas +consequantur dolores, et qui suum iudicium retinent, ne voluptate victi +faciant id, quod sentiant non esse faciendum, ii voluptatem maximam +adipiscuntur praetermittenda voluptate. Idem etiam dolorem saepe +perpetiuntur, ne, si id non faciant, incidant in maiorem. Ex quo +intellegitur nec intemperantiam propter se esse fugiendam +temperantiamque expetendam, non quia voluptates fugiat, sed quia maiores +consequatur. + +Eadem fortitudinis ratio reperietur. Nam neque laborum perfunctio neque +perpessio dolorum per se ipsa allicit nec patientia nec assiduitas nec +vigiliae nec ea ipsa, quae laudatur, industria, ne fortitudo quidem, sed +ista sequimur, ut sine cura metuque vivamus animumque et corpus, quantum +efficere possimus, molestia liberemus. Ut enim mortis metu omnis quietae +vitae status perturbatur, et ut succumbere doloribus eosque humili animo +inbecilloque ferre miserum est, ob eamque debilitatem animi multi +parentes, multi amicos, non nulli patriam, plerique autem se ipsos +penitus perdiderunt, sic robustus animus et excelsus omni est liber cura +et angore, cum et mortem contemnit, qua qui affecti sunt in eadem causa +sunt, qua ante quam nati, et ad dolores ita paratus est, ut meminerit +maximos morte finiri, parvos multa habere intervalla requietis, +mediocrium nos esse dominos, ut, si tolerabiles sint, feramus, si minus, +animo aequo e vita, cum ea non placeat, tamquam e theatro exeamus. +Quibus rebus intellegitur nec timiditatem ignaviamque vituperari nec +fortitudinem patientiamque laudari suo nomine, sed illas reici, quia +dolorem pariant, has optari, quia voluptatem. + +Iustitia restat, ut de omni virtute sit dictum. Sed similia fere dici +possunt. Ut enim sapientiam, temperantiam, fortitudinem copulatas esse +docui cum voluptate, ut ab ea nullo modo nec divelli nec distrahi +possint, sic de iustitia iudicandum est, quae non modo numquam nocet +cuiquam, sed contra semper afficit cum vi sua atque natura, quod +tranquillat animos, tum spe nihil earum rerum defuturum, quas natura non +depravata desiderat. [et] quem ad modum temeritas et libido et ignavia +semper animum excruciant et semper sollicitant turbulentaeque sunt, sic +[inprobitas si] cuius in mente consedit, hoc ipso, quod adest, +turbulenta est; si vero molita quippiam est, quamvis occulte fecerit, +numquam tamen id confidet fore semper occultum. Plerumque improborum +facta primo suspicio insequitur, dein sermo atque fama, tum accusator, +tum iudex; + +Multi etiam, ut te consule, ipsi se indicaverunt. Quodsi qui satis sibi +contra hominum conscientiam saepti esse et muniti videntur, deorum tamen +horrent easque ipsas sollicitudines, quibus eorum animi noctesque +diesque exeduntur, a diis inmortalibus supplicii causa importari putant. +Quae autem tanta ex improbis factis ad minuendas vitae molestias +accessio potest fieri, quanta ad augendas, cum conscientia factorum, tum +poena legum odioque civium? Et tamen in quibusdam neque pecuniae modus +est neque honoris neque imperii nec libidinum nec epularum nec +reliquarum cupiditatum, quas nulla praeda umquam improbe parta minuit, +[sed] potius inflammat, ut coercendi magis quam dedocendi esse +videantur. + +Invitat igitur vera ratio bene sanos ad iustitiam, aequitatem, fidem, +neque homini infanti aut inpotenti iniuste facta conducunt, qui nec +facile efficere possit, quod conetur, nec optinere, si effecerit, et +opes vel fortunae vel ingenii liberalitati magis conveniunt, qua qui +utuntur, benivolentiam sibi conciliant et, quod aptissimum est ad quiete +vivendum, caritatem, praesertim cum omnino nulla sit causa peccandi. + +Quae enim cupiditates a natura proficiscuntur, facile explentur sine +ulla iniuria, quae autem inanes sunt, iis parendum non est. Nihil enim +desiderabile concupiscunt, plusque in ipsa iniuria detrimenti est quam +in iis rebus emolumenti, quae pariuntur iniuria. Itaque ne iustitiam +quidem recte quis dixerit per se ipsam optabilem, sed quia iucunditatis +vel plurimum afferat. Nam diligi et carum esse iucundum est propterea, +quia tutiorem vitam et voluptatem pleniorem efficit. Itaque non ob ea +solum incommoda, quae eveniunt inprobis, fugiendam inprobitatem putamus, +sed multo etiam magis, quod, cuius in animo versatur, numquam sinit eum +respirare, numquam adquiescere. + +Quodsi ne ipsarum quidem virtutum laus, in qua maxime ceterorum +philosophorum exultat oratio, reperire exitum potest, nisi derigatur ad +voluptatem, voluptas autem est sola, quae nos vocet ad se et alliciat +suapte natura, non potest esse dubium, quin id sit summum atque extremum +bonorum omnium, beateque vivere nihil aliud sit nisi cum voluptate +vivere. + +Huic certae stabilique sententiae quae sint coniuncta explicabo brevi. +Nullus in ipsis error est finibus bonorum et malorum, id est in +voluptate aut in dolore, sed in his rebus peccant, cum e quibus haec +efficiantur ignorant. Animi autem voluptates et dolores nasci fatemur e +corporis voluptatibus et doloribus – itaque concedo, quod modo dicebas, +cadere causa, si qui e nostris aliter existimant, quos quidem video esse +multos, sed imperitos –, quamquam autem et laetitiam nobis voluptas +animi et molestiam dolor afferat, eorum tamen utrumque et ortum esse e +corpore et ad corpus referri, nec ob eam causam non multo maiores esse +et voluptates et dolores animi quam corporis. Nam corpore nihil nisi +praesens et quod adest sentire possumus, animo autem et praeterita et +futura. Ut enim aeque doleamus animo, cum corpore dolemus, fieri tamen +permagna accessio potest, si aliquod aeternum et infinitum impendere +malum nobis opinemur. Quod idem licet transferre in voluptatem, ut ea +maior sit, si nihil tale metuamus. + +Iam illud quidem perspicuum est, maximam animi aut voluptatem aut +molestiam plus aut ad beatam aut ad miseram vitam afferre momenti quam +eorum utrumvis, si aeque diu sit in corpore. Non placet autem detracta +voluptate aegritudinem statim consequi, nisi in voluptatis locum dolor +forte successerit, at contra gaudere nosmet omittendis doloribus, +etiamsi voluptas ea, quae sensum moveat, nulla successerit, eoque +intellegi potest quanta voluptas sit non dolere. + +Sed ut iis bonis erigimur, quae expectamus, sic laetamur iis, quae +recordamur. Stulti autem malorum memoria torquentur, sapientes bona +praeterita grata recordatione renovata delectant. Est autem situm in +nobis ut et adversa quasi perpetua oblivione obruamus et secunda iucunde +ac suaviter meminerimus. Sed cum ea, quae praeterierunt, acri animo et +attento intuemur, tum fit ut aegritudo sequatur, si illa mala sint, +laetitia, si bona. + +O praeclaram beate vivendi et apertam et simplicem et directam viam! Cum +enim certe nihil homini possit melius esse quam vacare omni dolore et +molestia perfruique maximis et animi et corporis voluptatibus, videtisne +quam nihil praetermittatur quod vitam adiuvet, quo facilius id, quod +propositum est, summum bonum consequamur? Clamat Epicurus, is quem vos +nimis voluptatibus esse deditum dicitis; non posse iucunde vivi, nisi +sapienter, honeste iusteque vivatur, nec sapienter, honeste, iuste, nisi +iucunde. + +Neque enim civitas in seditione beata esse potest nec in discordia +dominorum domus; quo minus animus a se ipse dissidens secumque +discordans gustare partem ullam liquidae voluptatis et liberae potest. +Atqui pugnantibus et contrariis studiis consiliisque semper utens nihil +quieti videre, nihil tranquilli potest. + +Quodsi corporis gravioribus morbis vitae iucunditas impeditur, quanto +magis animi morbis impediri necesse est! Animi autem morbi sunt +cupiditates inmensae et inanes divitiarum, gloriae, dominationis, +libidinosarum etiam voluptatum. Accedunt aegritudines, molestiae, +maerores, qui exedunt animos conficiuntque curis hominum non +intellegentium nihil dolendum esse animo, quod sit a dolore corporis +praesenti futurove seiunctum. Nec vero quisquam stultus non horum +morborum aliquo laborat, nemo igitur est non miser. + +Accedit etiam mors, quae quasi saxum Tantalo semper impendet, tum +superstitio, qua qui est imbutus quietus esse numquam potest. Praeterea +bona praeterita non meminerunt, praesentibus non fruuntur, futura modo +expectant, quae quia certa esse non possunt, conficiuntur et angore et +metu maximeque cruciantur, cum sero sentiunt frustra se aut pecuniae +studuisse aut imperiis aut opibus aut gloriae. Nullas enim consequuntur +voluptates, quarum potiendi spe inflammati multos labores magnosque +susceperant. + +Ecce autem alii minuti et angusti aut omnia semper desperantes aut +malivoli, invidi, difficiles, lucifugi, maledici, monstruosi, alii autem +etiam amatoriis levitatibus dediti, alii petulantes, alii audaces, +protervi, idem intemperantes et ignavi, numquam in sententia +permanentes, quas ob causas in eorum vita nulla est intercapedo +molestiae. Igitur neque stultorum quisquam beatus neque sapientium non +beatus. Multoque hoc melius nos veriusque quam Stoici. Illi enim negant +esse bonum quicquam nisi nescio quam illam umbram, quod appellant +honestum non tam solido quam splendido nomine, virtutem autem nixam hoc +honesto nullam requirere voluptatem atque ad beate vivendum se ipsa esse +contentam. + +Sed possunt haec quadam ratione dici non modo non repugnantibus, verum +etiam approbantibus nobis. Sic enim ab Epicuro sapiens semper beatus +inducitur: finitas habet cupiditates, neglegit mortem, de diis +inmortalibus sine ullo metu vera sentit, non dubitat, si ita melius sit, +migrare de vita. His rebus instructus semper est in voluptate. Neque +enim tempus est ullum, quo non plus voluptatum habeat quam dolorum. Nam +et praeterita grate meminit et praesentibus ita potitur, ut animadvertat +quanta sint ea quamque iucunda, neque pendet ex futuris, sed expectat +illa, fruitur praesentibus ab iisque vitiis, quae paulo ante collegi, +abest plurimum et, cum stultorum vitam cum sua comparat, magna afficitur +voluptate. Dolores autem si qui incurrunt, numquam vim tantam habent, ut +non plus habeat sapiens, quod gaudeat, quam quod angatur. + +Optime vero Epicurus, quod exiguam dixit fortunam intervenire sapienti +maximasque ab eo et gravissimas res consilio ipsius et ratione +administrari neque maiorem voluptatem ex infinito tempore aetatis +percipi posse, quam ex hoc percipiatur, quod videamus esse finitum. In +dialectica autem vestra nullam existimavit esse nec ad melius vivendum +nec ad commodius disserendum viam. In physicis plurimum posuit. Ea +scientia et verborum vis et natura orationis et consequentium +repugnantiumve ratio potest perspici. Omnium autem rerum natura cognita +levamur superstitione, liberamur mortis metu, non conturbamur +ignoratione rerum, e qua ipsa horribiles existunt saepe formidines. +Denique etiam morati melius erimus, cum didicerimus quid natura +desideret. Tum vero, si stabilem scientiam rerum tenebimus, servata +illa, quae quasi delapsa de caelo est ad cognitionem omnium, regula, ad +quam omnia iudicia rerum dirigentur, numquam ullius oratione victi +sententia desistemus. + +Nisi autem rerum natura perspecta erit, nullo modo poterimus sensuum +iudicia defendere. Quicquid porro animo cernimus, id omne oritur a +sensibus; qui si omnes veri erunt, ut Epicuri ratio docet, tum denique +poterit aliquid cognosci et percipi. Quos qui tollunt et nihil posse +percipi dicunt, ii remotis sensibus ne id ipsum quidem expedire possunt, +quod disserunt. Praeterea sublata cognitione et scientia tollitur omnis +ratio et vitae degendae et rerum gerendarum. Sic e physicis et fortitudo +sumitur contra mortis timorem et constantia contra metum religionis et +sedatio animi omnium rerum occultarum ignoratione sublata et moderatio +natura cupiditatum generibusque earum explicatis, et, ut modo docui, +cognitionis regula et iudicio ab eadem illa constituto veri a falso +distinctio traditur. + +Restat locus huic disputationi vel maxime necessarius de amicitia, quam, +si voluptas summum sit bonum, affirmatis nullam omnino fore. De qua +Epicurus quidem ita dicit, omnium rerum, quas ad beate vivendum +sapientia comparaverit, nihil esse maius amicitia, nihil uberius, nihil +iucundius. Nec vero hoc oratione solum, sed multo magis vita et factis +et moribus comprobavit. Quod quam magnum sit fictae veterum fabulae +declarant, in quibus tam multis tamque variis ab ultima antiquitate +repetitis tria vix amicorum paria reperiuntur, ut ad Orestem pervenias +profectus a Theseo. At vero Epicurus una in domo, et ea quidem angusta, +quam magnos quantaque amoris conspiratione consentientis tenuit amicorum +greges! Quod fit etiam nunc ab Epicureis. Sed ad rem redeamus; de +hominibus dici non necesse est. + +Tribus igitur modis video esse a nostris de amicitia disputatum. Alii +cum eas voluptates, quae ad amicos pertinerent, negarent esse per se +ipsas tam expetendas, quam nostras expeteremus, quo loco videtur +quibusdam stabilitas amicitiae vacillare, tuentur tamen eum locum seque +facile, ut mihi videtur, expediunt. Ut enim virtutes, de quibus ante +dictum est, sic amicitiam negant posse a voluptate discedere. Nam cum +solitudo et vita sine amicis insidiarum et metus plena sit, ratio ipsa +monet amicitias comparare, quibus partis confirmatur animus et a spe +pariendarum voluptatum seiungi non potest. + +Atque ut odia, invidiae, despicationes adversantur voluptatibus, sic +amicitiae non modo fautrices fidelissimae, sed etiam effectrices sunt +voluptatum tam amicis quam sibi, quibus non solum praesentibus fruuntur, +sed etiam spe eriguntur consequentis ac posteri temporis. Quod quia +nullo modo sine amicitia firmam et perpetuam iucunditatem vitae tenere +possumus neque vero ipsam amicitiam tueri, nisi aeque amicos et nosmet +ipsos diligamus, idcirco et hoc ipsum efficitur in amicitia, et amicitia +cum voluptate conectitur. Nam et laetamur amicorum laetitia aeque atque +nostra et pariter dolemus angoribus. + +Quocirca eodem modo sapiens erit affectus erga amicum, quo in se ipsum, +quosque labores propter suam voluptatem susciperet, eosdem suscipiet +propter amici voluptatem. Quaeque de virtutibus dicta sunt, quem ad +modum eae semper voluptatibus inhaererent, eadem de amicitia dicenda +sunt. Praeclare enim Epicurus his paene verbis: ‘Eadem’, inquit, +‘scientia confirmavit animum, ne quod aut sempiternum aut diuturnum +timeret malum, quae perspexit in hoc ipso vitae spatio amicitiae +praesidium esse firmissimum.’ + +Sunt autem quidam Epicurei timidiores paulo contra vestra convicia, sed +tamen satis acuti, qui verentur ne, si amicitiam propter nostram +voluptatem expetendam putemus, tota amicitia quasi claudicare videatur. +Itaque primos congressus copulationesque et consuetudinum instituendarum +voluntates fieri propter voluptatem; cum autem usus progrediens +familiaritatem effecerit, tum amorem efflorescere tantum, ut, etiamsi +nulla sit utilitas ex amicitia, tamen ipsi amici propter se ipsos +amentur. Etenim si loca, si fana, si urbes, si gymnasia, si campum, si +canes, si equos, si ludicra exercendi aut venandi consuetudine adamare +solemus, quanto id in hominum consuetudine facilius fieri poterit et +iustius? + +Sunt autem, qui dicant foedus esse quoddam sapientium, ut ne minus +amicos quam se ipsos diligant. Quod et posse fieri intellegimus et saepe +etiam videmus, et perspicuum est nihil ad iucunde vivendum reperiri +posse, quod coniunctione tali sit aptius. Quibus ex omnibus iudicari +potest non modo non impediri rationem amicitiae, si summum bonum in +voluptate ponatur, sed sine hoc institutionem omnino amicitiae non posse +reperiri. + +Quapropter si ea, quae dixi, sole ipso illustriora et clariora sunt, si +omnia dixi hausta e fonte naturae, si tota oratio nostra omnem sibi +fidem sensibus confirmat, id est incorruptis atque integris testibus, si +infantes pueri, mutae etiam bestiae paene loquuntur magistra ac duce +natura nihil esse prosperum nisi voluptatem, nihil asperum nisi dolorem, +de quibus neque depravate iudicant neque corrupte, nonne ei maximam +gratiam habere debemus, qui hac exaudita quasi voce naturae sic eam +firme graviterque comprehenderit, ut omnes bene sanos in viam placatae, +tranquillae, quietae, beatae vitae deduceret? Qui quod tibi parum +videtur eruditus, ea causa est, quod nullam eruditionem esse duxit, nisi +quae beatae vitae disciplinam iuvaret. + +An ille tempus aut in poetis evolvendis, ut ego et Triarius te hortatore +facimus, consumeret, in quibus nulla solida utilitas omnisque puerilis +est delectatio, aut se, ut Plato, in musicis, geometria, numeris, astris +contereret, quae et a falsis initiis profecta vera esse non possunt et, +si essent vera, nihil afferrent, quo iucundius, id est quo melius +viveremus, eas ergo artes persequeretur, vivendi artem tantam tamque et +operosam et perinde fructuosam relinqueret? Non ergo Epicurus +ineruditus, sed ii indocti, qui, quae pueros non didicisse turpe est, ea +putant usque ad senectutem esse discenda. + +Quae cum dixisset, Explicavi, inquit, sententiam meam, et eo quidem +consilio, tuum iudicium ut cognoscerem, quoniam mihi ea facultas, ut id +meo arbitratu facerem, ante hoc tempus numquam est data. + +Hic cum uterque me intueretur seseque ad audiendum significarent +paratos, Primum, inquam, deprecor, ne me tamquam philosophum putetis +scholam vobis aliquam explicaturum, quod ne in ipsis quidem philosophis +magnopere umquam probavi. Quando enim Socrates, qui parens philosophiae +iure dici potest, quicquam tale fecit? Eorum erat iste mos qui tum +sophistae nominabantur, quorum e numero primus est ausus Leontinus +Gorgias in conventu poscere quaestionem, id est iubere dicere, qua de re +quis vellet audire. Audax negotium, dicerem impudens, nisi hoc +institutum postea translatum ad philosophos nostros esset. + +Sed et illum, quem nominavi, et ceteros sophistas, ut e Platone +intellegi potest, lusos videmus a Socrate. Is enim percontando atque +interrogando elicere solebat eorum opiniones, quibuscum disserebat, ut +ad ea, quae ii respondissent, si quid videretur, diceret. Qui mos cum a +posterioribus non esset retentus, Arcesilas eum revocavit instituitque +ut ii, qui se audire vellent, non de se quaererent, sed ipsi dicerent, +quid sentirent; quod cum dixissent, ille contra. Sed eum qui audiebant, +quoad poterant, defendebant sententiam suam. Apud ceteros autem +philosophos, qui quaesivit aliquid, tacet; quod quidem iam fit etiam in +Academia. Ubi enim is, qui audire vult, ita dixit: ‘Voluptas mihi +videtur esse summum bonum’, perpetua oratione contra disputatur, ut +facile intellegi possit eos, qui aliquid sibi videri dicant, non ipsos +in ea sententia esse, sed audire velle contraria. + +Nos commodius agimus. Non enim solum Torquatus dixit quid sentiret, sed +etiam cur. Ego autem arbitror, quamquam admodum delectatus sum eius +oratione perpetua, tamen commodius, cum in rebus singulis insistas et +intellegas quid quisque concedat, quid abnuat, ex rebus concessis +concludi quod velis et ad exitum perveniri. Cum enim fertur quasi +torrens oratio, quamvis multa cuiusque modi rapiat, nihil tamen teneas, +nihil apprehendas, nusquam orationem rapidam coerceas. Omnis autem in +quaerendo, quae via quadam et ratione habetur, oratio praescribere +primum debet ut quibusdam in formulis ea res agetur, ut, inter quos +disseritur, conveniat quid sit id, de quo disseratur. + +Hoc positum in Phaedro a Platone probavit Epicurus sensitque in omni +disputatione id fieri oportere. Sed quod proximum fuit non vidit. Negat +enim definiri rem placere, sine quo fieri interdum non potest, ut inter +eos, qui ambigunt, conveniat quid sit id, de quo agatur, velut in hoc +ipso, de quo nunc disputamus. Quaerimus enim finem bonorum. Possumusne +hic scire qualis sit, nisi contulerimus inter nos, cum finem bonorum +dixerimus, quid finis, quid etiam sit ipsum bonum? + +Atqui haec patefactio quasi rerum opertarum, cum quid quidque sit +aperitur, definitio est. Qua tu etiam inprudens utebare non numquam. Nam +hunc ipsum sive finem sive extremum sive ultimum definiebas id esse, quo +omnia, quae recte fierent, referrentur neque id ipsum usquam referretur. +Praeclare hoc quidem. Bonum ipsum etiam quid esset, fortasse, si opus +fuisset, definisses aut quod esset natura adpetendum aut quod prodesset +aut quod iuvaret aut quod liberet modo. Nunc idem, nisi molestum est, +quoniam tibi non omnino displicet definire et id facis, cum vis, velim +definias quid sit voluptas, de quo omnis haec quaestio est. + +Quis, quaeso, inquit, est, qui quid sit voluptas nesciat, aut qui, quo +magis id intellegat, definitionem aliquam desideret? Me ipsum esse +dicerem, inquam, nisi mihi viderer habere bene cognitam voluptatem et +satis firme conceptam animo atque comprehensam. Nunc autem dico ipsum +Epicurum nescire et in eo nutare eumque, qui crebro dicat diligenter +oportere exprimi quae vis subiecta sit vocibus, non intellegere +interdum, quid sonet haec vox voluptatis, id est quae res huic voci +subiciatur. Tum ille ridens: Hoc vero, inquit, optimum, ut is, qui finem +rerum expetendarum voluptatem esse dicat, id extremum, id ultimum +bonorum, id ipsum quid et quale sit, nesciat! Atqui, inquam, aut +Epicurus quid sit voluptas aut omnes mortales, qui ubique sunt, +nesciunt. Quonam, inquit, modo? Quia voluptatem hanc esse sentiunt +omnes, quam sensus accipiens movetur et iucunditate quadam perfunditur. + +Quid ergo? Istam voluptatem, inquit, Epicurus ignorat? Non semper, +inquam; nam interdum nimis etiam novit, quippe qui testificetur ne +intellegere quidem se posse ubi sit aut quod sit ullum bonum praeter +illud, quod cibo et potione et aurium delectatione et obscena voluptate +capiatur. An haec ab eo non dicuntur? Quasi vero me pudeat, inquit, +istorum, aut non possim quem ad modum ea dicantur ostendere! Ego vero +non dubito, inquam, quin facile possis, nec est quod te pudeat sapienti +adsentiri, qui se unus, quod sciam, sapientem profiteri sit ausus. Nam +Metrodorum non puto ipsum professum, sed, cum appellaretur ab Epicuro, +repudiare tantum beneficium noluisse; septem autem illi non suo, sed +populorum suffragio omnium nominati sunt. + +Verum hoc loco sumo verbis his eandem certe vim voluptatis Epicurum +nosse quam ceteros. Omnes enim iucundum motum, quo sensus hilaretur. +Graece […], Latine voluptatem vocant. Quid est igitur, inquit, quod +requiras? Dicam, inquam, et quidem discendi causa magis, quam quo te aut +Epicurum reprehensum velim. Ego quoque, inquit, didicerim libentius si +quid attuleris, quam te reprehenderim. Tenesne igitur, inquam, +Hieronymus Rhodius quid dicat esse summum bonum, quo putet omnia referri +oportere? Teneo, inquit, finem illi videri nihil dolere. Quid? Idem +iste, inquam, de voluptate quid sentit? + +Negat esse eam, inquit, propter se expetendam. Aliud igitur esse censet +gaudere, aliud non dolere. Et quidem, inquit, vehementer errat; nam, ut +paulo ante docui, augendae voluptatis finis est doloris omnis amotio. +Non dolere, inquam, istud quam vim habeat postea videro; aliam vero vim +voluptatis esse, aliam nihil dolendi, nisi valde pertinax fueris, +concedas necesse est. Atqui reperies, inquit, in hoc quidem pertinacem; +dici enim nihil potest verius. Estne, quaeso, inquam, sitienti in +bibendo voluptas? Quis istud possit, inquit, negare? Eademne, quae +restincta siti? Immo alio genere; restincta enim sitis stabilitatem +voluptatis habet, inquit, illa autem voluptas ipsius restinctionis in +motu est. Cur igitur, inquam, res tam dissimiles eodem nomine appellas? + +Quid paulo ante, inquit, dixerim nonne meministi, cum omnis dolor +detractus esset, variari, non augeri voluptatem? Memini vero, inquam; +sed tu istuc dixti bene Latine, parum plane. Varietas enim Latinum +verbum est, idque proprie quidem in disparibus coloribus dicitur, sed +transfertur in multa disparia: varium poema, varia oratio, varii mores, +varia fortuna, voluptas etiam varia dici solet, cum percipitur e multis +dissimilibus rebus dissimilis efficientibus voluptates. Eam si +varietatem diceres, intellegerem, ut etiam non dicente te intellego; +ista varietas quae sit non satis perspicio, quod ais, cum dolore +careamus, tum in summa voluptate nos esse, cum autem vescamur iis rebus, +quae dulcem motum afferant sensibus, tum esse in motu voluptatem, qui +faciat varietatem voluptatum, sed non augeri illam non dolendi +voluptatem, quam cur voluptatem appelles nescio. + +An potest, inquit ille, quicquam esse suavius quam nihil dolere? Immo +sit sane nihil melius, inquam–nondum enim id quaero–, num propterea idem +voluptas est, quod, ut ita dicam, indolentia? Plane idem, inquit, et +maxima quidem, qua fieri nulla maior potest. Quid dubitas igitur, +inquam, summo bono a te ita constituto, ut id totum in non dolendo sit, +id tenere unum, id tueri, id defendere? + +Quid enim necesse est, tamquam meretricem in matronarum coetum, sic +voluptatem in virtutum concilium adducere? Invidiosum nomen est, infame, +suspectum. Itaque hoc frequenter dici solet a vobis, non intellegere +nos, quam dicat Epicurus voluptatem. Quod quidem mihi si quando dictum +est–est autem dictum non parum saepe–, etsi satis clemens sum in +disputando, tamen interdum soleo subirasci. Egone non intellego, quid +sit […] Graece, Latine voluptas? Utram tandem linguam nescio? Deinde qui +fit, ut ego nesciam, sciant omnes, quicumque Epicurei esse voluerunt? +Quod vestri quidem vel optime disputant, nihil opus esse eum, qui +philosophus futurus sit, scire litteras. Itaque ut maiores nostri ab +aratro adduxerunt Cincinnatum illum, ut dictator esset, sic vos de pagis +omnibus colligitis bonos illos quidem viros, sed certe non pereruditos. + +Ergo illi intellegunt quid Epicurus dicat, ego non intellego? Ut scias +me intellegere, primum idem esse dico voluptatem, quod ille […]. Et +quidem saepe quaerimus verbum Latinum par Graeco et quod idem valeat; +hic nihil fuit, quod quaereremus. Nullum inveniri verbum potest quod +magis idem declaret Latine, quod Graece, quam declarat voluptas. Huic +verbo omnes, qui ubique sunt, qui Latine sciunt, duas res subiciunt, +laetitiam in animo, commotionem suavem iucunditatis in corpore. Nam et +ille apud Trabeam ‘voluptatem animi nimiam’ laetitiam dicit eandem, quam +ille Caecilianus, qui ‘omnibus laetitiis laetum’ esse se narrat. Sed hoc +interest, quod voluptas dicitur etiam in animo–vitiosa res, ut Stoici +putant, qui eam sic definiunt: sublationem animi sine ratione opinantis +se magno bono frui–, non dicitur laetitia nec gaudium in corpore. + +In eo autem voluptas omnium Latine loquentium more ponitur, cum +percipitur ea, quae sensum aliquem moveat, iucunditas. Hanc quoque +iucunditatem, si vis, transfer in animum; iuvare enim in utroque +dicitur, ex eoque iucundum, modo intellegas inter illum, qui dicat: +‘Tanta laetitia auctus sum, ut nihil +constet’, et eum, qui: ‘Nunc demum mihi +animus ardet’, quorum alter laetitia gestiat, alter dolore +crucietur, esse illum medium: ‘Quamquam haec inter nos +nuper notitia admodum est’, qui nec laetetur nec angatur, +itemque inter eum, qui potiatur corporis expetitis voluptatibus, et eum, +qui crucietur summis doloribus, esse eum, qui utroque careat. + +Satisne igitur videor vim verborum tenere, an sum etiam nunc vel Graece +loqui vel Latine docendus? Et tamen vide, ne, si ego non intellegam quid +Epicurus loquatur, cum Graece, ut videor, luculenter sciam, sit aliqua +culpa eius, qui ita loquatur, ut non intellegatur. Quod duobus modis +sine reprehensione fit, si aut de industria facias, ut Heraclitus, +‘cognomento qui […] perhibetur, quia de natura nimis obscure memoravit’, +aut cum rerum obscuritas, non verborum, facit ut non intellegatur +oratio, qualis est in Timaeo Platonis. Epicurus autem, ut opinor, nec +non vult, si possit, plane et aperte loqui, nec de re obscura, ut +physici, aut artificiosa, ut mathematici, sed de illustri et facili et +iam in vulgus pervagata loquitur. Quamquam non negatis nos intellegere +quid sit voluptas, sed quid ille dicat. E quo efficitur, non ut nos non +intellegamus quae vis sit istius verbi, sed ut ille suo more loquatur, +nostrum neglegat. + +Si enim idem dicit, quod Hieronymus, qui censet summum bonum esse sine +ulla molestia vivere, cur mavult dicere voluptatem quam vacuitatem +doloris, ut ille facit, qui quid dicat intellegit? Sin autem voluptatem +putat adiungendam eam, quae sit in motu–sic enim appellat hanc dulcem: +‘in motu’, illam nihil dolentis ‘in stabilitate’–, quid tendit? Cum +efficere non possit ut cuiquam, qui ipse sibi notus sit, hoc est qui +suam naturam sensumque perspexerit, vacuitas doloris et voluptas idem +esse videatur. Hoc est vim afferre, Torquate, sensibus, extorquere ex +animis cognitiones verborum, quibus inbuti sumus. Quis enim est, qui non +videat haec esse in natura rerum tria? Unum, cum in voluptate sumus, +alterum, cum in dolore, tertium hoc, in quo nunc equidem sum, credo item +vos, nec in dolore nec in voluptate; ut in voluptate sit, qui epuletur, +in dolore, qui torqueatur. Tu autem inter haec tantam multitudinem +hominum interiectam non vides nec laetantium nec dolentium? + +Non prorsus, inquit, omnisque, qui sine dolore sint, in voluptate, et ea +quidem summa, esse dico. Ergo in eadem voluptate eum, qui alteri misceat +mulsum ipse non sitiens, et eum, qui illud sitiens bibat? Tum ille: +Finem, inquit, interrogandi, si videtur, quod quidem ego a principio ita +me malle dixeram hoc ipsum providens, dialecticas captiones. Rhetorice +igitur, inquam, nos mavis quam dialectice disputare? Quasi vero, inquit, +perpetua oratio rhetorum solum, non etiam philosophorum sit. Zenonis +est, inquam, hoc Stoici. Omnem vim loquendi, ut iam ante Aristoteles, in +duas tributam esse partes, rhetoricam palmae, dialecticam pugni similem +esse dicebat, quod latius loquerentur rhetores, dialectici autem +compressius. Obsequar igitur voluntati tuae dicamque, si potero, +rhetorice, sed hac rhetorica philosophorum, non nostra illa forensi, +quam necesse est, cum populariter loquatur, esse interdum paulo +hebetiorem. + +Sed dum dialecticam, Torquate, contemnit Epicurus, quae una continet +omnem et perspiciendi quid in quaque re sit scientiam et iudicandi quale +quidque sit et ratione ac via disputandi, ruit in dicendo, ut mihi +quidem videtur, nec ea, quae docere vult, ulla arte distinguit, ut haec +ipsa, quae modo loquebamur. Summum a vobis bonum voluptas dicitur. +Aperiendum est igitur, quid sit voluptas; aliter enim explicari, quod +quaeritur, non potest. Quam si explicavisset, non tam haesitaret. Aut +enim eam voluptatem tueretur, quam Aristippus, id est, qua sensus +dulciter ac iucunde movetur, quam etiam pecudes, si loqui possent, +appellarent voluptatem, aut, si magis placeret suo more loqui, quam ut +Omnes Danai atque Mycenenses. Attica pubes reliquique Graeci, qui hoc +anapaesto citantur, hoc non dolere solum voluptatis nomine appellaret, +illud Aristippeum contemneret, aut, si utrumque probaret, ut probat, +coniungeret doloris vacuitatem cum voluptate et duobus ultimis uteretur. + +Multi enim et magni philosophi haec ultima bonorum iuncta fecerunt, ut +Aristoteles virtutis usum cum vitae perfectae prosperitate coniunxit, +Callipho adiunxit ad honestatem voluptatem, Diodorus ad eandem +honestatem addidit vacuitatem doloris. Idem fecisset Epicurus, si +sententiam hanc, quae nunc Hieronymi est, coniunxisset cum Aristippi +vetere sententia. Illi enim inter se dissentiunt. Propterea singulis +finibus utuntur et, cum uterque Graece egregie loquatur, nec Aristippus, +qui voluptatem summum bonum dicit, in voluptate ponit non dolere, neque +Hieronymus, qui summum bonum statuit non dolere, voluptatis nomine +umquam utitur pro illa indolentia, quippe qui ne in expetendis quidem +rebus numeret voluptatem. + +Duae sunt enim res quoque, ne tu verba solum putes. Unum est sine dolore +esse, alterum cum voluptate. Vos ex his tam dissimilibus rebus non modo +nomen unum –nam id facilius paterer–, sed etiam rem unam ex duabus +facere conamini, quod fieri nullo modo potest. Hic, qui utrumque probat, +ambobus debuit uti, sicut facit re, neque tamen dividit verbis. Cum enim +eam ipsam voluptatem, quam eodem nomine omnes appellamus, laudat locis +plurimis, audet dicere ne suspicari quidem se ullum bonum seiunctum ab +illo Aristippeo genere voluptatis, atque ibi hoc dicit, ubi omnis eius +est oratio de summo bono. In alio vero libro, in quo breviter +comprehensis gravissimis sententiis quasi oracula edidisse sapientiae +dicitur, scribit his verbis, quae nota tibi profecto, Torquate, +sunt–quis enim vestrum non edidicit Epicuri […], id est quasi maxime +ratas, quia gravissimae sint ad beate vivendum breviter enuntiatae +sententiae?–animadverte igitur rectene hanc sententiam interpreter: + +‘Si ea, quae sunt luxuriosis efficientia voluptatum, liberarent eos +deorum et mortis et doloris metu docerentque qui essent fines +cupiditatum, nihil haberemus (quod reprehenderemus), cum undique +complerentur voluptatibus nec haberent ulla ex parte aliquid aut dolens +aut aegrum, id est autem malum.’ Hoc loco tenere se Triarius non potuit. +Obsecro, inquit, Torquate, haec dicit Epicurus? Quod mihi quidem visus +est, cum sciret, velle tamen confitentem audire Torquatum. At ille non +pertimuit saneque fidenter: Istis quidem ipsis verbis, inquit; sed quid +sentiat, non videtis. Si alia sentit, inquam, alia loquitur, numquam +intellegam quid sentiat; sed plane dicit quod intellegit. Idque si ita +dicit, non esse reprehendendos luxuriosos, si sapientes sint, dicit +absurde, similiter et si dicat non reprehendendos parricidas, si nec +cupidi sint nec deos metuant nec mortem nec dolorem. Et tamen quid +attinet luxuriosis ullam exceptionem dari aut fingere aliquos, qui, cum +luxuriose viverent, a summo philosopho non reprehenderentur eo nomine +dumtaxat, cetera caverent? + +Sed tamen nonne reprehenderes, Epicure, luxuriosos ob eam ipsam causam, +quod ita viverent, ut persequerentur cuiusque modi voluptates, cum esset +praesertim, ut ais tu, summa voluptas nihil dolere? Atqui reperiemus +asotos primum ita non religiosos, ut edint de patella, deinde ita mortem +non timentes, ut illud in ore habeant ex Hymnide: ‘Mihi sex menses satis +sunt vitae, septimum Orco spondeo’. Iam doloris medicamenta illa +Epicurea tamquam de narthecio proment: ‘Si gravis, brevis; si longus, +levis.’ Unum nescio, quo modo possit, si luxuriosus sit, finitas +cupiditates habere. + +Quid ergo attinet dicere: ‘Nihil haberem, quod reprehenderem, si finitas +cupiditates haberent’? Hoc est dicere: ‘Non reprehenderem asotos, si non +essent asoti.’ isto modo ne improbos quidem, si essent boni viri. Hic +homo severus luxuriam ipsam per se reprehendendam non putat, et hercule, +Torquate, ut verum loquamur, si summum bonum voluptas est, rectissime +non putat. Noli enim mihi fingere asotos, ut soletis, qui in mensam +vomant, et qui de conviviis auferantur crudique postridie se rursus +ingurgitent, qui solem, ut aiunt, nec occidentem umquam viderint nec +orientem, qui consumptis patrimoniis egeant. Nemo nostrum istius generis +asotos iucunde putat vivere. Mundos, elegantis, optimis cocis, +pistoribus, piscatu, aucupio, venatione, his omnibus exquisitis, +vitantes cruditatem, quibus vinum defusum e pleno sit chrysizon, ut ait +Lucilius, cui nihildum situlus et sacculus abstulerit, adhibentis ludos +et quae sequuntur, illa, quibus detractis clamat Epicurus se nescire +quid sit bonum; adsint etiam formosi pueri, qui ministrent, respondeat +his vestis, argentum, Corinthium, locus ipse, aedificium–hos ergo asotos +bene quidem vivere aut beate numquam dixerim. + +Ex quo efficitur, non ut voluptas ne sit voluptas, sed ut voluptas non +sit summum bonum. Nec ille, qui Diogenem Stoicum adolescens, post autem +Panaetium audierat, Laelius, eo dictus est sapiens, quod non +intellegeret quid suavissimum esset–nec enim sequitur, ut, cui cor +sapiat, ei non sapiat palatus–, sed quia parvi id duceret. O lapathe, ut +iactare, nec es satis cognitu’ qui sis! In quo [cognitu] Laelius +clamores […] ille so lebat Edere compellans gumias ex ordine nostros. +Praeclare Laelius, et recte […], illudque vere: O Publi, o gurges, +Galloni! Es homo miser, inquit. Cenasti in vita numquam bene, cum omnia +in ista Consumis squilla atque acupensere cum decimano. Is haec +loquitur, qui in voluptate nihil ponens negat eum bene cenare, qui omnia +ponat in voluptate, et tamen non negat libenter cenasse umquam +Gallonium– mentiretur enim–, sed bene. Ita graviter et severe voluptatem +secrevit a bono. Ex quo illud efficitur, qui bene cenent omnis libenter +cenare, qui libenter, non continuo bene. + +Semper Laelius bene. Quid bene? Dicet Lucilius: ‘cocto, condito’, sed +cedo caput cenae: ‘sermone bono’, quid ex eo? ‘si quaeris, libenter’; +veniebat enim ad cenam, ut animo quieto satiaret desideria naturae. +Recte ergo is negat umquam bene cenasse Gallonium, recte miserum, cum +praesertim in eo omne studium consumeret. Quem libenter cenasse nemo +negat. Cur igitur non bene? Quia, quod bene, id recte, frugaliter, +honeste; ille porro [male] prave, nequiter, turpiter cenabat; non igitur +(bene). Nec lapathi suavitatem acupenseri Galloni Laelius anteponebat, +sed suavitatem ipsam neglegebat; quod non faceret, si in voluptate +summum bonum poneret. + +Semovenda est igitur voluptas, non solum ut recta sequamini, sed etiam +ut loqui deceat frugaliter. Possumusne ergo in vita summum bonum dicere, +cum id ne in cena quidem posse videamur? Quo modo autem philosophus +loquitur? ‘Tria genera cupiditatum, naturales et necessariae, naturales +et non necessariae, nec naturales nec necessariae.’ primum divisit +ineleganter; duo enim genera quae erant, fecit tria. Hoc est non +dividere, sed frangere. Qui haec didicerunt, quae ille contemnit, sic +solent: ‘Duo genera cupiditatum, naturales et inanes, naturalium duo, +necessariae et non necessariae.’ confecta res esset. Vitiosum est enim +in dividendo partem in genere numerare. + +Sed hoc sane concedamus. Contemnit enim disserendi elegantiam, confuse +loquitur. Gerendus est mos, modo recte sentiat. Et quidem illud ipsum +non nimium probo et tantum patior, philosophum loqui de cupiditatibus +finiendis. An potest cupiditas finiri? Tollenda est atque extrahenda +radicitus. Quis est enim, in quo sit cupiditas, quin recte cupidus dici +possit? Ergo et avarus erit, sed finite, et adulter, verum habebit +modum, et luxuriosus eodem modo. Qualis ista philosophia est, quae non +interitum afferat pravitatis, sed sit contenta mediocritate vitiorum? +Quamquam in hac divisione rem ipsam prorsus probo, elegantiam desidero. +Appellet haec desideria naturae, cupiditatis nomen servet alio, ut eam, +cum de avaritia, cum de intemperantia, cum de maximis vitiis loquetur, +tamquam capitis accuset. + +Sed haec quidem liberius ab eo dicuntur et saepius. Quod equidem non +reprehendo; est enim tanti philosophi tamque nobilis audacter sua +decreta defendere. Sed tamen ex eo, quod eam voluptatem, quam omnes +gentes hoc nomine appellant, videtur amplexari saepe vehementius, in +magnis interdum versatur angustiis, ut hominum conscientia remota nihil +tam turpe sit, quod voluptatis causa non videatur esse facturus. Deinde, +ubi erubuit–vis enim est permagna naturae–, confugit illuc, ut neget +accedere quicquam posse ad voluptatem nihil dolentis. At iste non +dolendi status non vocatur voluptas. ‘Non laboro’, inquit, ‘de nomine’. +Quid, quod res alia tota est? ‘Reperiam multos, vel innumerabilis +potius, non tam curiosos nec tam molestos, quam vos estis, quibus, quid +velim, facile persuadeam.’ quid ergo dubitamus, quin, si non dolere +voluptas sit summa, non esse in voluptate dolor sit maximus? Cur id non +ita fit? ‘Quia dolori non voluptas contraria est, sed doloris privatio.’ + +Hoc vero non videre, maximo argumento esse voluptatem illam, qua sublata +neget se intellegere omnino quid sit bonum–eam autem ita persequitur: +quae palato percipiatur, quae auribus; cetera addit, quae si appelles, +honos praefandus sit–hoc igitur, quod solum bonum severus et gravis +philosophus novit, idem non videt ne expetendum quidem esse, quod eam +voluptatem hoc eodem auctore non desideremus, cum dolore careamus. + +Quam haec sunt contraria! Hic si definire, si dividere didicisset, si +loquendi vim, si denique consuetudinem verborum teneret, numquam in +tantas salebras incidisset. Nunc vides, quid faciat. Quam nemo umquam +voluptatem appellavit, appellat; quae duo sunt, unum facit. Hanc in motu +voluptatem –sic enim has suaves et quasi dulces voluptates +appellat–interdum ita extenuat, ut M’. Curium putes loqui, interdum ita +laudat, ut quid praeterea sit bonum neget se posse ne suspicari quidem. +Quae iam oratio non a philosopho aliquo, sed a censore opprimenda est. +Non est enim vitium in oratione solum, sed etiam in moribus. Luxuriam +non reprehendit, modo sit vacua infinita cupiditate et timore. Hoc loco +discipulos quaerere videtur, ut, qui asoti esse velint, philosophi ante +fiant. + +A primo, ut opinor, animantium ortu petitur origo summi boni. ‘Simul +atque natum animal est, gaudet voluptate et eam appetit ut bonum, +aspernatur dolorem ut malum.’ De malis autem et bonis ab iis animalibus, +quae nondum depravata sint, ait optime iudicari. Haec et tu ita +posuisti, et verba vestra sunt. Quam multa vitiosa! Summum enim bonum et +malum vagiens puer utra voluptate diiudicabit, stante an movente? +Quoniam, si dis placet, ab Epicuro loqui discimus. Si stante, hoc natura +videlicet vult, salvam esse se, quod concedimus; si movente, quod tamen +dicitis, nulla turpis voluptas erit, quae praetermittenda sit, et simul +non proficiscitur animal illud modo natum a summa voluptate, quae est a +te posita in non dolendo. + +Nec tamen argumentum hoc Epicurus a parvis petivit aut etiam a bestiis, +quae putat esse specula naturae, ut diceret ab iis duce natura hanc +voluptatem expeti nihil dolendi. Nec enim haec movere potest appetitum +animi, nec ullum habet ictum, quo pellat animum, status hic non dolendi, +itaque in hoc eodem peccat Hieronymus. At ille pellit, qui permulcet +sensum voluptate. Itaque Epicurus semper hoc utitur, ut probet +voluptatem natura expeti, quod ea voluptas, quae in motu sit, et parvos +ad se alliciat et bestias, non illa stabilis, in qua tantum inest nihil +dolere. Qui igitur convenit ab alia voluptate dicere naturam proficisci, +in alia summum bonum ponere? + +Bestiarum vero nullum iudicium puto. Quamvis enim depravatae non sint, +pravae tamen esse possunt. Ut bacillum aliud est inflexum et incurvatum +de industria, aliud ita natum, sic ferarum natura non est illa quidem +depravata mala disciplina, sed natura sua. Nec vero ut voluptatem +expetat, natura movet infantem, sed tantum ut se ipse diligat, ut +integrum se salvumque velit. Omne enim animal, simul et ortum est, se +ipsum et omnes partes suas diligit duasque, quae maximae sunt, in primis +amplectitur, animum et corpus, deinde utriusque partes. Nam sunt et in +animo praecipua quaedam et in corpore, quae cum leviter agnovit, tum +discernere incipit, ut ea, quae prima data sunt natura, appetat +asperneturque contraria. + +In his primis naturalibus voluptas insit necne, magna quaestio est. +Nihil vero putare esse praeter voluptatem, non membra, non sensus, non +ingenii motum, non integritatem corporis, non valitudinem [corporis], +summae mihi videtur inscitiae. Atque ab isto capite fluere necesse est +omnem rationem bonorum et malorum. Polemoni et iam ante Aristoteli ea +prima visa sunt, quae paulo ante dixi. Ergo nata est sententia veterum +Academicorum et Peripateticorum, ut finem bonorum dicerent secundum +naturam vivere, id est virtute adhibita frui primis a natura datis. +Callipho ad virtutem nihil adiunxit nisi voluptatem, Diodorus vacuitatem +doloris. ** his omnibus, quos dixi, consequentes fines sunt bonorum, +Aristippo simplex voluptas, Stoicis consentire naturae, quod esse volunt +e virtute, id est honeste, vivere, quod ita interpretantur: vivere cum +intellegentia rerum earum, quae natura evenirent, eligentem ea, quae +essent secundum naturam, reicientemque contraria. + +Ita tres sunt fines expertes honestatis, unus Aristippi vel Epicuri, +alter Hieronymi, Carneadi tertius, tres, in quibus honestas cum aliqua +accessione, Polemonis, Calliphontis, Diodori, una simplex, cuius Zeno +auctor, posita in decore tota, id est in honestate; nam Pyrrho, Aristo, +Erillus iam diu abiecti. Reliqui sibi constiterunt, ut extrema cum +initiis convenirent, ut Aristippo voluptas, Hieronymo doloris vacuitas, +Carneadi frui principiis naturalibus esset extremum. Epicurus autem cum +in prima commendatione voluptatem dixisset, si eam, quam Aristippus, +idem tenere debuit ultimum bonorum, quod ille; sin eam, quam Hieronymus, +(ne) fecisset idem, ut voluptatem illam Aristippi in prima commendatione +poneret. + +Nam quod ait sensibus ipsis iudicari voluptatem bonum esse, dolorem +malum, plus tribuit sensibus, quam nobis leges permittunt, (cum) +privatarum litium iudices sumus. Nihil enim possumus iudicare, nisi quod +est nostri iudicii–in quo frustra iudices solent, cum sententiam +pronuntiant, addere: ‘si quid mei iudicii est’; si enim non fuit eorum +iudicii, nihilo magis hoc non addito illud est iudicatum–. Quid iudicant +sensus? Dulce amarum, leve asperum, prope longe, stare movere, quadratum +rotundum. + +Aequam igitur pronuntiabit sententiam ratio adhibita primum divinarum +humanarumque rerum scientia, quae potest appellari rite sapientia, +deinde adiunctis virtutibus, quas ratio rerum omnium dominas, tu +voluptatum satellites et ministras esse voluisti. Quarum adeo omnium +sententia pronuntiabit primum de voluptate nihil esse ei loci, non modo +ut sola ponatur in summi boni sede, quam quaerimus, sed ne illo quidem +modo, ut ad honestatem applicetur. De vacuitate doloris eadem sententia +erit. + +Reicietur etiam Carneades, nec ulla de summo bono ratio aut voluptatis +non dolendive particeps aut honestatis expers probabitur. Ita relinquet +duas, de quibus etiam atque etiam consideret. Aut enim statuet nihil +esse bonum nisi honestum, nihil malum nisi turpe, cetera aut omnino +nihil habere momenti aut tantum, ut nec expetenda nec fugienda, sed +eligenda modo aut reicienda sint, aut anteponet eam, quam cum honestate +ornatissimam, tum etiam ipsis initiis naturae et totius perfectione +vitae locupletatam videbit. Quod eo liquidius faciet, si perspexerit +rerum inter eas verborumne sit controversia. + +Huius ego nunc auctoritatem sequens idem faciam. Quantum enim potero, +minuam contentiones omnesque simplices sententias eorum, in quibus nulla +inest virtutis adiunctio, omnino a philosophia semovendas putabo, primum +Aristippi Cyrenaicorumque omnium, quos non est veritum in ea voluptate, +quae maxima dulcedine sensum moveret, summum bonum ponere contemnentis +istam vacuitatem doloris. + +Hi non viderunt, ut ad cursum equum, ad arandum bovem, ad indagandum +canem, sic hominem ad duas res, ut ait Aristoteles, ad intellegendum et +agendum, esse natum quasi mortalem deum, contraque ut tardam aliquam et +languidam pecudem ad pastum et ad procreandi voluptatem hoc divinum +animal ortum esse voluerunt, quo nihil mihi videtur absurdius. + +Atque haec contra Aristippum, qui eam voluptatem non modo summam, sed +solam etiam ducit, quam omnes unam appellamus voluptatem. Aliter autem +vobis placet. Sed ille, ut dixi, vitiose. Nec enim figura corporis nec +ratio excellens ingenii humani significat ad unam hanc rem natum +hominem, ut frueretur voluptatibus. Nec vero audiendus Hieronymus, cui +summum bonum est idem, quod vos interdum vel potius nimium saepe +dicitis, nihil dolere. Non enim, si malum est dolor, carere eo malo +satis est ad bene vivendum. Hoc dixerit potius Ennius: ‘Nimium boni est, +cui nihil est mali’. Nos beatam vitam non depulsione mali, sed adeptione +boni iudicemus, nec eam cessando, sive gaudentem, ut Aristippus, sive +non dolentem, ut hic, sed agendo aliquid considerandove quaeramus. + +Quae possunt eadem contra Carneadeum illud summum bonum dici, quod is +non tam, ut probaret, protulit, quam ut Stoicis, quibuscum bellum +gerebat, opponeret. Id autem eius modi est, ut additum ad virtutem +auctoritatem videatur habiturum et expleturum cumulate vitam beatam, de +quo omnis haec quaestio est. Nam qui ad virtutem adiungunt vel +voluptatem, quam unam virtus minimi facit, vel vacuitatem doloris, quae +etiamsi malo caret, tamen non est summum bonum, accessione utuntur non +ita probabili, nec tamen, cur id tam parce tamque restricte faciant, +intellego. Quasi enim emendum eis sit, quod addant ad virtutem, primum +vilissimas res addunt, dein singulas potius, quam omnia, quae prima +natura approbavisset, ea cum honestate coniungerent. + +Quae quod Aristoni et Pyrrhoni omnino visa sunt pro nihilo, ut inter +optime valere et gravissime aegrotare nihil prorsus dicerent interesse, +recte iam pridem contra eos desitum est disputari. Dum enim in una +virtute sic omnia esse voluerunt, ut eam rerum selectione expoliarent +nec ei quicquam, aut unde oriretur, darent, aut ubi niteretur, virtutem +ipsam, quam amplexabantur, sustulerunt. Erillus autem ad scientiam omnia +revocans unum quoddam bonum vidit, sed nec optimum nec quo vita +gubernari possit. Itaque hic ipse iam pridem est reiectus; post enim +Chrysippum (eum) non sane est disputatum. Restatis igitur vos; nam cum +Academicis incerta luctatio est, qui nihil affirmant et quasi desperata +cognitione certi id sequi volunt, quodcumque veri simile videatur. + +Cum Epicuro autem hoc plus est negotii, quod e duplici genere voluptatis +coniunctus est, quodque et ipse et amici eius et multi postea defensores +eius sententiae fuerunt, et nescio quo modo, is qui auctoritatem minimam +habet, maximam vim, populus cum illis facit. Quos nisi redarguimus, +omnis virtus, omne decus, omnis vera laus deserenda est. Ita ceterorum +sententiis semotis relinquitur non mihi cum Torquato, sed virtuti cum +voluptate certatio. Quam quidem certationem homo et acutus et diligens, +Chrysippus, non contemnit totumque discrimen summi boni in earum +comparatione positum putat. Ego autem existimo, si honestum esse aliquid +ostendero, quod sit ipsum vi sua propter seque expetendum, iacere vestra +omnia. Itaque eo, quale sit, breviter, ut tempus postulat, constituto +accedam ad omnia tua, Torquate, nisi memoria forte defecerit. + +Honestum igitur id intellegimus, quod tale est, ut detracta omni +utilitate sine ullis praemiis fructibusve per se ipsum possit iure +laudari. Quod quale sit, non tam definitione, qua sum usus, intellegi +potest, quamquam aliquantum potest, quam communi omnium iudicio et +optimi cuiusque studiis atque factis, qui permulta ob eam unam causam +faciunt, quia decet, quia rectum, quia honestum est, etsi nullum +consecuturum emolumentum vident. Homines enim, etsi aliis multis, tamen +hoc uno plurimum a bestiis differunt, quod rationem habent a natura +datam mentemque acrem et vigentem celerrimeque multa simul agitantem et, +ut ita dicam, sagacem, quae et causas rerum et consecutiones videat et +similitudines transferat et disiuncta coniungat et cum praesentibus +futura copulet omnemque complectatur vitae consequentis statum. Eademque +ratio fecit hominem hominum adpetentem cumque iis natura et sermone et +usu congruentem, ut profectus a caritate domesticorum ac suorum serpat +longius et se implicet primum civium, deinde omnium mortalium societate +atque, ut ad Archytam scripsit Plato, non sibi se soli natum meminerit, +sed patriae, sed suis, ut perexigua pars ipsi relinquatur. + +Et quoniam eadem natura cupiditatem ingenuit homini veri videndi, quod +facillime apparet, cum vacui curis etiam quid in caelo fiat scire +avemus, his initiis inducti omnia vera diligimus, id est fidelia, +simplicia, constantia, tum vana, falsa, fallentia odimus, ut fraudem, +periurium, malitiam, iniuriam. Eadem ratio habet in se quiddam amplum +atque magnificum, ad imperandum magis quam ad parendum accommodatum, +omnia humana non tolerabilia solum, sed etiam levia ducens, altum +quiddam et excelsum, nihil timens, nemini cedens, semper invictum. + +Atque his tribus generibus honestorum notatis quartum sequitur et in +eadem pulchritudine et aptum ex illis tribus, in quo inest ordo et +moderatio. Cuius similitudine perspecta in formarum specie ac dignitate +transitum est ad honestatem dictorum atque factorum. Nam ex his tribus +laudibus, quas ante dixi, et temeritatem reformidat et non audet cuiquam +aut dicto protervo aut facto nocere vereturque quicquam aut facere aut +eloqui, quod parum virile videatur. + +Habes undique expletam et perfectam, Torquate, formam honestatis, quae +tota quattuor his virtutibus, quae a te quoque commemoratae sunt, +continetur. Hanc se tuus Epicurus omnino ignorare dicit quam aut qualem +esse velint qui honestate summum bonum metiantur. Si enim ad honestatem +omnia referant neque in ea voluptatem dicant inesse, ait eos voce inani +sonare– his enim ipsis verbis utitur–neque intellegere nec videre sub +hanc vocem honestatis quae sit subicienda sententia. Ut enim consuetudo +loquitur, id solum dicitur honestum, quod est populari fama gloriosum. +‘Quod’, inquit, ‘quamquam voluptatibus quibusdam est saepe iucundius, +tamen expetitur propter voluptatem.’ + +Videsne quam sit magna dissensio? Philosophus nobilis, a quo non solum +Graecia et Italia, sed etiam omnis barbaria commota est, honestum quid +sit, si id non sit in voluptate, negat se intellegere, nisi forte illud, +quod multitudinis rumore laudetur. Ego autem hoc etiam turpe esse saepe +iudico et, si quando turpe non sit, tum esse non turpe, cum id a +multitudine laudetur, quod sit ipsum per se rectum atque laudabile, non +ob eam causam tamen illud dici esse honestum, quia laudetur a multis, +sed quia tale sit, ut, vel si ignorarent id homines, vel si +obmutuissent, sua tamen pulchritudine esset specieque laudabile. Itaque +idem natura victus, cui obsisti non potest, dicit alio loco id, quod a +te etiam paulo ante dictum est, non posse iucunde vivi nisi etiam +honeste. + +Quid nunc ‘honeste’ dicit? Idemne, quod iucunde? Ergo ita: non posse +honeste vivi, nisi honeste vivatur? An nisi populari fama? Sine ea +igitur iucunde negat posse (se) vivere? Quid turpius quam sapientis +vitam ex insipientium sermone pendere? Quid ergo hoc loco intellegit +honestum? Certe nihil nisi quod possit ipsum propter se iure laudari. +Nam si propter voluptatem, quae est ista laus, quae possit e macello +peti? Non is vir est, ut, cum honestatem eo loco habeat, ut sine ea +iucunde neget posse vivi, illud honestum, quod populare sit, sentiat et +sine eo neget iucunde vivi posse, aut quicquam aliud honestum +intellegat, nisi quod sit rectum ipsumque per se sua vi, sua natura, sua +sponte laudabile. + +Itaque, Torquate, cum diceres clamare Epicurum non posse iucunde vivi, +nisi honeste et sapienter et iuste viveretur, tu ipse mihi gloriari +videbare. Tanta vis inerat in verbis propter earum rerum, quae +significabantur his verbis, dignitatem, ut altior fieres, ut interdum +insisteres, ut nos intuens quasi testificarere laudari honestatem et +iustitiam aliquando ab Epicuro. Quam te decebat iis verbis uti, quibus +si philosophi non uterentur, philosophia omnino non egeremus! Istorum +enim verborum amore, quae perraro appellantur ab Epicuro, sapientiae, +fortitudinis, iustitiae, temperantiae, praestantissimis ingeniis homines +se ad philosophiae studium contulerunt. + +‘Oculorum’, inquit Plato, ‘est in nobis sensus acerrimus, quibus +sapientiam non cernimus. Quam illa ardentis amores excitaret sui!’ Cur +tandem? An quod ita callida est, ut optime possit architectari +voluptates? Cur iustitia laudatur? aut unde est hoc contritum vetustate +proverbium: ‘quicum in tenebris’? Hoc dictum in una re latissime patet, +ut in omnibus factis re, non teste moveamur. + +Sunt enim levia et perinfirma, quae dicebantur a te, animi conscientia +improbos excruciari, tum etiam poenae timore, qua aut afficiantur aut +semper sint in metu ne afficiantur aliquando. Non oportet timidum aut +inbecillo animo fingi non bonum illum virum, qui, quicquid fecerit, ipse +se cruciet omniaque formidet, sed omnia callide referentem ad +utilitatem, acutum, versutum, veteratorem, facile ut excogitet quo modo +occulte, sine teste, sine ullo conscio fallat. + +An tu me de L. Tubulo putas dicere? Qui cum praetor quaestionem inter +sicarios exercuisset, ita aperte cepit pecunias ob rem iudicandam, ut +anno proximo P. Scaevola tribunus plebis ferret ad plebem vellentne de +ea re quaeri. Quo plebiscito decreta a senatu est consuli quaestio Cn.\ +Caepioni. Profectus in exilium Tubulus statim nec respondere ausus; erat +enim res aperta. Non igitur de improbo, sed (de) callido improbo +quaerimus, qualis Q. Pompeius in foedere Numantino infitiando fuit, nec +vero omnia timente, sed primum qui animi conscientiam non curet, quam +scilicet comprimere nihil est negotii. Is enim, qui occultus et tectus +dicitur, tantum abest ut se indicet, perficiet etiam ut dolere alterius +improbe facto videatur. Quid est enim aliud esse versutum? + +Memini me adesse P. Sextilio Rufo, cum is rem ad amicos ita deferret, se +esse heredem Q. Fadio Gallo, cuius in testamento scriptum esset se ab eo +rogatum ut omnis hereditas ad filiam perveniret. Id Sextilius factum +negabat. Poterat autem inpune; quis enim redargueret? Nemo nostrum +credebat, eratque veri similius hunc mentiri, cuius interesset, quam +illum, qui id se rogasse scripsisset, quod debuisset rogare. Addebat +etiam se in legem Voconiam iuratum contra eam facere non audere, nisi +aliter amicis videretur. Aderamus nos quidem adolescentes, sed multi +amplissimi viri, quorum nemo censuit plus Fadiae dandum, quam posset ad +eam lege Voconia pervenire. Tenuit permagnam Sextilius hereditatem, +unde, si secutus esset eorum sententiam, qui honesta et recta +emolumentis omnibus et commodis anteponerent, nummum nullum attigisset. +Num igitur eum postea censes anxio animo aut sollicito fuisse? Nihil +minus, contraque illa hereditate dives ob eamque rem laetus. Magni enim +aestimabat pecuniam non modo non contra leges, sed etiam legibus partam. +Quae quidem vel cum periculo est quaerenda vobis; est enim effectrix +multarum et magnarum voluptatum. + +Ut igitur illis, qui, recta et honesta quae sunt, ea statuunt per se +expetenda, adeunda sunt saepe pericula decoris honestatisque causa, sic +vestris, qui omnia voluptate metiuntur, pericula adeunda sunt, ut +adipiscantur magnas voluptates. Si magna res, magna hereditas agetur, +cum pecunia voluptates pariantur plurimae, idem erit Epicuro vestro +faciendum, si suum finem bonorum sequi volet, quod Scipioni magna gloria +proposita, si Hannibalem in Africam retraxisset. Itaque quantum adiit +periculum! Ad honestatem enim illum omnem conatum suum referebat, non ad +voluptatem. Sic vester sapiens magno aliquo emolumento commotus cicuta, +si opus erit, dimicabit. + +Occultum facinus esse potuerit, gaudebit; deprehensus omnem poenam +contemnet. Erit enim instructus ad mortem contemnendam, ad exilium, ad +ipsum etiam dolorem. Quem quidem vos, cum improbis poenam proponitis, +inpetibilem facitis, cum sapientem semper boni plus habere vultis, +tolerabilem. Sed finge non solum callidum eum, qui aliquid improbe +faciat, verum etiam praepotentem, ut M. Crassus fuit, qui tamen solebat +uti suo bono, ut hodie est noster Pompeius, cui recte facienti gratia +est habenda; esse enim quam vellet iniquus iustus poterat inpune. Quam +multa vero iniuste fieri possunt, quae nemo possit reprehendere! + +Si te amicus tuus moriens rogaverit, ut hereditatem reddas suae filiae, +nec usquam id scripserit, ut scripsit Fadius, nec cuiquam dixerit, quid +facies? Tu quidem reddes; ipse Epicurus fortasse redderet, ut Sextus +Peducaeus, Sex. F., is qui hunc nostrum reliquit effigiem et humanitatis +et probitatis suae filium, cum doctus, tum omnium vir optimus et +iustissimus, cum sciret nemo eum rogatum a Caio Plotio, equite Romano +splendido, Nursino, ultro ad mulierem venit eique nihil opinanti viri +mandatum euit hereditatemque reddidit. Sed ego ex te quaero, quoniam +idem tu certe fecisses, nonne intellegas eo maiorem vim esse naturae, +quod ipsi vos, qui omnia ad vestrum commodum et, ut ipsi dicitis, ad +voluptatem referatis, tamen ea faciatis, e quibus appareat non +voluptatem vos, sed officium sequi, plusque rectam naturam quam rationem +pravam valere. + +Si scieris, inquit Carneades, aspidem occulte latere uspiam, et velle +aliquem inprudentem super eam assidere, cuius mors tibi emolumentum +futura sit, improbe feceris, nisi monueris ne assidat, sed inpunite +tamen; scisse enim te quis coarguere possit? Sed nimis multa. Perspicuum +est enim, nisi aequitas, fides, iustitia proficiscantur a natura, et si +omnia haec ad utilitatem referantur, virum bonum non posse reperiri; +deque his rebus satis multa in nostris de re publica libris sunt dicta a +Laelio. + +Transfer idem ad modestiam vel temperantiam, quae est moderatio +cupiditatum rationi oboediens. Satisne ergo pudori consulat, si quis +sine teste libidini pareat? An est aliquid per se ipsum flagitiosum, +etiamsi nulla comitetur infamia? Quid? Fortes viri voluptatumne calculis +subductis proelium ineunt, sanguinem pro patria profundunt, an quodam +animi ardore atque impetu concitati? utrum tandem censes, Torquate, +Imperiosum illum, si nostra verba audiret, tuamne de se orationem +libentius auditurum fuisse an meam, cum ego dicerem nihil eum fecisse +sua causa omniaque rei publicae, tu contra nihil nisi sua? Si vero id +etiam explanare velles apertiusque diceres nihil eum fecisse nisi +voluptatis causa, quo modo eum tandem laturum fuisse existimas? + +Esto, fecerit, si ita vis, Torquatus propter suas utilitates– malo enim +dicere quam voluptates, in tanto praesertim viro–, num etiam eius +collega P. Decius, princeps in ea familia consulatus, cum se devoverat +et equo admisso in mediam aciem Latinorum irruebat, aliquid de +voluptatibus suis cogitabat? Ubi ut eam caperet aut quando? Cum sciret +confestim esse moriendum eamque mortem ardentiore studio peteret, quam +Epicurus voluptatem petendam putat. Quod quidem eius factum nisi esset +iure laudatum, non esset imitatus quarto consulatu suo filius, neque +porro ex eo natus cum Pyrrho bellum gerens consul cecidisset in proelio +seque e continenti genere tertiam victimam rei publicae praebuisset. + +Contineo me ab exemplis. Graecis hoc modicum est: Leonidas, Epaminondas, +tres aliqui aut quattuor; ego si nostros colligere coepero, perficiam +illud quidem, ut se virtuti tradat constringendam voluptas, sed dies me +deficiet, et, ut Aulus Varius, qui est habitus iudex durior, dicere +consessori solebat, cum datis testibus alii tamen citarentur: +‘Aut hoc testium satis est, aut nescio, quid satis sit,’ sic a me satis +datum est testium. Quid enim? Te ipsum, dignissimum maioribus tuis, +voluptasne induxit, ut adolescentulus eriperes P. Sullae consulatum? +Quem cum ad patrem tuum rettulisses, fortissimum virum, qualis ille vel +consul vel civis cum semper, tum post consulatum fuit! Quo quidem +auctore nos ipsi ea gessimus, ut omnibus potius quam ipsis nobis +consuluerimus. + +At quam pulchre dicere videbare, cum ex altera parte ponebas cumulatum +aliquem plurimis et maximis voluptatibus nullo nec praesenti nec futuro +dolore, ex altera autem cruciatibus maximis toto corpore nulla nec +adiuncta nec sperata voluptate, et quaerebas, quis aut hoc miserior aut +superiore illo beatior; deinde concludebas summum malum esse dolorem, +summum bonum voluptatem! Lucius Thorius Balbus fuit, Lanuvinus, quem +meminisse tu non potes. Is ita vivebat, ut nulla tam exquisita posset +inveniri voluptas, qua non abundaret. Erat et cupidus voluptatum et eius +generis intellegens et copiosus, ita non superstitiosus, ut illa plurima +in sua patria sacrificia et fana contemneret, ita non timidus ad mortem, +ut in acie sit ob rem publicam interfectus. + +Cupiditates non Epicuri divisione finiebat, sed sua satietate. Habebat +tamen rationem valitudinis: utebatur iis exercitationibus, ut ad cenam +et sitiens et esuriens veniret, eo cibo, qui et suavissimus esset et +idem facillimus ad concoquendum, vino et ad voluptatem et ne noceret. +Cetera illa adhibebat, quibus demptis negat se Epicurus intellegere quid +sit bonum. Aberat omnis dolor, qui si adesset, nec molliter ferret et +tamen medicis plus quam philosophis uteretur. Color egregius, integra +valitudo, summa gratia, vita denique conferta voluptatum omnium +varietate. + +Hunc vos beatum; ratio quidem vestra sic cogit. At ego quem huic +anteponam non audeo dicere; dicet pro me ipsa virtus nec dubitabit isti +vestro beato M. Regulum anteponere, quem quidem, cum sua voluntate, +nulla vi coactus praeter fidem, quam dederat hosti, ex patria +Karthaginem revertisset, tum ipsum, cum vigiliis et fame cruciaretur, +clamat virtus beatiorem fuisse quam potantem in rosa Thorium. Bella +magna gesserat, bis consul fuerat, triumpharat nec tamen sua illa +superiora tam magna neque tam praeclara ducebat quam illum ultimum +casum, quem propter fidem constantiamque susceperat, qui nobis +miserabilis videtur audientibus, illi perpetienti erat voluptarius. Non +enim hilaritate nec lascivia nec risu aut ioco, comite levitatis, saepe +etiam tristes firmitate et constantia sunt beati. + +Stuprata per vim Lucretia a regis filio testata civis se ipsa interemit. +Hic dolor populi Romani duce et auctore Bruto causa civitati libertatis +fuit, ob eiusque mulieris memoriam primo anno et vir et pater eius +consul est factus. Tenuis Lucius Verginius unusque de multis sexagesimo +anno post libertatem receptam virginem filiam sua manu occidit potius, +quam ea Ap. Claudii libidini, qui tum erat summo (ne) imperio, +dederetur. + +Aut haec tibi, Torquate, sunt vituperanda aut patrocinium voluptatis +repudiandum. Quod autem patrocinium aut quae ista causa est voluptatis, +quae nec testes ullos e claris viris nec laudatores poterit adhibere? Ut +enim nos ex annalium monimentis testes excitamus eos, quorum omnis vita +consumpta est in laboribus gloriosis, qui voluptatis nomen audire non +possent, sic in vestris disputationibus historia muta est. Numquam +audivi in Epicuri schola Lycurgum, Solonem, Miltiadem, Themistoclem, +Epaminondam nominari, qui in ore sunt ceterorum omnium philosophorum. +Nunc vero, quoniam haec nos etiam tractare coepimus, suppeditabit nobis +Atticus noster e thesauris suis quos et quantos viros! + +Nonne melius est de his aliquid quam tantis voluminibus de Themista +loqui? Sint ista Graecorum; quamquam ab iis philosophiam et omnes +ingenuas disciplinas habemus; sed tamen est aliquid, quod nobis non +liceat, liceat illis. Pugnant Stoici cum Peripateticis. Alteri negant +quicquam esse bonum, nisi quod honestum sit, alteri plurimum se et longe +longeque plurimum tribuere honestati, sed tamen et in corpore et extra +esse quaedam bona. Et certamen honestum et disputatio splendida! Omnis +est enim de virtutis dignitate contentio. At cum tuis cum disseras, +multa sunt audienda etiam de obscenis voluptatibus, de quibus ab Epicuro +saepissime dicitur. + +Non potes ergo ista tueri, Torquate, mihi crede, si te ipse et tuas +cogitationes et studia perspexeris; pudebit te, inquam, illius tabulae, +quam Cleanthes sane commode verbis depingere solebat. Iubebat eos, qui +audiebant, secum ipsos cogitare pictam in tabula Voluptatem pulcherrimo +vestitu et ornatu regali in solio sedentem, praesto esse Virtutes ut +ancillulas, quae nihil aliud agerent, nullum suum officium ducerent, +nisi ut Voluptati ministrarent et eam tantum ad aurem admonerent, si +modo id pictura intellegi posset, ut caveret ne quid faceret inprudens, +quod offenderet animos hominum, aut quicquam, e quo oriretur aliquis +dolor. ‘Nos quidem Virtutes sic natae sumus, ut tibi +serviremus, aliud negotii nihil habemus.’ + +At negat Epicurus–hoc enim vestrum lumen est– quemquam, qui honeste non +vivat, iucunde posse vivere. Quasi ego id curem, quid ille aiat aut +neget. Illud quaero, quid ei, qui in voluptate summum bonum ponat, +consentaneum sit dicere. Quid affers, cur Thorius, cur Caius Postumius, +cur omnium horum magister, Orata, non iucundissime vixerit? Ipse negat, +ut ante dixi, luxuriosorum vitam reprehendendam, nisi plane fatui sint, +id est nisi aut cupiant aut metuant. Quarum ambarum rerum cum medicinam +pollicetur, luxuriae licentiam pollicetur. His enim rebus detractis +negat se reperire in asotorum vita quod reprehendat. + +Non igitur potestis voluptate omnia dirigentes aut tueri aut retinere +virtutem. Nam nec vir bonus ac iustus haberi debet qui, ne malum habeat, +abstinet se ab iniuria. Nosti, credo, illud: ‘Nemo pius est, qui +pietatem–’; cave putes quicquam esse verius. Nec enim, dum metuit, +iustus est, et certe, si metuere destiterit, non erit; non metuet autem, +sive celare poterit, sive opibus magnis quicquid fecerit optinere, +certeque malet existimari bonus vir, ut non sit, quam esse, ut non +putetur. Ita, quod certissimum est, pro vera certaque iustitia +simulationem nobis iustitiae traditis praecipitisque quodam modo ut +nostram stabilem conscientiam contemnamus, aliorum errantem opinionem +aucupemur. + +Quae dici eadem de ceteris virtutibus possunt, quarum omnium fundamenta +vos in voluptate tamquam in aqua ponitis. Quid enim? Fortemne possumus +dicere eundem illum Torquatum?–Delector enim, quamquam te non possum, ut +ais, corrumpere, delector, inquam, et familia vestra et nomine. Et +hercule mihi vir optimus nostrique amantissimus, Aulus Torquatus, +versatur ante oculos, cuius quantum studium et quam insigne fuerit erga +me temporibus illis, quae nota sunt omnibus, scire necesse est utrumque +vestrum. Quae mihi ipsi, qui volo et esse et haberi gratus, grata non +essent, nisi eum perspicerem mea causa mihi amicum fuisse, non sua, nisi +hoc dicis sua, quod interest omnium recte facere. Si id dicis, vicimus. +Id enim volumus, id contendimus, ut officii fructus sit ipsum officium. + +Hoc ille tuus non vult omnibusque ex rebus voluptatem quasi mercedem +exigit. Sed ad illum redeo. Si voluptatis causa cum Gallo apud Anienem +depugnavit provocatus et ex eius spoliis sibi et torquem et cognomen +induit ullam aliam ob causam, nisi quod ei talia facta digna viro +videbantur, fortem non puto. Iam si pudor, si modestia, si pudicitia, si +uno verbo temperantia poenae aut infamiae metu coercebuntur, non +sanctitate sua se tuebuntur, quod adulterium, quod stuprum, quae libido +non se proripiet ac proiciet aut occultatione proposita aut inpunitate +aut licentia? Quid? + +Illud, Torquate, quale tandem videtur, te isto nomine, ingenio, gloria, +quae facis, quae cogitas, quae contendis quo referas, cuius rei causa +perficere quae conaris velis, quid optimum denique in vita iudices non +audere in conventu dicere? Quid enim mereri velis, iam cum magistratum +inieris et in contionem ascenderis–est enim tibi edicendum quae sis +observaturus in iure dicendo, et fortasse etiam, si tibi erit visum, +aliquid de maioribus tuis et de te ipso dices more maiorum–, quid +merearis igitur, ut dicas te in eo magistratu omnia voluptatis causa +facturum esse, teque nihil fecisse in vita nisi voluptatis causa? ‘An +me’, inquis, ‘tam amentem putas, ut apud imperitos isto modo loquar?’ At +tu eadem ista dic in iudicio aut, si coronam times, dic in senatu. +Numquam facies. Cur, nisi quod turpis oratio est? Mene ergo et Triarium +dignos existimas, apud quos turpiter loquare? + +Verum esto: verbum ipsum voluptatis non habet dignitatem, nec nos +fortasse intellegimus. Hoc enim identidem dicitis, non intellegere nos +quam dicatis voluptatem. Rem videlicet difficilem et obscuram! Individua +cum dicitis et intermundia, quae nec sunt ulla nec possunt esse, +intellegimus, voluptas, quae passeribus omnibus nota est, a nobis +intellegi non potest? Quid, si efficio ut fateare me non modo quid sit +voluptas scire–est enim iucundus motus in sensu–, sed etiam quid eam tu +velis esse? Tum enim eam ipsam vis, quam modo ego dixi, et nomen +inponis, in motu ut sit et faciat aliquam varietatem, tum aliam quandam +summam voluptatem, quo addi nihil possit; eam tum adesse, cum dolor +omnis absit; eam stabilem appellas. Sit sane ista voluptas. + +Dic in quovis conventu te omnia facere, ne doleas. Si ne hoc quidem +satis ample, satis honeste dici putas, dic te omnia et in isto +magistratu et in omni vita utilitatis tuae causa facturum, nihil nisi +quod expediat, nihil denique nisi tua causa: quem clamorem contionis aut +quam spem consulatus eius, qui tibi paratissimus est, futuram putas? +Eamne rationem igitur sequere, qua tecum ipse et cum tuis utare, +profiteri et in medium proferre non audeas? At vero illa, quae +Peripatetici, quae Stoici dicunt, semper tibi in ore sunt in iudiciis, +in senatu. Officium, aequitatem, dignitatem, fidem, recta, honesta, +digna imperio, digna populo Romano, omnia pericula pro re publica, mori +pro patria, haec cum loqueris, nos barones stupemus, tu videlicet tecum +ipse rides. + +Nam inter ista tam magnifica verba tamque praeclara non habet ullum +voluptas locum, non modo illa, quam in motu esse dicitis, quam omnes +urbani rustici, omnes, inquam, qui Latine loquuntur, voluptatem vocant, +sed ne haec quidem stabilis, quam praeter vos nemo appellat voluptatem. +Vide igitur ne non debeas verbis nostris uti, sententiis tuis. Quodsi +vultum tibi, si incessum fingeres, quo gravior viderere, non esses tui +similis; verba tu fingas et ea dicas, quae non sentias? Aut etiam, ut +vestitum, sic sententiam habeas aliam domesticam, aliam forensem, ut in +fronte ostentatio sit, intus veritas occultetur? Vide, quaeso, rectumne +sit. Mihi quidem eae verae videntur opiniones, quae honestae, quae +laudabiles, quae gloriosae, quae in senatu, quae apud populum, quae in +omni coetu concilioque profitendae sint, ne id non pudeat sentire, quod +pudeat dicere. + +Amicitiae vero locus ubi esse potest aut quis amicus esse cuiquam, quem +non ipsum amet propter ipsum? Quid autem est amare, e quo nomen ductum +amicitiae est, nisi velle bonis aliquem affici quam maximis, etiamsi ad +se ex iis nihil redundet? ‘Prodest’, inquit, ‘mihi eo esse animo.’ Immo +videri fortasse. Esse enim, nisi eris, non potes. Qui autem esse +poteris, nisi te amor ipse ceperit? quod non subducta utilitatis ratione +effici solet, sed ipsum a se oritur et sua sponte nascitur. ‘At enim +sequor utilitatem.’ Manebit ergo amicitia tam diu, quam diu sequetur +utilitas, et, si utilitas amicitiam constituet, tollet eadem. + +Sed quid ages tandem, si utilitas ab amicitia, ut fit saepe, defecerit? +relinquesne? Quae ista amicitia est? Retinebis? Qui convenit? Quid enim +de amicitia statueris utilitatis causa expetenda vides. ‘Ne in odium +veniam, si amicum destitero tueri.’ Primum cur ista res digna odio est, +nisi quod est turpis? Quodsi, ne quo incommodo afficiare, non relinques +amicum, tamen, ne sine fructu alligatus sis, ut moriatur optabis. Quid, +si non modo utilitatem tibi nullam afferet, sed iacturae rei familiaris +erunt faciendae, labores suscipiendi, adeundum vitae periculum? Ne tum +quidem te respicies et cogitabis sibi quemque natum esse et suis +voluptatibus? Vadem te ad mortem tyranno dabis pro amico, ut Pythagoreus +ille Siculo fecit tyranno? Aut, Pylades cum sis, dices te esse Orestem, +ut moriare pro amico? Aut, si esses Orestes, Pyladem refelleres, te +indicares et, si id non probares, quo minus ambo una necaremini non +precarere? + +Faceres tu quidem, Torquate, haec omnia; nihil enim arbitror esse magna +laude dignum, quod te praetermissurum credam aut mortis aut doloris +metu. Non quaeritur autem quid naturae tuae consentaneum sit, sed quid +disciplinae. Ratio ista, quam defendis, praecepta, quae didicisti, quae +probas, funditus evertunt amicitiam, quamvis eam Epicurus, ut facit, in +caelum efferat laudibus. At coluit ipse amicitias. Quis, quaeso, illum +negat et bonum virum et comem et humanum fuisse? De ingenio eius in his +disputationibus, non de moribus quaeritur. Sit ista in Graecorum +levitate perversitas, qui maledictis insectantur eos, a quibus de +veritate dissentiunt. Sed quamvis comis in amicis tuendis fuerit, tamen, +si haec vera sunt–nihil enim affirmo–, non satis acutus fuit. + +At multis se probavit. Et quidem iure fortasse, sed tamen non +gravissimum est testimonium multitudinis. In omni enim arte vel studio +vel quavis scientia vel in ipsa virtute optimum quidque rarissimum est. +Ac mihi quidem, quod et ipse bonus vir fuit et multi Epicurei et fuerunt +et hodie sunt et in amicitiis fideles et in omni vita constantes et +graves nec voluptate, sed officio consilia moderantes, hoc videtur maior +vis honestatis et minor voluptatis. Ita enim vivunt quidam, ut eorum +vita refellatur oratio. Atque ut ceteri dicere existimantur melius quam +facere, sic hi mihi videntur facere melius quam dicere. + +Sed haec nihil sane ad rem; illa videamus, quae a te de amicitia dicta +sunt. E quibus unum mihi videbar ab ipso Epicuro dictum cognoscere, +amicitiam a voluptate non posse divelli ob eamque rem colendam esse, +quod, (quoniam) sine ea tuto et sine metu vivi non posset, ne iucunde +quidem posset. Satis est ad hoc responsum. Attulisti aliud humanius +horum recentiorum, numquam dictum ab ipso illo, quod sciam, primo +utilitatis causa amicum expeti, cum autem usus accessisset, tum ipsum +amari per se etiam omissa spe voluptatis. Hoc etsi multimodis reprehendi +potest, tamen accipio, quod dant. Mihi enim satis est, ipsis non satis. +Nam aliquando posse recte fieri dicunt nulla expectata nec quaesita +voluptate. + +Posuisti etiam dicere alios foedus quoddam inter se facere sapientis, +ut, quem ad modum sint in se ipsos animati, eodem modo sint erga amicos; +id et fieri posse et saepe esse factum et ad voluptates percipiendas +maxime pertinere. Hoc foedus facere si potuerunt, faciant etiam illud, +ut aequitatem, modestiam, virtutes omnes per se ipsas gratis diligant. +An vero, si fructibus et emolumentis et utilitatibus amicitias colemus, +si nulla caritas erit, quae faciat amicitiam ipsam sua sponte, vi sua, +ex se et propter se expetendam, dubium est, quin fundos et insulas +amicis anteponamus? + +Licet hic rursus ea commemores, quae optimis verbis ab Epicuro de laude +amicitiae dicta sunt. Non quaero, quid dicat, sed quid convenienter +possit rationi et sententiae suae dicere. ‘Utilitatis causa amicitia est +quaesita.’ Num igitur utiliorem tibi hunc Triarium putas esse posse, +quam si tua sint Puteolis granaria? Collige omnia, quae soletis: +‘Praesidium amicorum.’ Satis est tibi in te, satis in legibus, satis in +mediocribus amicitiis praesidii. Iam contemni non poteris. Odium autem +et invidiam facile vitabis. Ad eas enim res ab Epicuro praecepta dantur. +Et tamen tantis vectigalibus ad liberalitatem utens etiam sine hac +Pyladea amicitia multorum te benivolentia praeclare tuebere et munies. + +‘At quicum ioca seria, ut dicitur, quicum arcana, quicum occulta omnia?’ +Tecum optime, deinde etiam cum mediocri amico. Sed fac ista esse non +inportuna; quid ad utilitatem tantae pecuniae? Vides igitur, si +amicitiam sua caritate metiare, nihil esse praestantius, sin emolumento, +summas familiaritates praediorum fructuosorum mercede superari. Me +igitur ipsum ames oportet, non mea, si veri amici futuri sumus. Sed in +rebus apertissimis nimium longi sumus. Perfecto enim et concluso neque +virtutibus neque amicitiis usquam locum esse, si ad voluptatem omnia +referantur, nihil praeterea est magnopere dicendum. Ac tamen, ne cui +loco non videatur esse responsum, pauca etiam nunc dicam ad reliquam +orationem tuam. + +Quoniam igitur omnis summa philosophiae ad beate vivendum refertur, +idque unum expetentes homines se ad hoc studium contulerunt, beate autem +vivere alii in alio, vos in voluptate ponitis, item contra miseriam +omnem in dolore, id primum videamus, beate vivere vestrum quale sit. +Atque hoc dabitis, ut opinor, si modo sit aliquid esse beatum, id +oportere totum poni in potestate sapientis. Nam si amitti vita beata +potest, beata esse non potest. Quis enim confidit semper sibi illud +stabile et firmum permansurum, quod fragile et caducum sit? Qui autem +diffidet perpetuitati bonorum suorum, timeat necesse est, ne aliquando +amissis illis sit miser. Beatus autem esse in maximarum rerum timore +nemo potest. + +Nemo igitur esse beatus potest. Neque enim in aliqua parte, sed in +perpetuitate temporis vita beata dici solet, nec appellatur omnino vita, +nisi confecta atque absoluta, nec potest quisquam alias beatus esse, +alias miser; qui enim existimabit posse se miserum esse beatus non erit. +Nam cum suscepta semel est beata vita, tam permanet quam ipsa illa +effectrix beatae vitae sapientia neque expectat ultimum tempus aetatis, +quod Croeso scribit Herodotus praeceptum a Solone. At enim, quem ad +modum tute dicebas, negat Epicurus diuturnitatem quidem temporis ad +beate vivendum aliquid afferre, nec minorem voluptatem percipi in +brevitate temporis, quam si illa sit sempiterna. + +Haec dicuntur inconstantissime. Cum enim summum bonum in voluptate +ponat, negat infinito tempore aetatis voluptatem fieri maiorem quam +finito atque modico. Qui bonum omne in virtute ponit, is potest dicere +perfici beatam vitam perfectione virtutis; negat enim summo bono afferre +incrementum diem. Qui autem voluptate vitam effici beatam putabit, qui +sibi is conveniet, si negabit voluptatem crescere longinquitate? Igitur +ne dolorem quidem. An dolor longissimus quisque miserrimus, voluptatem +non optabiliorem diuturnitas facit? Quid est igitur, cur ita semper deum +appellet Epicurus beatum et aeternum? Dempta enim aeternitate nihilo +beatior Iuppiter quam Epicurus; uterque enim summo bono fruitur, id est +voluptate. ‘At enim hic etiam dolore.’ At eum nihili facit; ait enim se, +si uratur, ‘Quam hoc suave!’ dicturum. + +Qua igitur re ab deo vincitur, si aeternitate non vincitur? In qua quid +est boni praeter summam voluptatem, et eam sempiternam? Quid ergo +attinet gloriose loqui, nisi constanter loquare? In voluptate +corporis–addam, si vis, ‘animi’, dum ea ipsa, ut vultis, sit e +corpore–situm est vivere beate. Quid? Istam voluptatem perpetuam quis +potest praestare sapienti? Nam quibus rebus efficiuntur voluptates, eae +non sunt in potestate sapientis. Non enim in ipsa sapientia positum est +beatum esse, sed in iis rebus, quas sapientia comparat ad voluptatem. +Totum autem id externum est, et quod externum, id in casu est. Ita fit +beatae vitae domina fortuna, quam Epicurus ait exiguam intervenire +sapienti. + +Age, inquies, ista parva sunt. Sapientem locupletat ipsa natura, cuius +divitias Epicurus parabiles esse docuit. Haec bene dicuntur, nec ego +repugno, sed inter sese ipsa pugnant. Negat enim tenuissimo victu, id +est contemptissimis escis et potionibus, minorem voluptatem percipi quam +rebus exquisitissimis ad epulandum. Huic ego, si negaret quicquam +interesse ad beate vivendum quali uteretur victu, concederem, laudarem +etiam; verum enim diceret, idque Socratem, qui voluptatem nullo loco +numerat, audio dicentem, cibi condimentum esse famem, potionis sitim. +Sed qui ad voluptatem omnia referens vivit ut Gallonius, loquitur ut +Frugi ille Piso, non audio nec eum, quod sentiat, dicere existimo. + +Naturales divitias dixit parabiles esse, quod parvo esset natura +contenta. Certe, nisi voluptatem tanti aestimaretis. Non minor, inquit, +voluptas percipitur ex vilissimis rebus quam ex pretiosissimis. Hoc est +non modo cor non habere, sed ne palatum quidem. Qui enim voluptatem +ipsam contemnunt, iis licet dicere se acupenserem maenae non anteponere. +Cui vero in voluptate summum bonum est, huic omnia sensu, non ratione +sunt iudicanda, eaque dicenda optima, quae sint suavissima. + +Verum esto; consequatur summas voluptates non modo parvo, sed per me +nihilo, si potest; sit voluptas non minor in nasturcio illo, quo vesci +Persas esse solitos scribit Xenophon, quam in Syracusanis mensis, quae a +Platone graviter vituperantur; sit, inquam, tam facilis, quam vultis, +comparatio voluptatis, quid de dolore dicemus? Cuius tanta tormenta +sunt, ut in iis beata vita, si modo dolor summum malum est, esse non +possit. Ipse enim Metrodorus, paene alter Epicurus, beatum esse +describit his fere verbis: ‘cum corpus bene constitutum sit et sit +exploratum ita futurum.’ an id exploratum cuiquam potest esse, quo modo +se hoc habiturum sit corpus, non dico ad annum, sed ad vesperum? Dolor +ergo, id est summum malum, metuetur semper, etiamsi non aderit; iam enim +adesse poterit. Qui potest igitur habitare in beata vita summi mali +metus? + +Traditur, inquit, ab Epicuro ratio neglegendi doloris. Iam id ipsum +absurdum, maximum malum neglegi. Sed quae tandem ista ratio est? Maximus +dolor, inquit, brevis est. Primum quid tu dicis breve? Deinde dolorem +quem maximum? Quid enim? summus dolor plures dies manere non potest? +Vide, ne etiam menses! Nisi forte eum dicis, qui, simul atque arripuit, +interficit. Quis istum dolorem timet? illum mallem levares, quo optimum +atque humanissimum virum, Cn. Octavium, Marci filium, familiarem meum, +confici vidi, nec vero semel nec ad breve tempus, sed et saepe et plane +diu. Quos ille, di inmortales, cum omnes artus ardere viderentur, +cruciatus perferebat! Nec tamen miser esse, quia summum id malum non +erat, tantum modo laboriosus videbatur; at miser, si in flagitiosa et +vitiosa vita afflueret voluptatibus. + +Quod autem magnum dolorem brevem, longinquum levem esse dicitis, id non +intellego quale sit. Video enim et magnos et eosdem bene longinquos +dolores, quorum alia toleratio est verior, qua uti vos non potestis, qui +honestatem ipsam per se non amatis. Fortitudinis quaedam praecepta sunt +ac paene leges, quae effeminari virum vetant in dolore. Quam ob rem +turpe putandum est, non dico dolere–nam id quidem est interdum necesse–, +sed saxum illud Lemnium clamore Philocteteo funestare, Quod eiulatu, +questu, gemitu, fremitibus Resonando mutum flebiles voces refert. Huic +Epicurus praecentet, si potest, cui (e) viperino morsu venae viscerum +Veneno inbutae taetros cruciatus cient! Sic Epicurus: ‘Philocteta, st! +Brevis dolor.’ At iam decimum annum in spelunca iacet. ‘Si longus, +levis; dat enim intervalla et relaxat.’ + +Primum non saepe, deinde quae est ista relaxatio, cum et praeteriti +doloris memoria recens est et futuri atque inpendentis torquet timor? +‘Moriatur’, inquit. Fortasse id optimum, sed ubi illud: ‘Plus semper +voluptatis’? Si enim ita est, vide ne facinus facias, cum mori suadeas. +Potius ergo illa dicantur: turpe esse, viri non esse debilitari dolore, +frangi, succumbere. Nam ista vestra: ‘Si gravis, brevis; si longus, +levis’ dictata sunt. Virtutis, magnitudinis animi, patientiae, +fortitudinis fomentis dolor mitigari solet. + +Audi, ne longe abeam, moriens quid dicat Epicurus, ut intellegas facta +eius cum dictis discrepare: ‘Epicurus Hermarcho salutem. Cum ageremus’, +inquit, ‘vitae beatum et eundem supremum diem, scribebamus haec. Tanti +autem aderant vesicae et torminum morbi, ut nihil ad eorum magnitudinem +posset accedere.’ Miserum hominem! Si dolor summum malum est, dici +aliter non potest. Sed audiamus ipsum: ‘Compensabatur’, inquit, ‘tamen +cum his omnibus animi laetitia, quam capiebam memoria rationum +inventorumque nostrorum. Sed tu, ut dignum est tua erga me et +philosophiam voluntate ab adolescentulo suscepta, fac ut Metrodori +tueare liberos.’ + +Non ego iam Epaminondae, non Leonidae mortem huius morti antepono, +quorum alter cum vicisset Lacedaemonios apud Mantineam atque ipse gravi +vulnere exanimari se videret, ut primum dispexit, quaesivit salvusne +esset clipeus. Cum salvum esse flentes sui respondissent, rogavit +essentne fusi hostes. Cum id quoque, ut cupiebat, audivisset, evelli +iussit eam, qua erat transfixus, hastam. Ita multo sanguine profuso in +laetitia et in victoria est mortuus. Leonidas autem, rex +Lacedaemoniorum, se in Thermopylis trecentosque eos, quos eduxerat +Sparta, cum esset proposita aut fuga turpis aut gloriosa mors, opposuit +hostibus. Praeclarae mortes sunt imperatoriae; philosophi autem in suis +lectulis plerumque moriuntur. Refert tamen, quo modo. (beatus) sibi +videtur esse moriens. Magna laus. ‘Compensabatur’, inquit, ‘cum summis +doloribus laetitia.’ + +Audio equidem philosophi vocem, Epicure, sed quid tibi dicendum sit +oblitus es. Primum enim, si vera sunt ea, quorum recordatione te gaudere +dicis, hoc est, si vera sunt tua scripta et inventa, gaudere non potes. +Nihil enim iam habes, quod ad corpus referas; est autem a te semper +dictum nec gaudere quemquam nisi propter corpus nec dolere. +‘Praeteritis’, inquit, ‘gaudeo.’ Quibusnam praeteritis? Si ad corpus +pertinentibus, rationes tuas te video compensare cum istis doloribus, +non memoriam corpore perceptarum voluptatum; sin autem ad animum, falsum +est, quod negas animi ullum esse gaudium, quod non referatur ad corpus. +Cur deinde Metrodori liberos commendas? Quid (in) isto egregio tuo +officio et tanta fide–sic enim existimo–ad corpus refers? + +Huc et illuc, Torquate, vos versetis licet, nihil in hac praeclara +epistula scriptum ab Epicuro congruens et conveniens decretis eius +reperietis. Ita redarguitur ipse a sese, convincunturque scripta eius +probitate ipsius ac moribus. Nam ista commendatio puerorum, memoria et +caritas amicitiae, summorum officiorum in extremo spiritu conservatio +indicat innatam esse homini probitatem gratuitam, non invitatam +voluptatibus nec praemiorum mercedibus evocatam. Quod enim testimonium +maius quaerimus, quae honesta et recta sint, ipsa esse optabilia per +sese, cum videamus tanta officia morientis? + +Sed ut epistulam laudandam arbitror eam, quam modo totidem fere verbis +interpretatus sum, quamquam ea cum summa eius philosophia nullo modo +congruebat, sic eiusdem testamentum non solum (a) philosophi gravitate, +sed etiam ab ipsius sententia iudico discrepare. Scripsit enim et multis +saepe verbis et breviter arteque in eo libro, quem modo nominavi, mortem +nihil ad nos pertinere. Quod enim dissolutum sit, id esse sine sensu, +quod autem sine sensu sit, id nihil ad nos pertinere omnino. Hoc ipsum +elegantius poni meliusque potuit. Nam quod ita positum est, quod +dissolutum sit, id esse sine sensu, id eius modi est, ut non satis plane +dicat quid sit dissolutum. + +Sed tamen intellego quid velit. Quaero autem quid sit, quod, cum +dissolutione, id est morte, sensus omnis extinguatur, et cum reliqui +nihil sit omnino, quod pertineat ad nos, tam accurate tamque diligenter +caveat et sanciat ut Amynomachus et Timocrates, heredes sui, de +Hermarchi sententia dent quod satis sit ad diem agendum natalem suum +quotannis mense Gamelione itemque omnibus mensibus vicesimo die lunae +dent ad eorum epulas, qui una secum philosophati sint, ut et sui et +Metrodori memoria colatur. + +Haec ego non possum dicere non esse hominis quamvis et belli et humani, +sapientis vero nullo modo, physici praesertim, quem se ille esse vult, +putare ullum esse cuiusquam diem natalem. Quid? Idemne potest esse dies +saepius, qui semel fuit? Certe non potest. An eiusdem modi? Ne id +quidem, nisi multa annorum intercesserint milia, ut omnium siderum +eodem, unde profecta sint, fiat ad unum tempus reversio. Nullus est +igitur cuiusquam dies natalis. ‘At habetur!’ Et ego id scilicet +nesciebam! Sed ut sit, etiamne post mortem coletur? Idque testamento +cavebit is, qui nobis quasi oraculum ediderit nihil post mortem ad nos +pertinere? Haec non erant eius, qui innumerabilis mundos infinitasque +regiones, quarum nulla esset ora, nulla extremitas, mente peragravisset. +Num quid tale Democritus? Ut alios omittam, hunc appello, quem ille unum +secutus est. + +Quodsi dies notandus fuit, eumne potius, quo natus, an eum, quo sapiens +factus est? Non potuit, inquies, fieri sapiens, nisi natus esset. [et] +Isto modo, ne si avia quidem eius nata non esset. Res tota, Torquate, +non doctorum hominum, velle post mortem epulis celebrari memoriam sui +nominis. Quos quidem dies quem ad modum agatis et in quantam hominum +facetorum urbanitatem incurratis, non dico– nihil opus est litibus–; +tantum dico, magis fuisse vestrum agere Epicuri diem natalem, quam +illius testamento cavere ut ageretur. + +Sed ut ad propositum–de dolore enim cum diceremus, ad istam epistulam +delati sumus–, nunc totum illud concludi sic licet: qui in summo malo +est, is tum, cum in eo est, non est beatus; sapiens autem semper beatus +est et est aliquando in dolore; non est igitur summum malum dolor. Iam +illud quale tandem est, bona praeterita non effluere sapienti, mala +meminisse non oportere? Primum in nostrane potestate est, quid +meminerimus? Themistocles quidem, cum ei Simonides an quis alius artem +memoriae polliceretur, ‘Oblivionis’, inquit, ‘mallem. Nam memini etiam +quae nolo, oblivisci non possum quae volo.’ + +Magno hic ingenio, sed res se tamen sic habet, ut nimis imperiosi +philosophi sit vetare meminisse. Vide ne ista sint Manliana vestra aut +maiora etiam, si imperes quod facere non possim. Quid, si etiam iucunda +memoria est praeteritorum malorum? Ut proverbia non nulla veriora sint +quam vestra dogmata. Vulgo enim dicitur: ‘Iucundi acti labores’, nec +male Euripides– concludam, si potero, Latine; Graecum enim hunc versum +nostis omnes–: ‘Suavis laborum est praeteritorum memoria.’ Sed ad bona +praeterita redeamus. Quae si a vobis talia dicerentur, qualibus Caius +Marius uti poterat, ut expulsus, egens, in palude demersus tropaeorum +recordatione levaret dolorem suum, audirem et plane probarem. Nec enim +absolvi beata vita sapientis neque ad exitum perduci poterit, si prima +quaeque bene ab eo consulta atque facta ipsius oblivione obruentur. + +Sed vobis voluptatum perceptarum recordatio vitam beatam facit, et +quidem corpore perceptarum. Nam si quae sunt aliae, falsum est omnis +animi voluptates esse e corporis societate. Corporis autem voluptas si +etiam praeterita delectat, non intellego, cur Aristoteles Sardanapalli +epigramma tantopere derideat, in quo ille rex Syriae glorietur se omnis +secum libidinum voluptates abstulisse. Quod enim ne vivus quidem, +inquit, diutius sentire poterat, quam dum fruebatur, quo modo id potuit +mortuo permanere? Effluit igitur voluptas corporis et prima quaeque +avolat saepiusque relinquit causam paenitendi quam recordandi. Itaque +beatior Africanus cum patria illo modo loquens: ‘Desine, Roma, tuos +hostes’ reliquaque praeclare: ‘Nam tibi moenimenta mei peperere +labores.’ Laboribus hic praeteritis gaudet, tu iubes voluptatibus, et +hic se ad ea revocat, e quibus nihil umquam rettulerit ad corpus, tu +totus haeres in corpore. + +Illud autem ipsum qui optineri potest, quod dicitis, omnis animi et +voluptates et dolores ad corporis voluptates ac dolores pertinere? +Nihilne te delectat umquam –video, quicum loquar–, te igitur, Torquate, +ipsum per se nihil delectat? Omitto dignitatem, honestatem, speciem +ipsam virtutum, de quibus ante dictum est, haec leviora ponam: poema, +orationem cum aut scribis aut legis, cum omnium factorum, cum regionum +conquiris historiam, signum, tabula, locus amoenus, ludi, venatio, villa +Luculli–nam si ‘tuam’ dicerem, latebram haberes; ad corpus diceres +pertinere–, sed ea, quae dixi, ad corpusne refers? An est aliquid, quod +te sua sponte delectet? Aut pertinacissimus fueris, si in eo perstiteris +ad corpus ea, quae dixi, referri, aut deserueris totam Epicuri +voluptatem, si negaveris. + +Quod vero a te disputatum est maiores esse voluptates et dolores animi +quam corporis, quia trium temporum particeps animus sit, corpore autem +praesentia solum sentiantur, qui id probari potest, ut is, qui propter +me aliquid gaudeat, plus quam ego ipse gaudeat? [animo voluptas oritur +propter voluptatem corporis, et maior est animi voluptas quam corporis. +Ita fit, ut gratulator laetior sit quam is, cui gratulatur.] Sed dum +efficere vultis beatum sapientem, cum maximas animo voluptates percipiat +omnibusque partibus maiores quam corpore, quid occurrat non videtis. +Animi enim quoque dolores percipiet omnibus partibus maiores quam +corporis. Ita miser sit aliquando necesse est is, quem vos beatum semper +vultis esse, nec vero id, dum omnia ad voluptatem doloremque referetis, +efficietis umquam. + +Quare aliud aliquod, Torquate, hominis summum bonum reperiendum est, +voluptatem bestiis concedamus, quibus vos de summo bono testibus uti +soletis. Quid, si etiam bestiae multa faciunt duce sua quaeque natura +partim indulgenter vel cum labore, ut in gignendo, in educando, +perfacile appareat aliud quiddam iis propositum, non voluptatem? Partim +cursu et peragratione laetantur, congregatione aliae coetum quodam modo +civitatis imitantur; + +Videmus in quodam volucrium genere non nulla indicia pietatis, +cognitionem, memoriam, in multis etiam desideria videmus. Ergo in +bestiis erunt secreta e voluptate humanarum quaedam simulacra virtutum, +in ipsis hominibus virtus nisi voluptatis causa nulla erit? Et homini, +qui ceteris animantibus plurimum praestat, praecipue a natura nihil +datum esse dicemus? + +Nos vero, siquidem in voluptate sunt omnia, longe multumque superamur a +bestiis, quibus ipsa terra fundit ex sese pastus varios atque abundantes +nihil laborantibus, nobis autem aut vix aut ne vix quidem suppetunt +multo labore quaerentibus. Nec tamen ullo modo summum pecudis bonum et +hominis idem mihi videri potest. Quid enim tanto opus est instrumento in +optimis artibus comparandis? Quid tanto concursu honestissimorum +studiorum, tanto virtutum comitatu, si ea nullam ad aliam rem nisi ad +voluptatem conquiruntur? + +Ut, si Xerxes, cum tantis classibus tantisque equestribus et pedestribus +copiis Hellesponto iuncto Athone perfosso mari ambulavisset terra +navigavisset, si, cum tanto impetu in Graeciam venisset, causam quis ex +eo quaereret tantarum copiarum tantique belli, mel se auferre ex Hymetto +voluisse diceret, certe sine causa videretur tanta conatus, sic nos +sapientem plurimis et gravissimis artibus atque virtutibus instructum et +ornatum non, ut illum, maria pedibus peragrantem, classibus montes, sed +omne caelum totamque cum universo mari terram mente complexum voluptatem +petere si dicemus, mellis causa dicemus tanta molitum. + +Ad altiora quaedam et magnificentiora, mihi crede, Torquate, nati sumus, +nec id ex animi solum partibus, in quibus inest memoria rerum +innumerabilium, in te quidem infinita, inest coniectura consequentium +non multum a divinatione differens, inest moderator cupiditatis pudor, +inest ad humanam societatem iustitiae fida custodia, inest in +perpetiendis laboribus adeundisque periculis firma et stabilis doloris +mortisque contemptio–ergo haec in animis, tu autem etiam membra ipsa +sensusque considera, qui tibi, ut reliquae corporis partes, non comites +solum virtutum, sed ministri etiam videbuntur. + +Quid? Si in ipso corpore multa voluptati praeponenda sunt, ut vires, +valitudo, velocitas, pulchritudo, quid tandem in animis censes? In +quibus doctissimi illi veteres inesse quiddam caeleste et divinum +putaverunt. Quodsi esset in voluptate summum bonum, ut dicitis, optabile +esset maxima in voluptate nullo intervallo interiecto dies noctesque +versari, cum omnes sensus dulcedine omni quasi perfusi moverentur. Quis +est autem dignus nomine hominis, qui unum diem totum velit esse in +genere isto voluptatis? Cyrenaici quidem non recusant; vestri haec +verecundius, illi fortasse constantius. + +Sed lustremus animo non has maximas artis, quibus qui carebant inertes a +maioribus nominabantur, sed quaero num existimes, non dico Homerum, +Archilochum, Pindarum, sed Phidian, Polyclitum, Zeuxim ad voluptatem +artes suas direxisse. Ergo opifex plus sibi proponet ad formarum quam +civis excellens ad factorum pulchritudinem? Quae autem est alia causa +erroris tanti tam longe lateque diffusi, nisi quod is, qui voluptatem +summum bonum esse decernit, non cum ea parte animi, qua inest ratio +atque consilium, sed cum cupiditate, id est cum animi levissima parte, +deliberat? Quaero enim de te, si sunt di, ut vos etiam putatis, qui +possint esse beati, cum voluptates corpore percipere non possint, aut, +si sine eo genere voluptatis beati sint, cur similem animi usum in +sapiente esse nolitis. + +Lege laudationes, Torquate, non eorum, qui sunt ab Homero laudati, non +Cyri, non Agesilai, non Aristidi aut Themistocli, non Philippi aut +Alexandri, lege nostrorum hominum, lege vestrae familiae; neminem +videbis ita laudatum, ut artifex callidus comparandarum voluptatum +diceretur. Non elogia monimentorum id significant, velut hoc ad portam: +‘Hunc unum plurimae consentiunt gentes populi primarium fuisse virum.’ + +Idne consensisse de Calatino plurimas gentis arbitramur, primarium +populi fuisse, quod praestantissimus fuisset in conficiendis +voluptatibus? Ergo in iis adolescentibus bonam spem esse dicemus et +magnam indolem, quos suis commodis inservituros et quicquid ipsis +expediat facturos arbitrabimur? Nonne videmus quanta perturbatio rerum +omnium consequatur, quanta confusio? Tollitur beneficium, tollitur +gratia, quae sunt vincla concordiae. Nec enim, cum tua causa cui +commodes, beneficium illud habendum est, sed faeneratio, nec gratia +deberi videtur ei, qui sua causa commodaverit. Maximas vero virtutes +iacere omnis necesse est voluptate dominante. Sunt etiam turpitudines +plurimae, quae, nisi honestas natura plurimum valeat, cur non cadant in +sapientem non est facile defendere. + +Ac ne plura complectar–sunt enim innumerabilia–, bene laudata virtus +voluptatis aditus intercludat necesse est. Quod iam a me expectare noli. +Tute introspice in mentem tuam ipse eamque omni cogitatione pertractans +percontare ipse te perpetuisne malis voluptatibus perfruens in ea, quam +saepe usurpabas, tranquillitate degere omnem aetatem sine dolore, +adsumpto etiam illo, quod vos quidem adiungere soletis, sed fieri non +potest, sine doloris metu, an, cum de omnibus gentibus optime mererere, +cum opem indigentibus salutemque ferres, vel Herculis perpeti aerumnas. +Sic enim maiores nostri labores non fugiendos tristissimo tamen verbo +aerumnas etiam in deo nominaverunt. + +Elicerem ex te cogeremque, ut responderes, nisi vererer ne Herculem +ipsum ea, quae pro salute gentium summo labore gessisset, voluptatis +causa gessisse diceres. Quae cum dixissem, Habeo, inquit Torquatus, ad +quos ista referam, et, quamquam aliquid ipse poteram, tamen invenire +malo paratiores. Familiares nostros, credo, Sironem dicis et Philodemum, +cum optimos viros, tum homines doctissimos. Recte, inquit, intellegis. +Age sane, inquam. Sed erat aequius Triarium aliquid de dissensione +nostra iudicare. Eiuro, inquit adridens, iniquum, hac quidem de re; tu +enim ista lenius, hic Stoicorum more nos vexat. Tum Triarius: Posthac +quidem, inquit, audacius. Nam haec ipsa mihi erunt in promptu, quae modo +audivi, nec ante aggrediar, quam te ab istis, quos dicis, instructum +videro. Quae cum essent dicta, finem fecimus et ambulandi et disputandi. + +Voluptatem quidem, Brute, si ipsa pro se loquatur nec tam pertinaces +habeat patronos, concessuram arbitror convictam superiore libro +dignitati. Etenim sit inpudens, si virtuti diutius repugnet, aut si +honestis iucunda anteponat aut pluris esse contendat dulcedinem corporis +ex eave natam laetitiam quam gravitatem animi atque constantiam. Quare +illam quidem dimittamus et suis se finibus tenere iubeamus, ne +blanditiis eius inlecebrisque impediatur disputandi severitas. diff --git a/macros/latex/contrib/lipsum/lipsum-cs.txt b/macros/latex/contrib/lipsum/lipsum-cs.txt new file mode 100644 index 0000000000..da9376716c --- /dev/null +++ b/macros/latex/contrib/lipsum/lipsum-cs.txt @@ -0,0 +1,1457 @@ +%% +%% This text was provided by OndÅ™ej Macek (ond dot macek at gmail), +%% extracted from Petr StanÃÄek's website: +%% https://www.wellstyled.com/tools/dummy-cz +%% + +Lorem ipsum dolor sit amet, i tÄ›s nÄ›skvaclÃvrou zýflu nÄ›ni vleň tis. +NÄ›Äo k tÄ›mlé. Rust vrÅ¯Ä tÄ›pÄ› ti pesk dropy, chreÄlůb mÃk i zképÄ› +ptoňchlich k niz. BÄ›dlu dryplu vrour a timÅ™e z diÅ¥u. Ni dÄ› uzle k upÄ›? +Mus i prepÅ™ouc, v Äleclup ni vustotitij vestuc kÅ™ouma dÄ›c preti. TÄ›ch +užraj vÅ™ilku. Tivdiddi opÅ™ou z mati chlanÄ›plÃÅ¡ i tid? Ocra v mlmetivi +ktůchlyÅ¡ tkétÄ›d brár s ugrýdÄ›b ÄliÅ™ drýžlépou. DÄ›bi něř vÄ›piÅ¡lé. UbÅ™ub +ubil clur ditÄ›fou vÅ™amÅ™oÅ¡ly ti syÄ dléti chraptuchlý louglotle mřáb tlý, +žlůmasla miÅ¡ dláti mip práchýjá. A vouninidla ti chlira sinÄ› dÄ›méti +hroni oÅ™oun i he lkystklé pupléplaÄ, hlohlouvo Å™ofle veglà buž dÄ›bi +ticrez hlodidi. KeÅ¥a diplánÄ›ryÄ dýmeňoÄ. + +Tinic nÄ›l, mluÄ didlefe kohva pěšt cakřà pavu v dicu, byniÅ¡t sev +slitivýr dobaž pevlyv pÅ™oz tkedÄ› o Å¡kamou chruprépez zÃbyk. Hlož a vuhly +dipi v Å¡lodrouž buÅ¡byz floÅ¡t kaju. A hlést. Vrybest pru chlij nisti ku +hrÅ¥? Tižrac kte gédledipliÅ¡ pÃvá zryti poÅ¡. Frůplů puskybeň protřà vynir +Å¡loufournÄ› nÄ›z hřákni nÄ›d tivÅ™ok jepasa tÄ›m. Tib clomro nÄ›tÅ¡la z dluÅ¡. +Osrou a kar fyÄly pluvÅ™a niÅ™srysu systůb frýrdi v Å™ÃÄ? Nifát tik, úlů +tkych ti Å¡kátÄ›ch skeho nÄ›mroÅ¡ká tkyniÅ¥ mÅ™ou soure a ti. FlymoÄ blůndÄ›k a +mud fomyc did chrůdÅ™Ãd hÅ™i tÅ™oklé z dlazý. Clibu vyžréclà i troÅ¥ vrydi +zlýtká frátlÃpÄ› žlým o ozloti tkéštmlů, budÅ™o tÄ›r. Bidit Å¡tymon. + +Pludlé k ti drodÄ›n hruÅ¡ro. NÄ›chábÄ›slouÄ Å¾le viÅ¡lo kto dinÄ› bÅ™odÄ› mluÄ +geÅ¡ou dléclÃnÄ› ju nin. PliviÅ¡t mlýma žosk žipep rárydaÅ™. Béžhrunu nÄ›. +Nichrů skuÅ¡. CÃr noÄouv žach a slesa fydiÅ¡t skyň, bohlávubror dÅ™un a +chlychy stoÅ¥ zliÅ¡ku. Blohtin clýr dÄ›Äesk v vuždÄ› lidi zloc dlůmlydiÅ¥. A +žraÅ¡ vustpo Äly rázy. Mý kÅ™o moka o chektýmy mů tÄ›by Älicavech venÄ›Äbahr +o ni vlsgleÅ¡. A freÄlà opru plun klů pyÅ¡tvlÃst jámlo s ditliflyÅ¡lo +uzroklů hÅ™eÄ. Tiž umre a Äakleb, dinÄ›p sruphaglý uvraň trykvesk o diÄuÄ +nuchů a vraÄ nitÅ™a bebrublýd vÅ™oun. I Å¡lůle v ryz plbobrouc tÄ›s pež +dÄ›vra. DÄ›cla pyh skev dÄ›dih vi. Výj dipto i bÅ™uÄ dÄ›bÅ™e. VrdÄ› i břáz +titka sredilý putipoÅ¡ drumÅ™o. O clÃblÃzlu, pÅ™Ãlá tÄ›bý o tÄ›c, nÄ›mlo dÄ›st. +Prek mloudÄ›sly v gók. + +Zkáv feclà chubem mupležrytřá tkýti nyh. Útreb ukranistu s diniplÃ. Omo +plemlu tkozremo dis vep chléhy Å¡ta hlypřà kteniÅ¡t Å¡lář orou. DipyňnÄ› +hlub tlyplésk pechlej s bibÅ™ask mudiž veÅ¡Ãvsést Å¡rož choch upry kÅ™aÅ¡t. K +dlimo nigrů Äli tkouv kůca flýhlos. Kumlishlo tani růšký k niÅ¡, titÅ™e +diÅ¡t noup belů dÄ›nÄ› a giÅ¥ tidÄ› tÄ›ky? V nelu o niktou tlavlop dik z +krůti. Z ublý sroumrj dÄ›důdi mu Å¡kůvle tlývleÄ Å¡ryvabu mek z vumon, +vÄ›lychkrevry žréve oblu v dÄ›tpa? A bo nidli a těž vrásy tiněž dÄ›k +vlabboubÄ› žláje tÄ›kry, nid skad. Úšáž onÄ›n děšttiglol pysk z vlavÅ™a +zlát, s dimiž srazkádidkrud vudiÅ¥ vroÄeÅ¡bÄ›Ä jÃnÄ› skydÅ™a i ditiÅ¡ta. +Flolkyblu brůvÅ™u loti a Å¡kežlÃgytlé a pos tiskti úsloti. A nÄ›do. Niskbu +mi dÄ› tidlávru loudlu. A tigi digý nÄ› Å¡ru olka. ToÅ™ vloumlek rášt chrÃ©Ä +mivleň glÃ. + +DÄ›ni tÄ›d mechrab z nÄ›vok. Dih dÄ›di o mraz úplu. Maž chlov lkyflý di odip +frst tihřà v tÄ›. DoÅ¡lopiÄÅ¡lou béj úkÅ™inÄ› dÄ›vřáÄofrÄ tÄ›r. FlÃÅ¡laž tÄ›k +jutryv nipo so krynbiv jeti, diděňlkůklý dimly vrýnÄ›gi. ViÅ¥ miti ho +chruděž těšt plev chrasté krej pazev? NÄ›glu dráj o putroÅ¡le táž plápos i +mlistad, chlom pyb zyflyr a mrebipÄ›n vre lkamonáj blal. ŤouÄlýptatěř +ny. + +Řoukou i nÄ›n ditěťžlo nistest brétimib k skyk nimu brh dÄ›dÄ›d, dij mliňa +chrou bam. Å tocra hrýsk ni hřánÄ› veÅ¡tpo baÄlepry slytÄ› nil. Slář uÄádi +dlozkat di nÄ›chryt srépalouÅ¥ úmra kÅ™ažrymÅ™u, góz nÄ›huÄnÄ›. Rostzoň dis +mloudi mrch fletěřou žlubyÄ bofrÃ½Ä skůb ÄÃh. TÅ™Ãchsy pažlynÄ›tÄ› peÅ¡lou +voch mezkost dležrý. VÅ™a a vramláň didý o žlýniÄ pÅ™ochlachly dimÄ›zu, +lykty vlouté. Pěř floumylblu pÅ™oÄ omroz a dÄ›z ota mrapry crop mréblé +tiÄhÅ™e? + +SlýpÄ› tÄ›h vegry i mÄ› řáflen s tÄ›meÅ¡t tic. ClapÄ›ch i tkatib tÄ›, mupte o +tkybpasret v dibu glob ňouvlÄ těš. Hruvuň umlo dléchruglů vÅ™udré chlo. +Sůkli a re. Å tehrůněžla otiňů prydiÅ¡t s podÄ›mi bÅ™eti chlesruti i zkůťa +nÄ›dÄ›gÅ¯Ä mÄ›b. Nimi s vlykružlo, kymro Å¡tap di? HÅ™ÃdÄ› ktéma a jÃÅ™ nÄ›tÄ›cti +Å™egla važ bapic. DiÅ¡tyÄ ni. I jotiÅ¡t frouÅ¡li hÅ™oun myclysto. V fliktůh +nÄ›lkébhli mip ptoch úzku a niÅ¡t Å¡lefrer. NÄ›kak pem gretli Älipini baz +mlah bofla hlédigle gláhÅ™o. Babů grép hÅ™outist pati ni. + +DliÅ™ kÅ™i mlÃtÄ› clÃÅ¡ku syp diva Å¡to glybÅ™e žla pruÄla hřà tivlo. A cep +divl vÄ›stý sleÄ zlodrou bamaj, ty bÄ›kto tich o mlimaÄeÅ™ nuvucou kám +nilký, plýv o fýpi s pruÅ¡la ocrob Å¡lom. Vuklij tlela mlůr mlýbyj nichyk +s pÄ›. Zlanich kregu pu plà trábÄ› v ucly i dlámiÄá. Diple grůch dlodreÅ¥ +tler dihlu dÄ›div. Myt hÅ™usust v bek. + +Pech klonib jávletiÄ onipu a grýžpreklaÄliÄ mubaskyj nÄ›jzro s zrdÅ™u s +Äů. TiÅ¡tut z Å¡remi. Kloda cluÅ¡ a bÄ›Älab v tiřà mlÃtichru k jitimev i +botiž. Brymřá jomÅ™uzlzky hlévecre. UgésÃraÅ¡ Å¡kabÅ¡kék nipad, me hup dekro +dryk clohla Älapu bÅ™apuky vupolků hrojuÄ. LkýšlÃnitÄ›c a Å™est stovlu +glout božblo tlac mliÅ™odé vlplichvadik vrofr bydic brédÄ›fro, nivÄ›z didÄ› +nÄ›krýdÄ›k Å¡keva béniÅ™ sij a gledÄ›v a bÅ™oupo, k mÄ› upty diÅ¡t z nibu, i +drouchtiÅ¥ k pÅ™umřá Å¡kůpe nidiglu, mlyÅ¡t tibÅ™oh a něř pÄ›mej v zut. Ogrů +únip pumevomyl Älářslo chýš mÅ™umryb zrji chouc nich nimi žlÃm z +supÄ›tÄ›zla. ZÃÅ¥ ktuprý bluj dloca pÅ™idiÄ tiÅ¡lůtÅ™iclů dir clůzlaÅ¡t. Lkýgro +i zládÄ› dÄ› a žlýtký, chruÄ by meÅ¥ah chaninÄ› blynir veti, mluÅ™Ãni k hrůfe +s timrý v tediz ozlebyÅ¡. NÄ›sk žlusré srérou mlách zitvÅ™ugutla hlýh bi +dini titěť. Bu něšt. + +Flor z behryr k tihrů skoÄ grymou o divecli panyp Å¡lá. Nib chlocli dÄ›c +nibla o bÄ›pà mo mÅ™uzodrýprou. ÄŒosk mysk dumÅ™a, timluglic chlaÄ a tÄ›lkeÅ¡, +tipo ÄlyÅ™ k mynisk niskyÄ o drekta v dlytÄ›st zlůch tin ditÄ›. Nima i úku +utÄ›se hulkousk vaÄ mápe tÄ›chruÄum dÄ›louglod važlo. Trutý s nir bomé +slážà a uhle. FetibÄ› hyclo sramlo. Čá a ňáktaňskůťdlé. TÄ›s dirmubr tůsgů +a glud ova ulo dátÅ™uskati cleÄ nÄ›kly tiÄklu, vu údÄ› a dÄ›muviÄ i +krélkousk. Soň ktahtle vrous vrykred žreÅ¡kest. A pyb vÅ™ehlohlÃÄ zremum +zýkte, tÄ›z tlÃÅ¡lániň glů a úgýš nÄ› hlédi. Timlůclosk mab niby. Noz náfl +nizůtÅ™o beslý z zychry dÄ›vrou i foÅ¥plubán, vÅ™iÅ¥ tav nidrasku tÄ›Ä prupěž +tléstyr bÅ™ÃkÅ™ouÄa saÄ gudi, vahÅ¡lá z tléskvi gruÄÅ¡tut z haÄ bádÄ›pro +slahla k moÅ¡tply hlyviÅ¡t til, chlouhle blivu mist. + +DliÅ¡t lydÄ› meslufradÄ› bimÄ›d tÅ™ÃnÄ› dávlécblás klatuvro uvly nitva vÅ™Ã¡Ä +vůl nÄ›ni. DistouÅ¡ tÄ› klisry Å¡le kÅ™oumrokluÅ¥ didousrác srÅ¯Ä bodÄ› pÅ™edÄ› +brechobi cláslan. Plozktůst z ÄaÅ¡ nichy. Přámlo glédÅ™atÄ›tla tkuň lu +foužlisk lkůskdÄ› tiÅ¡t děšký vÅ™oň hrumiz gýva. Vlůch pyclupte utinis tibe +únÄ› ňoul soÅ¡tžle, tlumenilem tÄ›gà neclÃlkýny mosk dÄ›zrů k Å¡tod nidi +dÄ›pom tist, kyskou uÄlunýřou oloutskop? Bilma dlužvěšt skuÅ¡t vlichlidi +návlůsk vlyja? DÄ› tÅ™i távlý chlemÅ™e mesk hávren z kyl, káná lelke dé bes +nizlů diň udÄ›r k ko. NÄ›křátle clu lábgibo mÄ›mÄ›crukeÅ¥ dlyrévo umadřà uti. +Krhla klal skýdÄ›touch tidÄ›ble Äuti dazmare slynÄ›r droÅ¡ disk bibÄ›nÄ›cla +red. Úma ma i vastuÅ¡ titké k výhli. Flukly tlur tÄ›vvi drazkou ce tÄ›nÄ› +lkyÅ¡ bloupěžà chrýn tiv ňoÄhlad. VÅ™umrodi blizid stast goup nÄ›skděž v +nisk? Hrprestazžlé vatiz hlnÄ›div bÄ›di mlakle ti zrebÄ›s oni oÅ¡ebla, +ticrab kluvÅ™u sůmdýpu plod mry usi zest mÅ™ÃpÄ›vřá vloň, a Å™inÄ›n hlopy +tÄ›blodlo o skásk fůdic tÄ›di. + +Ublutik Äůř blozronÄ›tit diclaň Å¡lovir ptevouňor odÅ™i žry hÅ™evynÄ› +klofýpi. O slukly vu pamy a hro. MouÅ™pa slupaÅ¡ vlouditiÄá útÄ› ňamlamr v +tlimi vablbyst hedÄ›chráh skýni? TÄ›něšt tidichlyp a sroun. Uvas k clách +tiskym nÄ›m, tÄ›st dÄ›Äluh. Sédrýs hlyl crusk hývů puÄliÅ¡t k didi titil +slemÅ™ubÄ› hré. Tli hlohro pÄ›tÄ›dih nÄ›mÄ› soubly lo bej kuvo a dihlou. +Dlupletidi srov flikl hruprok plilkutÅ™uco mlima dusk nÄ›chlu pe hrupli i +Å¡kav, ktyhlů. + +Lůz ny goumrý cravrybi betic oséc Å¡i. Mliv chufà hupe bož stádÄ›sk žlamy +tih dÄ›dÄ› tÄ›gé hlomýněť ptyvra frouÄ, Äumuprýtlo druh nih ohly hýža, +frálepu gliplych tinÄ› o nipusbÅ™er vlaÅ¡le bÄ› Å¡tochýť. Plýš mresrap +zÃchÄlou disk. Logrů lÃdi i žládi vrežrá vin a plaslo hlátiv o rél. Úlou +hliž jÃký chlahoh tÄ›nÄ›styž vunÄ›dÄ› kÅ™odlach budli gro vo mygluk, a slitůh +nist mÄ›pra slétiplabÄ›. Mlůvur div zůš hleli tizlyltÅ™u niÅ¡t s hravÅ™u. +Cloprst disruvbos. + +I Å¡ouc zlákra bohÅ™u dákrévo hlyh, dÄ›glest z Äoun nÄ›mrydi tkust k Å¡lagru +a tÄ› odaÅ™bÄ› chle, dipest dlouvre zyjzkůvá o diřà flou Å¡li gryglà Älaj +myj, žlýbe zrvlýst ge jáme cruňaj a va dryvy v chlyrne fiÅ¡. PaÄu a viž, +gluni oni a glofa vichla lytfrudist o mihlu, pěšryba dÄ›sa slen vÄ›zledi s +Å¡lukleÅ¡hřá blevflu měř chlatÄ›ch z tÅ™Ãcle, pěň titÄ›Ä. ŽladÅ™al v chloÅ¡ +tiÅ¡kez proÄ niti dipta. A dÄ›vlů a zroum nÄ›ni dÅ™ochniň drý glynislou. K +Å¡kuÄnÄ›buÅ¡Å™o kÅ™u clyžrů jenic hust? I úpykÅ™Ãti di. TÄ›jvlipa zlapé sýň +vinÄ›mo. Tuto dutlip ma ti hymy dÄ›blel tÄ›ch. OdÄ›p nÄ›tkuÅ¥obla žlidr vuc. + +Děškyklouchla me úba boutÅ™otidla, blu k nÄ›sžladlář i ktůbobrůnbu srévi +difle houpraÄlà v reÅ¡lu. A ciz bipi clouÄchru krod bÄ›drá něž sryÅ™. KrpÅ™e +sly grynÄ› poÄ praktyr, v tromedraÅ™ brámlu kloÅ™o měšt skouve. Mlevrem +chlÃtimre mlod, ni tlhra nÄ›Ä Å¡lÃba Å¡lisloÅ™ dih. OtÄ› usta tÄ›mave pytÄ› +niti nik muvi vrůk tiÄ fibÄ›Å¡Ã¡Ä Å¡leplob beÅ¡. Z nidi zláb kretiv o niÅ¡t +úměň žréřti k tÄ›k. ModÄ›k kliÄotÄ›po. K dÄ›chrak bldivro, time mounÄ› tliÄ +claslá uÅ¡lož i glani zoubeÅ¥ k li. MynÄ› chrone s titloublá a tÅ™oni. +MynÄ›zo v chlilka chédÄ›Ä bi trl dléťfruk mloťá děň. DinÄ› ochlol le bylem +z donÄ›. Mlani úžlávrástdiÅ¡t tisý i nÄ›ti žluba uhÅ™eÅ¡kol tÄ›p, tini ozlyfly +plech a Äůhour břástouchla a tésk dratěťškubi. NiÄláň clédi kteÅ™nidÄ› niz +suvom ké, gly sabl i údrýs. K memu prynizi ni. Ska nÄ›chry dladeÅ¡t +lkédisly oglach a nitil mlýdi, tlotýchaÅ™ nÄ›zoÄ. + +Å kozlÃtikeb van chrépré tiké trýj z jÃzli hryzr. NÄ›k diÄ glifoukrac +sryvoz. BÄ›dib a sladÄ› pÄ›ni vom údla? I vah nÄ›di zkupÄ›j vasknichub tisrou +újá. Hry dÄ›diž di. VÄ›fóvřádi uklaplotÄ› i chrůňni moklédÅ™opÄ›c venÄ›sk +mÅ™uno nin oni tiÅ™ bÄ›gryn bac, Älevy fón fresru niti muk ústu zreÄ +bÅ™etic, tÄ›méc s vežluzleÄly děťo tkad třÞà duťáÄ. JeÅ¡Å¡rubá dréhlousk +Å¡lyÄà pÅ™otdÄ›bÄ›h vozliÄáblý nikra Å¥outÄ› v Å¡kýmá úmeÄlenin, ňágle +glajtipinil Å¡loclyÅ¡t clys žlé hádÄ›tic tediÅ™fož tÄ› lkýske bladi o +tižrour, žadist di břáš. + +Hyfe bimlý. Mly voÅ¡ dludÄ› nitiÅ¥ stýš v těžlaÅ¡ tÄ›sláditrou uděšt mroule +tipovměž. S jodi mÄ›di a niÄglé z flýr boudÄ›l flůň mina dÄ›drů +chrytlubrýt. Zke s sruvach. KtouÅ¡ter ve diti v diky mÄ› gÃ³Ä krýÄÃt pámiž +s Å¡ruň tÄ›pusk. Di a dÄ›tlát, krybuch s fréž, bÅ™oudi chruÄÅ¥ou tiklamr munÄ› +vo ktýkÅ™iÅ¡ úktudi hlakskou diz skup tiskbud k tÄ›. Úvo lkéd dÄ›pÄ›n flo +tÄ›. + +Crytky tÄ›bre pléglonÄ› chlůmoni dÄ›Äáp a úpa i vléfa pe, nihlajou di douž. +DěžraÄ z něšrak drýjni vepÄ›drac. Klež z gétrul přà ulu guhlý tlyÅ¥ mož +bymy mÅ™ikliÅ™oh žrapaÅ¡ prou. Di dimr s zyvmi odlézu tÄ›so nil haÅ¡t, houti +kradi Å¡rum bÃtkám hy. PiÅ™ titislusry mosknÄ›. A vÄ›dinÄ› z Å¡teblu i nipyd. +K dÄ›Ä ÃºkleÄ minÄ›sk v ofré niz k jáfrj nim. ÄŒiÄ srubraÅ¡t z tižryske v +zuco drá i mrédÄ› stomlůz tky? DÅ™ulká bykla biž tiÅ¡lic di nÄ› pÅ™atÅ™et v +voh tlýdlaclyhřá z dÄ›dis. Dlý ni pihra nibo a mryplj mÅ™anit manisro +Å¡kůgrudipe gle pahré tlýt. Brágoutiň vi tli noklý bliva chlej mréj +klitil tlýcry a gloc. NuÅ¡tohry s puk bliti kýdil list. + +Uvli beÄ v týcly i lybréch a utibe pani dichoud. Pochobla udÄ›j nÄ›m prách +nÄ›mráv Å¡ligli mubludini oni tÄ›m ný. Zkousre o Å¡la dlavodlosty onipy +vrybÄ› diktystkeni. Drá a stetlena tipu tisry a glab hÅ™ouvřà dÄ› oÅ¡ro tin, +Å¡tuňa k clomÄ› bask dÅ™age z divro zyÄloch blu tkůlÃl jouÅ¥ o blydr. +Úbrouky pomo vÅ™aÅ¡t skyni vaflij diÅ¥ mi nÄ›caslýdraÅ¡t. VÄ›v glucágryň copaj +z mÃsktinive žlousla o diÅ¡t? Kouvrá Äogu v dib niflu ňásk Å¡ošá. Tik +roclá zinÄ›tid hloglu vly diti tÄ› z bibl. ŘohÅ™aÅ¡ a mÄ› nidi sre tÅ™oulko +clů na. Tltsky úsruÄ i ktoudle. UÅ¡Ãp k tkův otry. O flupyb miro nÄ›t +trat. ŽryjupÅ™oul povry s vÅ™uÅ¡fru diblonin i tÄ›Ä chýmzkeÄfr nirec bléclu, +uÅ™oÄos dřá vlad vižlábij. + +Osto a hÅ™iÄ tÅ™ezáb polkypřà frýzryr franiž v tiÅ¡t bedoum dÄ›ve. +Mřápžreglidi omemu tÄ›cro zkaklo Älýst bost zudibe blýlke. Chla s mlápy +nižro hlichlapotÅ™ou. ZlÃbaptalko a tiÅ¡hřámliÅ¥ oslyslů menÄ› z tkýň +pudleske, dizlé tiglá pusk mÃtÄ› nÄ›vaÄ Äisk nisk dinÄ›di mupoum. Ti kuhla +Å¡rut a chlybrost prr vlabÄ›r Å™ouÅ™, pochro cÃblu nid vamÄ› těšt ležab z +ugyÅ¥ni mydre ditÄ› tutkyfržhráb chutlůšdÄ›goh, mab Å¡kudÄ›ni dih dÅ™u dyni. +Nizu vlůch niche. Jà Älážli. + +Vik lar tlaÄlý. Ba voutliba dy. Vuchle ruhřá k di udÄ›sknaÅ™. S dÄ›n dinini +s vimuh troublů. Zre tÅ™Ãti guÄ nÄ›p Å¡lichrydi úbli di a tkázluduň. ŘáÄle +usa nÄ›tÄ›ly revÄ›. ŽÃdÄ› blÃc bÄ› nipyc uhleÅ¡ty Å™ekrýtiglý kÅ™uÅ™e tigle +didislu blutidiň. K petiÄlůř zrůtkáslo z dinou meÄour v michášlůzli Å¡im, +nÄ›Älániktůb seji ochlýnid i úhrousko z hevÅ™ach a uzliÅ¡pyÄlo. A hrén odÄ› +údÅ™ou nÄ›smabyÅ¡t krozluz Äly. Plý. + +K pÄ›vap felňůj bu otÄ›pradÄ› ni uslů. Dinidi úzlyÄiÄůz tiÅ¡tu gleÅ¡t. Nipim +ogó ninÄ›sy pÅ™u dizrůpi k užlů a glep mÅ™ikreh baÅ¡t. Frár clÃnilstýkuch +grydis bek mÄ›fr ditiÅ¡kýnÄ› žlidÄ›p kaÄlaÄla pu ťápo ti nitim. Glůšá blav +okto Å¡losgymou clyti muc plavlé vlubu ma kruclyÅ¥ nÄ›klob dÄ›v. Lih hrůmlů +bimkre hroÄ břà mlisréň, zlavÅ™ÃtÄ› tesáti o pedi žlem slé mapÅ™ih pÅ™uti +dÄ›m pec otÄ›, i tlélà tÄ›buvyd chlopbÄ›. FuÄu mlub dÄ›ÄlaÅ™ hydit tÄ›p +gryjásrav didi Å¡kymre kru. Dlim. + +O mom Å¡rulmani i tÄ›pádý tÄ›nim Äaklůc dÅ™eňously. MlctÄ› žlyle clin pymo +laz žisrétižlů zra skemloÅ¡t buÅ¡t nÄ›tijdÄ› o nit. HoÅ¥bo cro Äleji mlez tÄ›Ä +mékmes udi v me krásle. Cáktubo tizrý skeÅ¡ry rům ktokÅ™e, nÄ›tÄ› i pa, +lkunÄ› vrr cudra ni, úmeň žáť totiÄ, mrfly o mlýř nÄ›diti kaplÃs o crez +titkýť satni vénetitÅ™al. NěšbÄ› crozkaktá sterek bocou tiňufréc zlac o +niťávryc dézra nÄ›sliÅ¡. K machrousk puchmÅ™Ãskžly dih stÃ¡Ä vetůvour umu +ply. Kýšt mymu o hruj. + +Hypra dreÅ¥ k dimiÄlesk zrátlko ňomabludiň plovrz ti zkad beclo py. +DrežrůÄuÄ kruni vlac mane. ŽabÄ› troÅ¡ hruÄ dÄ›bra. KÅ™ati blžleÄu poz pa +mudi ktýl medi játÄ›pÅ™epi hÅ™outi k nést, vrédis tic vuÅ¡t lypi tÄ›memlé o +klo dÅ™Ãdpo umá stu. Nišápy klÃpe, Å¡kyno vak miž basim mižra a Å¡ketkyv +ňav sraÅ¥ šádizky nÄ›ti nidi. S lkyÅ¥. + +Metkup s mloÅ¡. Mluvel nim Å¡lÃv nÄ›vÅ™e o didlužá tÄ›cÄlo oklidi prouclani +tÅ™ÃÅ¡baÄ zaklůp. Mi vÄ›poÅ™ o madi. Stovlu témrola midi bupimi vlotÅ™u a +clyzliti blůť nisk pÅ™eÄtihaž tÄ›m. Dlp chlimřá ktymrozko titi pÅ™oumani +réb ňůpru ra v tiktouste. Srop Å¥ouk tivleň cousknÄ›vtim miktékdÄ›vy pidis +Älýň. Skouvu hÅ™az z žrátihni. Úhrou úgrůc klýh s platroÄ. Zlafój o dini +s nidi věřu lkout pepi. V gruc vlozkechly bychu kreťů. Křà žlétÄ› +tlimiclech. OÄou vlÃs mrázkátryflu? K vuÅ¡ lyžly pibyb. I tÄ›ni? Didi s +blytÄ› ti titidÄ› niděň zku zro plute tkehlydiÅ™, i bizkuj dih. Dlň slahe +nitřás bÄ› uprež dih i ťánicávoÅ¡ niÅ™, ptoÅ¡t zoubry vuninÄ›r nitik. +Å tyžfrok i tleÅ¡ou gruti diÄlamřà o tich tkuvrem. Mlogly s clop. Simlad. + +Nitěň chroudÄ› tkaÅ™. A nizy soutkýk. O syňkrusk fiz tidivÄ› Å™oubrý nuby i +nip bloÅ™fé mid Å¡kychlu tibůclo. Tkéhyc tiplou nÄ›l bloumy o něšluj drou, +slun clůly fochloz bomÄ›déb paÅ¡threk chlymoj mÅ™o. Ni nÄ›sláhrp houdiz ni +dÄ›ch timi Å¥on úmiti krakÅ™imÅ™ouhlo poňo. Mlubyb bÄ›muglu trvěň? TÄ›hlofléne +zranmut ploupi k dÅ™ouÅ™ini nigrec dit, lů vržvav z clyprů, pto slatÄ› +mletÄ› nÄ›vyzlůjni di dÄ›, hlýti a ticlo blatÄ› ké nÄ›skuÅ¥dleÅ™ tkohlud s +jÃgůť, dinitiv caflÃ. Poch zkatlo bráť žemÅ™Ãst mrypich úchrůdÄ› srůmr +Å¡lypkto kla zrym okrytÄ›? Mibydloze řádÄ› ni údrůfru z zlo fyvrý dititli +nifráš, o tiprýbÄ› pob krusk vÄ›ditroubu pistmÅ™ouž, Å¡rynij Å¡oust +vlihvuvÅ™o, sÃtko dÄ›kliÄ chly chra Äodroli chlokta. Zrubřábe Å¡tuniÅ™ dÄ›st +a Å¡ryÅ¡tami nÄ›h zroz úchlyÄ k mrér, kluzli nugredi ků a Älutřáhé dit +gruňák, dÄ›m mevo muvutiÅ™ lketpotréši bovep lkásrášli Å¡lÃ. Z stujhl +važzků diÄ niň chýrounÄ›plaÅ¥ dlu Å¡kaplt? Vip hrodranad s pe srépnisu fuÅ¥ +vy tipi. Tlab. + +NÄ›bloudimlir pÄ›. A vitÄ›hů o dÅ™ou chemub din minÄ›. DiÄo k niz chlahÅ™uk +hlůnih pů gledvÄ› vytro nivlyvÅ™e prudÅ™en kleža, ti zlytá zlum i pegrévÄ›t +ÄlÃr a hlibra k niÅ¡t, vÄ›di tidlu sraÄ o ÄásbÄ› tů klouňmÅ™o a fláhrove +dÅ™udi z ÄábiÅ¥? SlydiÄ k veÅ¡ bÅ™imež nit dic udÄ›, zrou pýřzků sýfitiz bÄ›mi +plyvlu hřábumÅ™en. BliÄ vÄ›hlyzo moni plonim bej k Å™eÅ¡tÅ¡koub reh, tÄ› +Äloutit monÄ›tluj moÅ¥ a mrurás sroryde tlou dibÅ™osk. + +Ufro zkáp v máře dik ti dibreboÄ. A nÄ›j dimlubu gla nÄ›pÅ™is chloc. +BeÅ¡rutkyc nifle Å¡lodi ré Äůky srytim ché údiž, dÅ™ouzý bouc nÄ›po zryzlů +zlaz v žadro pij zi. Uniti Å¡ruv Å¡ky fuptyj mřác diÅ¡ kluchyhchlyn, +tÄ›tÄ›nih i puprů chrýmostfrůby slofou fýveclaÅ¡ bÅ™oujÃ. Dlouvloň z blepro +k tic nijab. + +Creplasli obu s vastyň krátin hrypabvlůb kÅ™oud lkotkyz, mÄ›hlà faž dÄ›vÅ™eÅ™ +procla mleÅ™ nÄ›Ä Å¾ouÅ™ple tÄ›vobe, kouhrevěštÅ™a vutrůl hloudÄ› útitistzá +krobychry upraj nipaÅ¡ muÄ glykÅ™ou tis dizkymet, o tyt nifla o mor vÅ™ozlu +pustou něř dÄ›b kymát blak pi. DÄ›dypÞlà i tipy zůz i vůtipÄ› nikou. V +žrouc bintou v nÄ›p flémabedÄ›c a žroust benih pomop, niÄ udi góžli sla ni +hrutiÄ dÄ› trydÄ›kost glulkozko grefld tÅ™ev. Děř dimni oÅ¡ka a neti pÄ›kroul +tÄ›t tÅ™uňá o vicou dÄ›chrahÄi beÅ™. PyvltÄ› braťůdÅ™e k nÄ›b Å¡kebepo dlýmo kru +žly nislá dily ochukro, s hlchrů Å¥oumat zlyd zlitibr vlavrý v cloudi +mlitih o cheb. Děřuni hlůh tij buÅ¥o rouhluÅ¡t tlýl s chréto pyha. +Vlutsiby tÄ› dloÅ¡t Å¡eprounih z těš srutÄ›n s báktý pÅ™icléde floub dÄ›ch. +Mydi fle pomtlůsk vru glytkou moutigrav. Vubaz klivaÅ¡lat dÅ™udi skýtin +hřá cluncluk krátifrour, žrábÅ™in votipym, hÅ™eklávepÅ™at blohřà mry +bléti. + +BÅ™icre mrudi výs jel dÄ›sreb vych ti ote creve. Z bre nÄ›hrelů gà oci s +stýsk nini tiskýgut hlini z crobyd. BlyptyÄ chlůbiby kty zouň tÄ›niÅ¡t +divÅ™u diÅ¥, zož clumo z hřáhyk k zrÄ. Mysa toutigly kty i zygla dÄ›st. +PÄ›mrý hlachlou mi stytichlo tÄ› dÄ›di žrůdréclably i tit ňaply. Vrytije +nÄ›ni pyr nidá úgrýtu. I hÅ™achousk kto vakuvý. TivÄ› vÅ™ask nilÃz bÄ› důzkéř +jÃtiÄà jounÄ› fůž. ZytÄ› zýňvrozu mytÄ›gly zrů mebip k plis zkáchdiÅ¡t z +kretkež. Z pÅ™inÄ›r bÄ›gaž grévrůblé chlyni. Ťách niň moÅˆÅ¯Ä klih glÃpa. +Belkást hli v vyba tlej bemrý poh ni hlouzko o zkoti. Dik chlyzke a +tryplyn hrá mlÄo. S dim. + +Club Å¡linÄ› slýblo s joub Äouzka s nisrů ni a sebe? Vežlu zy oros dÄ› úni +chrežvud nij glymej uni bl kresk, vecleÅ¡ plonousrebro k mupvra name +zrůchlyvo buň slej butivebli mlahÅ™opih únÄ›cul mysrask. Diblé a tu +chlidloch plaž, ňast kruni tÄ›pr fraž nÄ›? Ktoblýl clouÅ¥ s kozku drslob. +Tab mÄ›kru s honi. + +NÄ›z zložlelo nÄ›vry Å¡toti dÄ›neÅ¡ko dÄ› zruchlu tižruc ustecla? O zlýšoÅ¡ká +nůÄi blonÄ›. Z nimejptu zruz hro diňhlů i dékry? NěštedÄ› tůgůni try +tložvo hrocá a roun únir. Tiž tip věžťož z clahřágrů z praÄ dlustyd pa i +decá veÅ¡tchask. A veslà mliž zed oti pyvglaÅ¡t chýtkanÄ› z úvy pih, oni +ptyst k pÅ™ope. Pavu nij mlytÄ›m. Bés žlufly sto Å¡kyvou ubu bÅ™askuktko +zlukru tiÅ¥uÄ di, ústů cluble Å™Ãz zlo brožra byblů Å¡kuÅ¡ vou, tiches i +tiÄzrus vrás děť, fludi froutrý zrp dil tkýdiťál nivi žryÄ migý melyhém, +fobro disk ňůni cro dÄ›kl bà dibuny, o ty zůsel mevo v Å¡kůž skeni osku o +tichraÅ¥as. Úpů vÅ™oÅ¥a o těťan, vuněšt a diz kysré a slÃhretrý pe pla, +nipi. + +Z tihu hý nobreniva brad diluž dij gluti didryr vÅ™uÅ¡t? Å¥ouzluhluňtrÃ¡Ä +titÄ›ti s fÃnikyh clastudi Å¡adeÅ¡ sini a nÄ›Ädal mÄ›pachla. Z nazká omou +niztiklá Äůmum migà v divra, niblyb a mistynépy dib v stubléň, dipo Å¡kur +dÅ™usk tihÅ™ouÄů mÅ™oÅ¡t o nivy, zé bouÅ¡ nÄ›ni v vopÄ›n hrlký z mo greptoÅ¥tku +nifle honý. Butibek gÃdyz ni trát mlyÅ¥ouvrou ny nÄ›. VufloÅ™ sroÅ¡tbÅ™a žÃž. +Vah mraÅ™oup k nuÄ kÅ™ažraÅ¥byro tiÅ¡ vratÄ›s k suk, vibra bÅ™ubbej třà +Å¡lublidlá hlymy tlok a vrákÅ™o, sapro clyÄ bro byžle v máÄ. Oflouch dibÄ› +dÅ™ou mygle s niv plÃdžré. Bivi dre pe puvle gráh úkÅ™Ãz chý. + +Nit úti žuv? TlétdÅ™ochrůchror vyÄ, voÅ¡ky cryÅ¡ty niplůšké mlůbÄ›vrév +gloupi nin žlyÅ¡ nÄ›jpa Äuk k krybhre k mo. VaÅ¥ba dláchlýr v chlup +bybuzron nÄ›m k divynÄ›? V žrub oÅ¥o v tisttikru s nÄ›n pteti a děži. +Henugro Å¡ragroÅ¡ dÄ›dÄ› fa nÄ›behe. Co crobyni dletigůvlod, i ni úzlu ve +vlapy, slák o zufa lkeÅ¡leÅ¡t a ti žlybnÄ›prý, zréti měň tlymoÄ lkyd tuc +tiskvo sibop žle, vÄ›m tÄ›slyv tli ninclaz žotÄ› dÄ›preÅ¡ků fah gra vokÅ™ani +zlebÄ›. + +Blkle vÄ›l co musma vud. Tibid o tÄ› bedikÅ™ap vetiň nÄ›Ävru umlouti. V úgó +tketouv? A zlou lkobach hlydi k nik nÄ›di s Å¥oupÅ™aÄ. Ktam kÅ™etÄ›my o +nijukroup tlouvrulkaptuh noukÅ™ec, v dÄ›ÄtÄ› v nÄ› houmÄ›h gy ufro. GlaÅ¥ poni +tindiÅ¡t ni tidichreh byfluhÅ™ouÅ¡ úble žrýr. Nil flÃclÃb s nichru nůb mu +dÄ›srů o tiÄ. OÅ¡latÄ› nisruj z vÅ™ed udÄ›n drtÄ›. ŘoÅ¥ ni dryžápr osež. Mymlůt +ptoťůdim tÄ›be uÅ¡o. + +PÄ›ni sohes s krézulpto Äa nÄ›l ludléc s niÄe. Skafložlůhráh chacho til +sáÄuc důť z zružrášlÃm flátiticly nýfy, bÃ¡Ä pežouk baž Å¡reb kÅ™emÄ› v +Äofleje úklou bÃh, tÄ›d řádiÅ™ mipciblo hévynifi fluch krebvÅ™ouzske Å¥o +dlibÄ›hloub ozrou biÅ¥ kézlod, k tiněško util bovÄ›těž zuhřá tir odlu tin. +Hremuň Älegli hraž Å™Ãn lougrat obrouj voh rozo, a nivÄ› zychbudÄ› hli +hlaniÄ bavrž misrýblo dÄ›hrt, zkemyÅ¡ry nilucour Äladi hlapetÄ› prů mÄ›růšlý +Å¡iÅ¡ žlÃr jÃbi? Moumr. + +Pryvromle tÄ›di. Výť srášle tÄ›dÄ›p vřábůlouzlet v opa vruclů? A myk +tÄ›toumu tÅ™ebu bon disty nÄ›. Kybro nÄ›dirotli tiha tkůžrý brn tÄ›Ä diti +Å™ožle žrafráktyp vrýchlysk, útinÄ›ni k nist, Äůpa cleclip v mly, ÄlyktuÄ +skuni chrun cre tabast o ras vibiÄ viž nÄ›nÄ› i vli, žruveÄseni zeprou +pizÃve. K gléjziz tuti? Mak srust osrůhrafom zrbu. MeÅ¡lekl i jà tleÄlaž +chlojzlé slézobru myÅ¡ tÄ›stcáz. O dl cáslá. RouÅ™ bebiÅ¡ a nÄ›s hřádÄ›j. Kto +pá zlyÄo mlaÄmrýhuzku hyzom ÄlÃpu v hůti? NiÅ™dir puh dÄ›pla úclýt cib +Älépi chrev dléh. + +PÅ™odi k niv dÄ›nÄ›gle voÅ¡ flásk pÃtÄ› plouti glod ptypuÅ¡t boh. PeÅ¡kůni +tÄ›pleÄ dléni v manip glatlu tliÄ disk. Cáske tibre v tiÅ¡ke Äoume v myn +klupi, vliti try o sresto a mÄ›ploumglouÄ. Tkyti grýžÄů k nitký a sémin +keÄle. Fryfruhre ni? A baba mrchluÅ™ dÅ™eň z tkýslo. Úbu plu monisku pu +zruÅ¥hláž. Lima cromuÅ¡là žlužra. Káhlov chraj a klaÅ¡lé slafon z mud +tládÅ™i, fryÄá miÄadvoÅ¥ ťáké nÄ›ti nit, tichoz Å¡kyc Å¡laskděň loÄ nÄ›py v +ktouj. Å kodÄ› ukÅ™Ãgésk a héžle k di vruste gotij s po. Tižtiflu z didrů s +zlyktož a dizli. Dis tkár tÄ›vol. + +Tyc k mÅ™enÄ›. Å kuniÅ¡t peÄ ÅˆÃ¡ni pla z dlovu dÅ™ÃňdÄ›Äe. Blezky a myclů udÄ› +dÄ› metiÅ¡ z lůtkémlebrem. TÄ› ptyjtloutÄ› tÄ›zluvleÅ¥ glesk mad dlÃbůhry titi +mrgouv Äosůdiv nÄ›hé vevyj vÄ›, omlyvov glochrázkastáť glipÅ™ou. O žradÄ›nÄ›. +HrébÃlke lipy cladlásk a hlůdÄ› chá crežlus ti? PÄ› Äůřát vůn glopÄ›ch +vehledlu dibouk vozleÄ Å¡iÅ¥ ti, tÄ›po bidÄ› su. + +NÄ›h dizrou a dichráž dik v měňa. Nih zréby žleÅ¡ chlimla flypslá vro +nivrou plin odipchůděť i dÄ›di tlifou. A otku, doust buž tidlu z nÄ›v. +DlyÄà ňu z ditbiž. HetÄ› k nÄ›vla bůnÄ›l sůvypukrý slétkou tÄ›mrtru hÅ™uzry +kloÄ. Tkomo dipyp tin titkuzoso veve dÄ›blo zÃtlávuh pobreni, i pÄ›. Tivo +o slalop, flé ládimi tÄ›h tleÅ¥ nispl dÄ›flépron mast, dlýl bétir a přà +bluniti mam clytÄ› piply. Žou bÄ›Ä, vlohlchrytlo k nid sažlý +sráhmlitěšlou. + +TydÄ› havi Å¡kouň pruhlekráž dývlech otyb zrást kružÃmrpÅ™ou hÅ™isrou ni +tidlá. DÄ›prest tÄ› tÄ›sé dirkuv tÄ›styni tÄ›d pis slovope. Mleklé dřátkouvok +krap syh pedi s batÄ› otip tlýcliny dini ti. I slývati slýz. V slasluÅ¡t +oÅ™ÃÄlou z dÄ›, nidÄ› dipy gratiÄlád doÅ¡t nimaÄ bi veÅ¡e niceÅ¡ra. Fec vitisk +gloÅ™zruhléclam tlýdlo obo o zrý pÅ™oÅ¡o proni? Zétigocpu s chlyÅ¡reÅ¥ou ptyl +dimenÄ›. Zkouhe bo mÅ™ou pÅ™umÅ™Ãhu planichru madi lky, hla ÄobeÅ¡ hr. + +Skopýdiňob lkel úkla mytkyl ti nichrou nimyni. Z chlip, Å¡tamy tibahlů +diflouch úve hÅ™id dru Äokůzlez gugou ÄlaÅ™. DiÄ dÅ™eflou pazo zré baÄ vyve +baněž dÄ›vaÄpa diÄgre tlimleh z goz. UpiÅ™ i ÄagluÅ¡t Äli dlydidÄ›Ä niÄ +hliti. TutÄ›n chrež dlůz srachlýnÄ› a vÄ›průsla nihraruti slýmražlá mo. +Ditiz tládÄ› zrac z zlydi a modi lkoÅ¡. + +Ni k Å¡lipa tkaÅ™imyc pod a nÄ›tou. A žrapaglo úškor myt sliti nÄ›mlyp +timoslo plýšt Å¡lývlegůp k clul, slůti opanÄ› z dÄ›vu tÄ›zkýz ba nij +Å¡loklÃch trpÄ› k gludáž zkaÄo. MuÅ¡ nikla vyÄ pÄ›vůtÄ›l gý dy úvluhloust +dÄ›vrab plitin hléť. Baj ktydi ÄoÄuni utim pÅ™ini puc clesk Å¥obiv vimÄ› +ÄluÅ™ouskeÅ¡ty o tkýř. Lkotřà něř hradánÄ›til maÅ¡ky buÅ¡t slepy tévÅ™ike a +dlorá. Nitaj diň a klicstou. DůzůptoÅ¥ nir ukrý z bavan bazluÅ¡ veÄ +broÅ¡kýtinÄ› hludih téšez o clých. MatÄ›clé k potihrym, kuboÄ dyžá, +vlyvÅ™usloň fytÄ› mÄ› obřá s clež pazkaÄtÄ›sk ditij, z vÃvrazleň tubůni +vÅ™ou, résiňouděť titke. ŇudidÅ™ouvon muzly. V glyÅ¡tchli niÅ¡ dÄ›futilku. +Gómla vřáš py skarét diÅ¥ni. VÅ™o dÄ›ly tÅ™ichro? Val hÅ™ouÄ skosu. + +O bÄ›mly mit žlaÅ¡ timtrů tibrou. Údédichlo chegrotléj Å¡lydižli s srest +tÄ›tluslemod mÄ›hlad otru báh o dichasrůh únuc. Srar ptaÅ¡ totinÄ›p. +Nibluflý v Äatil hladigyÅ™ ufrj tivlyÅ¥ sla niz ozouflut, skýdr chlouh dlo +vÄ›vlim dÄ›chla vÅ™ib detréb a tilkrou. A dich ÄibroÄ ven žluni vyvy jech +titikrydÄ› misto a hru, médi pocoudÅ™o ňouÅ¡tynÄ› vlachlu tiÅ¡o. A tuk +vertiplu tÄ›mrou nisk huchdÄ› bluÅ¡ cá diňfů k dir, niho tous a pěťcluž a +gloméj o tir lithloudÄ›Ä flizÅ¥u ni. + +Dimor vy o sruňoclýl a dÄ›jzre. NaÅ¡t bor Äoubeh kreÅ¡t. KlÃvliÄ a dlozloch +vrouÅ¡te i flysk, bÄ›bÅ™as plyÄktár z pům Älýbu a obre krákÅ™uz klůt těřtlun +zkotÄ›há žutlu. S pÄ›tiÅ¡e Å™oudi klýgáňůdre lez dij tÄ›pÅ™apiz meÄlát tidi +puc o diti. MatÄ›vre k zÃch plakré mloc. ŘoÄ zréstétr dÄ›dav žlovclaňné v +zůl leba nÄ›h puglaÅ¥ nidibust, stegrum mytlok děň mÄ›debliž a opu +utluskpas tláš voÅ¥. + +Fousků k peÅ™ pini chluňnizkápy ryl. Uvru ube úbisků cunÄ› niÅ¥ pratlad +niÅ¡t pratil tilà zlep vluzrÅ¥. Tros flyblÃ©Ä niž dimlýv mouÄloz +mreÅ™fédižro poumliske těžládi poch mluÅ¡. Krbar diditi hany dÄ›nil tiv +úchrá o tkuchůpa vanisrudi chrÃ©Ä k podrou. MatiÅ¡le měšubiÄ tilpyÅ¡t s +tÅ™eský pid vludij dich žrustplys v fryz. ÄŽokržlů z něř oněž zác pÄ› +žikrou vÄ›pltichly hrulnip. Å kéju a uslap vej Å™osyv tÄ›ledle Å¡ků vÅ™ouz +fůbe nůÄsla. ZiÄ k pézÃ. Basrýtid géž niz nÄ›cle seňfrá hludihfrv +hlipágouÅ¥. Houvrou tÄ›zkýzr tÄ›j srolke Å¡kyÄ teti hlÃtkyÄnit slabřá hÅ™ÃnÄ›l +tůn doÅ¡t, vllku vyl didsybrá vyÄlo mlelec. Nidvocre Å¥oudÄ›, Å¡lehy +srotÄ›važ v nÄ›. Úptu dřás myz. ÚdÄ› myklouv niÅ™ tÄ› přámre netiž. +DÅ™etiÅ¡oulé di flydÄ› poprodÄ›vi. DÄ›h ňo blonÄ› plůch binÅ¡to plelkob niz +pabro fust? Stybvu mýdi v fluniÅ¥ flu buvy vlůzrá di. V gadrd diÅ¡t +trůfyÅ™blo pÅ™oÅ¡lý. Ktu clehlypyn dlykÅ™Ãtichroc gykty žláchla myň gláh. + +Mremy bÅ™ouÄludi z nÄ›tifo ÄoÅ¡t flůb zláktis zlamy diÅ¥ útist. Tkonidi lkaÅ™ +maÅ¡t votkou dýšla vÄ›sk vlypani o chlyflÃd. Vyn cragle Å¡kyfrupbly +možratly dÄ› těš tÄ›nati zkypÄ›. TÄ›diÄ ovrytrukra koust pucla jitÄ›h, +nižrutůniÅ¥ i mydÄ› i druv gůbosk kÅ™otÄ› klužšlutidi. TkypimÅ™em o chůhÅ™ou +pryÅ¡ k meni frésk s oÅ™ou dÄ›j hy migle, frotiÅ¥ ml kagýť Å¡Ãst tivob +ptypÅ™ina s Å¡ke hratÄ›, kášlu ÄluÅ™ chrust tÄ›stdÄ› troumu fleÅ¥ tÄ›ÄdÄ›clé a +sliku, úšlob úÄlálà nÄ› brchu žáflů a troudásk niÅ™blÃjktÅ¯Ä didi zráti +vutidvub, ni klesk. HlybnÄ›sk chlibÄ›dis chryn o drochréj a méÄ. Dikrůn v +hÅ™ugrá dÄ›dÄ›d vou tÄ›flál. S vrytiÅ¡t o mÅ™op krepakliÅ¡t diti? TinÄ›Ä pÅ™ou +nÄ›go mlatěť k klápyze di best. TÄ›nib là v dÄ›nidi tÄ›dů rotÄ›tÄ› s vi tÅ™uklo +kráktyglÃmo. KÅ™efa moulclýž tim. Ni. + +Dřáv k tÄ›děš mlivo hatibys. Dichu dÄ›n zke piměšt nup srýžlo Å¡koz tlůvoh +tlo bizký chlum nil. LůfreÅ¡t houz puhluÅ¡ mlidi kÅ™o Å¡kůtÄ›mudi uvu fresk v +zrubry, ňát sryků zlÅ¯Ä pi. ÄŒoundrst lkouvřà úsapy hÅ™opà něšlé a prýtÄ›. +ÄŒÃba dÄ›d bazkadryni nÄ›k z zytiv sežly a odir clák som dÄ›ti. Kuz nÄ› +Å¡loÄledi nuda zkůti nÄ› dluj žrodi. ÄŒlažry a lkáz úmlydop z tiÅ¡t. Pytle. + +Clublá stábtÅ™iv utkehráh nÄ›chrá onibrou dikáž mÄ›klá. A chyfrab. Zkotřà +beÅ¡t dlomla di gatry a vrec frýhrá. A tÄ›c dihÅ™o lytiÅ¡ o Å¡tuž. NiťáchleÅ¥ +lutivo otiÄ trácryp i dÅ™i. Lkáškomiba vÅ™oboticha vysk. ŽluvÅ¡tuk s brase +glÞrousk oÅ¥ažruti uske motinÄ›m dlip a Äledi. O tipty, diÄÅ¥a v prk +broupra ovlazlů. Å todim dizkéÄ, paÄ bir bicu děštaÅ¡ nÄ› cetichlist nÄ›clé +Å¡ryÅ¡t hleÅ¡ka didÄ› niň Å¡ryÄe, nistfo tkeÅ™ tiv vacre. ChrépuÅ¥ti mÅ™ous +tÄ›Älo, Äap tin dlocry veskej di klocdi s káplo krakry peglonidi zetiÅ¥. +NÄ›z tÅ™adiv a houzkýt a dludi srech a dypo. Ryn krávagit dibÅ™est a nilkyÅ™ +stovy a hrá brklusk mudÄ› i blumÄ›flapo. Mas se jimÄ›. Dikra v bumo brýbi +dýst v nÄ›tÄ›s kradre hřágreplouÄ divré úbý chluc. KleÅ¥omrů hréň chrouzlo +ditik styprážle nil s ziné šákrýz s glitÅ™u frýÄlu. Vláfroufu stůt dibÄ› +vÄ›vÄ› lo skedÄ› tiÅ¡t dÄ›tke. Å re ktypiglý. + +Mlabech niÅ™ok dik ské. ŽufruniÅ™ chlitÅ™eÅ¥ unin bÅ™uc clůmy pažo hlý. Káfro +boÄ ÃºditÄ›k titÄ› nÄ›ca o brotiÄlý hlácryÅ¡. Chrevo tÄ›z bubyglůst tkudi +Å™amou i kÅ™est byme z vebu. Å lůdil tÄ›d skous žrazresrac zlÞrape niti. +Prouj Å¡kévá slym z utouj tÄ›fly s rachÄouva žotÄ›di tÄ›d, cheple butÅ™ÃÅ™ +voputÄ›k a lkel ústůr tiněšt v mrýst fávydi žréniÅ¡ro tymrý. + +PÄ›sy tipuň clykůžrýs otlouti a vobu, crybfrevu uba žradiÅ¡t by utkasta. +ZkátřáÄe cej skabla z oÅ¡toc nidÅ™u. O plýkteÅ¥ tÄ› dyhÅ¡kam Å¡oubláÄmuvaň +tled bláÄe s zkymÄ›bitÄ›d. Vlych zkaplů mlyhřá niblogrýp a mýzour. Flaché +joÄ vÄ›těšthrů nigrá cláštegrani ktout breÄ vozrávy so uvÄ› zloum ťůbtiÅ¡t? +MiÄ vucleň byni dÄ›s úbÄ› dÄ›mogéc, nÄ›tloubisku prýnavÄ› dÄ› i chlelke. Bist +v tÄ›mlů, pÅ™ukmÅ™oz s nim byvu niplymou hrmÅ™ech dÄ›z. S tkevib tiÅ¡tbih. +TÄ›st diknÄ› dÅ™ousar nifrevobu mly krer klévadÄ› chlůžloni pÄ›s, i vizÅ¡rask +v krá pÅ™ozrurlaÅ™. MÄ›gouÄdrezlen ÄomÄ›m vÅ™idres a nÄ›chá z prouti +Å¡limegliclouž tihÅ™us uvun di mÄ›Äuch. DiÅ¡kuch lkýst trézryc utÄ› sráÄ. Dir +ÄÃÅ™ir mÅ™Ãbemeniň dihřà s dÄ›t. Lkuni mÄ›tikÅ™a masnÄ› umep v timÄ›n. Col bo +lkouzout moÅ¡. Brl tidi niÅ¡Ã tÄ›r. V gájášt gÅ¯Ä mÄ›vamréžloÅ¡ plaÄlic frekřà +hreň chlablo. Chlý vula křátkojkou ÄuÄ mÅ™Ãtini cikrýř slehrý a kliÅ¥o o +mÅ™uchloch. + +FrotÄ› žuzre Å¥onibom. Diža vagy kto chlelkonÄ›nÄ› mydÄ› klytÄ› s mlotibou +zafru tim tkéblůp tih, a žrůhláť be a niÄchro tiňnitr dÄ›sk ktaňul didi. +S průgyj mÄ›grá tÄ›sk tÄ›tinis siniÅ¡t Å¡tytký dih Å¡tast nipu proÄaplÃl a +diÅ¥, dřáne numloudiÄ Ãºdi Å¡tytitý k pi. Tůnépoh drblu mouÄle a Äomi plÃň +nomanÄ› kÅ™ouv hýškež úžle Äak nitÅ™ektuÅ¥? Makap zryprachro clib i +tiktenslà bachlyÅ¡chÃ½Ä ninéh. Zků gož mypihlevry skouboÄ clepli niÄ +bÄ›zrép ptuslé ni i klyÅ™diÅ™, mlÃcomob dih pravu a niň. Úzuti žagre dÄ›dÄ› +bÅ™e k únÄ› sko. Brést nosro k děš ditiž nokdi ktéj Å¡rutÄ› mrubude tinÄ›b +kýdirni. Zruz ninmÅ™Ãr dlaÅ¡ra o hlé uvaÅ¡ utÄ› zky pira va tluv niÄhÅ™a. NiÄ +myhloubruž a dÅ™utÄ›h vipů zlůt dÄ›beÅ¡t z uzů. LovÄ› boňnÄ›tÄ›dÄ› a bÄ› +cháploupo fánodi trk. Moudi hrý z skepo teslani hlétdi tichro z mébib +zym a krdlo? Nipe otizret. S floklé Å¡lÞly. Dra vub brosi Å¡kýz kroukani +mluh. + +Diryst úclušá duni zkýť únÄ› zlimul ká a stodgujÃ, ti pylbo graÅ¡ titkab +Å¡luÅ¡lů mřá biÄ tidlý. Titi a Äláchlerkré. Nis o dÄ›ka bi tetÄ›tles žlod +diktů s ÄÃch boni s nÄ›. DřápyÄni ocácÃb vafla a chlizrouktysk roc tkůdou +lec. MÄ›drýboz upÄ›glouz hluÄa tichlách, hrenimeÅ¡t tkámu. NÄ›be umloÅ¡ry +tlumaÄ o nifromu prtitiÅ¡t a nist žléchlů pak, dÄ›nÄ› ty vichlesk nÄ›mudipy +nouÄ niÅ¥ viniÅ¡idblist lani, tidÄ›Ä bed mlazuvněť tic brouv oÅ™ou s va. +ŇůtÄ› tažla z zryz hrežlÃszétÄ› žladli. Sry klemu dlonik z tlýj letÅ™oklupa +motÄ›fyÄlà lýl stežre? TÄ›ni a Äli kebÅ™omle, vastžle vrtiktuvà chrouj brn, +růvrydtyt vyr zrusk mlouflo pipo nigetlý sraň vlýsttlé graÅ¡disk k dy, +Å™Ãdichou o poÄ ubomrůžli utÄ›t niÄhrouj o car tini, utry v zlouti. Z +krakou ti nikl sréti a nÄ›třásmro zke Å¡kylký lkůbýtin. I tÄ›gydi mlůdi. + +DÄ› vÄ› mavlá nÄ›r mreÅ¥ poÅ¡choumu Å¡kom niklá o zeÅ¥ uva tlapi. ÄŽouň úvo z +nÄ›chrou. Grůť nibÄ›huÄ kybl pel nÄ›vryÅ¥ bÅ™oÄ tluÅ¡ta dinÄ›. Flatichla léšt, +tiž mluský mu ževlýpu v jás, bÅ™udÄ›Ä o bim. Trýni vlid niÅ¡ry hrÅ¡ÃÅ™. DiÅ™ +ků ňouslydutÄ› úclytiÅ¡t tkélko ňoumtitly z chrobÅ™e. Pi hudi, žlažlu +mydÄ›ktyte nifrou mÅ™es úsost? K moslůni niz i flostni. + +Lkétim vlo blutous mÅ™ÃhluÅ¥ tli a blepÅ™ÃÅ™ hrost. Byti tÅ™oÅ¥madi v broch +nirdi klobad frudinÄ› mekto? Krouste vly byglatÄ›n. Trnas framy. Blyž +chliÄonvost v kla. Titi a že hrustou tibi s glamor bula a úgrů hÅ™udÄ›k i +mráj. Zleřámi ÄlidiÄ s nÄ›dÄ› v nitibrsla Å¡ro nÄ›he slaÄlilků pÅ™o i hredic, +ktunůj oklahr zer tkeh vluÄa v py jana. Cliclů hlimechly z úny Å¡lu +omroÅ¡t a hrýpy dipij s lýhu. Pyktalvytly máktýniÄ sruk žij sloumest +srefresk pot dÄ›mu vlesk dÄ›slun. V zrůdi zlour drop vidlu z nist mÄ›nim +zkutrou. Hřá stypi, mÄ›dly tich ÄÃnini mlop onini dÄ›lhÅ™ebréblà mrd +minÄ›plsto biklých, zydislýpyv v tÅ™Ãmřáv maÅ¥ s chýkre, pÄ›klop k oňá. + +TěštlápÅ™ur slotěšt z sto mrůmruptadlů tihru hlůnikrý mer metÄ›bipÄ›st. +KÅ™udÄ›d titÄ›s? Hlas hlež zozkoplagre a nižroÄ héchrá slaž. Ti žlypatÅ™ou +dÄ›tiněň creni dloÅ¥use skuvru s vÅ™Ãk petliÄ. DinÄ› tyž i vrypÄ›buÅ¡t dÄ›k +droni tÄ›drutÄ›ké v kle. Å ludi glevi i zlymÄ›m mis tÅ™edÄ›m žlo mranil. Z +hlyk uglán tÄ›k di, gradi hleÅ™e a trch nižlů údimytÅ™o. Nitic betÅ™oublyvlý +tiňalká flys. Žlébi a piÅ¡kouni Å¥ouj. Å oba umo tÄ›n mir mlezran biděť +nidÄ›zÃsk o hrot, nÄ›fleÅ¥utkůd oÅ¡luskoÅ¡kouÅ™ k Å¡kéťni. PliÅ¡keÄábu kteÅ¡tÄ›m +flifrenÄ›klÃÅ¥ udlů visktuňům, vestktél ruch pazani dÄ›srábro tÄ›t děšro a +mreÅ¥ niděřnÄ›t glyfly tidip a ma, stezre kop. Tumy k tÄ›k bléma tech. + +MlivyÄbamo i hrášt ptegouž? Péšá i bi zlétigep skýtÅ™ouz. MladÄ› steÅ¥ o +mrdle, Å¡liddÄ›s hež bros Å¡tecloh a žutÄ›z kÅ™ouvi udÄ›daÅ¡ hÅ™ižmlýtřà o žli. +Úšlur hypráň hřánirýke zryn nizlà pludi zasopo s gor. TkuÄo tÄ›huj +pufruňou a mřáh hÅ™apy tiž gÃ¡Ä mlabrust tli. ZleÅ™ tidÄ›vo o tÄ›ti. My z +muml i zuÄ biso Å¡ijga Å¡robetěž peti fru boti. A sruhmut těň slo, mlodřá +vagrů fýÄube o titÄ›stást? I dÄ›blou beÅ¡Ãp z mub. NÄ›pto Älýpryv disk nipe +dic. Tis nigroÅ¥ Å¡kozrý řá mrýflo kÅ™edivou z noulygry, v deniti. TÄ›di din +popÅ™ipres ti butlemrež. + +NÄ›tý tiÅ¥ tryh ládi tir o niÅ™zlu. HostyrdÄ›ni niÅ¡ o lutlitÄ›. Zrubrů bama. +MlůtÄ›tro tiÅ¡kypy i plà flebnÄ›rucla tiňá bráklýr k tkáb. Nima z nizniÄ +citi jouzkuci tÄ›sryl clepa kÅ™oÅ™ veň onÄ›bi dib rytizli. Plus Älygà diti +pÄ›n. GlybÄ›kla s bádÄ›hrupob dicly dÄ› nÄ›pà clam vy dimlem sryÄapo chrámlů +niglamiňchrysk. Niz niÅ™ Å¡uÅ¡ly s belá. K vipy penÄ› flym, z vukyb o +dÅ™uslá? Tkouble dÅ™oj peň skoufre vÅ™uÅ¡ nižluz hýÄmloch pÅ™oust tižoÅ¡t tkot +tleň, krydÅ™usk lkuzkůštut dÅ™oufytÅ™e premro? úcà nich Å¡kůmirdrýÄ, vu ňo +lebroukmÅ™u chruslut žlycliÅ¡t a tÄ›lezoble. Glemodro z bÄ›b ubeme +tÄ›sknichla ni joni tiz, v nihlu? Tkekbu tilÃzůt v pa ohů. + +Slahý s sidle gÃdÄ› nimlapeptaÄ. Úků mani pufýmré ňome i nÄ›b. Tini Älabu +k jeÅ¥? Chládi vlÃn útÄ›p z žliÅ¡le beclÃÅ¥ k di Å™ubrÅ¥a bynis. Miž zleh +dini. Pa pÅ™uch picádÄlo dij nénich hreÄ a vitru, dihÅ™a lýs a zlanis i +mÄ›di dlést. Ditinicho máti vybefly vufibraz zil družrah tÄ›p kÅ™ir trmtÄ›m +děš mlomma. V tÄ›vro tiÅ¥ chytlép til léme srátisk v chrev gliÄuj diktedÄ› +tlyÅ¥ast, útků ditiro fraslývÄ›t o stu. TidÄ›kl hÅ™ouktyÄlÃch. Hlubi zouhý i +tÄ›ch zrůmche dit? Réhry srédÄ› v kýbÃň zkyplo Äej dini skesů v mimoÅ™. +Prasle ovlédi pty. + +Myflu Älyv tÅ™Ã¡Ä lkeÅ¡kathrudÄ›Ä. Kluktou bidvi i gůpÅ™an. Mlacle pach Äůsvu +i vývi plutÄ›. PÄ›nižbom slovÅ™o v tÄ›j nÄ›ti saclýzépa a vatÄ› hÅ™uka +ptanÄ›frů. PoÅ¡t sÃst. Mesrůsta tisle zrélke k nÄ›di pimoÅ¡kou a nidinib +tisk k udib. Ucár Äus fymÄ› vuvas pÄ›j. Chédi bÅ™eÄlu. A myzkán Älávla bo +sůnit v jid ptoptu douÅ¡Ã sradravé. Zrou zkytázry žlÃjuÅ™ opla niganÄ›. +Nizos dÄ›h Å¡kemro. TÄ›bloÄ dÄ›j uky jani grok prutÄ›sk úžiÅ¡t clor Äuhé. A +heÄlo v zlo netro vrotiž klouÅ¥. Å lýř ňalkto ti plidÄ›flůb kásk prožraÅ¥ i +zkotkodimu s dÄ›mÄ› chryklot nÄ›h? TÄ›mpuch blé chotich zra fléšt. Ninic +nižvÄ›bet hrůk k dikktá momÃÅ¥ dÄ› a dléti. Dlojedrák i nimlost v +vlusruti. + +Dádi chrouptagradli chlu omlýc trypÅ™iňou. Drumlo sétÅ™u. Uniktu s hlaÅ¡lu +údřác diÅ¡ záv sližlým niÅ¡istá divu? BÄ›m zlydÄ›h try Å¡tyn lotžryz, k krubu +mymÅ™eÄlád nivlo moudi klunilÄáp a vytiž movani clo oÅ¡ke, zlÅ™dÄ›chro +trůmřà dlilobe ohré frůtÄ› vilkutÄ›di. Omůglyp z voh obapÄ› s Å¡lÃsrokla +suvi clá řá kÅ™adi nizrémÅ™Ãti, a crazmlo báply Å¡lů. Bipra těžlou a zrydlz +hrýdih z žloutibrÅ¡t chrabram uhu niv. Úchy mÅ™eÄ Å¾az brugrud hÅ™ati mro z +slůgli hrýť. Ťotkátach vÅ™etke. + +Nilku o tÄ›s plyÅ¡ty mrevleÄ vur ptyÅ¡t skydi Å¡uk. Opter di tizrydi tiÅ¡pÄ›m +vÅ™ouhzlátýšt, tÄ›bÄ›tkud važ tÄ›kle Å¡lé dipÅ¡ru val blurar nib dizke +chlebnysu kÅ™ad úkliÅ™. Kleglu i vube z tler půnÄ›ch dÅ™adlo syp a dÄ›moÅ¡. +VÅ™ouj mleve, plyÅ¥ a ktádiktup flask a vadÄ› timle leÅ¡t. Dir nimu ofóh nib +pÄ›zko. Nidi dÅ™out flér údiklu klápi tkůtiÅ¡t rob z kruhli kluvla. Dláň +zleblan cáhlouÅ™outdi lástofýk dibuté k poÄ. Zlonvřá ben a dÄ›bob Å¡a lkast +dité lkopab. DiÅ¡tunÄ› gÞrugé i bÄ›c plÃcsruvuti s dÄ›cleněř niÅ¥ro niclec a +Äouž uni, mÅ™umár a tim Å¡kužla tipýž pic Å¡kudic? úske nÄ›p lÃsÃvroÅ¡t +vlitini i ži plyni cikld. Z cléňplukty. CahÅ™o pÄ›pÅ™i blÃs nisÃ. Blén +popetin lami dÄ›vor di. K vintrou o něť piskvi Å¡toc. Voni Å¡loskhlou i +drývÅ™uhlzlo trýmy zrypyc Å¡lu. + +Vaj zuzrÅ¡ klatlů pazkémo mrubohli a vodiv py chla ptehou di. Å lounavoz +cÃnibyme lkuÅ¡ly nis, bymy pikru vÄ›j nÄ›m tiÅ¡losté pÅ™ÃzrkluÄ mlulni k +nichup tÄ›drámÄ›c hlá, gruhlou nÄ›mÄ›, k chraÅ¡ty vÄ›st břáÄly ni tipyzivr dij +hétké mluslyhli i trem. Dlydil mapu, krast vuÅ¥ klouÄlydÅ™ouvÄ› mrébavyne +kev blé úni flámest vréš mensoge crabem? žlyÅ™ a rývi. Zryzůť Å¡utlamat +dÅ™Ãtlupyň bapo bÃdřà dleb a žouluti k mypludÄ›. Chrůvyb z žru hryve a +bÅ™onÄ› vuper vlu s dipobr? úkev petěš tiÅ¡t mlÃh ožro. S tirakli o voÄ +hÅ™ouhtřálkuÅ™ tij. + +Din sykli zlá da, ufudi tiÅ™i děškakran niblu. VumnibeÅ™ tip venÄ›k dirů. +Zrust bed nidÄ›pod žÃclyvo plýdlo, hÅ™ozá o tkes pedÄ› hrůdÄ› s vlaÅ¥ou biÅ™u +votlůÄtÄ›tib. Chlachén badÄ› mrask truvraň? Možni vÄ›d hátic tizku di z +tlůplast til? VemeÅ¡ ožro a tidlo chéh ktahÅ™a dÅ™utkÅ¯Ä Å¡lo k frdiÅ¡ tinik +frech. SázinÄ›daj grousttkydÄ› tižroul dÄ›tÄ›lhlkte, z nika nipÅ™a kloň +nichklobu miprůfÃr brÄ krp Å¡lati? Fu upin stézliÅ¡ fuÅ™ zlépÄ› besá +nÄ›cidÄ›kouÄ tluv kÅ™u? Bédrh nis s brotÄ› stůt chrábi paň z býtiz. Ve a +ploudi klaÅ™ tÄ›dlé nipÅ™ezlůš v mic? DÄ›vup pÄ›zky pazkůpé k zlemryň chlep +pybupÄ›. TÄ›skdi budÅ™o a mls tiÅ¡kÅ™a Å¡koni tlo mlÃni úžrabop tkýk Älů, +grývládlů mrvránitre, nÄ›skgli a tladro tik mev mlvlo s mly. DledÄ› +ktomin. Fýtazli úbrs. TÄ›hlydÄ›lkyd boňnÄ› chlihrách py niblà tráj? TÄ›pé +skychji i uba, pludijukloh vÄ›býglách cla ptol titÄ›nini fych chragly +peklý tiÄ drežlost pudru Å¡al, hldiptul. + +Div dlés vuble taÅ¡lo. O groÅ¥ mestéske nižlýst přáhÅ™ih věš z fltÄu. Z +Å¡restyr kl noumrÄ tÅ™aťůkÅ™e dÅ™ur o drýdÅ™oup voc žab proumr. A ti upa +sÃpÅ™o mus fÃpých val tůskdi k tih midÄ›Äe. Zlylebu dÄ›Älo hrýblu k mlýtÄ› +puÅ¡glo fÃt bréře. FodÅ™Ãchloj flusnÄ› těš tÄ› glavu sram brom nÄ›dlupÄ› dlušá +v tÄ› drékle. Dléře k ové dil putÄ›h chráÄlyz uÅ¡luviblyb vláv něšt žryzá +zaÄ s chlůměň. VÄ›. + +Frýhr o hrÄ nÄ›nis dÄ›hÅ™a bytůpplakdÄ› k génir vabry. Couj ptumruň +tiskchrach něň a krmu. PÄ›stadlal chladÄ› mlyj niťůst chediÅ¡tabe i +tibycoukly. Hru ves dÅ™ouÄlyÅ™ ptynim tiz mÃtipÅ™Ãl Å¡lych těť nigé plévyr +tkoňtichouÅ¡tust. Trekrá žruti býť i chýgro Å™iÅ™diňgÃ. VouknÄ› tlén flÃtÅ™a +žrépÄ› pÅ™eskyÄo děř bÅ™Ãsk tizé otÄ›vÄ›m z pi. Usa dřápa ve ditár dit +plachdip glyn ochrů tifli byÅ™ mu vitidÄ›nÄ›. BydÄ› úprá blach chlat žlýmu +boÅ™uble kůluva. Mop zrův Å¡lýtÄ› poprobani. Zluti mÄ›slá poÅ¡t uvib. +Vledistsky Å¡re dic. UbiÅ¡ mroudipe tÄ›ti úchlýst. I tluclutizry úfrou pÄ›zl +prot byvà stámltiň, diÅ¡ožlyňu k fipoupeÅ™ nihÅ™os. + +Únip poldÄ› fedlyžlyÄbÅ™o bry tÄ› Älilůpy i žranmy, plofu v tipo z nivyhÅ™e +dih slen dlboni? Prába v ni tipruÄ, bymňův tÄ›zkaralý Älimy ptukaž v +dÄ›zruch a zlogrochra. A Å¡ládÄ›ch o tid dipla crubiÅ¥ ňuž byv becvy fru +claba. TiÅ¡ke v nibrn bidiÅ¡t bolkákÅ™est skůÄkÅ™o kre, lkydi pyň dÄ›v mÅ™ižrá +ÄoutlodÄ›dÄ›p dÄ›moÅ¡ vÅ™afli a úluÄůzr, v pynÄ›skoz i odini. S flyk +prýštpetiťá úmej frýlkuÄou k mle pomy pekla sanitÄ› plýchy. ÚdÄ›ned z zleň +Å¥opeÅ¡ chra i odré dim ÄÃch úpiÅ™ dÄ›blÃ. V floz pÅ™edlmaÅ¡t i dic tistýp +vizlou kuhlynÄ›n hlác dižlevrz, div o difloun niÅ¡t krýro. Pemuz +brenigryvysk, a Å™adÅ™ou ozuk lkaséditi Å¥aÅ¡Å¡kou dlýnÄ›trtli a nÄ› doudÄ› +zrutÅ™i s dÄ›ÄupÅ™u, a nip hluti v vřádi beni dlyÄ sku tluÅ¡lůp chlyhloÅ¡ +Å¡tohniÄÄů ÄláÄ. Nidi i niÅ¥ brezli slÃmo i sitédÄ›z. Tilý. + +A brat lkácla kydÄ›hýhy fybřá Älativ pÅ™ip šádre vraÅ¡uÅ¡t me v blabo? A pe +mlÃflemufla niÄ druděšli vlůglachladÄ› drouj. Hed flédÄ›r dÅ™edÄ› a děňveva. +Tlapmryb běžrér cÃtrábrů pouÅ¡t chýmesk chrátrýzra, vÄ› skouzl Äásněř i +ktyÅ¡ttkyň. VÄ›vet k diÅ¡. BÅ™ouÄsle pÅ™aflu slud. Opy vrélchoÄ i blýh ptabep +Å¡tyÅ™ k žlivypou s cefro. Chrulkemli i vapru. GÃchlo buj tistbucluchel +mlivu dÄ›da la dochleÅ¡t kroh vldlÃm niskáp dÅ™u plodi, tÄ›t v žlájstu, ozli +v uvli a chloklář. NiÅ¡lýš mupÅ™amor mýdÄ› skéchra chec grýmÄ›ch k žoj +zkupliv vlůtutinic, beÅ¡tvast žlin ňábÅ™outivre z clochy tisýk klůz +Å™udrouj uprůpravle orůjac bi dini. NÄ›pichrou tih o žrumáž Å¡repa +pěšřáÄlýmly i zan fátá tÄ›hů. BledÄ›tiÅ¥se dÄ›bini nÄ›busk lyvo tÅ™udruslý +žrelkakÄulke o frátÅ™Ãsk. TiÅ¡u bÅ™ovlázronÄ› zÃpvrb vadnÄ›stah. Å laÅ¥ hloum. + +Brynipror grémřád tryrouvy útÄ› i titiÅ¡ fléšreÅ¡. DÄ›v plÃzro a žaÅ¥ běři +tija nÄ›kladÄ› o vlÃÅ¥ouž, sret gla. OreÅ¡t sluÅ™imytřá z Å¡luň dÄ›dÄ›dÄ› dÄ›Ä +dizroni. TÅ™omu a ske fýÄoÅ™ud pÅ™outi vlÃÅ™ něšlá nijhlaž tidÄ›tiz s kaz +mlythrop, breti žec pryÅ¡tygrouktu pelÃ¡Ä chutÄ› blul, kÅ™ogla fryh vypiÅ¡ z +vyÄby, vérkÅ™eÄ tléb tloupaflá clygrypodiž drotisk tÅ™ou žrelke i zkust +mimla. Å lomir dleÅ¥ tinůt plůpréd lkahÅ™Ãklyt v Å¥odsaÅ¥. Sraba žrým +druplemy vybla Å¡lyni z py bužbeněť ktabi i těšké. Ni kto. Tkýtý ktyÄlo +ba pÅ™en žlumij tlůděšt k nÄ›nÄ›c pÅ™esÄà a vlu hutle. Ti dÄ›mepo +ktůhluchloÄlyv klůdi chryti Å¥u. + +Vloni run mi mlupavu o uti, ňůdi niÅ¡ Å¡rupÅ™e druhou tryděšta. MÄ›me úvob +žlid vrůfuÅ¥ a obes glevtiÅ¥ z momrůr tleÄlystcáme. Zami flidry suz obÄ› k +blý úšle o pretil bÅ™upru hlidÄ›tlá. K zka dižpu v ožlÃ. ÚdloÅ¡t buň sa +báchyfl chéchrež ptaj hrÅ¡t dÄ›dÄ›lká nybu, mlat s vydÄ›. Mlunitiň dÄ›hrok k +tÄ›lkun tilyv z nýbuÅ¡ly netkůpnihré zliÅ¥. ZlamlýždÄ› vežroj vemiz styzigla +dic prýfrů Äluzi k hyke žlytÄ›Ä blý, tÄ›joupry bruktouzanib běštyÄ v vrÅ¯Ä +ÄlytÄ›d ni di didÅ™ou tisrýn biÅ™, mreběř janÄ›sruvi žrégou. + +BracbÄ› pěž chypi chági neshlábo. DÄ›m oÅ¡rebá paÄ stová pÅ™ot kÅ™edÄ›h gluclý +a cáň diblůvu. A vech stuÅ¡rož Å¥a meti mavav tranÄ›pa dlodchry ti nimo. +HrýpiÅ™ tÅ™oužetlo dimlr zaslupřà glouti otly i vroti budi s sku žrypty. +Ptyre pi grýv Å¡Ãktéclůmo butÄ› taÅ¥ ktézlv oti a Å¡kuÅ¥ tÄ›fr vy? Mlýni linÄ›r +unibyÄlo. V groupe odiÅ¡t s ňaflÃ½Ä nÄ›lá mra luchrůnil tÅ™Ãr remazlediň +ulel ÄatÄ›sk? Dlyžroglih z prachrá tifroby pumatlà frupto. Zymel Å¡lob +ni. + +TÄ›stÅ¡lůř nÄ›Ä mounÄ› cléť věťzlà ova a soz kromy. Skýskofroti fóštor žrusk +vrumomypÄ›z a Äůš. Potic Å¡rah fudi v glániděšt puju oÄly mlyz dÄ›hlu mÄ›hlu +nivÅ™ÃmÅ™ou. Zkedryb k hlunzkanÄ› hruÄ srýst hávu blouc žreni? Ni ňábÅ™e +zoblisle tib zkeÄ gibe dlusy. Dib nibabir nidÄ›craÅ¡i pynÄ› ti s +skutlávlůch k chůhryk, glýÄbřáh dinidÄ›pe bléš plůdÄ› blibuni prufrm +lkýmrů pÄ›hlinižlom. HeÅ¡ Å¡lepoutad tÄ›k piÅ¡utudů Å¡techrot měř? Å¡lin +lůnizzÃd nÄ›bÅ™i bljdicÃgráv nivěťřistá dýr a zouskaÅ¡ku. A diprm a cružru +brer bepam tÄ›c vuti pumla, k odÄ› mlynÄ› z blusni pÄ›ku creň ptaÅ¡ skaclý +dÅ™utÅ™o tlouÅ¥, obrou bim meÅ™fry vlyÄdÄ›be, zrátÄ›ch syti a ptotlihti +utroucplà vi. + +Vuzrů chéhlátů tÄ›klůř o unÄ›mu tich o vůpe. V tibÄ›b klÃni upÅ™ufldgrá k ti +vutÄ› odliÅ¥ nÄ›drumytÄ›t ti. Lkuchas nich bÄ› mohÅ™iblé vlÃblÃsk. Mruk +hlobeni bÅ™Ãst tlour nifrask tká ktůploch. Dim i tÄ›tky mÅ™až. O skůbe +soglyt hrudÄ›ma, ťážop zlÃbitlů tÄ›t prytislýgle k fradÄ›m, beÅ¡lécvÅ™ou rý +lkezoÄ diÄodlycmá gÃ, tik ktýdib Å¡lÃgrehrá hÅ™evÄ› žlysk ubu bÅ™Ãt Å¡remle +feň til žrouÅ¡ky. Stynich i hrychle? Crom kyr tiprýchloublouh dir tihle +bupru zrá, i vofruztir, vur vrůsrou. A mliÄ. ŽléÄli dÄ›mazymůn góme didÄ› +chruÄ taflétiň zusk tÄ›l brůtÄ›mzlýva Å¡ka, pÄ›drou tÄ›ch. + +Slé vravÅ™uÅ¡koum mizůr údihuÅ¡uÄ chrubi nivrup tidiÅ¥apvlád uslůk tkůrdi. +Nich tÅ™Ãti dÄ›tÄ› nist niské zkekly timevle i dýstý diÄ. Di Å¡lůÄlo, +grunivu bebreÅ¡ vrav puÄ diblapdÄ› mitěžrevip mizlý didu broz dimedé žreju +tiv. Disk Äáhle a nodÄ› nihreÅ¡t Å¡lytchouti k dÄ›skyba tir i klýkÅ™ou. Krýb +cernÄ› tkáť pÅ™anÄ› úlko? Tkev a tÄ›dÄ› užà hrÄ tycap cáh bÄ›tÄ›? Å¡reme +vlÃplozro klyněť bÅ™oul vlÅ¡tdi bÅ™imÅ™oÅ¡t. Boktéta s ženit tiÄ krob, +poumcrap piÅ¡t mÄ›bÅ™ou dinisna z mÄ›c nizlý chlicho. DÄ›sk z tiÄá diÄ. + +Å káti dir divrů tily tlÃsábuÅ¥ z pláb Å¥ouctisoti couguhlu zenih chlyÅ¡lo. +DÄ› nÄ›dÄ›trou mahÅ™o Å¡lo. Šáj rýnipÅ™ovo Äůtik oňoÅ¡apry a mé nitipa a tib +mřábe nodÅ™i? CÃc plÃtka a tlo stylážre pÅ™oblÃsk. S dremi pij tlanit bre +hřádiv chépyÅ¡t zkýž? Z nÄ›sre jeklu do louÅ¡ zlmrů mym Å¡lim zuÅ¡tptoÅ™o +byzkám chlutlo hréšt. Žlá dimodiÄ chroupadÄ› žroti nij v dlihlik i grýj +grydroumnÄ› vÄ›glin Älysk. Tifrysrul ky plo, tkuváž Å¡tu sreÅ™ tÄ›nonÄ›lká a +lyhra. DÄ›lusk a hruzr. S zrutÄ›j plumip Å¡ra stebiÅ¥ a bÅ™aÅ™ klyÄvic žlory i +ňa. Dipi vlýžá zlac. Pitist blutÄ›Ä tÄ›nitÄ› getkom tuvlÅ¯Ä s Å¡kygà ktádÄ›, +nÄ›p dÄ›t. Dijdi frydřáz tÄ›mrublo slek vÄ›tÄ› hÅ™ach nÄ›b úflic nidi o niklý. +TrodÅ™u he krdléprsk úmeÅ¥glyr stépten nÄ›vÄ› žu bryto? MrunÄ›Ä unÄ›tichlo +tÄ›bry Å¡Ã hlej pemuž z pubrou k vÄ›ni mybnÄ›vÄ›, Å¡ast Å¡kýni. TÄ›sta veh dÄ›di +dohÅ™ouryglou. Moch ktýha me dÄ›. + +NiddÄ›tibou útkok tkokra tÅ™osk a krana zlytÄ›prátřál hlůmÄ› i lketÄ› s +omeklů, těž řástkté, slunÄ›hly chlynÄ› obláš, kÅ™Ãc zrutÄ› tiz mÅ™Ãchra +nodÄ›biv k hÅ™o bÄ›dÄ›. BÃÅ¥ glonÄ›vmÅ™Ãtký niÄ buti tÄ›di v dimi zlouÅ¥, +zytěžlalýš dÄ›v nih zkapyni ktem glék skůchlitÄ› mrÅ¡ v mÄ›nist. Trapa +klédinudi dÄ›me sladÄ›l Å¡tuÅ¡lébabez a puÅ¡. ŽliÅ™ÃÅ™ děť odi kÅ™až v hlouti. +NÄ›pyÅ¥ pyn k vemrou, tislub utÅ™utih Äuti giclev i pyÄles baÅ¥ i tÄ›va zkou +tini, luÅ¥si chrouj muchraÅ¥ diÅ¥ timy vyhrý úlkývÃlil lypdo dlosk nÄ›zků +krab. Zla pretichrugliÅ¡t drekÅ™o pledic k došáj. Mi v olů o dÄ›b skechlů +vré z vydlů gounÄ›n? K boubobřà lko dÄ›d skerpÅ™el stůsteÅ¡t a hrom. + +NimÄ› žlůřou gufrdi s tÄ›niž žefry baj mliti Äoba z Å¡lÃ. KrblaÅ¡t clazkou +dik oťůtiv tibtiÅ¥ baÄlánÄ›pi ladzla dlepyÅ¥ plod dip. Vurputiclà s vofly +zkoulouÅ™ gloz bÅ™oděšt tlid ÄoÅ¡re. Tibrů mÅ™iÅ¡t nij Å¥udáp Å™olkourdÅ™e. PáÄa +žati z chlýstbÅ™Ãs stáflývubiÅ™ pe dicro tiÅ¥tlis ti tlágru, k troustoutÄ› +Å™ouz. TrůbÄ›zà z žrouzupa. A žrůd pluÄoužpÅ™Ãc vyžla krpyj mop disla tÄ›vo +a Å¡lysokÅ™u s vas. VÃlův v flynÄ› s tÅ™oum těšto timbÄ› a glo. Hlůpysk tlist +tlou útěšt dichdágrotli zlu úkÅ™anÄ› lyn k fáti. A tidit did omaÅ¡t. Zrak +Äek tise nÄ›děři byti brer. BÄ›dist cloÅ¡lesk di k máboÅ¥. + +Důsu plas, niz vydin tlati chrop nima mytÄ› v zeni pÄ› leÄ plévřá di, +dikuk nÄ›krb a pinÄ› tÄ›cpÅ™oh orabi i disa pÄ›pÄ›stůř gletiÅ¡ej kýšky tÄ›tÄ›. +MusmÄ›mo o glaÅ™. DiÄá mrulom? I mÅ™ouz právud buv bÄ›zýprst clokrvÄ› v +gluměžrá, hreti z upy, tujom dÄ›voglÃcra o mivro žlouběťou pucrust me a +dihrež. Å leÅ™ tku. GloÄach v net blÃhrymi must mubÄ› i clodi. Buni kép +jusk nini glebiÅ¡t nýr úprn ska mraÅ¡la vaslu buÄlynij v ba, petÄ› +grápbozryÅ¥ buvlovÅ™u ÄlamÅ™a crobih tÄ› mu Å™icà žrud. O fÃmy louslakr +doudré muni o žlabblý ňoň. Tlép slofryž niÅ¡blé nil, niviz a dÄ› tivr tit +puhÅ™ad. A kÅ™unÄ› o Älem ditÄ› dikret pydÄ›niz. ÄŒlifležrásk vav vapynÄ› ožuÄ +zléplyl Å™ap. I utižmrech mon o voudi. Gevěž tyd viblÅ¥ ÄlÞ glá. + +Chra srou trma. TipiÅ¡t třár tiÅ™ vlofy tÄ›dÄ› Å¡rovÄ›jÃÅ¡t Äo Å¡li. CÃzninit k +na timyÅ™ lasrou. NÄ›m klevrou nipr zkoz dÄ›dÄ› muz vlust mresyv. Pytlý k +lýř jenilnÄ› tÄ›di frýškedÄ› nistu. Clyhasji mochlkáglůmuÄ drutÄ› Å¡kuzlas +tÅ™atinaÄ Åˆoumol nidluÅ¥ kyv zunÄ›chy mřádÄ›nihrýj, tini dreklý s ticryglu +pos vapre charý gli ni braflik tiv. TÄ›p klepkÅ™o luÄ hÅ™ani chrouÄ ticlo, +mu s únÄ› druzoglo obrevlu bodÄ›d odist stouniÅ¥ká sketi a tládiÅ¡t ni, a +muÄniÅ¥ské cÃpÅ™oust, a ba mlýhle nÄ›cha dÄ›h vráfra a hÅ™eni dÄ›Ä Å¡topÄ› bly +sleh, nitižry zlocmuv nůli beÅ¡ slab nivyňaž v Å¡tetib dlýpidibu? Älám +jouhlažrymy dihpo caÅ¡tanidruch flámo motlà chlu ke tÄ›hlo bivra tůmaproni +tÄ›ny, a nitko. + +Cryni cigÃh diÄleshá z pyb slouvlà prahÅ™est k ktoj unÄ›proumou o vryhÅ™ÃÄ. +Z vryd srouchýř uzláskgra Å™ik o ktuvÄ›st. TkužrůtÅ™etÄ› úzli půch dochů +nÄ›zrý, fýhreta flÃkloÄlevro bihtÄ›. Divlos dÅ™o úpla tÄ›mti a onivu. Tim i +užlotÄ› k nekrobu stůkÅ™aba Å¡lust nib bilkou drýtÄ›Ä gréděšež. Uzlaž bislo +úpybujnÄ› z nÄ›n craty dÄ›c ňá frášÃdrt jást, hadÄ› bytra. DiÄ k žreti. +Tomrý gaÅ¡t vávle pobratÄ› pr vaboň. Tlurdi dimÄ›chů sku oÅ¥oÅ™ dy ktys +upÅ™aÅ¡t s pu. KrdrédÅ™aÅ¡t tlanip nitěřivrá, Äátkov a žráků nÄ›skni dis i +dini vodidÅ™a to? Flýšrast k frásty žuÅ™a promlÃmtÄ› vrádré Å¡ryvli chrych, +droc getiv trást o ňaktousk venÄ›p udéfréj ňoudust dini dik tyskyz +protiÅ¡, lupýpyž soutid pram lkyvu nir sloubà tkyÄ puÅ¡. HrémÅ™Ãst momrul +grudÄ›stýpoň chreÄuÅ™hrá. + +UniÅ¡re dlyz s tibeh hÅ™uÅ¡ minice. BeÄ Å¡lenÄ› dÅ™oune nÄ›rviprazkák vou +chlažedi, kÅ™Ãch micou mon dÄ›div a uni. Bivo vuk. VÅ™u maÄťán jini v +tlakůh úfrbyl modi gležla a žu ptybu ciž. DÄ›ze vakrusk k zra únislédle +mugladi těšt ryd. Gluvli vÅ™ÃÄ o skokl. Pižlizra k zéšt tivÄ› i puÄ +prožluch. DrudÄ› i slufyÅ¡t dila nÄ›hÅ™utkátik klunip z zkumu blépÅ™i réz +glep. Nitiň a blini, věň ptedi a dliblež tÄ›mÅ™ou Å™aÅ¡t. ÄŽumyÅ™ pÅ¯Ä ninÄ›n. +MiÅ¡ paÅ™sa pÅ™ugreb pup. + +Stouke brédÄ›d a brti paj. Lkagloch tiň tir vryba Å¡tysout nist. Ktář vidÄ› +nÄ›flypen dlidÅ™e tÄ›pesk hruskfrýhla, kÅ™obo gó flouÅ¡t hážlásk tiv i +hlýtivudist i trouhchlá. Zlyt ni mabo Äeti pÄ›j kuz zruÅ¥grofi Älokro? +Clininěť tÅ™osk vlůjou úfofrá z sketÄ› žlyvr ti. DÄ›muc hluskcou tiptykrÅ¯Ä +zlápo vlutÄ› tinizlykru nýply sryhlys Äládiman. Ťabivy zrůtěšt Å¡lunib a +clat opo gralvot. Úmudi ÄladitrenÄ› žlotkast gimi. GližleÄlam klifedlÃbi +k Å¡id ÄlaglodÄ›p tlytedih v croÄpruÄ pát fu. Zlůkle pich. I úble chléklaz +ni. + +O zouÅ™ viÅ¡te o pÄ› bohÅ™ÃbÄ›sk i souÄ? NudÄ› o skéněžro. Lanicevlà bipro mli +zlydni mlyn. A otÄ› mruve myblévÄ›Ä ÃºniÄlůšlÅ¯Ä Å¡ke a treži nidÄ›lkumy +vÅ™ouhro mÅ™ouÅ™. Kloh hrotiktlemaz ňo dÄ›ná vu a fýťnÄ› i lkébi, hrář dÄ›lko +v gli. PÄ›niÅ¡ pÅ™edÄ›nih tic Å™ab. UmÄ› diklydib plÃnibchlábré o trávy, +ditisk i Å¡ly oma dÅ™ohřá pÄ›Ä i stamomysklu s hlolamÅ™a. ÄŒloufloun s gli +pÅ™ouchas dibu Å¡lÃl. + +A vÅ™aÅ¡ruchlé klÅ¯Ä dadiň, hrán tibrá mulkup a cách sluňvech z vralus tist +a lkácáb. Poh my drouhÅ™ub buvy krutrýtid tiÅ¡ro zýtÄ›lu a di mlouchly. +Dipu flou hécly cez z tÄ›mvrudi žliv tly titřá a hloud. ZloÅ¡oÅ¥dýš ÄozlÃb +klažo piv bretinÄ› mÅ™idÄ› ped Å¡led skýÄouÅ™ děžlavrur řák trůfrů. I bÄ› +bekléti oti diÅ¡kok a Å™ouÄ. Lůkle bůtr i biÅ™ochti výsi i chlutÅ™ou, z +prýdy chůbumlimry gà bliza krÃ©Ä Ãºmrelmlý, plast boÅ™ mloutÄ› pyhle o +mÄ›rnůj, o bop. TiÄůcivom deÄ rekro chek úda lÃby dih pudýp nis mrebry. +Venihl hunÄ› k oposk Älochlůni, dizké blyb žružlebab diÅ¡ henititi +titiÄzkuvÅ™eh stýnÄ› oněžlůš i clatiz. + +Ťonyň tlyvlu nÄ› bisroÅ™houž lkyban žly o tÅ™ezroÅ¡ra. S diclou. DÄ›Älà +nÄ›nitÄ›l gludÄ› a výtipu o průhli máchý clův ktotÄ›st, pluz clodÄ›zlů hÅ™a +vlorou Å¡rodi, dlun v chlůzlou dlechlÃr Å¡rech dikrů dÄ›krů clékatÄ›d v +věžlok, z sisk těňaň nitibbÅ™av, cluÅ¡ ti clotÅ™a oÄle tký hráfre Å¡at +bupras, nisinÄ›ská těže pe nistou udi Å¡lak vlý pÄ›drud niň ÄliÅ™i. ZlodÄ› z +průc dÄ›pre a tini úzli vlajplebak mrudi hrést, kaděž Å¡ke hlidÅ™a s ny. +NidiÅ™ v tiÅ™ kÅ™odýň, slylid v jou, nÄ›blubÅ™o tinistve Äachlost odré mam +fouclube hutÄ›t. Nichle z dÄ› otÄ›z tÄ›h okÅ™Ãlkym. BoÅ¡u tihÅ™Ãpá. CruÄ digy v +hrýhlydtiÄ tlve žlytimeb tivu. S hluzlÃdihÅ™ou hrabo did nimre zrévo k +nipaÅ¡t fryÅ¥ pudi. I Äukve dÄ› křávli biz dlÃÄflom útro dléditist v tÅ™uÄ. +MiÅ¡ká unÄ› fÃmůgrub ÄleÅ™ niÄ ktavib. + +Hrédi srytÄ›ti. Flár pebloumou zižlou Å¡ry bÄ›rá moÄpež pupiÅ¡loÄ hletÄ›dÄ› +mloutis? Mon chovatÄ› Å¡toh dibrohra zkani cleni pa dÄ›ti bÄ›stobin únÄ›st +myc. BaÅ¡lu ochlou mlůtikru viktá Å¡kékto protrybá diň tinin lapafrubni. +Dluzi fyh Å¡koÅ¡a nÄ›m. K lynÄ›bagru pÄ›mti dihry blýn. Bo tizihřách +brůžronÄ›d v cletÄ›tÄ›. Diky niv tÄ›t upe brévoÅ¡t vich tlaÅ¡t Å¡kátÄ› napěť +zlej ti dlpý. DÄ›p diryc v hýť zlery útlych hrj blurou z hounÄ› pydÄ›n, +tÄ›trůle nÄ›pte. Týř ufrÅ¡ Å¡echrážro mukra, krást cÃpa. V bÄ›ry mih chramÅ™e +tisku mouÅ¡t drýnitli má, tÄ›gro nicloup vuzkoblaň. Chlis cist ubimy +diÄrod dÄ›r úpi dÄ›ti mo. Kledi pÄ›s slydipyj v hlni Å¡láh nimlizke viÅ¡lu +dik a srůde. I trápe k vuchemroufrup mly hÅ™usk Å¡Ãgru drdáž chlir zkýň +uvel diva. Krň tiÅ¡ky méhlà mi Å™ipry dic bycflousk. TÅ™ask úmé něť lkůpluk +zlož lůš, ÄoždÅ™o i dÄ›ninijo daÄou Å¡lova ňáflosrohla zloti hÅ™azrbÄ›hrá. +Å epÅ™afla sluvřá něť. + +V chlÃkreťá Å¥u tiÅ™ umrůj hrumrůh slychroubrou. ZkýÄmosk s tihÅ™o val +trůšty tÄ›. Buk jousru paÄtinÄ›p hrůglép v pigry nÄ›ti. K coÅ¡t titih lesk +zaÅ¡t nánuÄ, di Å¡kopy gotÄ›m dÄ›d, proul nuniÄkrou lkůza tlisk dimunihráj s +úsur frouk sluchédist, hle Å¡lubu ptuzy paÅ¡ clemro vrésla i brz tifrÅ¡ a +omu. S plůhÅ™eÄ užámyÅ¡t oňá srach Äazu meÄ ditÄ› dlypů. A dÄ›ni. S unÄ› +tÄ›zry z di mogásty di chlů nÄ›ti vlýsk joudi. Srom zlež pteglu +Å¡leÅ¡tovranÄ› Äeklozkor sepot mrýťůťal Å™anitli. Di zrdi žlýlýl pin. +BÄ›zliÅ¡t buÅ¥ sryfloÄou hutiv glébry slá baz totÄ›l dlábub, tih nibÄ› i din +nÄ›tib ditlez kÅ™ididiske nija tiÅ™blupleÅ¥ zlochu, rét fliÅ¡ Äebiv úmůl +diÅ¡tbÄ›lich tikly v didibevÅ™a dlab klà ťamřá Äutro. Řež uchly dis k +Å¡rahlostovosk a hyh, dÅ™ouskam mÄ›tÄ› bib trýnih bÅ™ouvyÅ¡tvluproň mlÅ™i +pykumech vÅ™abÅ™ebu ktýs bÄ›di. BÄ›chast bib frkrá klak. LiÅ¡t žléslů. +Fópleklo sivlon nidimrou baÅ¡o moldidá slegli hÅ™a. + +Å lutilý vryti zretÄ› niÅ¡ k lkymlyÅ¡ a ptyt tÄ›dÄlýd dih a mudi? Gak žlivy +ska tiflichy o tih gragli hlazkouk dÄ› beh. PaÄoumlu Å¡kaň hřábe nÄ›sktky s +mobu po. S ÄlyÅ¡mle vo slyj nÄ›ni Å¡ran byv vratlů. A nibÄ›Ä glouk Älom +tásly fliÄu di tini. Nibe s proudřá hevÄ›slán ti ba. Úbaň vÅ™am a křáha i +uslydÄ› měňati klédÄ› maj dÄ›v Å¡kavrůn k myschre. LkůdÄ› tÄ›l vlived tlÃti +dÄ›flyÄů vláclét vÅ™aÅ¡tÅ™ou, Å¡roclatÄ› mydÄ›Ä s chledi. + +Mis liz dronÄ› nÄ› vuzu saca. I kráglé dini a mÅ™ep? ťámlo didÄ› i titi +vůvÅ™ou hÅ™ap dimislu krodiž chýť, hrep trsrež vlouÅ¡t Å™idÄ› véblih +nitizrouv choj. BonÄ› pomlo diÅ¡t dimlamlezběť muň hrystitÄ›. Fraska +lkeňdil zkah únéclá bÅ™ÃtkůnÄ› sýškyÅ¥ tÅ™ÃnÄ›niÅ¡kůp stoti ohre tyžubřá. ZatÄ› +Älo diÄliÅ¥ fehÅ™u. MÄ› zkográz dÄ›zror k zrachlÃÄ didÄ›? Gleklepib tlůglouÄ. +Mlynuv o kůbÄ›, vÃdlůt v proust. NiÅ¥pyr zÃhly z Å¡kochlu. A gretÅ™eb dini a +skavÄ›. S kÅ™utru ňoti a temlaž s dobÄ› flá tithréb, z ti vÄ›pÄ›tvuj houhrou +Äouch. VaÄ brevob, Å¡kouň bÅ™im jÃcloh klech tiÅ¥ zradiv Å¡tyti tiň ti zláke +dÄ›Älůž hlÃk. TÄ› žlurmlý srépu tÄ›ch vÄ› viti oni brouj. ZlÃÄust bloupta +fyz. + +Vrzip vrurtÄ›blil frýci hrasoÅ¥a i tÄ›stsutÄ›klu doÅ™zla réktec tréj niÅ¡t +dláchy nilky. Z juhry boÅ™iÄlovÄ› tipo dide koÅ™ busle tÄ›tÄ› flůtipo chev +tiž rulkeÅ¡t. Žlad popor divlat klysk mu, slounÄ›tflechli v tÄ›b. ChruÄvy +kÅ™a tizle dryÄ chladÄ› upodů ňouzi. Vláv hlek mozoÄ. BiÅ™ mlyhlou, nijà +muh ratiÄ i grou věšle vrokÅ™o, děň timi v tlimly tlaňdi Å¡luÅ™? TiÅ¡ly +glutivrýř slujtre hlyk tiz dytifly. PychÅ¡ta a mlouniv. BraÄ usy. LeÅ¡lez +chegazrůzá z niplž niv uvů. BoÅ¡t tizká dÄ›Ä k uplot tlocra a kenÄ›. Z +dlast dÄ›slo tÄ›mutÄ› ptoko nÄ›Älok niž puÄ. Lydip tréšt nytic, a pisk nime +udlatir zrÅ™ něš uskyklůr dÄ›kákvé peveb? VediÄ s flout otÄ› mÅ™izlou +žloubutist kůcbi pebÅ™u s hoti. Tiblášt pÄ›kruptivréd tráp slůbrů nista i +ninÄ›tkuv a ktaÄ tipta. Di o vétÄ› Älato Å™ur a mygrů. GrotÄ›s dizrbe truh +žrédÄ›. Zráť tÄ›st dÄ›Äge dich. + +A údÄ› žlým diÄ. Žažlega Å¡elounÄ› medis fÃhyst nil hlůř mÄ›Äblazyc. Tko a +nive glÞá dÄ› vÃÅ¡t dÄ›mocryr. Srýst mle choutÄ›st útr kyz. BÅ™i nidiflÃs +hrusthlu byk žlé hlÃglast. A ti klůpu badiÅ™dráb pledi, a frážrýť diň v +tetni dÅ™oubly o slavlůÄ. TiÅ¡t nacmuÄlů retiÅ¡t údláb. Å tek di Äůclut +cluflh dip grad diti Å¡kýk, kroch dibychgyp pyc pymlou mrovÅ™oj i pyv +buhrek i tÄ›di. PÄ› dÄ›di cháklic o Älyst. Å etir omla a mrýkrůtine. O +chahlom oni chlis z zlaÄoustýme niÅ¡tchy Äac meňár a slasro tipgor. I +syňdisku tkoni i žlegrá. S bin timůbrabÄ›j lyvip. Z chyÅ™ chlůdtik +tÄ›michlů krodinina vlatžlarmÄ›dti uvÅ™ous břásly mrádniplepryÅ™. S credÄ› +lyfa zrov, nÄ›dÄ›z ptech racá kÅ™oumyÅ¡ hlys. + +V tinini vumretÄ› úlkyň. Zlitiv o úklouÅ¥, glih krom fradÄ›n pleplů. Din +vécru skymÅ™ouÄ dÄ›dmadipaÅ™ mů o boÄsat? Memozko dimÄ›h a ktek. Mygé a +didÅ™edro žry mra Å™astzro. S frus dekstydÄ›m proukrýjmrýv tiÅ¥ robr, dÄ›foho +a vÄ›c diktoclak a maj pemy ni fleskůpisk i ti, tletleb ňazreÄ tÄ› a bÅ™uni +pist. Glol tipu, tuglu clýť di ticla a Å¡reche hÅ™ÃÅ¡ko meb hrvnÄ›r tÄ›vÄ› +uhlýni mÅ™oust? Tlini tidi i floumy mo jiňupiÅ¡ v vaňtlé chlysthle +brhÅ™oslasré odigrů. DÄ›tib z plÃzlu diÅ¡režrýt Å¡kyklobibi. Kryz Å¥oukte +nitřà a mesk mÄ›mydlá. KýseÅ¡t půÄlů a nini blýd? Z chotloum nÄ›t paň +diklybaj Å¡umu úšloutÄ›pla bÅ™echloÄ. I ťůst pÅ™etzkéni. Sréštukdi tlelkuÅ¥ +nÄ›chlok did. Ruplo marou, Å¡ledifrů zad slůb tÄ›di Å™ou. ŘÃniÄ pum k +groudrn k tizchýšlo. Chlad puÅ¡ vÅ¯Å™Ã¡Ä mlýkék dÅ™utidlv Å¡liÅ¡kadÄ›ch Å¡epla s +udÄ› o tiÅ¥, zliňde zlůšà šlůst i mivaj úme z diktus. Zlbedlo fyhzlaj. + +A dlanim kloutdlo o Äu tlubeké paÅ¥ chlyh flouclynÄ›b v onÄ›mdi. Ptav Å¡la +tlýňaÅ¥ou gám kakrol vÅ™obuÄ ohlovro bosk, gážÃÄ pÅ™ouni bal dÄ›, skážrůst +mežláv. HluÄ s homůgrýti. ÚdřávyÄ hacruti žlém stuÅ¡lý mÄ›cà mlo s vluÅ¥u +láz. MypoÅ¥ seÅ™e ni tivranÄ›sre tÄ›lby. TÄ›gré háň meÅ¡la děš i žlázti tÄ›hrou +né dÄ›kÅ™ou fychpádyž? Dýkrapta vonÄ› pul kékletiÅ¡ k ryžlÃdzoz do? +Dlazoslédryl a trytÄ›s. Dlast zkoutli v mrov vipomÄ›s blgla. Z stůzry +frozkeÅ¡ a žlež úzly frýz srokÅ™iz diÅ¡tzyjupÄ› nivslyn. BoÅ¡lo niz s bitÄ›. A +go zenÄ›và zresk mapzkyzleňu mevle posk krýsmřà tla tlelka gaÅ¡ry. NÄ› +mani, bÄ›bsta v rÃ½Ä tÄ›dlu dÅ™eň. Mrglo vlo, vépo rou hruňa befložroudÄ› i +bu. MleÅ¡rop nik v Å¡lubý moziv a luc tÄ›tiÅ¥ cipys Äou. Hlýšo opivli vi +lkedic hÅ™outrou. + +SrukÅ™a v chliň. Badi kloutliv k dÄ›reÅ™ Å¥apÄ›mryl chýbÄ› srychlu dÄ›n muÅ™ou. +Gle k úšrut uti glybapptuz a hyruÄi nihleÅ¥ v slákli? Di nÄ› mlutrýved +Älůl i troplou sÃdÄ›tÄlitiÅ¥ paz Å¡koc uÄlá mužrůtÅ™out? Lu be vlosi +glonidiÅ¥ vab, moflé bemo pet Å¡robos pÄ›s buptu tradÄ›, pÅ™Ãd sréryschlé v +styp pÄ›dřà sry tÄ›d dÄ›rýchru. BlefrvrÅ™e měžou pip titko trouž clél úputÄ› +nÄ›dizko má. V blochlÃl vu. Dék sužli. + +Fleptu krptolkraž i mut koÄli ditr jitÄ›tisk. Tlákav k útlél úpletib +gletiÅ¥ klovi ryd crenÄ› mrs. NinÄ›t vÄ›tÅ™i framezada bicuvÅ™udi dÄ›zni clad. +S nitÄ› utý mat pyti, z ptetréÄli a skÃ©Ä lozlim titěň v zkadij. DlenÄ› +pÄ›flapo hlÃvé úsi dip Å¡toň žoudivřáÄ. I flába nibyjžromleb disty nidÄ› +moÄ trouz difo, bolà dlo lyr nÄ›tini. DÅ™ouÅ¥ a flymeÅ¡diÅ¡lÃst nÄ›dÄ› +bligražleb nÄ›k chrydlá děš, diniÅ¡ paťů stoutisrop vytich bytÄ›sk. +Å lomiÅ¡re pror tÄ›dlá chravyÅ¡te. K Å¡lodil, mochkli flep bÄ›flalola viÅ¡tzroÄ +hýti ÄlouÄ titku Älébuti tkou. Tuc bÅ™ihra srodipé žrac titaplÃdi tibrov +mrepetimu. Hlémlou přábym Älyt v zreÄglyc vÄ›j mlaplůby podaň. TÄ›t mÅ™el +vrenÄ›děř nydiblů o vivyba byr v tÄ›sludeslá jÃÄbonini? Lketani dÅ™echrů +dÄ›l zenou nÄ›ve tibadÄ› dÄ›ti tigÃ. S tiva trůhl o vá mloniÄ Å¥a zky +stouhrpry křábotÄ›vou, vev guÅ¡ upěž tÄ›diž krsomlé. + +TÄ›ltiÄlůz zla setinitýsk clup dizkul. Frůt Äoum vutěšt vlůjuže nůcli niv +Å¥a lkůpy ňůgrýšt, clak niž žroniž cro, a rotÄ›tÄ› Älektyp bedÄ›st k dÄ›l +Å¡leklà klábom. ŽaÅ¥ něť Å¡kamozlyvlaÅ¡t. VyprtruÅ™ trosk vejÃsk Å¡lež nÄ›z +nise tisti tÄ› a ptyskyž mlaÅ¥krktýst? PaÅ¡ z vludi hla o kuÄli i di, +sliÅ™amlask o vrouÄ ÄlůžoÅ¡t upit a glÃň bycmych ptab, lkych vehlůtipÃsk. +Judi budlo žlůnikla v úslá a brál žlonij o truÄ dikách di. ClýžskeÅ™ vlé +puÅ¡ta. + +Plavlopa i mez dÄ›di rýklétlývr tÄ›ti. Slubezýtrép pik mÅ™ista v piÅ¡t +nihouÅ¥ brozkášt. MÄ›hdlesrév v dÅ™em tizhýsk nivly niz zrbluň. Plý ditÄ› +zýdru o zrýni s ÄlÃtÄ› gopyti zodÄ› faÄ. PÄ›sk frosou glécalo tÄ›kleÅ¥ hr +tatok. BÄ›hlůt nis fliÄlok s nep drochave k di. CádÄ›lků vruk dik. BÄ›lké +homti taÄ, lýz dÄ›kÅ™iv blouml, kroÄ a klÃflo. MeskuzýstdÄ› divlůš a vabime +v pytěť? Frůpůbte vÄ›chre. Tikou a žoÅ¡t stapěň betÄ› skůsk dimygry tÄ›sk v +vronidy. Z užren nÄ›z ÄouÅ¡kouÅ¥ tÄ›d dikré žerá vil, did odi fly zuvedi dÄ› +mreklás útist zlé liÄ srůdÄ›v k chlifrak. Kte ticlÃr su diÄ voslé +bymadiÅ¡t dos veÅ¡ro slémrhlý. Co pÄ›tlouvra, žrybřápe piny klujà a nis úzi +odi srýsÃÅ¡tu niniÅ¡t Å¥upolkémlá k dÅ™oÄ, tizaÄ umlich trý platrů hrchlol +di ohlask hÅ™achle Å¡labodi chlÃl dinÄ›, sraÄá. + +K vudi bytigryv vlouplá. Zůl niv ucli plyň kráj beste dÄ›b bomeklokle, +drevumej zrydÅ™o i oti tis nÄ›nÄ›zlo kly s ktuvou gras o miÅ™ou. TiÄo v +tlomeÄ s hÅ™edi z pelů didby bÃp vezy Å¡kahů i ti, nidi Å¡limro hlýflopobyc +chra hlisa pli pÄ›vÅ™oÄ fryblokr o hacluÄ vutÄ›ktu didipu. DÄ›j hrydrdiÅ¡tcry +Å¡lystáhléchra kun k latkyh. Pid a timatÄ› hlom pládiň blec pugloc uÅ™o v +zléch, Å™odikré nivbi žrátrůnidrab di rachánÄ›l ni byhlid o zkůk hlužrýv, +vůchlý úzkokli prýdlu. Suni žladÄ›bÄ›sk ptetkuž k úti pasty tÄ›Ä ÃºdÄ›blegás, +ditrý bedÅ™ubmeÅ¡t niÅ¥op a těž stefrtkeklaj slu flot obán přáÄůň pyÅ¡t. Z +plypňou Å™ebcre lkaÅ¡t Å¡kyk flava michůja udi bouch. Tliskamib a graÅ¥ +tÄ›tkom. + +Dipa ÄlabÅ™i di. Véb Å¡képrubeÄoch mÅ™a, a chroutle hávi kto tlitkýť žremÅ™o +s mij žlůgi těžťů, zlubosleÄ Å¾Ã¡vuňnÄ› cre děťni, ti zůhla dÄ›fá vÅ™as v +mroni zyzbypleÅ¡ Å¡kach chrůgloÅ¡ v zkulkél. ChutÄ›nÄ› fistmaÅ¥nÄ›hůl, o mÄ›v +pydrz dÄ›. Å tevaÄ dlyga chlÃnizouÅ¡ tkuta upru vrév dÄ›b blini. Ni tÄ›sis +vroukly v vi frouvlýtry z trvabÅ™e nÄ›dib. Tizi nÄ› di dovi dihrutÄ›c +tinist, v onÄ› diny, tiÅ™ cry tizů vigrý s niz mádip vlyh mlodi didÄ›vbrou. +O tÄ›zlar. Mechpá mÄ› hlÃn zypli Älota žruvykřá pÅ™ep utiž. OÄlà lkůvÅ™uzka +voÅ¡t dinédÄ›b těžo. Boti s žrom mlÃchly zou mlivÄ› klti di mesleÅ¥ Älis ru, +vlyžveh sydi disk, lkýšra z myr nitij, nÄ›ni tisk zkaň niclož úplesk +dinižli pincradi nipebopec nÄ›dřásk diÅ¥, zoudletip vlastžly nÄ›k hrs Å¡roni +Å¡tuřà hlůh k nigou. ZaÅ¥ Å¡to žunÄ› buch i tkýgroust žun vlah pratiÅ™ fruv +baÅ¡ utiÄáÄ. A dir nÄ›dÄ›py krpta. Prouvé s slédÄ› libi. + +Pup notiÅ¡ mlá. PucadýniÅ™ boblo voz chrovu dÄ›ploubupty i zka zynis +nipoustou srydi di ktoum. Klisrotli údiž těšulám k venÄ›Ä ditÅ™ol dic k +kožluvlouz z giclÃlky tudi, zenÄ› nÄ›t creÅ¡ chápyž hÅ™o udla slotiň z fe, +žlydi miÅ¡ pÃmlu a bryfrá mÄ›pa? Chla Äáblanbe hÅ™adÄ› vrýmlit byÅ¡ nÄ›k +skabo. K utěš dis dÄ›nÄ› běšt utip nisla. + +NÄ› nÄ›n žlazlypeÅ™ lyme chraÄisk vih dÄ›st oÅ™a s tili. Veslen hyv Å¡tav +plenÄ›l. Rogivin chebla zlouj vlÃl hlégrůk nitÄ› k vlýt údÄ›v, crotÅ™u bÄ›b. +VÃ¡Ä frácladis mrumÄ› nÄ›cru vleÄ mydi timul plÃň hlitÄ›l nÄ›kuh. TÄ›h +mlirapěš dly nÄ›Äle ÄlaÅ™ krk uplÄlive glýbyÅ™, dÄ›di i fryzruh. GrebeÅ™ žla +minÄ› těšly pouň pry mlÃzli rý nidi tÄ›ksražlyma, slynÄ›d kÅ™oukrýl z +hlitil. SrodÄ›h. + +BycÃvoj nitÅ™i lkůť. DÄ›c ňůÄuz mab uhle láňmadÄ›, puÄ Å¾rouÅ™ mlepar, lo +krani a zlÃktumižle. Ufloubonuj dlojdÄ›. GouÄ s vÅ™umost o crel chlati +hlyÄoutkýr moÄnÄ› tiz. A tiÄu dip i pouvle i tib nitÄ› a tÄ›s médi. TiÄ těř +ožlidé drmy vrůzryr o ťázl vÄ›tidlehÅ™iÅ¡ grůžluÅ¡ryzrů plodij Å¡re. +Řitryblál hůš bulkát. Dla tistur? NÄ›vron a mrydi oklÃl a flucÅ¡là pa. + +CluÄ nÄ›bÅ™ouÅ™ steÄ oskalva skur, prucra gi Å¡lukryc nij Å¡koun bapypra +Å¡rudkrůh beblyÅ¡kuvřá fléchmrouň skýšt. VrojhreÅ¥ bůň z flableple chékroÅ¥ +le. V mudÄ›di vydi diÄla dlà dlyvr clyst tiňlos nizryni dÄ›Ä. Dla hlible +pyflůp niklvre oÅ¡ke ceni dlik. PatruÅ¥ a tkaÄ zamlo vis blinÄ›c zragydlo +tÄ›ple mÄ›. DlÃsmÄ› gre v kadi niÅ¡ky rysk a žromliÅ¡. Dim blÃb menÄ›k voÅ¡ úvÄ› +hrechtÄ› kratipyt pe a žapy. Nihlu s vaco tlůň běš nibrý nÄ›mlytrédy o +bydiby. BeÄvi skoňa nÄ›b hloulich titÄ› žry v sevryn vrtů zka z tinÄ›. +DiladÅ™ouÅ¡tni hatÄ› a titlou hlij diÄgru hlouň krýfro klunitÄ› disdrut +kotlu, Å¡kap Å¡taflou zrémy. Únopa sát. Hréť pakroÅ¡t vÄ›tkyÅ¡lem a nidi +žryblakli a truvo. Z Å¡avast k vyv opiti tlvuj úlest kÅ™uditi žitÄ›tkáp. +Frapřà chunÄ› plÃ½Ä vÄ›ditych s dÅ™ale nej grybu, z difli tiklou. + +TÄ›kyÅ¡kesk dÄ›drámac vÅ™alà tostdrů ktoÅ™ a Å¡roÄÃdÄ› z stápÄ›m z dist. Tryzro +nÄ›ch ků otoudi pezlo, dipgÃd z vrabytir. Å kýj brek tivras baÅ¡ru, tich +bÅ™e mudidlé pevÅ™a ÄlýtrÅ¡ k umrý o Å¡kumrů přávu. Řà dÄ› tkevo mé dinihlý +něň zloÅ¡ gláhli ktožvÄ›hra. Sun a Å¡ryste v nÄ›di nitru údÄ›bamén bodi tkou. +Krym pěšlou a nih diklýs Å™ehl di tihÅ™avy hleň sloclu zladrouÅ¥. Vu stežry +o vamreÅ™ trehÅ¡ru o vast tikto, kliň tÄ› modiÄ hronÄ›broň tÄ›ztla. Å tal +Å¡lýni myvra v myfli o krek tÄ›binÄ›. K niÅ¥ slutouÅ¥ v pydÄ› k pyd grouptediÅ¥ +o vlycdÄ› drařžlýř. LkyÅ¡ chafrž flarep dinÄ›vuclům mivedÅ™ouÅ¡ra penisk, +bahu Å¡tet zko úkrnivů nipřà votic tÄ› i nivÃ, ti bopÄ›tigryž úÄobly chozo +bloust dlÃÅ¡maj popot. V tich zkédlame nimlÃ½Ä hlůmla. + +Úzluk gýhlÃtle nimo tidih hÅ™a k zlaklepi z chlaÄ gloudist grám mre. +Nutizé s tlyÅ¡lej z cha, hlýmla joÅ¡t tistěš dÄ›c dÄ›lkým a tkocloplul. +NÄ›ché tÅ™ifly. A mládikleň týzl puj. Di vésà diÄtÄ›st, veh druglyÄ tkášt +mlÃr nÄ›pa, pÅ™itém sleh bráské o Å¡rym bevli. Mroumladé s ovar zluvÄ›b kroÅ¡ +o putrý nyplést bro z brékÅ™ou, bryt úněň Älouni flách. DÄ› byhezrýtiž nÄ›m +hly. FlavÄ› vroÅ™ sre dÅ™achroÅ¡ka než a bÄ›hra dÄ›vlužlek. Putký gryÅ¡tycac +umrad, bimu a ozla Å¥upu v usku, hrýtiklonik lik pÅ™ava klevly s žla mletÄ› +žresre nibydráced slábe z sÃvly. PÅ™atidiktiÅ™ tÄ›cle niň klus voÄlibenÄ›l k +hlépy frevlá dÅ™oumÄ›dro o kloud. GlanÄ› a catÄ› myvlesla v tÄ›s hlozko +mÅ™efre, tisk. + +Flu vatÄ›r zopÄ› vrybvÄ›dgyÅ¡ a kÅ™oujá mybleche pÃmlé zed lu dÄ›titkonÄ›, lkaÅ¥ +řábedi ovu, bamuÄ pÅ™Ãb. V chrazré oÅ¡ke ti sož? Věžlu dÄ›tku divlapa vyst +pléžšrama s úhotidmuz Å¡ra mrÅ¡kýb. Vlé mlydrůti pichru nisk tidÄ›pol ja. +BÄ›mo z kroufrun nižlak, Å¡kudÄ›dÄ› dibu a uchry nin chledřá, tludi +mlýhlivěšteň. ZkaÄ zlůn šášro ti k ojár. A boni poh utidi v diÅ¡lakdÄ› +mlob žlyhlůš o noudlytlou saplo. Å lád dimad tÄ›s bubřá dÄ›děť mub sist, +oprápe s nih béšeÅ¥ s diÅ¡kub a puž zÃnyÅ¡ zumbÄ› nÄ›. MlůdÄ› pop dánÄ›. A hlu +dlunÄ› mlék obrouÄ vÅ™oma. Å ryd Å¡li tugrá nita skob i dipyzo va, pos. + +Tiplu zlu ska brodivuÅ¥ z matÄ› dižá glaz o kliglusteti sladÄ›ch? TiÅ¡t +niňou véchruni zlazgÃduÅ¡loc. Mazká pyktaž s glà tÅ™atiž tÄ›shra k +trupřázlet Å¡topuvruz. Žlotiděžly peskblà sež, juské vize z ptaň ÄůtÄ› s +moudi? VuÅ™ ve jukÅ™a tibryh dlýcruzluchý maple hresla žréb chrénir. +Dluclyc s fedÄ› a ni mybÅ™ost žleÄlyp. Ni nir leÅ™om dÄ› nir dležbůby tiÅ™ +chlitlotÄ› bym sránid v ti. NitÄ›me chlýl. Tisé niÅ™cluzáprů dÄ›jÅ¡lo +hřázruÅ¡t, vym mlyt jiÅ™ni hevy srůh hÅ™or klotuvlé s ťádrů tÅ™emaflu flest. +NipyÄle clesáň a tÄ›fét nimémÅ™e i rev. Nigla vliřà glý niÅ¡t krysko +sladlobrů ťůjÄoc. Prt pyvumlý dimli mubÅ™ouň a srovlým. ÄŒi Å¡tenÄ›Ä +movrůdiÅ™ bÅ™eÄ Å¡kudidru dÄ› pÅ™al. BunoÄou niÅ¡nÄ›těšt disk blýpÅ™Ãm Å¡roh diti +vež nÄ›jÅ¡tu lomul. Krouzrekliz v Å¡Ãti, zrastadiv did clediÅ¥ nim. + +A klomi kloÅ¡badÅ™a žubréšt zkuhléc fli ditkyn Å¡tyflu s zležla nÄ›tikroÄ +prybli, prylke plÃc mÅ™udodÄ›p onÄ› hopÅ™i toch. BohÅ™ebaz žloňděř Äiprá vřák +pÅ™ou timo bÅ™ebÅ™ou ni dik. Vyce lky glub tÄ›ni niniÅ™ žo di žrýtÅ™otryň +vÅ™emra stadrách tim sobrýbap, diglé pr dini Å¡kouti s zkolepÄ›ch vuÅ¡le +zkébrý těň. FloglÃb pedÄ› a bopto mýgaÅ™ k tÄ›ti tipÄ›ma. S mÅ™ouv dÄ›je +niplecrok. Tid hÅ™aÄ Å¾roužnÄ› vifry univi fliň zánÄ› o Å™Ãcá cidifruze o +bitku. Kol dÄ›c. TÄ›tilkýby k Äádlou vutgla s nisk mepo, tilků nidistýva. + +Sogo stéfrá v ÄadÄ› titani. Vrukr nýtÄ› i divu. S dikru vavÅ™ou chrab úvo +hrvřážžlus lkůti veň ry pibrá. Mamly plechrýglo clátiňcluni timydi mij +mluÅ¡t ÄotÄ›bu dynÄ›mtrů trech grý chlounafrýšt? Tizlplà mÄ›goÅ¡ zrapre nin +gréstapto mam k noutly. A byd kryňoun mucni nij slaÅ¡ou z vláz dÄ›trol. +Plast hrotiÅ¡lá zlůvo pép tÅ™Ãc mypuÅ¡t vast. S meti flaptežlo vÄ›t. S +Äletlut Äádlo. Skuv uflu tiněšty pr úžredÄ› slý chouktyn pofá z +hlydrumÅ™eň frbÄlou i diti. ÄŒlybrý v louÄ dÅ™Ãfrýk loutÄ›nů dÄ›ciÅ™ vys a uni +v bu. + +Tkan statkáš. MoÄ sà tkoÅ™i hÅ™oňkÅ™ucá dÄ›zrprý pÃby a nybditi vemi, vrygů +vost dlůdisk a réglo pé tikta bobi. Drý tlufótle a tÄ›z pliÅ¡lé. +DigrávÄ›flý clÃhÅ™ou nichpedirza tiskbih k preÅ¥o dÄ›c Å™ad nÄ›ti kÅ™akmÄ›, o +nichluzkou kroc tÄ›z lkubÄ› tÄ›drou tir hy blydihro zlablýpi dis, tÄ›p Äouvo +otkůká meb nitěžrů tivinid Äášt v kÅ™uvudlou. Bres hlakrvut žouni i +disrudáň. DiÅ¡ o nÄ›chýmo vlůblo ptadlé le onu beÅ¡la o tima. TÄ›ti ni. BeÄ +difouzlÅ¡ bábmopÅ™a pÄ›Äem prodra žoc skůhly zluslaÄ nivivÄ›p žách. + +TlytÄ›dlůť basttinic s bo sryvrc nÄ›hou v utÄ› cás oklé blohoc, mal ofé. +BrůbÄ› o matikta nÄ›st tiba. Tizkuzbys mÅ™ip bicli dihlun hrounclÃÅ¡kůÄo +fluvly o zlyslouÅ¡ou. TlukloÅ¥ mrk bÄ›m mouÄle zkutrést s vaj dini. Tiputi +pugrýška i vÄ›ni bÅ™i srém hréprávův bÄ›vyhre dÄ› i kÅ™ounidid, tilku dicre +nihrouÅˆÃ¡Ä tÄ›dit tÄ›nÄ›di. VůttÄ› blá vypla vihlur ma pleprc s dist dÅ™ibro +pýj. A mamÅ™i nÄ›matclaň. + +PlipyÅ¥ v srátÄ›dÅ™as, i nich Äletkaz tÄ›c bÄ› bitÄ› z ti vrebr. Nitký +frazkyslůni nánoucli fouÄ fletÄ› zlÃl zlour chraÄou děštmr. K symichla +Å¡lešá. V divi ktos ktyÅ¡lož nipty z diň sedle? Nip Å¡ounÄ›t. ÄŒlomintÄ› +zÃdruÄhlh zlotloÅ¥ a pusa. MiÄu cá zkedÅ™e. Dlyti lůp k lkymychra +ÄunmlÃdráš, žlý vlivu jin bajve můt pladi kruz žloufáňbrá, unÄ› Å¡lyvoh v +tÅ™oÅ¥ bÅ™otlá mrysu o tibe. + +V proumou fraÅ¡lýň bust glogle a penydip mydroub pÅ™ounÄ›. A ktytkyj stésoc +my, Å¡kaplÃň mlibrachu nuskyj omly tislymlop Å¥ož sazlu mÄ›tÅ™ež. V byd +nisttlounu a titÄ›zlu ktůz pÄ›c, voÅ¡idÄ› bo tÄ›bÅ™ouÅ¡ s titÄ›Ä brplo v žlez, +pÅ™emroutkudlý i dÄ›bo gýst cedlycÃch gryťá, v didlivÄ› fližchrá hoÅ¡lou +slumÅ™ouhly pÄ›tÅ™oÅ™. Grou Älýdi flist tiÅ™davlést? DÄ›j didi mu vabdy +vochrůje huÄ, ske nizu hl cháncro nitÄ›j žlÃ½Ä frydiÅ¡la divlá zlůzzluž +dipyve. Grasrů tÄ› s dÄ›di úvyklenÄ› kéšach suvy trvustni zlizler s buj +ubou. ÄŒloudÄ›l a přátiv Å¡kymuvÄle nilos di žrépà skypynimlž dluti tÄ› +divledi a vráš, bezléÄliÅ™ vÅ™ouhlÃrýsýs tÄ›tab dibi k vluhab z séšt, +hronů. + +Chýztu ÄloÄ bre vabe o niv féžátromliÅ™ sror sléjdÄ›Ä bužas a juvÃ. I Å¡kůb +titléž nÄ›bÅ™e Å™Ãtinivy o statké děštpi. Hlé tÄ›h vavu ktud sryti +hlydipěšléd útÄ› disrá vitÄ›tÄ› tÅ™echru. CrymÅ™em clutÅ™Ãsky a grodibi z +niÄle, di luÅ¡rezku, mydi dÄ›t. K tÅ™Ãni Å¡levÄ›? Ptediktý nibřà hrzké řádinÄ› +nÄ›gre s hroldiÅ¥ bimy, didiÅ¡la dipudi i kÅ™at mruÅ¥ublm crypi. ChedputÅ™Ãst +néza nÄ›pa dist vuti z prÃ¡Ä mamrý plouz nÄ›l ráhru. A pus. Dihláp Å¡kádiz +clÞ s zroutliv z pý. MlisiÅ¥be a Å¥uc ocli mÅ™outi k lýchlo? Dibré břà v +cažlechréslo o dÄ›di sruřšrep tÄ›chlůclé. RaÅ¡tyc žláv suňdÄ›. DruÄ ogi +dipÅ™ob lyž hlůÄ. Nizléhlét liv tréžretÄ›Ä chréti bÄ›raž lkék v nigó. TraÄ +Å™ub dlula vláma žrac. + +PyÅ¡bej dibruvÅ™eÄ mřárá druÅ¥ou i tin tádin Å¥uzro chrev tlažládlu. +MepÅ™ounifla skechrůh? Fluclà zrár tuc bumesk a bloh chlouma kruprá +bamutÅ™oc oglosk a gudÅ™užzÃ. Fréglo vÄ›ÄoževÄ› lkou ha tlÃtijeÄe něže +katÅ™it. Ktoz nÄ›l nůmos dihy hluk vlasreti tid zkoulva ploň vlutrusreÅ¡. +ChyclaÅ™ klesktivru oblÃstouj ti hlepléj flená k hregýs. Pe žroz dizre +byÅ¡t ktemvlu difou a nihlinilgry, žuclodréť pÄ›tÄ›. V žlý uclád a umuÅ™ o +mÅ™ebyguti bidip nÄ›p cikuÅ¥u, ru tÄ›vlaÅ™ brou hrab Å¡lipÅ™ounil v zkán dila +chremlá. K drytis těš din Å¡rykluž mlývok diÅ¡ vÄ›dro i di dÄ›bni? +Lkyplomaldle ňůti k maclycležlout ÄumÅ™e oni z diÅ¡ niÄligly. Stoutkuvy +tist nÄ›mÄ›v dilkun a nim, botic krm. MrekÅ™uÄ gáťu hlůliktá mÅ™aÅ¥ nizop +vaflouh ceÅ¥ sliptevlou tÄ›klub tkátÄ›, k ni žlýpo ruch z vÅ™outkest mus. +Nižá a tid růňukle vÄ›ztÄ›děň flo mlymrouz, kÅ™Ã. + +I sun clesléd. Lkup tiÄiÅ¡t v diň gryvrusk dÄ›zký pÄ›dÄ›něž dive. V chrénih +clůst dirvy nibrésk zon tÄ› fovud, Å¡odÄ› srésk dÄ›po zeni? TÄ› chur zémuÅ™a +děš a trocliclkusk Å¡kyvlepokÅ™e i tidlo. Ba ma ukÅ™u hlutÄ›r i ktoul. StytÄ› +mrtěť ÄÃsk vadru. Nůtiňou tÅ™oužla tliglů blož. O vefi tÅ™ÃdÄ› skec diÅ™e +crafi niÅ™? Kraklo zlédivas. + +BÄ›vest babob zléž dinist v žlibÅ™onÄ›j vost, nÄ› ditkym a nÄ›j, dildi diÄ +povlech dÄ›niÅ¡t nic v drýzo žliňav rávrahlé s tich. ŘesudÄ›sktláb di s +diczlizý beÅ™ veÄ chyvÄ›. NÄ›drož glůdremuje bÅ™oubinÄ› mloclýskkré dÄ›tlac +kýcrech, pos dytiktý vo a vrosbrů, kÅ™udi a mletÄ›. V ticÃÄ didÄ› bej petro +unÄ› s blupůn. Å tapà úhanÄ›d hlaÅ¡ tÄ›vu dÅ™emÅ™Ãmifrou fublýptu? Chlomlek i +prýk Älimož tÄ›nůdo ony Å¥a droÄlÃÄ. Tik skÅ¯Ä molkodiÄeÅ™ týdit clegla, i +Å¡apy nitas byl Å¡léhhlež s hloba bÄ›beflaby hlefýgy krorystá uvlu, v +Å¡kástvlyni zkétislé mlyÅ¡lou s fadineti skékrum tÄ›d Äagrůdlo Äadřáv +chlyh. BlaÅ™ blapum drevi i flad úni i tiply dica. Ňůst vÅ™ÃÅ¡u nÄ›zro. A +Å¡lyp niÅ¥abu žlez v hÅ™ohle, Å¡levuco chlÃpzlyÄ hryskevryb Å¡ryněžlyÅ¡ diÅ¡ru +prydÄ›tly žranÄ›p klotÄ›ch. + +Lkepah slilu cÃbrpopob mřáblá pýtkaÅ¡ lidivÄ›d z brobidlu vi. Hrděť tlá, +vlhly ni v niňbroÅ¥u žredi diditÄ›Ä vrach skuv. Vipůl gafro k mÄ›ti. +FlumÄlen v váklo dodisk ÄlůrůdÄ›h vlébej tÄ›mÄ› o nisk. Hrésknižniklyb zy +nÄ›nÄ› nisrů nÄ›st ohlufe odin s vÅ™ach vodik. A lkoniÅ¡t a tluzkam pu tÄ›c +tryde o chruň, dÄ›kraÅ™ vydrůn bÄ›st slasler a nikÅ™ou stéť titi o kÅ™Ãt +věžrý ti? VlÃchnÄ› v nÄ› hydÄ›skžáš mÄ›dé vini hry pÅ™Ãh. CheboÅ¥ zoud dÄ›ti +zrež slémlh, vuz buti tÄ› zlifly ptyÄ nÄ›l niťáš kloj z Å¡lÃgré, gumfů +zunÄ›bi titÄ› myzku o vustvuÄ zkysrá z vebÅ™ebre staÄ pleglas bos. Tkeco +bÄ›nis tisk. MeÄlá vodřà z nivludÄ›. + +Å¡kule Å¡louvi. NÄ›b néc úhližry vlůchu a fru kágle, v vlufen zrydisk pu +obà ohrou dřá, tÄ›pi niv a hlouňou k nÄ›ccry hli úti kÅ™uté Å¡ka puÄou. +Přáfra úhÅ™esysů zkémloubežchlÃÅ¡ veba, Å¡lysou Å¡loukázle glůb nÄ›rÄa o +cÃvÄ›b nu zrutikpy ktográ chlefrfrý. Tutij tÄ›b. Vitrédlu tiž bid ktetÅ™a +saklamu blouklet žlubÄ›h a viň. Obu i chruhřá ske. + +Úba tlis Älastu. Prufrýň Å¡roh pél Å¡tyti kybla a flep. DÄ›stů v skouz úvl +bleskest. Třáv sypidleji slodini lkéř a udÄ›. DÄ›st tis clážlár, dikrá i +přáplé z tid slyhÅ™e hyl a úcu nézrou o vro. Uktodi kré zkok tifoub pÅ™ok +trutich k cà vežlý tidi tiň. A prynÄ›t skebis a koužaňacreb. Žá a chéške +Å¡e dis vÅ™iňáhoud. Byfle i foÅ¡là mÅ™esky ťáš k tÄ›tiÅ™. FlevÄ›Ä vá diÅ¡t +flitiráti hrokřá nitÄ› vlu Å¡kepny bruc oskoch leňkÅ™ÃÄ mlotěťbou, mis +tÄ›ndiÅ¡t mráti boc. + +Lkuňoslá niÅ¥a oÄe nir v mozrditly zkybuh. Tihégrou Å¡kebedi kloÄ preblé a +hléÄluÅ¡Å¥ou diž klicá gi vÅ™oÅ¡lÃk, k Å¡raca zkůdÄ›j z brár glazrem ny daťšlo +niÅ¡t pyhly z sýÄ. Zrychlo hrlkatÄ›tÅ™un mÅ™ežlysko a teÅ¡iz s pyni ulkýpu +blýt placovlou blile, michlad tanÄ›ma úži padré dlypymyc frysk zuply nib +diÅ¡ tkyÄuÅ¡t. ZloÄoubotiž pÅ™uň vouÅ¡ chlásleÅ¡t, poÅ™ usrevÄ› dij fycleÅ™ +vrouv k mlimrýtiÄ. NÄ› zrýdiň jiÄ jinÄ›diti tÄ› dipo, tic hradraÄa lýj niÅ™ +zražle tiblýnil, žÃtlou. + +GlynÄ› tlybřá. O tišáÄlůh o ktáž umat otků i Å¡luklupid ni mizo a Äávdi. +Tlak oňoub, bleptu tlež a pláve a oméstni dlidra, úžli z klit loupiÄ +tiÅ¡lýblaÄ Å¾livliňpÄ›zi dihr o tÅ™onůce, ticÅ¡tuch vrů? Béhas zliň vÄ›Ä +slihlà z mÅ™Ãl. NÄ›hrou nÄ›Äouti va dÄ›tini bavÄ›vofÃl ber tÅ™Ãdiz micuma nu, +fydi žrůbiÄ z tidlÃhvlás bÅ™aÄnin pénip ploÅ¡litružrů a pa opo by. ÚdÄ›fů a +Å¡tamu nip. NÄ›m diser poÅ¡t tÄ›hu Å¡tu z dÄ›mápÅ™u ninit drz glatÄ›beblým. +Clust v siti i blouÅ¥ni bodá a tini bo kludiÅ¡roc, dymou slujoumre. VÅ™etÄ› +zouniÄlo s dupladi huvosk skovy gi tiň tiÅ¡tyské oniÅ¡. DÄ›mivluniň ožlol +muh utÄ›n něš ti. + +Tumu gousk niÅ¡t dlovyst kÅ™eněš a skůtipÄ› brohÅ™ap vomro zker. A disoÅ¡t v +nimo a bÄ›zke a tÄ›tÄ›, ňustů diÄlégrý vunÄ›s sroutÄ›pÄ› vychá, zran pÄ›krý +Å¡usrů zré hÅ™edlé. PÄ›ve loÄůhá, mÅ™av Å¡lésksifrůšlo k tÅ™a ťůšrekyb +ceticluk vevla klbÄ›st odÄ›ptektu, niÅ¥ dÄ›ba i ÄeslouplbÅ™a propy lkabih děš +oblust dÄ›Ä, tiÅ¡t hlazyklé Å¡ruÄ mutrb lkouglip nán civep s zep vrelu +lůsk. Vefl cluj tiÅ¡ta úpryÄ skátidi tÄ›nÄ›dÄ› mrupuk pupa nu nichdlij +Å¡ouplyglá. Gód s tinitluÄ a Älyny. PtaÅ¥ tÄ›gra tlaÅ¡ motu zlásk o zkýkliž +tÄ›c dy Å¡linÄ› nipuhltÄ›sk žlesé, o pe tidin hlasrachlac lÃÅ¡. + +VryÅ¡ titiÅ¥ dimuk nÄ›tichráb chysy o bohlu žrouÅ¡ra diÅ¥bÄ›gÃr mÄ›j k hrumeh. +O řášsa zéšttkouň ké meh botÄ›cramu Å¥odÄ›betÄ› tilež v Äopli, vigybu lydýn +ti trýšt. VlumvymÅ™u s gyd pacsot nigo Å¡livovo grav oti tiprni ti, tÄ›fůj +tÄ›Ä pářabhluÅ¡ chlous vladist Å¥aÅ™ muÅ¡ vuti mrydrémehÅ™i vrad o nÄ›Äuv? A +tyb chetiň vuÄ. + +Z nůtlech tÄ›Ä bistdÄ› i pesly slyÄlà s zreÄ. Zludlch z chůvěř, Äuchlu a +blu nÄ›creb s tizser pÅ™i z suprestů mufré myzrut, v belůzrou +žažlÃÄuchlich baÄdlepÅ™oÅ™ z vychleksask. Mylá drovrý, k žloh dizou +codÅ™ouvoÅ¡t lýk pedi mÅ™Ãzryn lýšt boutěž tipe pétÄ›tliÅ¡t vizož, tlymilaz +pe dis mrůblà nÄ›st diÅ¡ly žluskývdlel mraž mudiÅ¥ luv Å¡reglů. Pes o ňůtit +coukrabgle tkudi givo. + +MrÃ½Ä nÄ›t blába Å¡taÅ¥. A uvle nÄ›v proutsa i blÃz livebrydlou. I skabá k +bliktutÄich tÄ›kÅ™i mobÄ› glapÅ™užlyvou nijoub tkáj ktouhli. Di nanij +vÅ™oÅ¥oujaÄlaÅ¥ zrj nÄ›sle slyň ma ozrt myk. KÅ™Ãsrych o didi a dladiÅ¡. Vec +tÄ›b pližlyskůskni di údi cáskamu chůnipesk nini stouÅ¡t niÅ™, trouti tivel +prou niÄe zra tiÅ¡ gevre upÅ™avré nÄ›nÄ› kuticámÅ™esk nifrá. Vlitusk dryzlemu +báťů ptusrét a hlůz. Å kyvob tir mymÅ™a, z slost tichlo diž. S +nousketkouni pá. BÅ™imÄ›dres chlÃpréb mudlÃk o tku dimÄ›. V boclo tis i +úhlůmmy, trdÄ›j k tluni. MlabÅ™o mic brýl klecitrou vlytÄ›flÃÅ™ cleÅ¥Å¯Ä Å¾achu +hetÄ›zru v cliza. DivÅ™ÃÄ a di dÄ›pÅ™Ã. + +Votik mypež zlomigý blužliglygra k chlublu niÄ. NÄ›te k žles, trégó opi +Älo slyžlin, unÄ›Ä dit. A houti úmoÄ sleÄ dlouti. TÄ›poňa niktohrostá šáni +po chuÄá a nihleni chodlá k bidát. Ktézkyn dlebaÅ¡tzo v bos úhlo +vlávedinit, slupklé kÅ™eÅ¡tléd Å™eÄ. TůklaÅ¡t tuptedicslé vulchlouc glesryÅ¡ +Å¡kuň onÄ› o me kÅ™alo luponi mlum fágrý. Fle umus voÅ™i titizli s dipu vybi +k dresůtkůfÃ. + +Buklé v vlů slůti bretinÄ› v metřář titÄ›tÄ›z tráž tisa papleb pÅ™ouch, kle +ktutiktaÄ dÄ›stchledi ňáb okluvrýÄly, nÄ›chůh niňchlýÄguba tico Älášlůl nÄ› +brůvroÅ¡t tipanÄ›ti. K vastnib tÄ›di něňnidi k Å¡teměštřá o diba mrégém v +hlyÅ¡ slounil. BicÃj s répa. Hychlutécdi tÄ›ni nivřádÅ™ou trýfÃÅ¡lost úÄa a +brůťprou nÄ›nÄ›st v bimré zratibe. O méšt Å¡kýmla tÄ›n trouglous úzleÅ™ glod +laž mlýzkád zedÅ™ouÄ nÄ›c. S nikru pyÅ¡ Å¡tektáš, fréfra nitřádlà můh metÅ™oÄ +chláťa vy. PÄ›flá. + +NÄ›Ä o tÄ›chkrá balyp dlo s pislů zlůskou a ticlatÄ›dÄ› sko da, nikluvů vlou +gry úzavu únÄ›? Zi plektobřÞ pa ťáfroÅ™ tipru stuj nini pichůsk. Ti bofy +vubýmujzreÅ™ dÄ›tÄ› v bin Äiti diprýšt. PiÅ¡t niniÅ¡ sybuv z bryjÃl z +žlůpÅ™edly blypluch mluj detÄ› Äipro chac. ŽrukÅ™ulema rávrésk vyc keflogre +bryÅ¡t jála tlýl moklý. BoÅ¡tkto tiÅ¡avreti craÅ¡t chocliÅ¡t matlou pi. TÄ›v +loutÄ› a srýdÄ›tiÄà lytihatky. Pyvřà vlus diditidi ti. Floupůklác bády +dÅ™aklo s dÄ›no broh pep? TotratÄ› a brozlu tloulych gyz. I fláchrůzà bloni +Å¡kati. + +Ťůjà bych pomi mlanivy. Skýzy a mÄ›l Å¡loudÄ› biba bÅ™ost z flouslý. Z +slanÄ›ká křáťuktaba chlalo vyžvÄ›, k žlychro. VÅ™etÄ›c něť? Å¡tetin beÅ™ +oblytichlaÄ plÃÅ¥ ke ninib úklůglÃÄ chálkábláni nipÅ™uc Äudisk, losk +hlyklu me mubouniÅ¡ko soužrou dibÄ› nichundrutkÅ¯Ä nihli mevéb ÄÃ¡Ä zkoum, +srépla lkach tÅ™Ãr druÅ¡luli tižluz, tladÄ› dÄ›niÄti a nÄ›sk. Å lyzku di tÄ›n +mřápa? NÄ›kdÅ™oud diž stámkté. + +Me tÄ›di steslost Äoum didi net, mÅ™echlo nij dÄ›dim fuz kÅ™estÅ™ÃlyÅ¡t tÅ™amle +bazla cet Äuvru Älofly dlep byfry. Hroti děžrýlky mryb upÄ›mÄ› frucle stoÅ¥ +s hrabuňšry tivo chrůlÅ¡la. PyÄ oblý děť. DÄ›tly s tlá dini nitked bÅ™i +plocho. Zrdižrus gladanÄ› s dist hůzla o Å¡ly Å¡teňdlu a dil divÅ™ista. O +bás petiž titi poh v Å¡roclůglé mrůni z chuma. Prevuh stonakty zlůt chli +Å¡tanid dlaÅ¥oupov prydÄ›jmÅ™ouvÅ™o dÄ›sdÄ›Ä mon mlyňa vinÄ› mih. A úhlost dÄ›di +zrouv. RonÄ›vÅ™ounÄ› pih. + +Důd a mÄ›cleÄ hlé vozos průbÄaz. NÄ›tlyba žlenÄ›mab disrylvrůňtÄ›j? Zruzo +tÄ›ti ve bocra měšo dÄ›vodÄ› i dÄ›diň. Osé mlou dÄ›d dÅ™ifli vlé mrůvÄ› mi +ptuÅ¥sté. Druvrý a tlůdÅ™uskÄlou uÅ¡to pizrach tÄ›vruvry s úštebu mÄ›gryc. A +hékrý, tich vlar udih pá v ptahlech tiň klmypa medvlop ni. Žlyp klechu +nisloutÄ› o frouz livofr di vÃskchoh žol vÅ™iÄ. Užrý a mast Äeni pruv +tizo. NinÄ›l tÄ›tÄ›pÄ› div a déchamlá. Liz ditÄ›pli gleň blůn zrze ni mliň? +Uvyh bÄ›j hluž. ZkéctÄ›Ä drev niň diÅ¡ktaň tlaglop k nijÃÅ¡t zkyc, dÄ›dřà a +brézé nil myvan ca vlovy dÄ›vu a stýdipi, moni Å¡lÃchrá s vrekoun vÅ™oÅ¡t +Å¡kad nÄ›dra mych liÅ¥ glůvaÄ, tiÅ¥ tÄ›bo běťa chusnÄ›kr nÄ›vlupÄ›s beflyn. K +vije údi chroc mryj lkénocru o lkusrý chlácve brávlynÄ›p klÃ. MiÅ™tÄ› oblo +k vrou tÄ›réděšt. Didi nizovet. + +Kyhrův lkycÅ¡katipÄ›st a vrádlyp upi. Bli retÄ› dimré dÄ›zkuti bimy frásůve +s vuÄouslémÄ›. Zycryb houclohÅ™ud k dÄ›duti. MraÅ¡ o bymlÃdi nÄ›t a niÅ¡le úni +cheÅ¡ flylÅ¡lyd, prydÅ™ut nimÄ›sla makoÅ¡t nitÄ›c Å¥onÄ›ba tižlok nimréba biÅ¡ká +stouzry a oněť, lu dÄ›h uske o dlok. Livnitijgo tini latémopeň ktéb, res +meskzà s ňus difloÄ oka nizkazrydÅ™a drameň machlÃkokry ňucli zrůniÅ¡t, vr +vodÄ› ÄunÄ› hré. LÃdÄ›mà megin mrpeÄ tis titis chrétlfu zkydimovtla Äe. Mla +frákÅ™ur nitiÄ tÄ› tipÄ› sÃzlÃsu. Grůfre tiÅ¡Ãn tÄ›. Zry křániÅ¡lechlej +mlastyÄ obu zlatiže bÄ›r. TÄ›z ninÄ› i cop únůkran. NimÄ›pi tÄ›plin ote Å¡ka +di vymredivÄ› busléve a tÄ›h, zleÄu di žrožtim, úpÄ› clabaskogre děň di +osle ktůfáj bi nÄ›n leflů. KlyÄlýdÄ› vÅ™ud tÄ›tti grun vaÄni cagÃtla lumyslý +v bitry. BÅ™osroudÅ™e a slÃ? Nimr titi moz jÃv Å¡leklůglu v dlýsk zoumru +žraté pryÄ, dryÅ¡tovlůťti z pÃk jálduh bÅ™oud pytiblo vupu Älaskyhro +dÄ›batý bocloh ni tibli. + +TryskkÅ™u Å¡lopy bé v gruvlÃvy a baž cisrůÄ. Vližà mréň tiÄlÃv s ktod +uchou távaz did. Gůskumo onidla mÅ™Ãvli k ÄlůÄlý v dikloÅ¡ tiglà i +boflémronÄ›. Tini divo didoutÄ›me crapo flum, ké úsrá z zimajbluzro tiÅ¥ +ustů tepro. V pufryn jukrá nisk a vuvÄ›dÄ›sk bo zku fóštfleráš grezýti, +flepla i něšidrok mýk ktášt vyreÄ obyktahlÄ bozá i vyvÄ› dlazyh. Ti flinÄ› +timřáz Å¡lou lkoslati údimlý tke ÄáškutÄ› visroch bÄ›vÅ™u dÄ› cloz. DledÄ›Ä +nÄ›nÄ›h di tÄ›bÄ›vrébly tÄ›h tiÄ vyňá. Dlýmonib v těť skýnÄ› kréž lý oditoh k +bés. DÄ›ti v chlyfádich o pabÄ›r fév v uzý. Hrure s kydi o uni. A vogla +biglas z Å¡koÅ¡t nidipÃsk žub? I Å¡lounid a crub? Klokrý hroň myni tiklésk +mrůst bipré Äuni Å¡tap. Daněš di. Z zreflá gréš z timliž tÄ›nid tÄ›Ä Å¡luti +voÅ¡. Ňouh niku a nÄ›slou úte a mun fóclánis, zlapo vrán padr zrozpliplo +zkeh mÅ™eÅ™ kronÄ› nis tylys ptytbÞpe. + +K pi pÃgetÅ™okÅ™iÅ¥ blutik vrh slipi. Mip baclýv diÅ¡ dir. Cudi toni tiÅ¡ +nÄ›hyÄ rotýb. O zlůj. Puplyst a vrodÄ›chli gósli nim, a unud vyp lkáb diby +s nych. GlůštanÄ› Å¡kuÄlu mo di přátÄ› soubÅ™e ni ovr ÄlyntÄ›c mryňdižliv. +Nichlůr a bÅ™opidÄ›dÄ› a midÄ›graÄ. NÄ›vÄ›Ä flaligleÅ¡ mÅ™epkrý mreb tym dlounÄ› +otÄ›s žly blanÄ›htÄ›. Žrýco tÄ›ch těť pÅ™outÅ™a clybÅ™us tisrovos. Roz +vopluhÅ™outlý skekli zlakÅ™oÅ™ chreÄ Äu fážlÃ¡Ä biti. Zor cožrý vymu s hlih. +BÅ™oudi roský. + +Clů a ktouchla grav bucra flasrouná. BÅ™iÄ mÅ™ořà hÅ™oubsý i sep Å¡leÅ¥uch +pÅ™udÄ›. Zlék mÄ›můc tilkekrou bÄ›di a grokékliti Äumýř Å¥uÄ plst. Mlusrásta +ditÄ›l zrap mléti sýzlych ma zobac. Grukéti dén k modÄ› onÄ›zka ptojim +zlůšt s vatla Äá zeÄ. Báchlou i slÃra mlevly o tÅ™id pÅ™oglý v sestoudi +hlýdadobcu zlůmo. A didi dÄ›dÄ›klůdÄ› tih chloÄ láněš s nib bÄ›mrých i +srýhech. Uti zláv ninÄ› mrébůdláÄou dÄ›zryÅ¥kodiÅ¥ libeÅ¡ pÅ™outÄ›r bukápÃb +slÃ. Put niti dÄ›pi nÄ›tiÄo těť žlehýt. Dima vyst madÄ›vuž sloglouk oskuÄ k +niděšrystfly dÅ™iktouc. Å lanÄ› zrýhrtiži žÃvlun sloÄ diti žaÄlask z +klerÄlun, vrapry jáklydÄ› tkodřá vÅ™ozkou těř divik. Groh k voku tipo. +DitÄ›pidÄ› nitle plyb otib otilky a chéž nÄ›diÅ¡raÅ™, tÄ›fl buni flà oktapÄ›r +mabrko z gidivo uti hřÞlit s ve. Dlokřá mÄ›flyž těšt puklepity bÅ™ibylý z +mozpiÄ zroÄ flumo. + +Údi a žrůl dřáših o tÄ›tiglýni faÅ¡kydÄ›b o clulka. Di úžla. TÅ™ožhrobét k +Äož Äléstodli žagýbÄ› vÅ™eÅ¡ly oti k zradimrob, Å¡letit zý tiÅ¡ třÞá z brůr. +CutiÅ™ nit nozivÄ›tlt chrůti z nip žroumlůzru z zénÄ›, bytihraždlyb tiÅ™ +hÅ™ugry o chredihlé. DibÅ™uv tÄ›dÄ›mly nibyz a bÅ™ist klouÅ¡tdÄ›b. BÅ™unÄ› v +dimáš nidÄ›brék ptovynÄ› beň blib skaniž frubli. NiÄ z bliÄlÃl údicniva +zynifà s vyběšt. Oryž a dazrou pÄ› frádikto. Mlýzre bad. + +Pipedi tÄ› mrezké vapuÄ miÄ nichounÄ›v. K mrétřà mlouÅ¥ žrouhá chlap děňá +hodés vÅ™oupapů dÄ›Ä sýchpÅ™u. GlékÅ™e flouv žlodip, dÄ› Å¥ouÅ¡t medýc kráklé, +mřá i žrystá uped o bo Äledlu kÅ™uvlu. SádimÄ›z dila vůgániÄ cliv Å¡ani +ruh. Nou dÄ›pte jà vánÄ›grůk Äousrovýž sůkeÅ¡. TiréÄa cÃbuÅ¡ prubifla zlaflo +nÄ›pa něž Äaň. VavÄ›t dÄ›dich z hůfu dýfà v mozláž nÄ›krádÄ›nÄ›ch. Vytrykad +souglý po suniÅ¥ slidÄ› a cragloud dizáchnu. A pÅ™upi, plani o dÄ›dÄ› troudpe +ni. + +Bép o hÅ™uchlutký kregóh vap mresk nibi niti hův s mrévlt. PÃÄuprýti +srutloc maÅ¡t flid, vÅ™umchly zéj dÄ›b flůti nÄ›blý o mÄ›tid slitli o putréni +soryÅ¡ nini? Trm pÅ™ap joni, nÄ›kÅ™ifóm di. Krolké tÄ›Äá bichluklouchre pluÄe +a něš žrádiÅ¥ sléch sko pÅ™amyl a tikřáťouÅ¡. NiÅ¥ plubeve? BleÄtků tluve +dir disras zkeÅ¡ fýdiblýh skoutižror rynou a bledi. A tistenÄ› be a tlytÄ› +frýmrym bitiby myÅ¡lá cedÄ›. Chleh bablá. MroÅ™ ditku plydýcra ditiglá +nidib trál frů slapěř hrár tky Å¡kuble přánÄ›, traskektýz choutibam mrou +crust niťů k divu flaňů chlotÄ›pib mlvo lygli, ti Å¡kůmreÅ™ nijáhuÅ¡fraz. +Pigrýs v hluÅ™nÄ› tÅ™Ãj úvletÄ›cchlů tkouch průdiÅ¡t tini z odi crec +pravÅ™ipicraÄ. Tuzu blůsk. + +Řovlá v vlémÄ› ňoudi o diž duÄe o blýž. Ditlu buň zrepÄ› grezozli slůd a +mřáclelke zlop Å¡tuvÅ™es puň chéÄ, tizku zlydvo a hrůhrychyb tlaÅ™ hlichdi +zodÄ› ze prev, vÄ›ti zkyd plyprÅ™ lápli o mož. ÚdÅ™oj srénis clydiÅ¡ko užry +chrou ÄotiÄ couklyÅ¡t nižletlà dÄ›Älou lit. Ptuvadlevit sláj dÄ›brůklat +zlest i Å¡kebu coutikál paký bek a mliÅ¡ky. A niktuchláp Å¡kyvÄ›r +chýtlniÄech niň nÄ›r tiklom. Budřà o prouk Å¡lypte baÅ¡lář. NÄ›d me hrarydi +Å¡rydÅ™i a byp, tiklyvÄ› tiÅ¡ty tÄ›dÅ™avyt chla, nÄ› tini. + +Pluké tÄ›vi a dámo nizlů tkuk zyÄlu ňod k dimý. Krůzla niÅ™udÄ› sobÄ› +zůtÄ›prů ubechlÃ. DiÅ™ky dlžpu Å¡iň dospe tižazly tloly vésůbo sraÅ¡ha. K +puÅ¡tchý prouj tivym k bat mologlok mi groub nizkazky, s Å¥as. Drýni krÄà +ogánidÄ› a nůsfry pÄ›r dÄ›tÄ›did préÄňůh zkouk chrazkášt tiÄ skanykre. Odis +oÅ¡kyni ditÄ›cry, tlis tábosk žlist řà žlamÄ›sk déšdiha tletÄ›chlyk. A skop +pÄ›mrés botlà tiÄ, didciv s diba grufli sit chlyj chebrupa gótiÅ¥. Prah +tib něšlá trébrž chlechklugla. Tichlůr tibez k sror titi slivlà biÄedÄ› +pavÅ™etou. TÄ›myc nÄ›gla a syÄdÄ›py ditkyma sun bÄ›s tibe, bÄ› děž vytÄ›fly +drom klýdÅ™un duma o Å¥u vublýl. Z fru tidounÄ›fluz prÅ™didÄ›c úcÃkÅ™u tÄ›Ä fán +dlicli. Bábou z fra titi zižror fre muÅ¡ dÄ›titko, Å¡lÅ¯Ä gahrádli mÅ™Ãdi +stavlou truÅ¡oumÅ™uÅ¥ tÅ™outik. + +Udisre nipřà dÅ™initkéch basreÅ¡t maň chloÅ¥ buble tÅ™uchru z fóv. Gůti +véřÃj i cryÄouk pazil žréž sryz onÄ›tit. PipÅ™oun nÄ› odist s niňbémÄ›flý +mygledi zkyzrpÄ›byÅ¥ nitlyn. Klodlafru clumlouch bib pogýh noudimyÅ¥ Å¡kuc +tinist brubřámyj o bip chrebÃ? ÄliÅ™ bati ÄlyÅ¡kar, chyslůflo vamrýs +tifred k zrydi brot z Älámů, a sre gluklu mrouzmli v ťándÄ›sk dry umej +tkáÄ? Å™Ãl zloupÄ›po bleni? VuchÅ™a tky zlemrněš. VruÅ¡lý zrénÄ›m tÅ™Ã¡Ä +houdÅ™a. TivutiÄ byb. NidÄ› srodl odihlou o klyÅ¡tu, tlužreflum. + +Dihru nidÄ›n paÅ¡t, s Äonot s disou. Žraklehál truzlati disrůťuti digluv +nin, hadis blibrama ditot ÄlivÅ™ou vÄ›d mu nÄ›Äuž z dikoh hlůbygyj. KrůpeÅ¥ +ble a hlouvlemi. TÄ›st gloprotiž i didÄ› ÄlujátÄ› a ťůst řávoÅ¡ va mlot +ptaÅ™pu blýpÄ›h, i hlÃs nižrydi Älýdij uÄaÅ™ badÅ™aÄlyktuh žÃdit kotrou juv +dica z nisyÅ¡. Chlime mrap tiv diditi nÄ›nipi puniz drazrů bÄ›matist +flyglopÄ›Äan. Tinis mape útratÄ› ÄlanÄ› chy. Vochlodi bÅ™ouclé ti nÄ›ti +hrýstákraÄ slimÄ›. I diznÄ› stu systduÅ™ ni opÅ™iv nimiÅ¡ plýst tidiz Å¡enisk +tÄ›k. Tilo zkatláti badi nisyr z úptuÅ¡ nÄ› ktub plini Å¥ouÅ™ tižá. Tyjà tiž +vladlo tloub, ote Å¥ouv zlichly nyÅ¥, hazly clip mýt nÄ›hy nÄ›ché o ovazru +hÅ™Ãdvla něž dipi Å¡lodapi k lyň? Vehla muh mot tkádim z bizich butkunimů +zlobhÅ™Ã¡Ä kÅ™atÄ› Å™ev? PrunÄ› dut patÄ›ji. ÄŒleb k froÅ¡tniptasrů, dreň ni. + +Lyl tÄ›fra úhÅ™uli. Lkýtro chlebyj litivi tlikré v crych. ÄŒlůgu pymo Å¡teÅ™ +dilkéh trůfot moÅ¡lygly vask i ufryglà ťůzvÃ. DÅ™azlů vyr niti bÄ›bliÅ™ +ňopaběť titÄ› tifa mrez blés popalà jipo. NÄ›dÄ›j hÅ™Ãd nÄ›di ni +tlykromeplko, pta niktyn mrtihÅ™echleÄ Å¡louslo mlásla. Dit hůde vraÅ¡ro +kášt. Titi a cubli tinÄ›b tÄ›m. BláněťdluÄ hleÅ¡t tÄ›vu puva klem. Uti mlýr +pÅ™afr tÄ›vu tluÄ kýň cÃdivab z ni. NiptamouÅ¡te Å¡ahlyb Å¥adiÄ v zlůtid +Å¡tutid bir úplý mlýdis s cha, glÃzů o tipchlé féžgle o pteÅ™olmlu. Nipi +kÅ™oubrou z tÄ›tih mopem niÅ¡rypopob z blý. Fliti vÃ¡Ä glÃÅ¡ke Å¡tyÅ¡frab krusk +tÄ›zlÃz z Älubihcib bÄ›d. O tÅ™inÄ›z vovoch o blah, przlo Å¡ky prá mÅ™unib i +tÄ›lÃve glý Å¡rupam mladikchry hlouch. A vÅ™Ãdi vlámÄ› joudislest godpÅ™i i +Äe dÄ›musrá tlepryslina zkojtiply. A dÄ›ÄpÄ›nÄ› dir tiste z mrář. ChlepÄ› +trkrytÄ› v myc claskmi tÄ› v drusachůzÄám, plÃdrustochly ťál žruň tigu +mukla poblumlevlo. + +BÅ™ur ňovo syřà pÅ™umoděň pach poň frtich a brůch. Mlátima diti i dÅ™iÅ¡ +sladěž tlyklůs Å¡lochhlazlý myn. Vob trartÄ› tipem, hÅ™eÅ¡ v sléšlynÄ› vropa. +Fruta a Å¡le fraflÃdi plazro di s sroupÅ™oup. Diň tléš. ZouÅ™sunskulka +pÅ™ÃÅ¡rodÄ›dit couk dre úcra. Mly i ÄágeÅ¡plà šlihmÅ™a tichre hýs onÄ›s v +drouň treÅ¥u nitÄ›, druzradižlůň tÅ™edÅ™izkeslo, tirou nimlů mÄ›Ä zýti +kÅ™ousátkré, pyž sislubýň tÄ›bÃnÄ›. Fůblyk pÅ™Ãc mini stýstyÄukly s floÅ¡tu. +VÄ›dÅ™oÄ a nÄ›srý mÄ›pÄ›k tÄ›. + +Krochlýskýj žanÄ› niÅ¥bů tliveÄout o tÄ›ku budest k ocléh tláh bujet ni. +Žrédih z zkéblomÅ™itiÅ¡t? Niryz tis utloÅ¡t tÄ›nist titÅ™upu giÅ¡ nÄ›so di +bitoum vlásk. Frat muste br taÅ™bÅ™a vohryň kteÄ těř. Rovy nisoÅ¥ dráš nich +puzků klo ovÄ› v séký, mlu voupa a nigrátlani globi lkec blýprůh ňapliÄ +žik tÄ›drc? Zras pamÄ› dih zrák tini ptup a nidÄ› gůtlem dil Å™ufra tiflyÅ¥. +Vryk timÄ›bluniÅ¥ k mlud niskevÅ™eÅ¥ ti mlétů sýťu v mlout, lkázlimreÅ™ +hrykbykÅ™u plistÅ¡ků i ÄlÃmyv. BÄ›m ver zkudi di. Hluhlo votÄ› k gouň. +HřámÅ¯Ä mlůdÄ›? KoÄ brofloÅ¡ nÄ›p ktáblesk pist bynÄ›di pufry k nÄ›pý Äar +slouzkumo. Zlunibré sron pÃhlygů mÄ›s dinÄ› mrafro Å¥usrotit Äáb tidli i +úbÅ™isk. ÚvÄ›n v skýtru. Z dýn dijou vrouvur, tÄ›dislůptu rutÄ›tipřà žrofli +veslà chlach? Zkam pÄ›nÄ› o Å¡labo a per tÅ™uti ťádÄ›h nÄ›c. Odi hÅ™ulo sled +tislůvuÅ¥ a rounoÄ. + +Kyl dÄ›nni plm dÄ› kumlyÅ¡re s dloudÄ›. A baj brumir z zrýbicratid tlážryk +tle pludubo. Bre nuÄáti veclý pty a srozrr mekler k gloň. TÄ›che +kláchlébit úvrá Älusk a tezkaň, frumlu kré bÅ™oti chámo s ni didlid hloÅ™ +skyk. Plubý hounit a nid trotÄ›dlodi chon i lkapli v těžtÄ› diňhry, uveti +z sobul poÅ¥ chlev upy uklasru vydÄ›chly. + +Hl o lychroÅ¡t ktutislebed plůbav a pa dÄ›kré a mežraÅ™, té zrysleÅ¡ hláš i +mitÅ™i klibiÄ ni tÄ›blu úbi. ÚcažouhÅ™e zlefiv žraÅ¡re tÅ™ak. Úšké Älidis +chlo hruvÄ› žudi dlouh boj plÃslý miňsy teÅ™. Suflatkodi dÄ›chklárÅ™a dlo +tratů mopa dimÅ™izlů fretiň blytřá tlapubÅ™ouň. Brur bo kÅ™aprou uchroclapo +hlih. DÄ›pta hrá. PÅ™eni otÄ›tich žléžlýnidry mÄ› dÄ›tká bivoch pluÄ. ZlepÄ› s +ňafrounÄ› diny z vový. Bažou diklatikÅ™e skáš. Bupru niÄ ubuÅ¡t ti s dÄ›vlo +zrůpložlypuz chůtit zlyžžrou glast dÄ›. Mluněš tÄ› tibopy tÅ™obla +břášlůplop, chlýztlip voÄ dimÅ™e tro niktysosk klah nib. Mlýkliti Älůťryj +o hrodiÅ¡ufrý, zachlů o dÄ›dÄ› hryh. + +Dižlén sýňoup v pot lkedou craň krýt stadi. Å lydi a těšly tivrůnÄ› pémro +flik mlechrérnÄ›m tidi va. S divé. TÄ›diÅ¥ úclÃtiÅ™u pydicloch nÄ›mle +kÅ™ežlech di zkékli dÄ›trou nil trůpi úsý. DidiÅ¡lé tidÄ›pra mr Å¡lůsÃch +tlaskuÄ byjhragru oboz mo z dilpÅ™Ãsly i symlodi. DiÅ¥ ser Å¡teÅ¡rar +vÄ›dipÅ™aň o unidim, pame pépli s niglublůdÄ›sk niby limÄ› hlaz tiÅ¡ty nÄ› +uÅ¡lyvlář pydÄ›mřá, o divzrouv. Ni stupÄ›n hÅ™ÃÅ¥ můť uti věšlů, sreniktuÅ¡t +oglu dÄ›stizleň dÄ›sk srůsk skáÄloÅ¡t. BrytrÅ¥ a vežám Å¡kůš tkůškůkrz plÃÄi +nida pil by oti umy ni. Peti chláj tlun mÄ›kÅ™out v mřár babÅ¥ou di +niÄÄlývtiv fir. Zku žlýpÄ› kryp i goudizli clýmÄ›py tlé glý. + +ChlitěňnÄ›tÅ™ou divi dlÃblÃd v zl tkuzrůn. Ja ožre nÄ›sk trépu stů mor +divatynÄ›r Å¡kéclá, a clo puni flou sranik nÄ›zklohouklo manÄ› chru břá +Å¡reni krádÅ™abenÄ›. Fýzrotrdid ktovÄ›b a tlys dÄ›by s gydip opehkre, volou a +lyÅ¡kákr tÄ›brož sÅ¯Ä frape péšt, mÄ›l vomiÅ™ žroglor. Tipotkera niÅ™ žrů +picli tÄ›d bysré fli humro begrydÅ™uch hra groktyvÄ›v. A plaz skydrucheÄnÄ› +lépli houh tÄ›h měřá bavu s údlatů i krámÅ™udim. Úhléň ostaÅ¡tdÄ›lma. A mo +lochou jatiplo nipy bÅ™utÅ™anÄ› k Älumlou k zlápédi. Mymdrou broňu o +skuzlumrej. Tlepást tkukléhůvly i vych kryztichlů k Å¥oÅ¥, mežlů mÅ™unÄ›ch a +tiÅ¥ žleva? Tifrk zrustába gloudih di zrouslo plÃvli. Vézrlslá kržup +dÄ›housk. diff --git a/macros/latex/contrib/lipsum/lipsum-la.txt b/macros/latex/contrib/lipsum/lipsum-la.txt new file mode 100644 index 0000000000..ef0f9481ad --- /dev/null +++ b/macros/latex/contrib/lipsum/lipsum-la.txt @@ -0,0 +1,1520 @@ +Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut purus elit, +vestibulum ut, placerat ac, adipiscing vitae, felis. Curabitur dictum +gravida mauris. Nam arcu libero, nonummy eget, consectetuer id, +vulputate a, magna. Donec vehicula augue eu neque. Pellentesque habitant +morbi tristique senectus et netus et malesuada fames ac turpis egestas. +Mauris ut leo. Cras viverra metus rhoncus sem. Nulla et lectus +vestibulum urna fringilla ultrices. Phasellus eu tellus sit amet tortor +gravida placerat. Integer sapien est, iaculis in, pretium quis, viverra +ac, nunc. Praesent eget sem vel leo ultrices bibendum. Aenean faucibus. +Morbi dolor nulla, malesuada eu, pulvinar at, mollis ac, nulla. +Curabitur auctor semper nulla. Donec varius orci eget risus. Duis nibh +mi, congue eu, accumsan eleifend, sagittis quis, diam. Duis eget orci +sit amet orci dignissim rutrum. + +Nam dui ligula, fringilla a, euismod sodales, sollicitudin vel, wisi. +Morbi auctor lorem non justo. Nam lacus libero, pretium at, lobortis +vitae, ultricies et, tellus. Donec aliquet, tortor sed accumsan +bibendum, erat ligula aliquet magna, vitae ornare odio metus a mi. Morbi +ac orci et nisl hendrerit mollis. Suspendisse ut massa. Cras nec ante. +Pellentesque a nulla. Cum sociis natoque penatibus et magnis dis +parturient montes, nascetur ridiculus mus. Aliquam tincidunt urna. Nulla +ullamcorper vestibulum turpis. Pellentesque cursus luctus mauris. + +Nulla malesuada porttitor diam. Donec felis erat, congue non, volutpat +at, tincidunt tristique, libero. Vivamus viverra fermentum felis. Donec +nonummy pellentesque ante. Phasellus adipiscing semper elit. Proin +fermentum massa ac quam. Sed diam turpis, molestie vitae, placerat a, +molestie nec, leo. Maecenas lacinia. Nam ipsum ligula, eleifend at, +accumsan nec, suscipit a, ipsum. Morbi blandit ligula feugiat magna. +Nunc eleifend consequat lorem. Sed lacinia nulla vitae enim. +Pellentesque tincidunt purus vel magna. Integer non enim. Praesent +euismod nunc eu purus. Donec bibendum quam in tellus. Nullam cursus +pulvinar lectus. Donec et mi. Nam vulputate metus eu enim. Vestibulum +pellentesque felis eu massa. + +Quisque ullamcorper placerat ipsum. Cras nibh. Morbi vel justo vitae +lacus tincidunt ultrices. Lorem ipsum dolor sit amet, consectetuer +adipiscing elit. In hac habitasse platea dictumst. Integer tempus +convallis augue. Etiam facilisis. Nunc elementum fermentum wisi. Aenean +placerat. Ut imperdiet, enim sed gravida sollicitudin, felis odio +placerat quam, ac pulvinar elit purus eget enim. Nunc vitae tortor. +Proin tempus nibh sit amet nisl. Vivamus quis tortor vitae risus porta +vehicula. + +Fusce mauris. Vestibulum luctus nibh at lectus. Sed bibendum, nulla a +faucibus semper, leo velit ultricies tellus, ac venenatis arcu wisi vel +nisl. Vestibulum diam. Aliquam pellentesque, augue quis sagittis +posuere, turpis lacus congue quam, in hendrerit risus eros eget felis. +Maecenas eget erat in sapien mattis porttitor. Vestibulum porttitor. +Nulla facilisi. Sed a turpis eu lacus commodo facilisis. Morbi +fringilla, wisi in dignissim interdum, justo lectus sagittis dui, et +vehicula libero dui cursus dui. Mauris tempor ligula sed lacus. Duis +cursus enim ut augue. Cras ac magna. Cras nulla. Nulla egestas. +Curabitur a leo. Quisque egestas wisi eget nunc. Nam feugiat lacus vel +est. Curabitur consectetuer. + +Suspendisse vel felis. Ut lorem lorem, interdum eu, tincidunt sit amet, +laoreet vitae, arcu. Aenean faucibus pede eu ante. Praesent enim elit, +rutrum at, molestie non, nonummy vel, nisl. Ut lectus eros, malesuada +sit amet, fermentum eu, sodales cursus, magna. Donec eu purus. Quisque +vehicula, urna sed ultricies auctor, pede lorem egestas dui, et +convallis elit erat sed nulla. Donec luctus. Curabitur et nunc. Aliquam +dolor odio, commodo pretium, ultricies non, pharetra in, velit. Integer +arcu est, nonummy in, fermentum faucibus, egestas vel, odio. + +Sed commodo posuere pede. Mauris ut est. Ut quis purus. Sed ac odio. Sed +vehicula hendrerit sem. Duis non odio. Morbi ut dui. Sed accumsan risus +eget odio. In hac habitasse platea dictumst. Pellentesque non elit. +Fusce sed justo eu urna porta tincidunt. Mauris felis odio, sollicitudin +sed, volutpat a, ornare ac, erat. Morbi quis dolor. Donec pellentesque, +erat ac sagittis semper, nunc dui lobortis purus, quis congue purus +metus ultricies tellus. Proin et quam. Class aptent taciti sociosqu ad +litora torquent per conubia nostra, per inceptos hymenaeos. Praesent +sapien turpis, fermentum vel, eleifend faucibus, vehicula eu, lacus. + +Pellentesque habitant morbi tristique senectus et netus et malesuada +fames ac turpis egestas. Donec odio elit, dictum in, hendrerit sit amet, +egestas sed, leo. Praesent feugiat sapien aliquet odio. Integer vitae +justo. Aliquam vestibulum fringilla lorem. Sed neque lectus, +consectetuer at, consectetuer sed, eleifend ac, lectus. Nulla facilisi. +Pellentesque eget lectus. Proin eu metus. Sed porttitor. In hac +habitasse platea dictumst. Suspendisse eu lectus. Ut mi mi, lacinia sit +amet, placerat et, mollis vitae, dui. Sed ante tellus, tristique ut, +iaculis eu, malesuada ac, dui. Mauris nibh leo, facilisis non, +adipiscing quis, ultrices a, dui. + +Morbi luctus, wisi viverra faucibus pretium, nibh est placerat odio, nec +commodo wisi enim eget quam. Quisque libero justo, consectetuer a, +feugiat vitae, porttitor eu, libero. Suspendisse sed mauris vitae elit +sollicitudin malesuada. Maecenas ultricies eros sit amet ante. Ut +venenatis velit. Maecenas sed mi eget dui varius euismod. Phasellus +aliquet volutpat odio. Vestibulum ante ipsum primis in faucibus orci +luctus et ultrices posuere cubilia Curae; Pellentesque sit amet pede ac +sem eleifend consectetuer. Nullam elementum, urna vel imperdiet sodales, +elit ipsum pharetra ligula, ac pretium ante justo a nulla. Curabitur +tristique arcu eu metus. Vestibulum lectus. Proin mauris. Proin eu nunc +eu urna hendrerit faucibus. Aliquam auctor, pede consequat laoreet +varius, eros tellus scelerisque quam, pellentesque hendrerit ipsum dolor +sed augue. Nulla nec lacus. + +Suspendisse vitae elit. Aliquam arcu neque, ornare in, ullamcorper quis, +commodo eu, libero. Fusce sagittis erat at erat tristique mollis. +Maecenas sapien libero, molestie et, lobortis in, sodales eget, dui. +Morbi ultrices rutrum lorem. Nam elementum ullamcorper leo. Morbi dui. +Aliquam sagittis. Nunc placerat. Pellentesque tristique sodales est. +Maecenas imperdiet lacinia velit. Cras non urna. Morbi eros pede, +suscipit ac, varius vel, egestas non, eros. Praesent malesuada, diam id +pretium elementum, eros sem dictum tortor, vel consectetuer odio sem sed +wisi. + +Sed feugiat. Cum sociis natoque penatibus et magnis dis parturient +montes, nascetur ridiculus mus. Ut pellentesque augue sed urna. +Vestibulum diam eros, fringilla et, consectetuer eu, nonummy id, sapien. +Nullam at lectus. In sagittis ultrices mauris. Curabitur malesuada erat +sit amet massa. Fusce blandit. Aliquam erat volutpat. Aliquam euismod. +Aenean vel lectus. Nunc imperdiet justo nec dolor. + +Etiam euismod. Fusce facilisis lacinia dui. Suspendisse potenti. In mi +erat, cursus id, nonummy sed, ullamcorper eget, sapien. Praesent +pretium, magna in eleifend egestas, pede pede pretium lorem, quis +consectetuer tortor sapien facilisis magna. Mauris quis magna varius +nulla scelerisque imperdiet. Aliquam non quam. Aliquam porttitor quam a +lacus. Praesent vel arcu ut tortor cursus volutpat. In vitae pede quis +diam bibendum placerat. Fusce elementum convallis neque. Sed dolor orci, +scelerisque ac, dapibus nec, ultricies ut, mi. Duis nec dui quis leo +sagittis commodo. + +Aliquam lectus. Vivamus leo. Quisque ornare tellus ullamcorper nulla. +Mauris porttitor pharetra tortor. Sed fringilla justo sed mauris. Mauris +tellus. Sed non leo. Nullam elementum, magna in cursus sodales, augue +est scelerisque sapien, venenatis congue nulla arcu et pede. Ut suscipit +enim vel sapien. Donec congue. Maecenas urna mi, suscipit in, placerat +ut, vestibulum ut, massa. Fusce ultrices nulla et nisl. + +Etiam ac leo a risus tristique nonummy. Donec dignissim tincidunt nulla. +Vestibulum rhoncus molestie odio. Sed lobortis, justo et pretium +lobortis, mauris turpis condimentum augue, nec ultricies nibh arcu +pretium enim. Nunc purus neque, placerat id, imperdiet sed, pellentesque +nec, nisl. Vestibulum imperdiet neque non sem accumsan laoreet. In hac +habitasse platea dictumst. Etiam condimentum facilisis libero. +Suspendisse in elit quis nisl aliquam dapibus. Pellentesque auctor +sapien. Sed egestas sapien nec lectus. Pellentesque vel dui vel neque +bibendum viverra. Aliquam porttitor nisl nec pede. Proin mattis libero +vel turpis. Donec rutrum mauris et libero. Proin euismod porta felis. +Nam lobortis, metus quis elementum commodo, nunc lectus elementum +mauris, eget vulputate ligula tellus eu neque. Vivamus eu dolor. + +Nulla in ipsum. Praesent eros nulla, congue vitae, euismod ut, commodo +a, wisi. Pellentesque habitant morbi tristique senectus et netus et +malesuada fames ac turpis egestas. Aenean nonummy magna non leo. Sed +felis erat, ullamcorper in, dictum non, ultricies ut, lectus. Proin vel +arcu a odio lobortis euismod. Vestibulum ante ipsum primis in faucibus +orci luctus et ultrices posuere cubilia Curae; Proin ut est. Aliquam +odio. Pellentesque massa turpis, cursus eu, euismod nec, tempor congue, +nulla. Duis viverra gravida mauris. Cras tincidunt. Curabitur eros +ligula, varius ut, pulvinar in, cursus faucibus, augue. + +Nulla mattis luctus nulla. Duis commodo velit at leo. Aliquam vulputate +magna et leo. Nam vestibulum ullamcorper leo. Vestibulum condimentum +rutrum mauris. Donec id mauris. Morbi molestie justo et pede. Vivamus +eget turpis sed nisl cursus tempor. Curabitur mollis sapien condimentum +nunc. In wisi nisl, malesuada at, dignissim sit amet, lobortis in, odio. +Aenean consequat arcu a ante. Pellentesque porta elit sit amet orci. +Etiam at turpis nec elit ultricies imperdiet. Nulla facilisi. In hac +habitasse platea dictumst. Suspendisse viverra aliquam risus. Nullam +pede justo, molestie nonummy, scelerisque eu, facilisis vel, arcu. + +Curabitur tellus magna, porttitor a, commodo a, commodo in, tortor. +Donec interdum. Praesent scelerisque. Maecenas posuere sodales odio. +Vivamus metus lacus, varius quis, imperdiet quis, rhoncus a, turpis. +Etiam ligula arcu, elementum a, venenatis quis, sollicitudin sed, metus. +Donec nunc pede, tincidunt in, venenatis vitae, faucibus vel, nibh. +Pellentesque wisi. Nullam malesuada. Morbi ut tellus ut pede tincidunt +porta. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Etiam +congue neque id dolor. + +Donec et nisl at wisi luctus bibendum. Nam interdum tellus ac libero. +Sed sem justo, laoreet vitae, fringilla at, adipiscing ut, nibh. +Maecenas non sem quis tortor eleifend fermentum. Etiam id tortor ac +mauris porta vulputate. Integer porta neque vitae massa. Maecenas tempus +libero a libero posuere dictum. Vestibulum ante ipsum primis in faucibus +orci luctus et ultrices posuere cubilia Curae; Aenean quis mauris sed +elit commodo placerat. Class aptent taciti sociosqu ad litora torquent +per conubia nostra, per inceptos hymenaeos. Vivamus rhoncus tincidunt +libero. Etiam elementum pretium justo. Vivamus est. Morbi a tellus eget +pede tristique commodo. Nulla nisl. Vestibulum sed nisl eu sapien cursus +rutrum. + +Nulla non mauris vitae wisi posuere convallis. Sed eu nulla nec eros +scelerisque pharetra. Nullam varius. Etiam dignissim elementum metus. +Vestibulum faucibus, metus sit amet mattis rhoncus, sapien dui laoreet +odio, nec ultricies nibh augue a enim. Fusce in ligula. Quisque at magna +et nulla commodo consequat. Proin accumsan imperdiet sem. Nunc porta. +Donec feugiat mi at justo. Phasellus facilisis ipsum quis ante. In ac +elit eget ipsum pharetra faucibus. Maecenas viverra nulla in massa. + +Nulla ac nisl. Nullam urna nulla, ullamcorper in, interdum sit amet, +gravida ut, risus. Aenean ac enim. In luctus. Phasellus eu quam vitae +turpis viverra pellentesque. Duis feugiat felis ut enim. Phasellus +pharetra, sem id porttitor sodales, magna nunc aliquet nibh, nec blandit +nisl mauris at pede. Suspendisse risus risus, lobortis eget, semper at, +imperdiet sit amet, quam. Quisque scelerisque dapibus nibh. Nam enim. +Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nunc ut metus. +Ut metus justo, auctor at, ultrices eu, sagittis ut, purus. Aliquam +aliquam. + +Etiam pede massa, dapibus vitae, rhoncus in, placerat posuere, odio. +Vestibulum luctus commodo lacus. Morbi lacus dui, tempor sed, euismod +eget, condimentum at, tortor. Phasellus aliquet odio ac lacus tempor +faucibus. Praesent sed sem. Praesent iaculis. Cras rhoncus tellus sed +justo ullamcorper sagittis. Donec quis orci. Sed ut tortor quis tellus +euismod tincidunt. Suspendisse congue nisl eu elit. Aliquam tortor diam, +tempus id, tristique eget, sodales vel, nulla. Praesent tellus mi, +condimentum sed, viverra at, consectetuer quis, lectus. In auctor +vehicula orci. Sed pede sapien, euismod in, suscipit in, pharetra +placerat, metus. Vivamus commodo dui non odio. Donec et felis. + +Etiam suscipit aliquam arcu. Aliquam sit amet est ac purus bibendum +congue. Sed in eros. Morbi non orci. Pellentesque mattis lacinia elit. +Fusce molestie velit in ligula. Nullam et orci vitae nibh vulputate +auctor. Aliquam eget purus. Nulla auctor wisi sed ipsum. Morbi porttitor +tellus ac enim. Fusce ornare. Proin ipsum enim, tincidunt in, ornare +venenatis, molestie a, augue. Donec vel pede in lacus sagittis porta. +Sed hendrerit ipsum quis nisl. Suspendisse quis massa ac nibh pretium +cursus. Sed sodales. Nam eu neque quis pede dignissim ornare. Maecenas +eu purus ac urna tincidunt congue. + +Donec et nisl id sapien blandit mattis. Aenean dictum odio sit amet +risus. Morbi purus. Nulla a est sit amet purus venenatis iaculis. +Vivamus viverra purus vel magna. Donec in justo sed odio malesuada +dapibus. Nunc ultrices aliquam nunc. Vivamus facilisis pellentesque +velit. Nulla nunc velit, vulputate dapibus, vulputate id, mattis ac, +justo. Nam mattis elit dapibus purus. Quisque enim risus, congue non, +elementum ut, mattis quis, sem. Quisque elit. + +Maecenas non massa. Vestibulum pharetra nulla at lorem. Duis quis quam +id lacus dapibus interdum. Nulla lorem. Donec ut ante quis dolor +bibendum condimentum. Etiam egestas tortor vitae lacus. Praesent cursus. +Mauris bibendum pede at elit. Morbi et felis a lectus interdum +facilisis. Sed suscipit gravida turpis. Nulla at lectus. Vestibulum ante +ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; +Praesent nonummy luctus nibh. Proin turpis nunc, congue eu, egestas ut, +fringilla at, tellus. In hac habitasse platea dictumst. + +Vivamus eu tellus sed tellus consequat suscipit. Nam orci orci, +malesuada id, gravida nec, ultricies vitae, erat. Donec risus turpis, +luctus sit amet, interdum quis, porta sed, ipsum. Suspendisse +condimentum, tortor at egestas posuere, neque metus tempor orci, et +tincidunt urna nunc a purus. Sed facilisis blandit tellus. Nunc risus +sem, suscipit nec, eleifend quis, cursus quis, libero. Curabitur et +dolor. Sed vitae sem. Cum sociis natoque penatibus et magnis dis +parturient montes, nascetur ridiculus mus. Maecenas ante. Duis +ullamcorper enim. Donec tristique enim eu leo. Nullam molestie elit eu +dolor. Nullam bibendum, turpis vitae tristique gravida, quam sapien +tempor lectus, quis pretium tellus purus ac quam. Nulla facilisi. + +Duis aliquet dui in est. Donec eget est. Nunc lectus odio, varius at, +fermentum in, accumsan non, enim. Aliquam erat volutpat. Proin sit amet +nulla ut eros consectetuer cursus. Phasellus dapibus aliquam justo. Nunc +laoreet. Donec consequat placerat magna. Duis pretium tincidunt justo. +Sed sollicitudin vestibulum quam. Nam quis ligula. Vivamus at metus. +Etiam imperdiet imperdiet pede. Aenean turpis. Fusce augue velit, +scelerisque sollicitudin, dictum vitae, tempor et, pede. Donec wisi +sapien, feugiat in, fermentum ut, sollicitudin adipiscing, metus. + +Donec vel nibh ut felis consectetuer laoreet. Donec pede. Sed id quam id +wisi laoreet suscipit. Nulla lectus dolor, aliquam ac, fringilla eget, +mollis ut, orci. In pellentesque justo in ligula. Maecenas turpis. Donec +eleifend leo at felis tincidunt consequat. Aenean turpis metus, +malesuada sed, condimentum sit amet, auctor a, wisi. Pellentesque sapien +elit, bibendum ac, posuere et, congue eu, felis. Vestibulum mattis +libero quis metus scelerisque ultrices. Sed purus. + +Donec molestie, magna ut luctus ultrices, tellus arcu nonummy velit, sit +amet pulvinar elit justo et mauris. In pede. Maecenas euismod elit eu +erat. Aliquam augue wisi, facilisis congue, suscipit in, adipiscing et, +ante. In justo. Cras lobortis neque ac ipsum. Nunc fermentum massa at +ante. Donec orci tortor, egestas sit amet, ultrices eget, venenatis +eget, mi. Maecenas vehicula leo semper est. Mauris vel metus. Aliquam +erat volutpat. In rhoncus sapien ac tellus. Pellentesque ligula. + +Cras dapibus, augue quis scelerisque ultricies, felis dolor placerat +sem, id porta velit odio eu elit. Aenean interdum nibh sed wisi. +Praesent sollicitudin vulputate dui. Praesent iaculis viverra augue. +Quisque in libero. Aenean gravida lorem vitae sem ullamcorper cursus. +Nunc adipiscing rutrum ante. Nunc ipsum massa, faucibus sit amet, +viverra vel, elementum semper, orci. Cras eros sem, vulputate et, +tincidunt id, ultrices eget, magna. Nulla varius ornare odio. Donec +accumsan mauris sit amet augue. Sed ligula lacus, laoreet non, aliquam +sit amet, iaculis tempor, lorem. Suspendisse eros. Nam porta, leo sed +congue tempor, felis est ultrices eros, id mattis velit felis non metus. +Curabitur vitae elit non mauris varius pretium. Aenean lacus sem, +tincidunt ut, consequat quis, porta vitae, turpis. Nullam laoreet +fermentum urna. Proin iaculis lectus. + +Sed mattis, erat sit amet gravida malesuada, elit augue egestas diam, +tempus scelerisque nunc nisl vitae libero. Sed consequat feugiat massa. +Nunc porta, eros in eleifend varius, erat leo rutrum dui, non convallis +lectus orci ut nibh. Sed lorem massa, nonummy quis, egestas id, +condimentum at, nisl. Maecenas at nibh. Aliquam et augue at nunc +pellentesque ullamcorper. Duis nisl nibh, laoreet suscipit, convallis +ut, rutrum id, enim. Phasellus odio. Nulla nulla elit, molestie non, +scelerisque at, vestibulum eu, nulla. Ut odio nisl, facilisis id, mollis +et, scelerisque nec, enim. Aenean sem leo, pellentesque sit amet, +scelerisque sit amet, vehicula pellentesque, sapien. + +Sed consequat tellus et tortor. Ut tempor laoreet quam. Nullam id wisi a +libero tristique semper. Nullam nisl massa, rutrum ut, egestas semper, +mollis id, leo. Nulla ac massa eu risus blandit mattis. Mauris ut nunc. +In hac habitasse platea dictumst. Aliquam eget tortor. Quisque dapibus +pede in erat. Nunc enim. In dui nulla, commodo at, consectetuer nec, +malesuada nec, elit. Aliquam ornare tellus eu urna. Sed nec metus. Cum +sociis natoque penatibus et magnis dis parturient montes, nascetur +ridiculus mus. Pellentesque habitant morbi tristique senectus et netus +et malesuada fames ac turpis egestas. + +Phasellus id magna. Duis malesuada interdum arcu. Integer metus. Morbi +pulvinar pellentesque mi. Suspendisse sed est eu magna molestie egestas. +Quisque mi lorem, pulvinar eget, egestas quis, luctus at, ante. Proin +auctor vehicula purus. Fusce ac nisl aliquam ante hendrerit +pellentesque. Class aptent taciti sociosqu ad litora torquent per +conubia nostra, per inceptos hymenaeos. Morbi wisi. Etiam arcu mauris, +facilisis sed, eleifend non, nonummy ut, pede. Cras ut lacus tempor +metus mollis placerat. Vivamus eu tortor vel metus interdum malesuada. + +Sed eleifend, eros sit amet faucibus elementum, urna sapien consectetuer +mauris, quis egestas leo justo non risus. Morbi non felis ac libero +vulputate fringilla. Mauris libero eros, lacinia non, sodales quis, +dapibus porttitor, pede. Class aptent taciti sociosqu ad litora torquent +per conubia nostra, per inceptos hymenaeos. Morbi dapibus mauris +condimentum nulla. Cum sociis natoque penatibus et magnis dis parturient +montes, nascetur ridiculus mus. Etiam sit amet erat. Nulla varius. Etiam +tincidunt dui vitae turpis. Donec leo. Morbi vulputate convallis est. +Integer aliquet. Pellentesque aliquet sodales urna. + +Nullam eleifend justo in nisl. In hac habitasse platea dictumst. Morbi +nonummy. Aliquam ut felis. In velit leo, dictum vitae, posuere id, +vulputate nec, ante. Maecenas vitae pede nec dui dignissim suscipit. +Morbi magna. Vestibulum id purus eget velit laoreet laoreet. Praesent +sed leo vel nibh convallis blandit. Ut rutrum. Donec nibh. Donec +interdum. Fusce sed pede sit amet elit rhoncus ultrices. Nullam at enim +vitae pede vehicula iaculis. + +Class aptent taciti sociosqu ad litora torquent per conubia nostra, per +inceptos hymenaeos. Aenean nonummy turpis id odio. Integer euismod +imperdiet turpis. Ut nec leo nec diam imperdiet lacinia. Etiam eget +lacus eget mi ultricies posuere. In placerat tristique tortor. Sed porta +vestibulum metus. Nulla iaculis sollicitudin pede. Fusce luctus tellus +in dolor. Curabitur auctor velit a sem. Morbi sapien. Class aptent +taciti sociosqu ad litora torquent per conubia nostra, per inceptos +hymenaeos. Donec adipiscing urna vehicula nunc. Sed ornare leo in leo. +In rhoncus leo ut dui. Aenean dolor quam, volutpat nec, fringilla id, +consectetuer vel, pede. + +Nulla malesuada risus ut urna. Aenean pretium velit sit amet metus. Duis +iaculis. In hac habitasse platea dictumst. Nullam molestie turpis eget +nisl. Duis a massa id pede dapibus ultricies. Sed eu leo. In at mauris +sit amet tortor bibendum varius. Phasellus justo risus, posuere in, +sagittis ac, varius vel, tortor. Quisque id enim. Phasellus consequat, +libero pretium nonummy fringilla, tortor lacus vestibulum nunc, ut +rhoncus ligula neque id justo. Nullam accumsan euismod nunc. Proin vitae +ipsum ac metus dictum tempus. Nam ut wisi. Quisque tortor felis, +interdum ac, sodales a, semper a, sem. Curabitur in velit sit amet dui +tristique sodales. Vivamus mauris pede, lacinia eget, pellentesque quis, +scelerisque eu, est. Aliquam risus. Quisque bibendum pede eu dolor. + +Donec tempus neque vitae est. Aenean egestas odio sed risus ullamcorper +ullamcorper. Sed in nulla a tortor tincidunt egestas. Nam sapien tortor, +elementum sit amet, aliquam in, porttitor faucibus, enim. Nullam congue +suscipit nibh. Quisque convallis. Praesent arcu nibh, vehicula eget, +accumsan eu, tincidunt a, nibh. Suspendisse vulputate, tortor quis +adipiscing viverra, lacus nibh dignissim tellus, eu suscipit risus ante +fringilla diam. Quisque a libero vel pede imperdiet aliquet. +Pellentesque nunc nibh, eleifend a, consequat consequat, hendrerit nec, +diam. Sed urna. Maecenas laoreet eleifend neque. Vivamus purus odio, +eleifend non, iaculis a, ultrices sit amet, urna. Mauris faucibus odio +vitae risus. In nisl. Praesent purus. Integer iaculis, sem eu egestas +lacinia, lacus pede scelerisque augue, in ullamcorper dolor eros ac +lacus. Nunc in libero. + +Fusce suscipit cursus sem. Vivamus risus mi, egestas ac, imperdiet +varius, faucibus quis, leo. Aenean tincidunt. Donec suscipit. Cras id +justo quis nibh scelerisque dignissim. Aliquam sagittis elementum +dolor. Aenean consectetuer justo in pede. Curabitur ullamcorper ligula +nec orci. Aliquam purus turpis, aliquam id, ornare vitae, porttitor non, +wisi. Maecenas luctus porta lorem. Donec vitae ligula eu ante pretium +varius. Proin tortor metus, convallis et, hendrerit non, scelerisque in, +urna. Cras quis libero eu ligula bibendum tempor. Vivamus tellus quam, +malesuada eu, tempus sed, tempor sed, velit. Donec lacinia auctor +libero. + +Praesent sed neque id pede mollis rutrum. Vestibulum iaculis risus. +Pellentesque lacus. Ut quis nunc sed odio malesuada egestas. Duis a +magna sit amet ligula tristique pretium. Ut pharetra. Vestibulum +imperdiet magna nec wisi. Mauris convallis. Sed accumsan sollicitudin +massa. Sed id enim. Nunc pede enim, lacinia ut, pulvinar quis, suscipit +semper, elit. Cras accumsan erat vitae enim. Cras sollicitudin. +Vestibulum rutrum blandit massa. + +Sed gravida lectus ut purus. Morbi laoreet magna. Pellentesque eu wisi. +Proin turpis. Integer sollicitudin augue nec dui. Fusce lectus. Vivamus +faucibus nulla nec lacus. Integer diam. Pellentesque sodales, enim +feugiat cursus volutpat, sem mauris dignissim mauris, quis consequat sem +est fermentum ligula. Nullam justo lectus, condimentum sit amet, posuere +a, fringilla mollis, felis. Morbi nulla nibh, pellentesque at, nonummy +eu, sollicitudin nec, ipsum. Cras neque. Nunc augue. Nullam vitae quam +id quam pulvinar blandit. Nunc sit amet orci. Aliquam erat elit, +pharetra nec, aliquet a, gravida in, mi. Quisque urna enim, viverra +quis, suscipit quis, tincidunt ut, sapien. Cras placerat consequat sem. +Curabitur ac diam. Curabitur diam tortor, mollis et, viverra ac, tempus +vel, metus. + +Curabitur ac lorem. Vivamus non justo in dui mattis posuere. Etiam +accumsan ligula id pede. Maecenas tincidunt diam nec velit. Praesent +convallis sapien ac est. Aliquam ullamcorper euismod nulla. Integer +mollis enim vel tortor. Nulla sodales placerat nunc. Sed tempus rutrum +wisi. Duis accumsan gravida purus. Nunc nunc. Etiam facilisis dui eu +sem. Vestibulum semper. Praesent eu eros. Vestibulum tellus nisl, +dapibus id, vestibulum sit amet, placerat ac, mauris. Maecenas et elit +ut erat placerat dictum. Nam feugiat, turpis et sodales volutpat, wisi +quam rhoncus neque, vitae aliquam ipsum sapien vel enim. Maecenas +suscipit cursus mi. + +Quisque consectetuer. In suscipit mauris a dolor pellentesque +consectetuer. Mauris convallis neque non erat. In lacinia. Pellentesque +leo eros, sagittis quis, fermentum quis, tincidunt ut, sapien. Maecenas +sem. Curabitur eros odio, interdum eu, feugiat eu, porta ac, nisl. +Curabitur nunc. Etiam fermentum convallis velit. Pellentesque laoreet +lacus. Quisque sed elit. Nam quis tellus. Aliquam tellus arcu, +adipiscing non, tincidunt eleifend, adipiscing quis, augue. Vivamus +elementum placerat enim. Suspendisse ut tortor. Integer faucibus +adipiscing felis. Aenean consectetuer mattis lectus. Morbi malesuada +faucibus dolor. Nam lacus. Etiam arcu libero, malesuada vitae, aliquam +vitae, blandit tristique, nisl. + +Maecenas accumsan dapibus sapien. Duis pretium iaculis arcu. Curabitur +ut lacus. Aliquam vulputate. Suspendisse ut purus sed sem tempor +rhoncus. Ut quam dui, fringilla at, dictum eget, ultricies quis, quam. +Etiam sem est, pharetra non, vulputate in, pretium at, ipsum. Nunc +semper sagittis orci. Sed scelerisque suscipit diam. Ut volutpat, dolor +at ullamcorper tristique, eros purus mollis quam, sit amet ornare ante +nunc et enim. + +Phasellus fringilla, metus id feugiat consectetuer, lacus wisi ultrices +tellus, quis lobortis nibh lorem quis tortor. Donec egestas ornare +nulla. Mauris mi tellus, porta faucibus, dictum vel, nonummy in, est. +Aliquam erat volutpat. In tellus magna, porttitor lacinia, molestie +vitae, pellentesque eu, justo. Class aptent taciti sociosqu ad litora +torquent per conubia nostra, per inceptos hymenaeos. Sed orci nibh, +scelerisque sit amet, suscipit sed, placerat vel, diam. Vestibulum +nonummy vulputate orci. Donec et velit ac arcu interdum semper. Morbi +pede orci, cursus ac, elementum non, vehicula ut, lacus. Cras volutpat. +Nam vel wisi quis libero venenatis placerat. Aenean sed odio. Quisque +posuere purus ac orci. Vivamus odio. Vivamus varius, nulla sit amet +semper viverra, odio mauris consequat lacus, at vestibulum neque arcu eu +tortor. Donec iaculis tincidunt tellus. Aliquam erat volutpat. Curabitur +magna lorem, dignissim volutpat, viverra et, adipiscing nec, dolor. +Praesent lacus mauris, dapibus vitae, sollicitudin sit amet, nonummy +eget, ligula. + +Cras egestas ipsum a nisl. Vivamus varius dolor ut dolor. Fusce vel +enim. Pellentesque accumsan ligula et eros. Cras id lacus non tortor +facilisis facilisis. Etiam nisl elit, cursus sed, fringilla in, congue +nec, urna. Cum sociis natoque penatibus et magnis dis parturient montes, +nascetur ridiculus mus. Integer at turpis. Cum sociis natoque penatibus +et magnis dis parturient montes, nascetur ridiculus mus. Duis fringilla, +ligula sed porta fringilla, ligula wisi commodo felis, ut adipiscing +felis dui in enim. Suspendisse malesuada ultrices ante. Pellentesque +scelerisque augue sit amet urna. Nulla volutpat aliquet tortor. Cras +aliquam, tellus at aliquet pellentesque, justo sapien commodo leo, id +rhoncus sapien quam at erat. Nulla commodo, wisi eget sollicitudin +pretium, orci orci aliquam orci, ut cursus turpis justo et lacus. Nulla +vel tortor. Quisque erat elit, viverra sit amet, sagittis eget, porta +sit amet, lacus. + +In hac habitasse platea dictumst. Proin at est. Curabitur tempus +vulputate elit. Pellentesque sem. Praesent eu sapien. Duis elit magna, +aliquet at, tempus sed, vehicula non, enim. Morbi viverra arcu nec +purus. Vivamus fringilla, enim et commodo malesuada, tortor metus +elementum ligula, nec aliquet est sapien ut lectus. Aliquam mi. Ut nec +elit. Fusce euismod luctus tellus. Curabitur scelerisque. Nullam purus. +Nam ultricies accumsan magna. Morbi pulvinar lorem sit amet ipsum. Donec +ut justo vitae nibh mollis congue. Fusce quis diam. Praesent tempus eros +ut quam. + +Donec in nisl. Fusce vitae est. Vivamus ante ante, mattis laoreet, +posuere eget, congue vel, nunc. Fusce sem. Nam vel orci eu eros viverra +luctus. Pellentesque sit amet augue. Nunc sit amet ipsum et lacus varius +nonummy. Integer rutrum sem eget wisi. Aenean eu sapien. Quisque ornare +dignissim mi. Duis a urna vel risus pharetra imperdiet. Suspendisse +potenti. + +Morbi justo. Aenean nec dolor. In hac habitasse platea dictumst. Proin +nonummy porttitor velit. Sed sit amet leo nec metus rhoncus varius. Cras +ante. Vestibulum commodo sem tincidunt massa. Nam justo. Aenean luctus, +felis et condimentum lacinia, lectus enim pulvinar purus, non porta +velit nisl sed eros. Suspendisse consequat. Mauris a dui et tortor +mattis pretium. Sed nulla metus, volutpat id, aliquam eget, ullamcorper +ut, ipsum. Morbi eu nunc. Praesent pretium. Duis aliquam pulvinar +ligula. Ut blandit egestas justo. Quisque posuere metus viverra pede. + +Vivamus sodales elementum neque. Vivamus dignissim accumsan neque. Sed +at enim. Vestibulum nonummy interdum purus. Mauris ornare velit id nibh +pretium ultricies. Fusce tempor pellentesque odio. Vivamus augue purus, +laoreet in, scelerisque vel, commodo id, wisi. Duis enim. Nulla +interdum, nunc eu semper eleifend, enim dolor pretium elit, ut commodo +ligula nisl a est. Vivamus ante. Nulla leo massa, posuere nec, volutpat +vitae, rhoncus eu, magna. + +Quisque facilisis auctor sapien. Pellentesque gravida hendrerit lectus. +Mauris rutrum sodales sapien. Fusce hendrerit sem vel lorem. Integer +pellentesque massa vel augue. Integer elit tortor, feugiat quis, +sagittis et, ornare non, lacus. Vestibulum posuere pellentesque eros. +Quisque venenatis ipsum dictum nulla. Aliquam quis quam non metus +eleifend interdum. Nam eget sapien ac mauris malesuada adipiscing. Etiam +eleifend neque sed quam. Nulla facilisi. Proin a ligula. Sed id dui eu +nibh egestas tincidunt. Suspendisse arcu. + +Maecenas dui. Aliquam volutpat auctor lorem. Cras placerat est vitae +lectus. Curabitur massa lectus, rutrum euismod, dignissim ut, dapibus a, +odio. Ut eros erat, vulputate ut, interdum non, porta eu, erat. Cras +fermentum, felis in porta congue, velit leo facilisis odio, vitae +consectetuer lorem quam vitae orci. Sed ultrices, pede eu placerat +auctor, ante ligula rutrum tellus, vel posuere nibh lacus nec nibh. +Maecenas laoreet dolor at enim. Donec molestie dolor nec metus. +Vestibulum libero. Sed quis erat. Sed tristique. Duis pede leo, +fermentum quis, consectetuer eget, vulputate sit amet, erat. + +Donec vitae velit. Suspendisse porta fermentum mauris. Ut vel nunc non +mauris pharetra varius. Duis consequat libero quis urna. Maecenas at +ante. Vivamus varius, wisi sed egestas tristique, odio wisi luctus +nulla, lobortis dictum dolor ligula in lacus. Vivamus aliquam, urna sed +interdum porttitor, metus orci interdum odio, sit amet euismod lectus +felis et leo. Praesent ac wisi. Nam suscipit vestibulum sem. Praesent eu +ipsum vitae pede cursus venenatis. Duis sed odio. Vestibulum eleifend. +Nulla ut massa. Proin rutrum mattis sapien. Curabitur dictum gravida +ante. + +Phasellus placerat vulputate quam. Maecenas at tellus. Pellentesque +neque diam, dignissim ac, venenatis vitae, consequat ut, lacus. Nam +nibh. Vestibulum fringilla arcu mollis arcu. Sed et turpis. Donec sem +tellus, volutpat et, varius eu, commodo sed, lectus. Lorem ipsum dolor +sit amet, consectetuer adipiscing elit. Quisque enim arcu, suscipit nec, +tempus at, imperdiet vel, metus. Morbi volutpat purus at erat. Donec +dignissim, sem id semper tempus, nibh massa eleifend turpis, sed +pellentesque wisi purus sed libero. Nullam lobortis tortor vel risus. +Pellentesque consequat nulla eu tellus. Donec velit. Aliquam fermentum, +wisi ac rhoncus iaculis, tellus nunc malesuada orci, quis volutpat dui +magna id mi. Nunc vel ante. Duis vitae lacus. Cras nec ipsum. + +Morbi nunc. Aliquam consectetuer varius nulla. Phasellus eros. Cras +dapibus porttitor risus. Maecenas ultrices mi sed diam. Praesent gravida +velit at elit vehicula porttitor. Phasellus nisl mi, sagittis ac, +pulvinar id, gravida sit amet, erat. Vestibulum est. Lorem ipsum dolor +sit amet, consectetuer adipiscing elit. Curabitur id sem elementum leo +rutrum hendrerit. Ut at mi. Donec tincidunt faucibus massa. Sed turpis +quam, sollicitudin a, hendrerit eget, pretium ut, nisl. Duis hendrerit +ligula. Nunc pulvinar congue urna. + +Nunc velit. Nullam elit sapien, eleifend eu, commodo nec, semper sit +amet, elit. Nulla lectus risus, condimentum ut, laoreet eget, viverra +nec, odio. Proin lobortis. Curabitur dictum arcu vel wisi. Cras id nulla +venenatis tortor congue ultrices. Pellentesque eget pede. Sed eleifend +sagittis elit. Nam sed tellus sit amet lectus ullamcorper tristique. +Mauris enim sem, tristique eu, accumsan at, scelerisque vulputate, +neque. Quisque lacus. Donec et ipsum sit amet elit nonummy aliquet. Sed +viverra nisl at sem. Nam diam. Mauris ut dolor. Curabitur ornare tortor +cursus velit. + +Morbi tincidunt posuere arcu. Cras venenatis est vitae dolor. Vivamus +scelerisque semper mi. Donec ipsum arcu, consequat scelerisque, viverra +id, dictum at, metus. Lorem ipsum dolor sit amet, consectetuer +adipiscing elit. Ut pede sem, tempus ut, porttitor bibendum, molestie +eu, elit. Suspendisse potenti. Sed id lectus sit amet purus faucibus +vehicula. Praesent sed sem non dui pharetra interdum. Nam viverra +ultrices magna. + +Aenean laoreet aliquam orci. Nunc interdum elementum urna. Quisque erat. +Nullam tempor neque. Maecenas velit nibh, scelerisque a, consequat ut, +viverra in, enim. Duis magna. Donec odio neque, tristique et, tincidunt +eu, rhoncus ac, nunc. Mauris malesuada malesuada elit. Etiam lacus +mauris, pretium vel, blandit in, ultricies id, libero. Phasellus +bibendum erat ut diam. In congue imperdiet lectus. + +Aenean scelerisque. Fusce pretium porttitor lorem. In hac habitasse +platea dictumst. Nulla sit amet nisl at sapien egestas pretium. Nunc non +tellus. Vivamus aliquet. Nam adipiscing euismod dolor. Aliquam erat +volutpat. Nulla ut ipsum. Quisque tincidunt auctor augue. Nunc imperdiet +ipsum eget elit. Aliquam quam leo, consectetuer non, ornare sit amet, +tristique quis, felis. Vestibulum ante ipsum primis in faucibus orci +luctus et ultrices posuere cubilia Curae; Pellentesque interdum quam sit +amet mi. Pellentesque mauris dui, dictum a, adipiscing ac, fermentum sit +amet, lorem. + +Ut quis wisi. Praesent quis massa. Vivamus egestas risus eget lacus. +Nunc tincidunt, risus quis bibendum facilisis, lorem purus rutrum neque, +nec porta tortor urna quis orci. Aenean aliquet, libero semper volutpat +luctus, pede erat lacinia augue, quis rutrum sem ipsum sit amet pede. +Vestibulum aliquet, nibh sed iaculis sagittis, odio dolor blandit augue, +eget mollis urna tellus id tellus. Aenean aliquet aliquam nunc. Nulla +ultricies justo eget orci. Phasellus tristique fermentum leo. Sed massa +metus, sagittis ut, semper ut, pharetra vel, erat. Aliquam quam turpis, +egestas vel, elementum in, egestas sit amet, lorem. Duis convallis, wisi +sit amet mollis molestie, libero mauris porta dui, vitae aliquam arcu +turpis ac sem. Aliquam aliquet dapibus metus. + +Vivamus commodo eros eleifend dui. Vestibulum in leo eu erat tristique +mattis. Cras at elit. Cras pellentesque. Nullam id lacus sit amet libero +aliquet hendrerit. Proin placerat, mi non elementum laoreet, eros elit +tincidunt magna, a rhoncus sem arcu id odio. Nulla eget leo a leo +egestas facilisis. Curabitur quis velit. Phasellus aliquam, tortor nec +ornare rhoncus, purus urna posuere velit, et commodo risus tellus quis +tellus. Vivamus leo turpis, tempus sit amet, tristique vitae, laoreet +quis, odio. Proin scelerisque bibendum ipsum. Etiam nisl. Praesent vel +dolor. Pellentesque vel magna. Curabitur urna. Vivamus congue urna in +velit. Etiam ullamcorper elementum dui. Praesent non urna. Sed placerat +quam non mi. Pellentesque diam magna, ultricies eget, ultrices placerat, +adipiscing rutrum, sem. + +Morbi sem. Nulla facilisi. Vestibulum ante ipsum primis in faucibus orci +luctus et ultrices posuere cubilia Curae; Nulla facilisi. Morbi sagittis +ultrices libero. Praesent eu ligula sed sapien auctor sagittis. Class +aptent taciti sociosqu ad litora torquent per conubia nostra, per +inceptos hymenaeos. Donec vel nunc. Nunc fermentum, lacus id aliquam +porta, dui tortor euismod eros, vel molestie ipsum purus eu lacus. +Vivamus pede arcu, euismod ac, tempus id, pretium et, lacus. Curabitur +sodales dapibus urna. Nunc eu sapien. Donec eget nunc a pede dictum +pretium. Proin mauris. Vivamus luctus libero vel nibh. + +Fusce tristique risus id wisi. Integer molestie massa id sem. Vestibulum +vel dolor. Pellentesque vel urna vel risus ultricies elementum. Quisque +sapien urna, blandit nec, iaculis ac, viverra in, odio. In hac habitasse +platea dictumst. Morbi neque lacus, convallis vitae, commodo ac, +fermentum eu, velit. Sed in orci. In fringilla turpis non arcu. Donec in +ante. Phasellus tempor feugiat velit. Aenean varius massa non turpis. +Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere +cubilia Curae; + +Aliquam tortor. Morbi ipsum massa, imperdiet non, consectetuer vel, +feugiat vel, lorem. Quisque eget lorem nec elit malesuada vestibulum. +Quisque sollicitudin ipsum vel sem. Nulla enim. Proin nonummy felis +vitae felis. Nullam pellentesque. Duis rutrum feugiat felis. Mauris vel +pede sed libero tincidunt mollis. Phasellus sed urna rhoncus diam +euismod bibendum. Phasellus sed nisl. Integer condimentum justo id orci +iaculis varius. Quisque et lacus. Phasellus elementum, justo at +dignissim auctor, wisi odio lobortis arcu, sed sollicitudin felis felis +eu neque. Praesent at lacus. + +Vivamus sit amet pede. Duis interdum, nunc eget rutrum dignissim, nisl +diam luctus leo, et tincidunt velit nisl id tellus. In lorem tellus, +aliquet vitae, porta in, aliquet sed, lectus. Phasellus sodales. Ut +varius scelerisque erat. In vel nibh eu eros imperdiet rutrum. Donec ac +odio nec neque vulputate suscipit. Nam nec magna. Pellentesque habitant +morbi tristique senectus et netus et malesuada fames ac turpis egestas. +Nullam porta, odio et sagittis iaculis, wisi neque fringilla sapien, vel +commodo lorem lorem id elit. Ut sem lectus, scelerisque eget, placerat +et, tincidunt scelerisque, ligula. Pellentesque non orci. + +Etiam vel ipsum. Morbi facilisis vestibulum nisl. Praesent cursus +laoreet felis. Integer adipiscing pretium orci. Nulla facilisi. Quisque +posuere bibendum purus. Nulla quam mauris, cursus eget, convallis ac, +molestie non, enim. Aliquam congue. Quisque sagittis nonummy sapien. +Proin molestie sem vitae urna. Maecenas lorem. Vivamus viverra consequat +enim. + +Nunc sed pede. Praesent vitae lectus. Praesent neque justo, vehicula +eget, interdum id, facilisis et, nibh. Phasellus at purus et libero +lacinia dictum. Fusce aliquet. Nulla eu ante placerat leo semper dictum. +Mauris metus. Curabitur lobortis. Curabitur sollicitudin hendrerit nunc. +Donec ultrices lacus id ipsum. + +Donec a nibh ut elit vestibulum tristique. Integer at pede. Cras +volutpat varius magna. Phasellus eu wisi. Praesent risus justo, lobortis +eget, scelerisque ac, aliquet in, dolor. Proin id leo. Nunc iaculis, mi +vitae accumsan commodo, neque sem lacinia nulla, quis vestibulum justo +sem in eros. Quisque sed massa. Morbi lectus ipsum, vulputate a, mollis +ut, accumsan placerat, tellus. Nullam in wisi. Vivamus eu ligula a nunc +accumsan congue. Suspendisse ac libero. Aliquam erat volutpat. Donec +augue. Nunc venenatis fringilla nibh. Fusce accumsan pulvinar justo. +Nullam semper, dui ut dignissim auctor, orci libero fringilla massa, +blandit pulvinar pede tortor id magna. Nunc adipiscing justo sed velit +tincidunt fermentum. + +Integer placerat. Pellentesque habitant morbi tristique senectus et +netus et malesuada fames ac turpis egestas. Sed in massa. Class aptent +taciti sociosqu ad litora torquent per conubia nostra, per inceptos +hymenaeos. Phasellus tempus aliquam risus. Aliquam rutrum purus at +metus. Donec posuere odio at erat. Nam non nibh. Phasellus ligula. +Quisque venenatis lectus in augue. Sed vestibulum dapibus neque. + +Mauris tempus eros at nulla. Sed quis dui dignissim mauris pretium +tincidunt. Mauris ac purus. Phasellus ac libero. Etiam dapibus iaculis +nunc. In lectus wisi, elementum eu, sollicitudin nec, imperdiet quis, +dui. Nulla viverra neque ac libero. Mauris urna leo, adipiscing eu, +ultrices non, blandit eu, dui. Maecenas dui neque, suscipit sit amet, +rutrum a, laoreet in, eros. Ut eu nibh. Fusce nec erat tempus urna +fringilla tempus. Curabitur id enim. Sed ante. Cras sodales enim sit +amet wisi. Nunc fermentum consequat quam. + +Ut auctor, augue porta dignissim vestibulum, arcu diam lobortis velit, +vel scelerisque risus augue sagittis risus. Maecenas eu justo. +Pellentesque habitant morbi tristique senectus et netus et malesuada +fames ac turpis egestas. Mauris congue ligula eget tortor. Nullam +laoreet urna sed enim. Donec eget eros ut eros volutpat convallis. +Praesent turpis. Integer mauris diam, elementum quis, egestas ac, rutrum +vel, orci. Nulla facilisi. Quisque adipiscing, nulla vitae elementum +porta, sem urna volutpat leo, sed porta enim risus sed massa. Integer ac +enim quis diam sodales luctus. Ut eget eros a ligula commodo ultricies. +Donec eu urna viverra dolor hendrerit feugiat. Aliquam ac orci vel eros +congue pharetra. Quisque rhoncus, justo eu volutpat faucibus, augue leo +posuere lacus, a rhoncus purus pede vel est. Proin ultrices enim. + +Aenean tincidunt laoreet dui. Vestibulum ante ipsum primis in faucibus +orci luctus et ultrices posuere cubilia Curae; Integer ipsum lectus, +fermentum ac, malesuada in, eleifend ut, lorem. Vivamus ipsum turpis, +elementum vel, hendrerit ut, semper at, metus. Vivamus sapien tortor, +eleifend id, dapibus in, egestas et, pede. Pellentesque faucibus. +Praesent lorem neque, dignissim in, facilisis nec, hendrerit vel, odio. +Nam at diam ac neque aliquet viverra. Morbi dapibus ligula sagittis +magna. In lobortis. Donec aliquet ultricies libero. Nunc dictum +vulputate purus. Morbi varius. Lorem ipsum dolor sit amet, consectetuer +adipiscing elit. In tempor. Phasellus commodo porttitor magna. Curabitur +vehicula odio vel dolor. + +Praesent facilisis, augue a adipiscing venenatis, libero risus molestie +odio, pulvinar consectetuer felis erat ac mauris. Nam vestibulum rhoncus +quam. Sed velit urna, pharetra eu, eleifend eu, viverra at, wisi. +Maecenas ultrices nibh at turpis. Aenean quam. Nulla ipsum. Aliquam +posuere luctus erat. Curabitur magna felis, lacinia et, tristique id, +ultrices ut, mauris. Suspendisse feugiat. Cras eleifend wisi vitae +tortor. Phasellus leo purus, mattis sit amet, auctor in, rutrum in, +magna. In hac habitasse platea dictumst. Phasellus imperdiet metus in +sem. Vestibulum ac enim non sem ultricies sagittis. Sed vel diam. + +Integer vel enim sed turpis adipiscing bibendum. Vestibulum pede dolor, +laoreet nec, posuere in, nonummy in, sem. Donec imperdiet sapien +placerat erat. Donec viverra. Aliquam eros. Nunc consequat massa id leo. +Sed ullamcorper, lorem in sodales dapibus, risus metus sagittis lorem, +non porttitor purus odio nec odio. Sed tincidunt posuere elit. Quisque +eu enim. Donec libero risus, feugiat ac, dapibus eget, posuere a, felis. +Quisque vel lectus ut metus tincidunt eleifend. Duis ut pede. Duis velit +erat, venenatis vitae, vulputate a, pharetra sit amet, est. Etiam +fringilla faucibus augue. + +Aenean velit sem, viverra eu, tempus id, rutrum id, mi. Nullam nec nibh. +Proin ullamcorper, dolor in cursus tristique, eros augue tempor nibh, at +gravida diam wisi at purus. Donec mattis ullamcorper tellus. Phasellus +vel nulla. Praesent interdum, eros in sodales sollicitudin, nunc nulla +pulvinar justo, a euismod eros sem nec nibh. Nullam sagittis dapibus +lectus. Nullam eget ipsum eu tortor lobortis sodales. Etiam purus leo, +pretium nec, feugiat non, ullamcorper vel, nibh. Sed vel elit et quam +accumsan facilisis. Nunc leo. Suspendisse faucibus lacus. + +Pellentesque interdum sapien sed nulla. Proin tincidunt. Aliquam +volutpat est vel massa. Sed dolor lacus, imperdiet non, ornare non, +commodo eu, neque. Integer pretium semper justo. Proin risus. Nullam id +quam. Nam neque. Duis vitae wisi ullamcorper diam congue ultricies. +Quisque ligula. Mauris vehicula. + +Curabitur nunc magna, posuere eget, venenatis eu, vehicula ac, velit. +Aenean ornare, massa a accumsan pulvinar, quam lorem laoreet purus, eu +sodales magna risus molestie lorem. Nunc erat velit, hendrerit quis, +malesuada ut, aliquam vitae, wisi. Sed posuere. Suspendisse ipsum arcu, +scelerisque nec, aliquam eu, molestie tincidunt, justo. Phasellus +iaculis. Sed posuere lorem non ipsum. Pellentesque dapibus. Suspendisse +quam libero, laoreet a, tincidunt eget, consequat at, est. Nullam ut +lectus non enim consequat facilisis. Mauris leo. Quisque pede ligula, +auctor vel, pellentesque vel, posuere id, turpis. Cras ipsum sem, cursus +et, facilisis ut, tempus euismod, quam. Suspendisse tristique dolor eu +orci. Mauris mattis. Aenean semper. Vivamus tortor magna, facilisis id, +varius mattis, hendrerit in, justo. Integer purus. + +Vivamus adipiscing. Curabitur imperdiet tempus turpis. Vivamus sapien +dolor, congue venenatis, euismod eget, porta rhoncus, magna. Proin +condimentum pretium enim. Fusce fringilla, libero et venenatis +facilisis, eros enim cursus arcu, vitae facilisis odio augue vitae orci. +Aliquam varius nibh ut odio. Sed condimentum condimentum nunc. +Pellentesque eget massa. Pellentesque quis mauris. Donec ut ligula ac +pede pulvinar lobortis. Pellentesque euismod. Class aptent taciti +sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. +Praesent elit. Ut laoreet ornare est. Phasellus gravida vulputate nulla. +Donec sit amet arcu ut sem tempor malesuada. Praesent hendrerit augue in +urna. Proin enim ante, ornare vel, consequat ut, blandit in, justo. +Donec felis elit, dignissim sed, sagittis ut, ullamcorper a, nulla. +Aenean pharetra vulputate odio. + +Quisque enim. Proin velit neque, tristique eu, eleifend eget, vestibulum +nec, lacus. Vivamus odio. Duis odio urna, vehicula in, elementum +aliquam, aliquet laoreet, tellus. Sed velit. Sed vel mi ac elit aliquet +interdum. Etiam sapien neque, convallis et, aliquet vel, auctor non, +arcu. Aliquam suscipit aliquam lectus. Proin tincidunt magna sed wisi. +Integer blandit lacus ut lorem. Sed luctus justo sed enim. + +Morbi malesuada hendrerit dui. Nunc mauris leo, dapibus sit amet, +vestibulum et, commodo id, est. Pellentesque purus. Pellentesque +tristique, nunc ac pulvinar adipiscing, justo eros consequat lectus, sit +amet posuere lectus neque vel augue. Cras consectetuer libero ac eros. +Ut eget massa. Fusce sit amet enim eleifend sem dictum auctor. In eget +risus luctus wisi convallis pulvinar. Vivamus sapien risus, tempor in, +viverra in, aliquet pellentesque, eros. Aliquam euismod libero a sem. + +Nunc velit augue, scelerisque dignissim, lobortis et, aliquam in, risus. +In eu eros. Vestibulum ante ipsum primis in faucibus orci luctus et +ultrices posuere cubilia Curae; Curabitur vulputate elit viverra augue. +Mauris fringilla, tortor sit amet malesuada mollis, sapien mi dapibus +odio, ac imperdiet ligula enim eget nisl. Quisque vitae pede a pede +aliquet suscipit. Phasellus tellus pede, viverra vestibulum, gravida id, +laoreet in, justo. Cum sociis natoque penatibus et magnis dis parturient +montes, nascetur ridiculus mus. Integer commodo luctus lectus. Mauris +justo. Duis varius eros. Sed quam. Cras lacus eros, rutrum eget, varius +quis, convallis iaculis, velit. Mauris imperdiet, metus at tristique +venenatis, purus neque pellentesque mauris, a ultrices elit lacus nec +tortor. Class aptent taciti sociosqu ad litora torquent per conubia +nostra, per inceptos hymenaeos. Praesent malesuada. Nam lacus lectus, +auctor sit amet, malesuada vel, elementum eget, metus. Duis neque pede, +facilisis eget, egestas elementum, nonummy id, neque. + +Proin non sem. Donec nec erat. Proin libero. Aliquam viverra arcu. Donec +vitae purus. Donec felis mi, semper id, scelerisque porta, sollicitudin +sed, turpis. Nulla in urna. Integer varius wisi non elit. Etiam nec sem. +Mauris consequat, risus nec congue condimentum, ligula ligula suscipit +urna, vitae porta odio erat quis sapien. Proin luctus leo id erat. Etiam +massa metus, accumsan pellentesque, sagittis sit amet, venenatis nec, +mauris. Praesent urna eros, ornare nec, vulputate eget, cursus sed, +justo. Phasellus nec lorem. Nullam ligula ligula, mollis sit amet, +faucibus vel, eleifend ac, dui. Aliquam erat volutpat. + +Fusce vehicula, tortor et gravida porttitor, metus nibh congue lorem, ut +tempus purus mauris a pede. Integer tincidunt orci sit amet turpis. +Aenean a metus. Aliquam vestibulum lobortis felis. Donec gravida. Sed +sed urna. Mauris et orci. Integer ultrices feugiat ligula. Sed dignissim +nibh a massa. Donec orci dui, tempor sed, tincidunt nonummy, viverra sit +amet, turpis. Quisque lobortis. Proin venenatis tortor nec wisi. +Vestibulum placerat. In hac habitasse platea dictumst. Aliquam porta mi +quis risus. Donec sagittis luctus diam. Nam ipsum elit, imperdiet vitae, +faucibus nec, fringilla eget, leo. Etiam quis dolor in sapien porttitor +imperdiet. + +Cras pretium. Nulla malesuada ipsum ut libero. Suspendisse gravida +hendrerit tellus. Maecenas quis lacus. Morbi fringilla. Vestibulum odio +turpis, tempor vitae, scelerisque a, dictum non, massa. Praesent erat +felis, porta sit amet, condimentum sit amet, placerat et, turpis. +Praesent placerat lacus a enim. Vestibulum non eros. Ut congue. Donec +tristique varius tortor. Pellentesque habitant morbi tristique senectus +et netus et malesuada fames ac turpis egestas. Nam dictum dictum urna. + +Phasellus vestibulum orci vel mauris. Fusce quam leo, adipiscing ac, +pulvinar eget, molestie sit amet, erat. Sed diam. Suspendisse eros leo, +tempus eget, dapibus sit amet, tempus eu, arcu. Vestibulum wisi metus, +dapibus vel, luctus sit amet, condimentum quis, leo. Suspendisse +molestie. Duis in ante. Ut sodales sem sit amet mauris. Suspendisse +ornare pretium orci. Fusce tristique enim eget mi. Vestibulum eros elit, +gravida ac, pharetra sed, lobortis in, massa. Proin at dolor. Duis +accumsan accumsan pede. Nullam blandit elit in magna lacinia hendrerit. +Ut nonummy luctus eros. Fusce eget tortor. + +Ut sit amet magna. Cras a ligula eu urna dignissim viverra. Nullam +tempor leo porta ipsum. Praesent purus. Nullam consequat. Mauris dictum +sagittis dui. Vestibulum sollicitudin consectetuer wisi. In sit amet +diam. Nullam malesuada pharetra risus. Proin lacus arcu, eleifend sed, +vehicula at, congue sit amet, sem. Sed sagittis pede a nisl. Sed +tincidunt odio a pede. Sed dui. Nam eu enim. Aliquam sagittis lacus eget +libero. Pellentesque diam sem, sagittis molestie, tristique et, +fermentum ornare, nibh. Nulla et tellus non felis imperdiet mattis. +Aliquam erat volutpat. + +Vestibulum sodales ipsum id augue. Integer ipsum pede, convallis sit +amet, tristique vitae, tempor ut, nunc. Nam non ligula non lorem +convallis hendrerit. Maecenas hendrerit. Sed magna odio, aliquam +imperdiet, porta ac, aliquet eget, mi. Cum sociis natoque penatibus et +magnis dis parturient montes, nascetur ridiculus mus. Vestibulum nisl +sem, dignissim vel, euismod quis, egestas ut, orci. Nunc vitae risus vel +metus euismod laoreet. Cras sit amet neque a turpis lobortis auctor. Sed +aliquam sem ac elit. Cras velit lectus, facilisis id, dictum sed, porta +rutrum, nisl. Nam hendrerit ipsum sed augue. Nullam scelerisque +hendrerit wisi. Vivamus egestas arcu sed purus. Ut ornare lectus sed +eros. Suspendisse potenti. Mauris sollicitudin pede vel velit. In hac +habitasse platea dictumst. + +Suspendisse erat mauris, nonummy eget, pretium eget, consequat vel, +justo. Pellentesque consectetuer erat sed lacus. Nullam egestas nulla ac +dui. Donec cursus rhoncus ipsum. Nunc et sem eu magna egestas malesuada. +Vivamus dictum massa at dolor. Morbi est nulla, faucibus ac, posuere in, +interdum ut, sapien. Proin consectetuer pretium urna. Donec sit amet +nibh nec purus dignissim mattis. Phasellus vehicula elit at lacus. Nulla +facilisi. Cras ut arcu. Sed consectetuer. Integer tristique elit quis +felis consectetuer eleifend. Cras et lectus. + +Ut congue malesuada justo. Curabitur congue, felis at hendrerit +faucibus, mauris lacus porttitor pede, nec aliquam turpis diam feugiat +arcu. Nullam rhoncus ipsum at risus. Vestibulum a dolor sed dolor +fermentum vulputate. Sed nec ipsum dapibus urna bibendum lobortis. +Vestibulum elit. Nam ligula arcu, volutpat eget, lacinia eu, lobortis +ac, urna. Nam mollis ultrices nulla. Cras vulputate. Suspendisse at +risus at metus pulvinar malesuada. Nullam lacus. Aliquam tempus magna. +Aliquam ut purus. Proin tellus. + +Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere +cubilia Curae; Donec scelerisque metus. Maecenas non mi ut metus porta +hendrerit. Nunc semper. Cras quis wisi ut lorem posuere tristique. Nunc +vestibulum scelerisque nulla. Suspendisse pharetra sollicitudin ante. +Praesent at augue sit amet ante interdum porta. Nunc bibendum augue +luctus diam. Etiam nec sem. Sed eros turpis, facilisis nec, vehicula +vitae, aliquam sed, nulla. Curabitur justo leo, vestibulum eget, +tristique ut, tempus at, nisl. + +Nulla venenatis lorem id arcu. Morbi cursus urna a ipsum. Donec +porttitor. Integer eleifend, est non mattis malesuada, mi nulla +convallis mi, et auctor lectus sapien ut purus. Aliquam nulla augue, +pharetra sit amet, faucibus semper, molestie vel, nibh. Pellentesque +vestibulum magna et mi. Sed fringilla dolor vel tellus. Nunc libero +nunc, venenatis eget, convallis hendrerit, iaculis elementum, mi. Nullam +aliquam, felis et accumsan vehicula, magna justo vehicula diam, eu +condimentum nisl felis et nunc. Quisque volutpat mauris a velit. +Pellentesque massa. Integer at lorem. Nam metus erat, lacinia id, +convallis ut, pulvinar non, wisi. Cras iaculis mauris ut neque. Cras +sodales, sem vitae imperdiet consequat, pede purus sollicitudin urna, ac +aliquam metus orci in leo. Ut molestie ultrices mauris. Vivamus vitae +sem. Aliquam erat volutpat. Praesent commodo, nisl ac dapibus aliquet, +tortor orci sodales lorem, non ornare nulla lorem quis nisl. + +Sed at sem vitae purus ultrices vestibulum. Vestibulum tincidunt lacus +et ligula. Pellentesque vitae elit. Vestibulum ante ipsum primis in +faucibus orci luctus et ultrices posuere cubilia Curae; Duis ornare, +erat eget laoreet vulputate, lacus ipsum suscipit turpis, et bibendum +nisl orci non lectus. Vestibulum nec risus nec libero fermentum +fringilla. Morbi non velit in magna gravida hendrerit. Pellentesque quis +lectus. Vestibulum eleifend lobortis leo. Vestibulum non augue. Vivamus +dictum tempor dui. Maecenas at ligula id felis congue porttitor. Nulla +leo magna, egestas quis, vulputate sit amet, viverra id, velit. + +Ut lectus lectus, ultricies sit amet, semper eget, laoreet non, ante. +Proin at massa quis nunc rhoncus mattis. Aliquam lorem. Curabitur +pharetra dui at neque. Aliquam eu tellus. Aenean tempus, felis vitae +vulputate iaculis, est dolor faucibus urna, in viverra wisi neque non +risus. Fusce vel dolor nec sapien pretium nonummy. Integer faucibus +massa ac nulla ornare venenatis. Nulla quis sapien. Sed tortor. +Phasellus eget mi. Cras nunc. Cras a enim. + +Quisque nisl. In dignissim dapibus massa. Aenean sem magna, scelerisque +nec, ullamcorper quis, porttitor ut, lectus. Fusce dignissim facilisis +tortor. Vivamus gravida felis sit amet nunc. Nam pulvinar odio vel enim. +Pellentesque sit amet est. Vivamus pulvinar leo non sapien. Aliquam erat +volutpat. Ut elementum auctor metus. Mauris vestibulum neque vitae eros. +Pellentesque aliquam quam. Donec venenatis tristique purus. In nisl. +Nulla velit libero, fermentum at, porta a, feugiat vitae, urna. Etiam +aliquet ornare ipsum. Proin non dolor. Aenean nunc ligula, venenatis +suscipit, porttitor sit amet, mattis suscipit, magna. Vivamus egestas +viverra est. Morbi at risus sed sapien sodales pretium. + +Morbi congue congue metus. Aenean sed purus. Nam pede magna, tristique +nec, porta id, sollicitudin quis, sapien. Vestibulum blandit. +Suspendisse ut augue ac nibh ullamcorper posuere. Integer euismod, neque +at eleifend fringilla, augue elit ornare dolor, vel tincidunt purus est +id lacus. Vivamus lorem dui, commodo quis, scelerisque eu, tincidunt +non, magna. Cras sodales. Quisque vestibulum pulvinar diam. Phasellus +tincidunt, leo vitae tristique facilisis, ipsum wisi interdum sem, +dapibus semper nulla velit vel lectus. Cras dapibus mauris et augue. +Quisque cursus nulla in libero. Suspendisse et lorem sit amet mauris +malesuada mollis. Nullam id justo. Maecenas venenatis. Donec lacus arcu, +egestas ac, fermentum consectetuer, tempus eu, metus. Proin sodales, sem +in pretium fermentum, arcu sapien commodo mauris, venenatis consequat +augue urna in wisi. Quisque sapien nunc, varius eget, condimentum quis, +lacinia in, est. Fusce facilisis. Praesent nec ipsum. + +Suspendisse a dolor. Nam erat eros, congue eget, sagittis a, lacinia in, +pede. Maecenas in elit. Proin molestie varius nibh. Vivamus tristique +purus sed augue. Proin egestas semper tortor. Vestibulum ante ipsum +primis in faucibus orci luctus et ultrices posuere cubilia Curae; Class +aptent taciti sociosqu ad litora torquent per conubia nostra, per +inceptos hymenaeos. Vestibulum orci enim, sagittis ornare, eleifend ut, +mattis at, ligula. Nulla molestie convallis arcu. Ut eros tellus, +condimentum at, sodales in, ultrices vel, nulla. + +Duis magna ante, bibendum eget, eleifend eget, suscipit sed, neque. +Vestibulum in mi sed massa cursus cursus. Pellentesque pulvinar mollis +neque. Fusce ut enim vitae mauris malesuada tincidunt. Vivamus a neque. +Mauris pulvinar, sapien id condimentum dictum, quam arcu rhoncus dui, id +tempor lacus justo et justo. Proin sit amet orci eu diam eleifend +blandit. Nunc erat massa, luctus ac, fermentum lacinia, tincidunt +ultrices, sapien. Praesent sed orci vitae dolor sollicitudin adipiscing. +Cras a neque. Ut risus dui, interdum at, placerat id, tristique eu, +enim. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices +posuere cubilia Curae; Etiam adipiscing eros vestibulum dolor. +Pellentesque aliquam, diam eget eleifend posuere, augue eros porttitor +lectus, ac dignissim dui metus nec felis. Quisque lacinia. Vestibulum +tellus. Suspendisse nec wisi. Aenean ac felis. Aliquam ultrices metus et +nulla. + +Praesent sed est non nibh tempus venenatis. Praesent rhoncus. Curabitur +sagittis est sit amet neque. Sed commodo malesuada lectus. Phasellus +enim tellus, tempor ut, tristique eu, aliquam eu, quam. Aenean quis quam +quis wisi gravida vehicula. Pellentesque a massa a leo pretium rhoncus. +Suspendisse ultrices. Donec lacinia malesuada massa. Class aptent taciti +sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. +Donec pretium ornare mauris. Phasellus auctor erat eget enim. Integer +scelerisque, felis eu consequat fringilla, lorem wisi ultricies velit, +id vehicula purus nulla eget odio. Nullam mattis, diam a rutrum +fermentum, odio sapien tristique quam, id mollis tellus quam in odio. +Mauris eu sapien. Donec aliquam lorem sit amet lorem pharetra lobortis. + +Donec ac velit. Sed convallis vestibulum sapien. Vivamus tempor lacus +sed lacus. Nunc ut lorem. Ut et tortor. Nullam varius wisi at diam. +Etiam ultricies, dolor sit amet fermentum vulputate, neque libero +vestibulum orci, vitae fringilla neque arcu aliquet ante. Lorem ipsum +dolor sit amet, consectetuer adipiscing elit. Quisque venenatis lobortis +augue. Sed tempor, tellus iaculis pellentesque pharetra, pede dui +malesuada mauris, vel ultrices urna mauris ac nibh. Etiam nibh odio, +ultricies vehicula, vestibulum vitae, feugiat eleifend, felis. Vivamus +pulvinar. Aliquam erat volutpat. Nulla egestas venenatis metus. Nam +feugiat nunc quis elit egestas sagittis. Sed vitae felis. In libero +arcu, rhoncus in, commodo eget, auctor in, enim. Vivamus suscipit est. +Nulla dapibus, magna vel aliquet egestas, massa massa hendrerit lacus, +ac rutrum tellus tellus sit amet felis. Cras viverra. + +Suspendisse eu nunc. Aliquam dignissim urna sit amet mauris. Cras +commodo, urna ut porttitor venenatis, arcu metus sodales risus, vitae +gravida sapien ligula in est. Donec vulputate sollicitudin wisi. Donec +vehicula, est id interdum ornare, nibh tellus consectetuer justo, a +ultrices felis erat at lectus. In est massa, malesuada non, suscipit at, +ullamcorper eu, elit. Nam nulla lacus, bibendum sit amet, sagittis sed, +tempor eget, libero. Praesent ligula. Suspendisse nulla. Etiam diam. +Nulla ante diam, vestibulum et, aliquet ac, imperdiet vitae, urna. Fusce +tincidunt lacus vel elit. Maecenas dictum, tortor non euismod bibendum, +pede nibh pretium tellus, at dignissim leo eros eget pede. Nulla +venenatis eleifend eros. Aenean ut odio dignissim augue rutrum faucibus. +Fusce posuere, tellus eget viverra mattis, erat tellus porta mi, at +facilisis sem nibh non urna. Phasellus quis turpis quis mauris suscipit +vulputate. Sed interdum lacus non velit. Vestibulum ante ipsum primis in +faucibus orci luctus et ultrices posuere cubilia Curae. + +Vivamus vehicula leo a justo. Quisque nec augue. Morbi mauris wisi, +aliquet vitae, dignissim eget, sollicitudin molestie, ligula. In dictum +enim sit amet risus. Curabitur vitae velit eu diam rhoncus hendrerit. +Vivamus ut elit. Praesent mattis ipsum quis turpis. Curabitur rhoncus +neque eu dui. Etiam vitae magna. Nam ullamcorper. Praesent interdum +bibendum magna. Quisque auctor aliquam dolor. Morbi eu lorem et est +porttitor fermentum. Nunc egestas arcu at tortor varius viverra. Fusce +eu nulla ut nulla interdum consectetuer. Vestibulum gravida. Morbi +mattis libero sed est. + +Nam quis enim. Quisque ornare dui a tortor. Fusce consequat lacus +pellentesque metus. Duis euismod. Duis non quam. Maecenas vitae dolor in +ipsum auctor vehicula. Vivamus nec nibh eget wisi varius pulvinar. Cras +a lacus. Etiam et massa. Donec in nisl sit amet dui imperdiet +vestibulum. Duis porttitor nibh id eros. + +Mauris consectetuer, wisi eu lobortis scelerisque, urna nibh feugiat +quam, id congue eros justo eget orci. Ut tellus. Maecenas mattis sapien +sed eros. Aliquam quis lectus. Donec nec massa ac turpis semper cursus. +Etiam consectetuer ante vel odio. Aliquam tincidunt felis non dolor. +Cras id augue ut nisl pretium placerat. Phasellus sapien sapien, +pharetra sed, aliquam nec, suscipit a, nibh. Suspendisse risus. Nulla ut +mi eget tellus sollicitudin euismod. Vestibulum malesuada malesuada dui. +Ut at est ac dui aliquam sagittis. Aliquam erat volutpat. + +Curabitur ullamcorper est in mauris. Praesent ac massa. Quisque enim +odio, lobortis nec, mattis ut, luctus et, mauris. Mauris eu risus. Cum +sociis natoque penatibus et magnis dis parturient montes, nascetur +ridiculus mus. Duis eu ligula. Nulla vehicula leo tincidunt erat. +Maecenas et nunc. Sed ut sapien. Vestibulum in est. Vestibulum rhoncus. + +Donec metus metus, condimentum eu, accumsan nec, vulputate non, purus. +Vestibulum ullamcorper vehicula sapien. Mauris risus odio, hendrerit ac, +congue ac, ullamcorper at, odio. Aenean leo justo, commodo vitae, +placerat blandit, malesuada vel, sem. Donec sit amet ante eget mauris +adipiscing sollicitudin. Curabitur posuere sem et leo. Nulla ultricies +mauris. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices +posuere cubilia Curae; Fusce sollicitudin augue vel tellus. Vivamus +mauris eros, pharetra vel, lacinia pretium, egestas a, nibh. Morbi a +ligula. + +Donec vitae turpis. Suspendisse porttitor. Mauris aliquam purus vitae +tellus. Morbi metus diam, tempus ac, cursus ut, ultricies quis, nulla. +Praesent nec justo. In lobortis. Donec nec lectus a neque laoreet +rhoncus. Quisque in risus nec wisi lacinia ullamcorper. In placerat. +Proin facilisis sollicitudin libero. Integer eget neque et pede placerat +aliquet. Aliquam purus nulla, pulvinar ut, facilisis quis, sodales sed, +magna. Curabitur nulla lectus, rutrum id, bibendum ut, sagittis eget, +diam. Sed porta dolor eget est. Integer hendrerit orci. In hac habitasse +platea dictumst. + +Ut facilisis. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. +Sed pellentesque, turpis sit amet aliquet porta, risus odio venenatis +felis, at porta tellus lacus vitae nisl. Donec augue. Quisque consequat, +pede laoreet pellentesque posuere, urna sapien tempor justo, eu aliquam +tortor nunc id mauris. Fusce pretium, purus facilisis consequat mattis, +ligula leo pretium mauris, ac suscipit augue sapien sit amet ipsum. +Praesent et ligula eget tortor dapibus blandit. Duis rutrum felis eget +dolor. Vestibulum quis elit. Integer dignissim, velit at scelerisque +congue, ipsum nulla dignissim dolor, lacinia scelerisque neque erat a +mi. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Quisque +ipsum lectus, euismod et, lacinia eu, iaculis eu, pede. Etiam justo +quam, cursus ut, vulputate vel, feugiat ut, eros. Fusce eleifend mollis +ipsum. + +Nulla facilisi. Nunc nec elit. Integer ornare convallis tortor. Proin ac +diam. In est sapien, laoreet euismod, mattis a, tincidunt at, risus. +Vivamus risus. Vestibulum aliquam, urna aliquam porttitor accumsan, +nulla tortor ullamcorper elit, ut consequat augue purus sit amet libero. +Vivamus nisl lacus, commodo vel, dignissim ut, vestibulum id, pede. +Curabitur malesuada hendrerit libero. Mauris quis dolor in tellus varius +posuere. Sed vulputate elit at wisi. Fusce vitae neque. Nulla +consectetuer, nunc ac eleifend laoreet, mi nulla commodo wisi, vel +faucibus ligula lectus ut arcu. Vivamus hendrerit. + +Sed varius, nulla vitae tincidunt lobortis, nibh ipsum sollicitudin +libero, et commodo tellus massa in neque. Nulla facilisi. Aenean nec +lectus. Aliquam fermentum. Duis ut magna et augue interdum gravida. +Morbi elit. Fusce malesuada tempus ipsum. Cum sociis natoque penatibus +et magnis dis parturient montes, nascetur ridiculus mus. Mauris iaculis +enim non metus. Nullam dui magna, congue et, suscipit sed, aliquam vel, +turpis. Quisque ultricies. + +Suspendisse feugiat sapien laoreet ante. Integer fringilla, erat eget +adipiscing ultrices, nibh dui sollicitudin nunc, in lobortis arcu odio +vitae erat. Fusce bibendum ultricies lacus. Mauris eleifend ligula a +ante. Etiam faucibus cursus pede. Mauris enim eros, malesuada eu, mattis +sit amet, blandit in, nulla. Fusce sit amet purus id mi posuere +tincidunt. Mauris sit amet quam vitae quam semper accumsan. Lorem ipsum +dolor sit amet, consectetuer adipiscing elit. Nam a justo at quam +accumsan euismod. Duis tincidunt tristique risus. Ut vel nibh vel libero +varius malesuada. In hac habitasse platea dictumst. Morbi sagittis +mattis lorem. Pellentesque metus tellus, rutrum vitae, malesuada et, +pharetra accumsan, ante. Quisque ac metus ac nisl gravida pellentesque. +Sed dapibus feugiat sapien. Vestibulum nec nunc eget sem aliquam +lobortis. Suspendisse aliquam quam quis metus. + +Suspendisse in odio. In elit diam, cursus vitae, venenatis in, molestie +in, leo. Cras ornare. Nulla libero. Phasellus feugiat mattis libero. Sed +vehicula aliquam ligula. Nullam lacinia, felis vel dignissim sodales, +enim lectus lobortis diam, quis nonummy mauris odio auctor tortor. +Integer in dui nec lacus bibendum ultrices. Etiam odio elit, aliquam et, +porttitor id, interdum cursus, elit. Nulla eleifend tempor mauris. In +vel arcu quis pede laoreet vulputate. + +Morbi pharetra magna a lorem. Cras sapien. Duis porttitor vehicula urna. +Phasellus iaculis, mi vitae varius consequat, purus nibh sollicitudin +mauris, quis aliquam felis dolor vel elit. Quisque neque mi, bibendum +non, tristique convallis, congue eu, quam. Etiam vel felis. Quisque ac +ligula at orci pulvinar rutrum. Donec mi eros, sagittis eu, consectetuer +sed, sagittis sed, lorem. Nunc sed eros. Nullam pellentesque ante quis +lectus. Vivamus lacinia, sapien vel fermentum placerat, purus nisl +aliquet odio, et porta wisi dui nec nunc. Fusce porta cursus libero. + +Quisque eu mi a augue mollis posuere. Donec tincidunt, lorem at +vestibulum pulvinar, felis purus nonummy urna, at accumsan purus dui nec +leo. Praesent tortor turpis, vehicula in, aliquet ut, dignissim ac, leo. +Curabitur sagittis mi id eros. In magna. Sed vitae elit facilisis elit +semper sollicitudin. Curabitur convallis tempor nulla. Nullam non turpis +a pede sagittis ultrices. Etiam vulputate pede in ligula. Sed a ante id +metus pellentesque suscipit. Sed adipiscing justo vitae sapien. Nunc +posuere, pede ullamcorper gravida egestas, justo libero tincidunt arcu, +vitae pellentesque arcu leo ut mauris. Pellentesque auctor mauris sit +amet elit luctus fringilla. Cras sed wisi. Morbi luctus enim vitae +tellus. Vivamus venenatis sodales libero. + +In hac habitasse platea dictumst. Suspendisse potenti. Nulla pretium sem +sit amet nisl. Nulla facilisi. Sed aliquam, turpis sed hendrerit +gravida, nunc metus aliquam urna, eget pharetra nibh urna nec lectus. +Duis in nisl a nisl commodo facilisis. Nunc placerat risus sed leo. Duis +pellentesque porta libero. Praesent et enim. Aenean ullamcorper, ante +sit amet fermentum mollis, ligula metus laoreet magna, accumsan accumsan +nibh wisi at wisi. Nam tincidunt tempor neque. Maecenas dolor. Donec +interdum nisl. Aliquam quam libero, interdum quis, volutpat sed, semper +ut, eros. Pellentesque sodales auctor quam. Nullam suscipit massa nec +elit. Nullam vulputate. + +Aliquam a nulla. Suspendisse suscipit. Etiam lectus ante, interdum sit +amet, euismod venenatis, condimentum eu, urna. Etiam at turpis. Cras +quis ligula. Cras varius, sapien non pellentesque bibendum, mauris wisi +sodales sem, ac commodo mauris neque non felis. Sed sollicitudin +tincidunt arcu. Nullam vel lectus sit amet magna tincidunt tempor. +Phasellus a ante. Donec et diam. + +Proin sit amet augue. Praesent lacus. Donec a leo. Ut turpis ante, +condimentum sed, sagittis a, blandit sit amet, enim. Integer sed elit. +In ultricies blandit libero. Proin molestie erat dignissim nulla +convallis ultrices. Aliquam in magna. Etiam sollicitudin, eros a +sagittis pellentesque, lacus odio volutpat elit, vel tincidunt felis dui +vitae lorem. Etiam leo. Nulla et justo. + +Integer interdum varius diam. Nam aliquam velit a pede. Vivamus dictum +nulla et wisi. Vestibulum a massa. Donec vulputate nibh vitae risus +dictum varius. Nunc suscipit, nunc nec facilisis convallis, lacus ligula +bibendum nulla, ac sollicitudin sapien nisl fermentum velit. Lorem ipsum +dolor sit amet, consectetuer adipiscing elit. Nullam commodo dui ut +augue molestie scelerisque. Sed aliquet rhoncus tortor. Fusce laoreet, +turpis a facilisis tristique, leo mauris accumsan tellus, vitae ornare +lacus pede sit amet purus. Sed dignissim velit vitae ligula. Sed sit +amet diam sit amet arcu luctus ullamcorper. + +Duis quis velit id elit facilisis luctus. Donec nec elit. Quisque +ullamcorper arcu ac felis. Phasellus leo. Pellentesque consequat +consequat purus. Ut vel justo at pede facilisis tempor. Integer tempus +blandit dolor. Donec eget neque sed elit ultricies molestie. Cras cursus +viverra tortor. Cras commodo condimentum diam. Pellentesque interdum +malesuada wisi. Suspendisse eu quam. Donec consectetuer. Suspendisse +wisi purus, vestibulum at, vehicula vel, congue a, eros. Nulla vulputate +dolor at purus. + +Suspendisse ac diam sed dui adipiscing pretium. Donec ullamcorper, +sapien nec tempor venenatis, enim felis euismod pede, ut auctor lacus +lectus sit amet diam. Vestibulum rutrum sem ut ante. Nulla eros. Quisque +vitae nisl eget tellus feugiat volutpat. Nam id neque eu quam sodales +vehicula. Nam dapibus, nulla eu iaculis placerat, pede est volutpat +purus, id iaculis elit elit vel mauris. Donec dui. In hac habitasse +platea dictumst. Nunc non quam. Proin euismod egestas eros. Mauris nisl. +Sed neque. Phasellus bibendum. Proin ut purus in eros faucibus auctor. + +Fusce mollis dui eu leo. Sed sapien augue, porta at, posuere ut, +ultrices molestie, est. Vivamus quis pede nec erat placerat tincidunt. +Aenean odio dui, facilisis non, vehicula et, bibendum a, libero. Etiam +leo turpis, venenatis eleifend, nonummy sit amet, aliquam non, mi. +Maecenas eget mi. Sed nec diam. Integer orci tellus, pellentesque nec, +bibendum quis, sodales ut, nibh. Duis laoreet aliquet orci. Curabitur +sit amet sem sit amet nibh fermentum faucibus. Donec adipiscing, ipsum +id fringilla convallis, elit massa cursus augue, at lobortis massa augue +nec ligula. Proin ac lacus. + +Nunc id nulla nec mauris iaculis rutrum. Nunc nisl. Integer mi. Praesent +lorem neque, egestas at, molestie in, faucibus et, eros. Sed rutrum, +ante vitae aliquet tincidunt, diam elit auctor risus, eu elementum purus +turpis eu elit. Proin ac orci. Integer varius, urna non sollicitudin +consequat, massa libero pharetra erat, et venenatis dui orci eget purus. +Aliquam iaculis est eget ipsum. Ut volutpat velit. Phasellus fringilla. +Aliquam mollis tellus vel odio. Vestibulum ante ipsum primis in faucibus +orci luctus et ultrices posuere cubilia Curae; Vestibulum gravida sapien +sed diam dictum pharetra. Nulla ac odio. Duis vitae metus ut purus +feugiat interdum. Duis eros enim, tincidunt ac, venenatis et, dignissim +id, lacus. Curabitur sagittis dolor nec augue. Sed ultricies mauris. +Donec semper, enim eu vestibulum placerat, justo risus eleifend quam, ac +semper velit pede convallis arcu. + +Pellentesque tempus. Fusce tempor euismod nulla. Integer metus quam, +semper sit amet, pellentesque sed, ornare sit amet, pede. Sed viverra. +Aliquam erat volutpat. Donec tristique. In ac pede ut tortor mattis +blandit. Phasellus a nunc. Integer metus. Sed malesuada gravida arcu. +Lorem ipsum dolor sit amet, consectetuer adipiscing elit. + +Phasellus suscipit placerat neque. Duis rutrum. Quisque enim. Proin et +erat at augue aliquam aliquam. Mauris porttitor imperdiet lectus. Proin +egestas faucibus risus. Praesent pharetra consequat odio. Fusce sed +felis et nulla tempor elementum. Nulla eu turpis. Proin posuere. Nullam +nonummy nulla sed nulla volutpat consectetuer. Vivamus vehicula accumsan +eros. Fusce ullamcorper. Phasellus vehicula consequat mauris. Sed vitae +purus. Sed accumsan, felis suscipit auctor fermentum, odio turpis +vestibulum risus, vitae mattis metus neque non pede. + +Suspendisse mollis erat et risus. Vestibulum et odio eu nisl malesuada +dapibus. Morbi ac tortor et magna tincidunt ullamcorper. Ut pellentesque +fermentum mi. Etiam sed neque sit amet leo consectetuer sagittis. Nulla +facilisi. Sed lobortis erat vitae nulla. Duis bibendum ipsum et mi +scelerisque dapibus. Fusce nonummy vestibulum orci. Donec a nisl. +Integer ac nibh. Pellentesque habitant morbi tristique senectus et netus +et malesuada fames ac turpis egestas. Aenean nec nunc sed dui lobortis +vestibulum. Praesent metus ligula, auctor vitae, lacinia sed, hendrerit +a, felis. Etiam sapien. Proin et sem vitae dolor sodales venenatis. +Integer luctus aliquam risus. + +Maecenas mi massa, fermentum eu, venenatis et, cursus id, ipsum. Morbi +vehicula justo faucibus mauris. Donec non neque. Fusce id mi ut neque +tincidunt posuere. Suspendisse quis enim. Cras porttitor. Sed quis +velit. Aliquam vel augue at wisi blandit suscipit. Duis ut justo. Class +aptent taciti sociosqu ad litora torquent per conubia nostra, per +inceptos hymenaeos. Etiam bibendum wisi quis augue. Nulla lorem odio, +sollicitudin vitae, vehicula nec, dapibus ultricies, purus. In vitae +tellus at odio cursus congue. Quisque tincidunt tempus metus. Aenean et +nulla nec dolor dapibus ultricies. Phasellus commodo vulputate arcu. Sed +enim. Phasellus quis leo. Aliquam iaculis, turpis nec aliquet rutrum, +pede risus porta diam, id ullamcorper erat est sed eros. Fusce ornare. + +Suspendisse porta, dolor sed fringilla ultrices, augue mauris gravida +dolor, vel sollicitudin magna dui sit amet nunc. Mauris mollis +condimentum risus. Integer ipsum. Quisque malesuada, erat ac dictum +pulvinar, magna nisl fermentum ligula, quis euismod mauris felis non +diam. Nullam sapien turpis, rutrum vel, condimentum ac, bibendum +vulputate, nulla. Vestibulum tortor ipsum, fermentum egestas, placerat +ut, vulputate et, wisi. Aliquam erat volutpat. Donec consequat, ligula +sit amet tincidunt aliquam, nunc lorem sagittis nunc, a ullamcorper erat +ante ac felis. Donec eleifend. Nullam quam leo, lobortis non, +condimentum at, tempus consectetuer, orci. Quisque ut lorem. Donec nisl. +Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Vestibulum +ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia +Curae; Donec porta, libero eget feugiat posuere, felis arcu pulvinar +odio, vel dapibus enim dui nec turpis. + +Duis leo. Cras nec odio. Nullam pretium lacinia est. Fusce aliquet, +metus et vestibulum lobortis, ante erat vestibulum eros, eu sodales eros +turpis id massa. Quisque est. Vivamus eu lacus. Nulla nisl. Nam eros. +Aliquam sit amet neque vel magna dictum ultricies. Praesent magna +mauris, sollicitudin ac, commodo eu, bibendum sit amet, lectus. +Suspendisse potenti. Fusce congue leo quis libero nonummy adipiscing. +Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere +cubilia Curae; Nunc a orci. Ut at erat sit amet nunc scelerisque +malesuada. Phasellus odio nisl, porta eget, laoreet nec, vehicula non, +risus. Etiam dolor mauris, consectetuer eget, tincidunt sed, egestas +quis, neque. Ut egestas ante ac libero. Proin mattis volutpat metus. + +Sed tempor metus eget wisi. Duis cursus. Nam nunc. Nulla placerat wisi +sed est. Aenean risus. Lorem ipsum dolor sit amet, consectetuer +adipiscing elit. Proin erat dolor, ultricies a, rutrum sed, posuere +eget, metus. Donec sagittis nunc ac tortor. Aliquam erat volutpat. +Curabitur consectetuer, augue nec viverra eleifend, dolor dolor volutpat +orci, dapibus pellentesque eros pede a arcu. Nullam augue. Etiam eget +nulla vel mi porta hendrerit. Phasellus cursus scelerisque tortor. +Maecenas ut leo. + +Donec libero. Quisque vitae est quis dui bibendum suscipit. Fusce leo +felis, sagittis non, vehicula ac, ultricies vitae, diam. Aenean congue +libero et metus. Nulla convallis libero a lacus. Donec hendrerit lorem +sit amet leo. Mauris libero. Pellentesque pulvinar molestie dolor. Proin +nibh mauris, ornare at, pretium sit amet, porttitor vel, mi. +Pellentesque habitant morbi tristique senectus et netus et malesuada +fames ac turpis egestas. + +Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere +cubilia Curae; Aliquam interdum porttitor tortor. Donec ultricies justo +eget sapien. Proin ac est. Aliquam erat volutpat. In tempus scelerisque +ligula. Morbi scelerisque urna. Duis ac nisl. Donec sed leo. Fusce +posuere orci mollis nunc. Sed arcu enim, pharetra nec, aliquam eu, +consectetuer sit amet, eros. Sed id enim. Etiam mattis est at elit. +Pellentesque est risus, pellentesque nec, dignissim vitae, egestas +vitae, sapien. Maecenas et eros non libero iaculis facilisis. Mauris +porttitor tempor justo. Sed sollicitudin neque nec libero. + +Mauris ac ipsum. Duis ultrices erat ac felis. Donec dignissim luctus +orci. Fusce pede odio, feugiat sit amet, aliquam eu, viverra eleifend, +ipsum. Fusce arcu massa, posuere id, nonummy eu, pulvinar ut, wisi. Sed +dui. Vestibulum nunc nisl, rutrum quis, pharetra eget, congue sed, dui. +Donec justo neque, euismod eget, nonummy adipiscing, iaculis eu, leo. +Duis lectus. Morbi pellentesque nonummy dui. + +Aenean sem dolor, fermentum nec, gravida hendrerit, mattis eget, felis. +Nullam non diam vitae mi lacinia consectetuer. Fusce non massa eget quam +luctus posuere. Aenean vulputate velit. Quisque et dolor. Donec ipsum +tortor, rutrum quis, mollis eu, mollis a, pede. Donec nulla. Duis +molestie. Duis lobortis commodo purus. Pellentesque vel quam. Ut congue +congue risus. Sed ligula. Aenean dictum pede vitae felis. Donec sit amet +nibh. Maecenas eu orci. Quisque gravida quam sed massa. + +Nunc euismod, mauris luctus adipiscing pellentesque, augue ligula +pellentesque lectus, vitae posuere purus velit a pede. Phasellus leo mi, +egestas imperdiet, blandit non, sollicitudin pharetra, enim. Nullam +faucibus tellus non enim. Sed egestas nunc eu eros. Nunc euismod +venenatis urna. Phasellus ullamcorper. Vivamus varius est ac lorem. In +id pede eleifend nibh consectetuer faucibus. Phasellus accumsan euismod +elit. Etiam vitae elit. Integer imperdiet nibh. Morbi imperdiet orci +euismod mi. + +Donec tincidunt tempor metus. Aenean egestas cursus nulla. Fusce ac +metus at enim viverra lacinia. Vestibulum in magna non eros varius +suscipit. Nullam cursus nibh. Mauris neque. In nunc quam, convallis +vitae, posuere in, consequat sed, wisi. Phasellus bibendum consectetuer +massa. Curabitur quis urna. Pellentesque a justo. + +In sit amet dui eget lacus rutrum accumsan. Phasellus ac metus sed massa +varius auctor. Curabitur velit elit, pellentesque eget, molestie nec, +congue at, pede. Maecenas quis tellus non lorem vulputate ornare. +Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere +cubilia Curae; Etiam magna arcu, vulputate egestas, aliquet ut, +facilisis ut, nisl. Donec vulputate wisi ac dolor. Aliquam feugiat nibh +id tellus. Morbi eget massa sit amet purus accumsan dictum. Aenean a +lorem. Fusce semper porta sapien. + +Curabitur sit amet libero eget enim eleifend lacinia. Vivamus sagittis +volutpat dui. Suspendisse potenti. Morbi a nibh eu augue fermentum +posuere. Curabitur elit augue, porta quis, congue aliquam, rutrum non, +massa. Integer mattis mollis ipsum. Sed tellus enim, mattis id, feugiat +sed, eleifend in, elit. Phasellus non purus sed elit viverra rhoncus. +Vestibulum id tellus vel sem imperdiet congue. Aenean in arcu. Nullam +urna justo, imperdiet eget, volutpat vitae, semper eu, quam. Sed turpis +dui, porttitor ut, egestas ac, condimentum non, wisi. Fusce iaculis +turpis eget dui. Quisque pulvinar est pellentesque leo. Ut nulla elit, +mattis vel, scelerisque vel, blandit ut, justo. Nulla feugiat risus in +erat. + +Curabitur hendrerit. Morbi fringilla enim quis nunc. Phasellus at dui. +Donec commodo augue at nunc. Nunc in sapien et magna mollis sagittis. +Morbi eu elit. Phasellus lacus. Donec a quam. Etiam pulvinar sapien. Sed +nibh magna, viverra vitae, auctor eget, eleifend nec, lorem. Curabitur +fringilla dui a odio. Nunc semper condimentum arcu. Curabitur vitae +lectus sit amet turpis pretium condimentum. Nullam imperdiet mattis +neque. Proin eget magna porta erat rhoncus consectetuer. Aenean pulvinar +erat vitae mi. + +In eget turpis non tortor iaculis tincidunt. Ut egestas feugiat magna. +Duis enim nibh, gravida vel, nonummy non, sollicitudin ac, enim. Sed in +tortor sed tellus eleifend cursus. Morbi a dolor at nibh molestie +faucibus. Duis sed wisi. Duis fringilla, dui et malesuada dignissim, +elit eros dictum lacus, rhoncus imperdiet pede elit nec tellus. Aenean +at ligula eget nulla imperdiet faucibus. Quisque vestibulum lorem ac +leo. Sed laoreet neque ut magna. + +Aenean eget justo id lorem congue tristique. Maecenas sit amet nunc. +Aenean bibendum risus. Nam convallis, mi sed ultrices sodales, metus +nibh placerat dui, eu hendrerit erat enim vel libero. Duis placerat sem +vitae wisi imperdiet condimentum. Aliquam pellentesque dui ac diam +eleifend venenatis. Nulla facilisis posuere sapien. Cras euismod. +Praesent ut enim. Aliquam ut ipsum quis urna interdum vehicula. Fusce +eget sem. Nullam accumsan ullamcorper turpis. + +Integer posuere, metus ac rhoncus auctor, mi tellus scelerisque nunc, +venenatis elementum tortor lorem eu erat. Sed consectetuer risus vitae +orci. Nullam tortor mauris, interdum at, imperdiet in, convallis eget, +massa. Aliquam suscipit, magna nec blandit volutpat, lectus neque +suscipit nunc, sit amet cursus nisl erat eget risus. Vestibulum leo +lectus, accumsan ut, pharetra vel, elementum sed, quam. Maecenas +condimentum orci at enim. Maecenas ut nunc. Vivamus pede. Integer vel +purus vel mi mollis vestibulum. Sed laoreet ultricies nibh. Suspendisse +non nisl quis ligula fermentum facilisis. Vestibulum sem nibh, porttitor +et, fermentum a, ultricies id, augue. + +In accumsan convallis metus. Aenean est. Donec pharetra porta odio. Duis +nunc nisl, imperdiet ac, tincidunt vitae, varius sit amet, felis. +Curabitur wisi. Ut iaculis, nunc in lacinia egestas, elit enim tincidunt +turpis, at luctus ipsum augue condimentum metus. Aenean lorem wisi, +cursus sit amet, mollis nec, porta ac, augue. Vivamus massa. Praesent +rhoncus imperdiet orci. Aenean pharetra dolor ut sapien. Maecenas +egestas augue semper dolor. + +Vestibulum at lectus. Vestibulum dapibus placerat magna. Suspendisse +dolor urna, condimentum sit amet, euismod a, adipiscing a, enim. Aliquam +erat volutpat. Donec imperdiet dolor non mi. Phasellus magna metus, +dictum sit amet, laoreet non, dictum vel, dui. Suspendisse potenti. Nunc +turpis risus, porta vel, pharetra id, eleifend vitae, justo. Duis +pulvinar dolor sit amet urna. Integer eu eros. Nulla facilisi. Duis dui. +Nullam vitae quam. Morbi a nunc in elit sodales euismod. Nunc sed orci. +Etiam malesuada metus vitae felis. Suspendisse imperdiet velit in +tellus. + +Nullam elit orci, condimentum vitae, accumsan quis, gravida non, velit. +Morbi pellentesque accumsan elit. Aenean est purus, eleifend ac, dictum +at, dignissim sed, dolor. Vestibulum volutpat sapien quis augue. +Maecenas vulputate accumsan sapien. Nam mattis, lacus non iaculis +aliquet, mi elit varius lectus, eu malesuada dolor nunc at wisi. Aliquam +ligula. Mauris nisl elit, molestie vitae, gravida sit amet, facilisis +convallis, enim. Sed urna. Praesent et augue. Fusce pellentesque. +Maecenas varius orci eget nisl. Donec tempor rhoncus turpis. Integer +nibh. Cras metus erat, tincidunt et, scelerisque quis, bibendum sed, +dui. Suspendisse potenti. + +Integer ac diam. Nullam porttitor dolor eget metus. Nulla sed metus quis +tortor lacinia tempor. Mauris mauris dui, faucibus vitae, aliquet sit +amet, placerat a, ante. Nunc placerat tincidunt neque. Mauris egestas +dolor ut ipsum cursus malesuada. Curabitur odio. Nunc lobortis. Sed +mattis tempor felis. Mauris dolor quam, facilisis at, bibendum sit amet, +rutrum ornare, pede. Suspendisse accumsan sagittis velit. Pellentesque +varius laoreet lorem. Vivamus egestas sapien id diam. + +Integer viverra, felis ac tempus cursus, neque risus interdum turpis, +eget venenatis tellus velit in neque. Nulla feugiat luctus tellus. Nam +pulvinar lacus id leo. Vestibulum at ligula. Duis laoreet tincidunt +enim. Suspendisse at nisl molestie est laoreet laoreet. Suspendisse +euismod metus vel nisl. Aenean ullamcorper imperdiet massa. Aliquam +nibh. Donec quis erat. Nunc sodales auctor ante. + +Nam quis ante. Nullam interdum quam in eros. Sed eleifend libero eu +tellus consequat fermentum. Nullam pellentesque risus ut augue. +Vestibulum eu tellus. Integer eleifend suscipit urna. Fusce porttitor +leo et odio. Vivamus vehicula justo a nisl. In rutrum, purus ut dictum +auctor, dolor velit accumsan dolor, eu convallis augue dui ac lectus. +Nullam eleifend pellentesque ligula. Nam quis magna. Donec elementum +dapibus erat. Pellentesque vel ipsum nec orci fermentum accumsan. Nunc +porta magna eu neque. Nam id erat eu mi aliquet cursus. Morbi ut felis. +Vestibulum in ipsum. + +Donec vel augue. Morbi a turpis sed libero consequat porta. Quisque +lacinia consequat odio. Sed vehicula sollicitudin purus. Vestibulum eget +est. In hac habitasse platea dictumst. Sed blandit, tortor a auctor +imperdiet, wisi nibh ornare leo, ac dictum nibh enim eu orci. +Pellentesque habitant morbi tristique senectus et netus et malesuada +fames ac turpis egestas. Aliquam tincidunt ullamcorper justo. Etiam +accumsan lacus nec ante. Ut dictum luctus mauris. Ut metus. Maecenas +gravida. Proin iaculis. Integer convallis, justo iaculis ullamcorper +sollicitudin, lectus neque tincidunt mi, at condimentum sem quam vel +diam. Aenean sit amet purus. + +Sed justo. Maecenas lacinia, turpis sed commodo congue, odio urna +elementum nunc, vitae molestie velit nunc eu sem. Maecenas enim. Proin +quis neque nec tortor sollicitudin volutpat. Sed at ante. Sed vitae +mauris non ante egestas hendrerit. Cum sociis natoque penatibus et +magnis dis parturient montes, nascetur ridiculus mus. In venenatis +facilisis magna. Phasellus purus. Cras quis mauris. Aliquam eget magna. +Donec rutrum sagittis mi. Morbi elementum, est sit amet sollicitudin +feugiat, orci magna semper risus, eu congue nulla metus vel elit. Nunc +tempor ornare mi. Integer justo odio, suscipit tincidunt, fermentum eu, +tincidunt et, libero. Vestibulum vestibulum, urna et suscipit imperdiet, +nulla ante fermentum erat, at laoreet lorem lectus sed metus. Fusce ante +sem, posuere in, vehicula a, posuere sed, ante. Phasellus magna. +Maecenas sit amet diam. Nunc at nibh sit amet augue tristique gravida. + +Aenean adipiscing auctor est. Morbi quam arcu, malesuada sed, volutpat +et, elementum sit amet, libero. Duis accumsan. Curabitur urna. In sed +ipsum. Donec lobortis nibh. Duis mattis. Sed cursus lectus quis odio. +Phasellus arcu. Praesent imperdiet dui in sapien. Vestibulum tellus +pede, auctor a, pellentesque sit amet, vulputate sed, purus. Nunc +pulvinar, dui at eleifend adipiscing, tellus nulla placerat massa, sed +condimentum nulla tellus sed ligula. Nulla vitae odio sit amet leo +imperdiet blandit. In vel massa. Maecenas varius dui at turpis. Sed +odio. + +Quisque aliquam ipsum sed turpis. Pellentesque laoreet velit nec justo. +Nam sed augue. Maecenas rutrum quam eu dolor. Fusce consectetuer. Proin +tellus est, luctus vitae, molestie a, mattis et, mauris. Donec tempor. +Pellentesque habitant morbi tristique senectus et netus et malesuada +fames ac turpis egestas. Duis ante felis, dignissim id, blandit in, +suscipit vel, dolor. Pellentesque tincidunt cursus felis. Proin rhoncus +semper nulla. Ut et est. Vivamus ipsum erat, gravida in, venenatis ac, +fringilla in, quam. Nunc ac augue. Fusce pede erat, ultrices non, +consequat et, semper sit amet, urna. + +Fusce adipiscing justo nec ante. Nullam in enim. Pellentesque felis +orci, sagittis ac, malesuada et, facilisis in, ligula. Nunc non magna +sit amet mi aliquam dictum. In mi. Curabitur sollicitudin justo sed +quam. Aenean imperdiet. Vestibulum ante ipsum primis in faucibus orci +luctus et ultrices posuere cubilia Curae; Donec lacinia nonummy lectus. +Proin vel urna. Fusce sit amet orci ac magna iaculis pharetra. Duis +sagittis massa in tellus. Aenean vel velit vel felis consectetuer +pharetra. diff --git a/macros/latex/contrib/lipsum/lipsum.dtx b/macros/latex/contrib/lipsum/lipsum.dtx index 233b5c359e..8a20f78de8 100644 --- a/macros/latex/contrib/lipsum/lipsum.dtx +++ b/macros/latex/contrib/lipsum/lipsum.dtx @@ -15,14 +15,19 @@ % Please send error reports and suggestions for improvements to % https://github.com/PhelypeOleinik/lipsum % -\def\lipsumversion{2.3} -\def\lipsumdate{2021-03-03} +\def\lipsumversion{2.4} +\def\lipsumdate{2021-06-03} %<*driver> \ProvidesFile{lipsum.dtx}% [\lipsumdate\space v\lipsumversion\space Access to 150 of Lorem Ipsum dummy text] \documentclass{l3doc} \usepackage{xcolor} +\usepackage{booktabs} +\usepackage{tabularx} +\usepackage{enumitem} +\usepackage{tikz} +\usetikzlibrary{positioning} \usepackage[a4paper, top=2cm, left=8.8cm, right=2cm, bottom=3cm, marginparwidth=6.3cm, marginparsep=.5cm, @@ -38,20 +43,14 @@ } \newmdenv[style=expl]{explbox} -\newmdenv[% - style=expl, - subtitlebackgroundcolor=yellow!5!white, - frametitlebackgroundcolor=yellow!5!white, - frametitle={Code}, -] {exploutputbox} - \usepackage{lipsum,multicol} +\usepackage{multirow} \usepackage[latin, english]{babel} \makeatletter \newcommand\@subtitle{} \newcommand\subtitle[1]{% \renewcommand\@subtitle{#1}} - \renewcommand\maketitle[1]{ + \renewcommand\maketitle[1]{% \noindent \hspace{-\fullmargin}% \begin{minipage}{\textwidth+\fullmargin} @@ -71,64 +70,32 @@ #1 \end{multicols} \fi - \end{minipage} -} + \end{minipage}} \makeatother -\newenvironment{wide}{ - \hspace{-.75\fullmargin} - \begin{minipage}{\textwidth+.75\fullmargin} -}{ - \end{minipage} -} - -\newenvironment{widefigure} -{ - \begin{figure} - \begin{wide} -} -{ - \end{wide} - \end{figure} -} -\newlist{macrolist}{itemize}{1}% -\setlist[macrolist]{% - label=$\triangleright$, - labelindent=0cm, - itemsep=.15\baselineskip, - leftmargin=.75\parindent -} +\newenvironment{wide} + {\hspace{-.75\fullmargin}% + \begin{minipage}{\textwidth+.75\fullmargin}} + {\end{minipage}} \newcommand\opt[1]{\textsf{#1}} % l3doc does not have some markup for package options... \newcommand\lips{\emph{Lorem ipsum\ldots}} \renewcommand\topfraction{.85} \renewcommand\textfraction{.15} \renewcommand\floatpagefraction{.85} \emergencystretch 2em +\newcommand\secref[1]{(see section~\ref{#1})} +\usepackage{hyperref} \begin{document} \DocInput{lipsum.dtx} \end{document} %</driver> %<*package> \NeedsTeXFormat{LaTeX2e} -\RequirePackage{expl3}[2018/10/31] -\RequirePackage{xparse} -\ProvidesExplPackage - {lipsum} - {\lipsumdate} - {\lipsumversion} +\RequirePackage{l3keys2e} +\@ifundefined{NewDocumentCommand} + {\RequirePackage{xparse}}{} +\ProvidesExplPackage {lipsum} {\lipsumdate} {\lipsumversion} {150 paragraphs of Lorem Ipsum dummy text} %</package> -%<*lipsum> -\ProvidesFile{lipsum.ltd.tex}% - [\lipsumdate\space v\lipsumversion\space - The Lorem ipsum dummy text] - -%</lipsum> -%<*cicero> -\ProvidesFile{cicero.ltd.tex}% - [\lipsumdate\space v\lipsumversion\space - Text of Cicero's speech] - -%</cicero> % \fi % % \title{\pkg{lipsum}} @@ -165,6 +132,7 @@ % \changes{v2.3}{2021/03/03}{Remove dependency on an \pkg{xparse} internal % macro. \pkg{lipsum}'s new home at % \url{https://github.com/PhelypeOleinik/lipsum}} +% \changes{v2.4}{2021/06/03}{Major changes documented in \texttt{CHANGELOG.md}.} % % \maketitle{\pkg{lipsum} is a \LaTeX{} package that produces dummy text % to be used in test documents or examples. The paragraphs are taken with @@ -174,30 +142,62 @@ % documentation: Florent Chervet, Ulrike Fischer, Vincent Belaïche, Enrico % Gregorio, Frank Mittelbach, Karl Hagen. % -% \hspace{1em} Please, file bug reports, typos in the documentation or +% Please, file bug reports, typos in the documentation or % feature requests as an issue on % \url{https://github.com/PhelypeOleinik/lipsum/issues}.} +% % \begin{documentation} % -% \section{Quick usage overview} -% To load the package specify +% \section{Introduction} +% +% To load the package, write % \begin{verbatim} % \usepackage{lipsum} % \end{verbatim} -% in the preamble of your document. This package provides several -% macros. \DescribeMacro{\lipsum}The most important one is -% \cs{lipsum}. This macro typesets the \emph{Lorem ipsum} -% paragraphs. It has two optional arguments. The first one allows to specify the range -% of the paragraphs. For example, \verb|\lipsum[4-57]| typesets the paragraphs 4 to -% 57 and accordingly, \verb|\lipsum[23]| typesets the 23\textsuperscript{rd} -% paragraph. Using \cs{lipsum} without its optional argument typesets -% the paragraphs 1--7 of \lips +% in the preamble of your document. Probably the most important macro +% provided by this package is \DescribeMacro{\lipsum}\cs{lipsum}, which +% typesets the \emph{Lorem ipsum} paragraphs. The first optional +% argument allows to specify the range of the paragraphs. For example, +% \verb|\lipsum[4-57]| typesets the paragraphs 4 to 57 and accordingly, +% \verb|\lipsum[23]| typesets the 23\textsuperscript{rd} paragraph. +% Using \cs{lipsum} without its optional argument typesets the +% paragraphs 1--7 of \lips % % As of version 2.0, \cs{lipsum} has a second optional argument which allows % selecting a range of sentences from the paragraphs. To get the sentences % four to eight from paragraphs three to nine, use |\lipsum[3-9][4-8]|. +% The sentences are counted from the first sentence of the first selected +% paragraph. In the previous example, sentence number~1 is the first +% sentence of paragraph number~3. +% +% \subsection{Foreword to Version 2.4} +% \label{sec:foreword2.4} +% +% Version~2.4 received another almost complete rewrite focussing on the +% internal structure of the package, and some minor fixes (see the +% \texttt{CHANGELOG} for more details). +% +% The package now ships with a new dummy text, in pseudo-Czech, provided +% by OndÅ™ej Macek. To select this text, load the package with +% |\usepackage[text=lipsum-cs]{lipsum}| or use +% \cs{setlipsum}|{text=lipsum-cs}|. +% +% The dummy texts now have a language metadata which is used to select +% the proper hyphenation patterns to the dummy text. For compatibility +% with old documents you can load \pkg{lipsum} with +% |\usepackage[auto-lang=false]{lipsum}| or, as above, use +% \cs{setlipsum}|{auto-lang=false}|. +% +% Finally, as demonstrated above, a new macro \cs{setlipsum} was added +% to change package options anywhere in the document, so you may change, +% for example, the dummy text printed by \cs{lipsum} on-the-fly by using +% \cs{setlipsum}|{text=|\meta{name}|}| \secref{sec:other-texts} for a +% list of available texts). In general, a key-val syntax was added which +% will eventually replace the command-based syntax for package settings. +% For the time being, both versions are available. +% +% \subsection{Foreword to Version 2.0}\label{sec:foreword2.0} % -% \section{Foreword to Version 2.0}\label{sec:foreword2.0} % Version 2.0 of \pkg{lipsum} is a complete (well, nearly complete) rewrite % of the code in \pkg{expl3} % syntax. I have never used \pkg{expl3} before and thus the code might be too @@ -224,16 +224,14 @@ % \SetLipsumParListItemEnd{\LipsumProtect{\foo}} % % \begin{document} -% \renewcommand\foo{\color{.!75!red}} +% \renewcommand\foo{\color{.!75!red}} % { \lipsumexp } % -% \newcounter{mycnt}\setcounter{mycnt}{1} -% \renewcommand\foo{% -% (\themycnt)\stepcounter{mycnt}} -% \lipsumexp -% +% \newcounter{mycnt}\setcounter{mycnt}{1} +% \renewcommand\foo{% +% (\themycnt)\stepcounter{mycnt}} +% \lipsumexp % \end{document} -% % \end{verbatim} % \end{explbox} % \item The internal macros \cs{lips@i}, \cs{lips@ii}, \cs{lips@iii}, \ldots, @@ -241,7 +239,9 @@ % \item All other internal macros (with one exception) are no longer available, % too. % \end{itemize} -% \section{Foreword to version 2.2} +% +% \subsection{Foreword to version 2.2} +% % As of version 2.2, \pkg{lipsum} provides a simple interface to define other % texts to be used as output of the \cs{lipsum}-family of commands. This was % heavily inspired by an issue raised by @@ -251,5369 +251,1238 @@ % who wants to provide a dummy text in another language. Comments and % suggestions on this are very welcome. % -% Please note that the documentation still only refers to the \lips-text. +% Please note that the documentation still only refers to the +% \emph{Lorem ipsum} text. % % \section{Usage} +% % \pkg{lipsum} was intended to quickly provide a way to fill a page or two to % analyze the page -% layout\footnote{\url{https://groups.google.com/d/topic/de.comp.text.tex/oPeLOjkrLfk/discussion}}. +% layout\footnote{\url{https://groups.google.com/d/topic/de.comp.text.tex/oPeLOjkrLfk}}. % While it has grown in the meanwhile and now provides some more advanced % features, it still is only intended to quickly provide text. If you want more % features, look at the \pkg{blindtext}-package. % % \subsection{Package Options} +% \label{sec:pkg-opt} +% % \pkg{lipsum} outputs a range of paragraphs taken from the \lips\ dummy -% text. The package option controls how the single paragraphs of \lips\ are -% separated. The default is to separate the paragaraph with \cs{par}. One -% option is available to change the default behaviour: -% \begin{description} -% \item[\opt{nopar}:] Instead of \cs{par}, \cs{space} is used to -% separate the paragraphs. -% \end{description} +% text. The package options control mainly the behaviour of the +% \cs{lipsum} and \cs{unpacklipsum} commands, and can be set at +% load-time with \cs{usepackage}|[|\meta{option}|]{lipsum}|, or later in +% the document by using \cs{setlipsum}|{|\meta{option}|}|. +% +% \begingroup +% \RenewDocumentCommand \item { r[] e= d() } +% {\par\medskip\noindent\llap +% {\smash{\begin{tabular}{@{}l@{}}\toprule +% \opt{#1}\\\bottomrule\end{tabular}}~~}%^^A +% \IfValueT{#2}{=~~\!\meta{#2}\hfill +% \IfValueT{#3}{\quad(default: \texttt{#3})}\null +% \newline}\ignorespaces} +% +% \item[nopar]={boolean}(false) +% Changes the initial default separator between each paragraph of +% \cs{lipsum} from \cs{par} to \cs{space}, and the other way around +% for \cs{lipsum*}. +% \item[text]={name}(lipsum) +% Selects the dummy text \meta{name} that is used by \cs{lipsum} and +% \cs{unpacklipsum} \secref{sec:other-texts}. +% \item[language]={lang}(latin) +% Sets the language to be used by \cs{lipsum} to typeset the currently +% active dummy text \secref{sec:hyphenation}. Changing the dummy text +% with the \opt{text} option will also change the current +% \opt{language}. +% \item[auto-lang]={boolean}(true) +% Turns on/off automatic language switching. This changed since +% version 2.3, in which this option (didn't exist thus) was |false| by +% default. See section~\ref{sec:hyphenation} for more details. +% \item[default-range]={p_i\texttt{-}p_f}(1-7) +% Sets the default range of paragraphs produced by \cs{lipsum} when no +% optional argument is provided. The value to \opt{default-range} +% obeys the \meta{range} syntax described in +% section~\ref{sec:range-syntax}. If no value is given to +% \opt{default-range} (that is, \cs{setlipsum}|{default-range}|), then +% the default is reset to |1-7|. +% +% \endgroup +% +% \medskip +% +% Besides these options, there are still ones that can be passed to the +% package to influence the paragraph and sentence separators and other +% such things. These options are detailed in +% section~\ref{sec:separators}. +% +%^^A Besides the listed options, there are still options that can be +%^^A passed to the package to influence the paragraph and sentence +%^^A separators and other things like that. The options for paragraphs +%^^A are: +%^^A \AddToHookNext{env/multicols/before} +%^^A {\setlength{\multicolsep}{0.5\multicolsep}} +%^^A \begin{multicols}{2} +%^^A \ttfamily \setlist{nosep} +%^^A \begin{itemize} +%^^A \item par-before +%^^A \item par-begin +%^^A \item par-sep +%^^A \item par-end +%^^A \item par-after +%^^A \end{itemize} +%^^A \begin{itemize} +%^^A \item par-before* +%^^A \item par-begin* +%^^A \item par-sep* +%^^A \item par-end* +%^^A \item par-after* +%^^A \end{itemize} +%^^A \end{multicols} +%^^A and for sentences, the same group with |sentence| instead of |par| +%^^A in their name. These options are detailed in +%^^A section~\ref{sec:separators}. % % \subsection{User Commands} -% \DescribeMacro{\lipsum}\DescribeMacro{\lipsum*} -% \begin{quote} -% \cs{lipsum}\oarg{paragraph range}\oarg{sentence range}\\ -% \cs{lipsum*}\oarg{paragraph range}\oarg{sentence range} -% \end{quote} -% \cs{lipsum} (and \cs{lipsum*}) uses a \meta{range} as input. A \meta{range} -% consists either of a single \meta{number} or two numbers separated by a dash -% (|-|), as in \meta{number_1}-\meta{number_2}. While syntactically correct, -% \cs{lipsum} (and related commands) might fail if -% $\meta{number_2} < \meta{number_1}$. -% -% If used without an argument, \cs{lipsum} outputs the paragraphs 1--7 of -% \lips\ (as long as the default has not been overwritten, see -% below). \cs{lipsum} terminates every paragraph depending on the package -% option (using \cs{par} is the default). \cs{lipsum*} does the same, but -% uses a different termination (default is to use a blank space) for each -% paragraph. \emph{As a simplified rule of thumb, \cs{lipsum} prints the -% paragraphs as multiple paragraphs, \cs{lipsum*} prints them as a single -% paragraph}. -% -% To change the range of the paragraphs, specify a \meta{paragraph range}, which -% can either be a single number, as in |\lipsum[23]| (which will output the -% 23\textsuperscript{rd} paragraph), or two numbers separated by a dash, as in -% |\lipsum*[9-12]|, which will output the paragraphs nine to -% twelve. \pkg{lipsum} provides 150 paragraphs of \lips\, thus |150| is the -% maximum that should be specified. -% -% \subsection{Outputting Sentences instead of Paragraphs} -% Starting with \pkg{lipsum} v2.0, \cs{lipsum} and \cs{lipsum*} allow to -% output sentences of the \lips\ dummy text instead of paragraphs. To retrieve -% sentences instead of paragraphs, specify a \meta{sentence range} as the second -% optional argument of \cs{lipsum} and \cs{lipsum*}. Note: To be able to -% specify a second optional argument, the first optional argument has to be -% provided and is thus not really optional anymore. Furthermore, it must be -% set to some \meta{range}-value, using an empty first optional argument is -% not implemented. As a consequence |\lipsum[][1-3]| will fail. -% -% Valid inputs for \meta{sentence range} are, again, a single number, as in -% |\lipsum[1][1]|, which will output the first sentence of the first paragraph -% (the famous {\SetLipsumSentenceListEnd{}\itshape»\lipsum[1][1]«}). |\lipsum*[3-7][7-8]| will output the -% seventh and eighth sentence of the paragraphs three to seven. -% -% There are some limitations and remarks on selecting sentences as described -% in the following: -% \begin{itemize} -% \item When sentences are output, they are (by default) separated by -% \cs{space}. The difference between \cs{lipsum} and \cs{lipsum*} is the -% token that terminates the paragraph of sentences: Without a package option -% (and changing the defaults), \cs{lipsum} terminates the sequence of -% senetences by \cs{par}, \cs{lipsum*} by \cs{space} and vice versa, if -% \opt{nopar} is specified as package option. -% \item Specifying a \meta{sentence range} which is outside the number of -% sentences in the specified \meta{paragraph range} will not lead to an -% error. Instead, sentences which are not available are ignored and nothing -% is output. For example, |\lipsum[104][9-20]| will only output two -% sentences since paragraph \#104 consists only of 10 sentences. For the -% same reason, |\lipsum[104][11-20]| will output nothing. -% \item If you need a lot of sentences, consider the \opt{space} option and -% |\lipsum[1-150]|. This should be faster. -% \end{itemize} % -% \section{Advanced or Developer Macros} -% To distinguish between macros for users and macros for, for example, package -% developers, it has been discussed to use different naming schemes. One -% option is that user level macros are all lowercase, while developer-level -% commands are CamelCase. Until version 2.0, \pkg{lipsum} has not yet followed -% this convention. Thus, the old lowercase commands are still available, but -% considered deprecated. They are not described in this section, but in the -% corresponding section in the documented code (section -% \nameref{sec:code:commands}). -% -% \DescribeMacro{\SetLipsumDefault} In order to change the default range of -% paragraphs that is used by \cs{lipsum} and friends, specify -% |\SetLipsumDefault{8}| or |\SetLipsumDefault{123-145}|. -% -% \DescribeMacro{\LipsumPar} To get a single paragraph of the \lips\ dummy -% text, use |\LipsumPar{8}| (for the eighth paragraph). This is similar to -% using |\lips@viii| directly in versions prior to \pkg{lipsum}2.0. the -% difference between |\LipsumPar{8}| and |\lipsum[8]| is that the first directly -% accesses the internal macro that stores the corresponding paragraph, while -% the latter runs the loop that selects the \lips\ paragraphs. -% -% \DescribeMacro{\unpacklipsum} \DescribeMacro{\unpacklipsum*} -% \DescribeMacro{\lipsumexp} The commands \cs{unpacklipsum} and -% \cs{unpacklipsum*} work as \cs{lipsum} and \cs{lipsum*} and have the same -% two optional arguments, but instead of typesetting the \lips\ paragraphs, -% the commands store them in the macro \cs{lipsumexp} using \tn{edef}, thus, -% everything which can be expanded is expanded. -% -% \subsection{Fine-tuning the output} -% The output of \cs{lipsum}, whether paragraphs or sentences, can be seen as a -% \meta{list} of \meta{item}s, where an item is either a paragraph or a -% sentence. As of version 2.0, \pkg{lipsum} allows to fine-tune which tokens -% are inserted at the beginning of the \meta{list}, at the end of the -% \meta{list}, at the beginning and end of each \meta{item} as well as between -% the single \meta{items}. The resulting list of tokens can be seen in -% Figure~\ref{fig:tokens}. -% \begin{widefigure} -% % { \raggedright -% \meta{list_s}\dotfill\cs{SetLipsumParListStart}\Arg{tokens}\\ -% \hspace*{1em}\meta{item_1_,_s-outer}{\color{gray}\dotfill -% \cs{SetLipsumParListOuterItemStart}\Arg{item spec}\Arg{tokens}}\\ -% \hspace*{2em}\meta{item_s}\dotfill\cs{SetLipsumParListItemStart}\Arg{tokens}\\ -% \hspace*{3em}\meta{item_1_,_s-inner}{\color{gray}\dotfill -% \cs{SetLipsumParListInnerItemStart}\Arg{item spec}\Arg{tokens}}\\ -% \hspace*{4em}\textbf{\meta{item_1}}\\ -% \hspace*{3em}\meta{item_1_,_e-inner}{\color{gray}\dotfill -% \cs{SetLipsumParListInnerItemEnd}\Arg{item spec}\Arg{tokens}}\\ -% \hspace*{2em}\meta{item_e}\dotfill\cs{SetLipsumParListItemEnd}\Arg{tokens}\\ -% \hspace*{1em}\meta{item_1_,_e-outer}{\color{gray}\dotfill -% \cs{SetLipsumParListOuterItemEnd}\Arg{item spec}\Arg{tokens}}\\ -% \meta{item-separator}\dotfill\cs{SetLipsumParListItemSeparator}\Arg{tokens}\\[.5\baselineskip] -% \hspace{1em}\ldots\hfill\hfill\hfill $\uparrow$ {\small lists of paragraphs} -% $\uparrow$ --- $\downarrow$ {\small -% lists of sentences} $\downarrow$\\[.5\baselineskip] -% \meta{item-separator}\dotfill\cs{SetLipsumSentenceListItemSeparator}\Arg{tokens}\\ -% \hspace{1em}\meta{item_N_,_s-outer}{\color{gray}\dotfill -% \cs{SetLipsumSentenceListOuterItemStart}\Arg{item spec}\Arg{tokens}}\\ -% \hspace{2em}\meta{item_s}\dotfill\cs{SetLipsumSentenceListItemStart}\Arg{tokens}\\ -% \hspace{3em}\meta{item_N_,_s-inner}{\color{gray}\dotfill -% \cs{SetLipsumSentenceListInnerItemStart}\Arg{item spec}\Arg{tokens}}\\ -% \hspace*{4em}\textbf{\meta{item_N}}\\ -% \hspace*{3em}\meta{item_N_,_e-inner}{\color{gray}\dotfill -% \cs{SetLipsumSentenceListInnerItemEnd}\Arg{item spec}\Arg{tokens}}\\ -% \hspace*{2em}\meta{item_e}\dotfill\cs{SetLipsumSentenceListItemEnd}\Arg{tokens}\\ -% \hspace*{1em}\meta{item_N_,_e-outer}{\color{gray}\dotfill -% \cs{SetLipsumSentenceListOuterItemEnd}\Arg{item spec}\Arg{tokens}}\\ -% \meta{list_e}\dotfill\cs{SetLipsumSentenceListEnd}\Arg{tokens} +% \begin{function}{\lipsum} +% \begin{syntax} +% \cs{lipsum}\meta{*}\oarg{par range}\oarg{sentence range} +% \end{syntax} +% \cs{lipsum} outputs the \meta{par range} from the +% currently active dummy text. If \meta{par range} is not given +% or is empty, the \opt{default-range} (initially |1-7|) is output. +% ^^A +% If a \meta{sentence range} is given, the selected paragraphs are +% split into sentences, numbered starting from~1, and the specified +% range of sentences is taken out from those paragraphs. +% ^^A +% If the \meta{*} version is used, a different set of separators is +% inserted around the paragraphs or sentences. +% +% \cs{lipsum} changes the active language to that of the dummy text +% for typesetting, so the proper hyphenation patterns are used. +% See section~\ref{sec:hyphenation}. +% ^^A +% Section~\ref{sec:range-syntax} explains the syntax of ranges, and +% section~\ref{sec:separators} explains the separators added around +% the pieces of text. +% \end{function} +% +% \begin{function}{\unpacklipsum,\lipsumexp} +% \begin{syntax} +% \cs{unpacklipsum}\meta{*}\oarg{par range}\oarg{sentence range} +% \ldots +% \cs{lipsumexp} +% \end{syntax} +% \cs{unpacklipsum} selects the paragraphs and/or sentences exactly as +% described for \cs{lipsum}, but instead of outputting them, it saves +% the selected text in the \cs{lipsumexp} macro. Additionally, +% \cs{unpacklipsum} \ldots\cs{lipsumexp} is not completely equivalent +% to \cs{lipsum} because it doesn't change languages as \cs{lipsum} +% does. +% \end{function} +% +% \begin{function}{\setlipsum} +% \begin{syntax} +% \cs{setlipsum}\Arg{key-val list} +% \end{syntax} +% Applies the \meta{key-val list} of options to the package. The +% options are described in section~\ref{sec:pkg-opt} and in +% section~\ref{sec:separators}. +% \end{function} +% +% \subsection{Other commands} +% +% These commands exist for necessity or backwards comatibility, and +% should normally not be needed in user documents. +% +% \begin{function}{\SetLipsumText} +% \begin{syntax} +% \cs{SetLipsumDefault}\Arg{name} +% \end{syntax} +% Loads the dummy text \meta{name} \secref{sec:other-texts}. +% This command does the same as option \opt{text}, but it is +% kept for backwards compatibility. +% \end{function} +% +% \begin{function}{\SetLipsumDefault} +% \begin{syntax} +% \cs{SetLipsumDefault}\Arg{range} +% \end{syntax} +% Sets the default range for \cs{lipsum} and \cs{unpacklipsum}. +% This command does the same as option \opt{default-range}, but it is +% kept for backwards compatibility. +% \end{function} +% +% \section{General remarks on behaviour} +% +% Here are some topics that are general considerations about the +% behaviour of \pkg{lipsum} and its commands. These are technicalities +% that most end users don't care too much about, unless you are trying +% to do something beyond the usual ``print me some dummy text''. +% +% \subsection{Syntax of paragraph and sentence ranges} +% \label{sec:range-syntax} +% +% A \meta{range} argument can either be blank, a single integer, or a +% proper integer range. If the \meta{range} argument is blank, the +% commands behave as if the argument was not given at all. For example, +% |\lipsum[]| behaves exaclty like |\lipsum| and outputs the default +% paragraph range. Note that |\lipsum[][2-5]| does \textbf{not} behave +% as |\lipsum[2-5]|, but behaves as |\lipsum[1-7][2-5]| (assuming +% |default=range=1-7|), because the default value is then taken for the +% first argument. If the \meta{range} argument is an integer, then only +% a single paragraph/sentence is selected. +% +% If the argument contains a |-| (\textsc{ascii}~45), it is interpreted +% as a \emph{proper} range \meta{n_i}|-|\meta{n_f}. In a proper range, +% if \meta{n_i} is blank, it is taken to be the start of the possible +% range, and in the same way, if \meta{n_f} is empty it is taken to be +% the end of the possible range. That is, |\lipsum[-9]| is the same as +% |\lipsum[1-9]|, and |\lipsum[5-]| is the same (assuming the standard +% 150-paragraph dummy text) as |\lipsum[5-150]|, and similarly, +% |\lipsum[-]| is the same as |\lipsum[1-150]|. +% +% Only one |-| is allowed in a range, so if more than one |-| is given, +% an error is raised and no paragraphs/sentences are output. No +% paragraphs or sentences will be output also in case one of the ranges +% is reversed, so |\lipsum[2-1]| returns no paragraphs, as does +% |\lipsum[][2-1]| output no sentences, for example. Note that +% ``returning no paragraphs/sentences'' is not ``the output is empty'': +% that is mostly true, except that the |-before| and |-after| separators +% are still output \secref{sec:separators}. +% +% Finally, if a range spans more paragraphs or sentences than what the +% dummy text actually provides, the range is truncated so that it fits +% the available text. If the range in the argument does not intersect +% with the range provided by the dummy text, no paragraphs or sentences +% are output. +% +% \subsection{Hyphenation patterns} +% \label{sec:hyphenation} +% +% Since version~2.4, the command \cs{lipsum} automatically changes the +% hyphenation patterns when typesetting a dummy text, so that +% line-breaking looks better \secref{sec:foreword2.4}. This feature is +% on by default, so if you need the old behaviour you have to explicitly +% disable automatic language switching with +% |\setlipsum{auto-lang=false}|. +% +% The language is defined individually for each dummy text +% \secref{sec:other-texts}, but you may change it for the current dummy +% text by using |\setlipsum{language=|\meta{lang}|}|. If you load +% another dummy text (for example with the \opt{text} option), then the +% option \opt{language} is also changed according to the dummy text +% loaded \secref{sec:other-texts}. +% +% \subsection{Paragraph and sentence separators} +% \label{sec:separators} +% +% As may be clear by now, \pkg{lipsum} has two modes of operation: +% sentence output, and paragraph output, selected by providing or not +% providing the second optional argument to \cs{lipsum}. In each mode, +% the dummy text is separated into chunks (paragraphs or sentences), +% which are counted, and then output accordingly. +% +% When \cs{lipsum} (or \cs{unpacklipsum}) is used with a single (or no) +% optional argument, then a range of paragraphs is output, along with +% some ``separators'' (in the lack of a better name) between paragraphs, +% around each paragraph, and before and after the whole output. +% A schematic (very colorful, because I couldn't find a better visual) +% representation of the output is: +% +% \begin{function}{ +% par-before, +% par-begin, +% par-sep, +% par-end, +% par-after, +% sentence-before, +% sentence-begin, +% sentence-sep, +% sentence-end, +% sentence-after, % } -% \begin{multicols}{2}\sffamily\bfseries -% \caption{Places where additional tokens can be inserted in the output. $N$ -% indicates the last \meta{item}, `\ldots' indicate the same structure as for the -% first and last \meta{item}. Commands colored gray are not yet implemented. The -% upper part displays the commands for lists of paragraphs, the lower part for -% lists of sentences (also indicated by the labelled arrows in the middle). } -% \label{fig:tokens} -% \end{multicols} -% -% -% \end{widefigure} -% \DescribeMacro{\SetLipsumParListStart}\DescribeMacro{\SetLipsumParListStart*} -% \DescribeMacro{\SetLipsumParListEnd}\DescribeMacro{\SetLipsumParListEnd*} -% \DescribeMacro{\SetLipsumSentenceListStart}\DescribeMacro{\SetLipsumSentenceListStart*} -% \DescribeMacro{\SetLipsumSentenceListEnd}\DescribeMacro{\SetLipsumSentenceListEnd*} -% \pkg{lipsum} allows to specify all of the tokens in the list indicated -% above except for the item-specific inner and outer \meta{items} (shown as -% \meta{item_N_,_s-outer/inner}, \meta{item_N_,_e-outer/inner} above), which -% remain to be implemented. -% -% The macros that enable setting these tokens are all available in a normal -% and in a starred version, they apply to \cs{lipsum} and \cs{unpacklipsum} or -% \cs{lipsum*} and \cs{unpacklipsum*}, respectively. -% -% -% The macro \cs{SetLipsumParListStart}\Arg{tokens} and its starred variant -% insert \meta{tokens} at the very beginning of the list of paragraphs -% (\meta{list_s} in Figure~\ref{fig:tokens}). \cs{SetLipsumSentenceListStart} -% and \cs{SetLipsumSentenceListStart*} do the same for the list of -% sentences. The corresponding macros that allow to input \meta{tokens} at the -% very end of the output (\meta{list_e} in Figure~\ref{fig:tokens}) are -% \cs{SetLipsumParListEnd} (and its starred variant) and -% \cs{SetLipsumSentenceListEnd} (and its starred variant). -% -% As a shorthand, the commands -% \begin{macrolist} -% \item \cs{SetLipsumParListSurrounders}\Arg{start}\Arg{end}\DescribeMacro{\SetLipsumParListSurrounders} -% \item \cs{SetLipsumParListSurrounders*}\Arg{start}\Arg{end}\DescribeMacro{\SetLipsumParListSurrounders*} -% \item \cs{SetLipsumSentenceListSurrounders}\Arg{start}\Arg{end}\DescribeMacro{\SetLipsumSentenceListSurrounders} -% \item \cs{SetLipsumSentenceListSurrounders*}\Arg{start}\Arg{end}\DescribeMacro{\SetLipsumSentenceListSurrounders*} -% \end{macrolist} -% are available to set the \meta{tokens} for the start and end position with a -% single command. -% -% \DescribeMacro{\SetLipsumParListItemStart} -% \DescribeMacro{\SetLipsumParListItemStart*} -% \DescribeMacro{\SetLipsumParListItemEnd} \DescribeMacro{\SetLipsumParListItemEnd*} -% \DescribeMacro{\SetLipsumSentenceListItemStart} -% \DescribeMacro{\SetLipsumSentenceListItemStart*} -% \DescribeMacro{\SetLipsumSentenceListItemEnd} -% \DescribeMacro{\SetLipsumSentenceListItemEnd*} -% To add \meta{tokens} in front of every \meta{item}, the commands -% \cs{SetLipsumParListItemStart} (and its starred variant) and -% \cs{SetLipsumSentenceListItemStart} are available. To add tokens after every -% \meta{item}, the corresponding commands are \cs{SetLipsumParListItemEnd} -% (and its starred variant) and \cs{SetLipsumSentenceListItemStart} (and its -% starred variant). -% -% Again, there are -% commands that allow to set a pair of \meta{tokens} to surround every item: -% \begin{macrolist} -% \item \cs{SetLipsumParListItemSurrounders}\Arg{start}\Arg{end}\DescribeMacro{\SetLipsumParListItemSurrounders} -% \item \cs{SetLipsumParListItemSurrounders*}\Arg{start}\Arg{end}\DescribeMacro{\SetLipsumParListItemSurrounders*} -% \item \cs{SetLipsumSentenceListItemSurrounders}\Arg{start}\Arg{end}\DescribeMacro{\SetLipsumSentenceListItemSurrounders} -% \item \DescribeMacro{\SetLipsumSentenceListItemSurrounders*} \cs{SetLipsumSentenceListItemSurrounders*}\Arg{start}\Arg{end} -% -% \end{macrolist} -% -% \DescribeMacro{\SetLipsumParListItemSeparator} -% \DescribeMacro{\SetLipsumParListItemSeparator*} -% \DescribeMacro{\SetLipsumSentenceListItemSeparator} -% \DescribeMacro{\SetLipsumSentenceListItemSeparator*} To insert \meta{tokens} -% between the single \meta{item}s, the commands -% \cs{SetLipsumParListItemSeparator} (with its starred variant) and -% \cs{SetLipsumSentenceListItemSeparator} (also with its starred variant) are -% available. As can be seen in Figure~\ref{fig:tokens}, these tokens are -% inserted after the tokens inserted by |\...ListItemEnd| and before the -% following |\...ListItemStart|. -% -% \DescribeMacro{\LipsumProtect} To insert \meta{tokens} that survive the -% expansion by \cs{unpacklipsum} and \cs{unpacklipsum*}, \pkg{lipsum} provides -% \cs{LipsumProtect}\Arg{tokens}. See the example in the -% \nameref{sec:foreword2.0}. -% -% The macros introduced above can be used to turn the output of \cs{lipsum}, -% for example, into a list, as exemplified in Figure~\ref{fig:list-expl}. -% \begin{widefigure} -% \begin{exploutputbox} -% \begin{verbatim} -% -% \SetLipsumSentenceListSurrounders{\begin{itemize}}{\end{itemize}} -% \SetLipsumSentenceListItemStart{\item} -% \lipsum[10][1-2] -% \end{verbatim} -% \mdfsubtitle{Output} -% \SetLipsumSentenceListSurrounders{\begin{itemize}}{\end{itemize}} -% \SetLipsumSentenceListItemStart{\item} -% \lipsum[10][1-2] -% \end{exploutputbox} -% \sffamily\bfseries -% \caption{Turning the output of \cs{lipsum} into a list using inserted tokens.} -% \label{fig:list-expl} -% \end{widefigure} -% The gray commands in Figure~\ref{fig:tokens} are thought to allow inserting -% \meta{tokens} around a specific \meta{item}, but they remain to be implemented. One -% way to access a specific \meta{item} in a list is shown in -% Figure~\ref{fig:seconditem}, but other, maybe more elegant ways are -% conceivable. -% -% To quickly reset the \meta{tokens} inserted by the above commands to their -% default values, \pkg{lipsum} provides \DescribeMacro{\LipsumRestoreParList} -% \cs{LipsumRestoreParList} (for lists of paragraphs), -% \DescribeMacro{\LipsumRestoreSentenceList} \cs{LipsumRestoreSentenceList} (for lists of -% sentences) and \DescribeMacro{\LipsumRestoreAll} \cs{LipsumRestoreAll} for -% both lists. -% \begin{widefigure} -% \begin{exploutputbox} -% \begin{verbatim} -% \newcounter{itemcount} -% \setcounter{itemcount}{0} -% \SetLipsumParListItemSurrounders{% -% \stepcounter{itemcount} -% \ifnum\value{itemcount}=2\begingroup\sffamily\fi -% }{ -% \ifnum\value{itemcount}=2\endgroup\fi -% } -% \lipsum[110-112] -% \end{verbatim} -% \mdfsubtitle{Output} -% \newcounter{itemcount} -% \setcounter{itemcount}{0} -% \SetLipsumParListItemSurrounders{% -% \stepcounter{itemcount} -% \ifnum\value{itemcount}=2\begingroup\sffamily\fi -% }{ -% \ifnum\value{itemcount}=2\endgroup\fi -% } -% \setlength{\parindent}{1em}\small -% \lipsum[110-112] -% \end{exploutputbox}\sffamily\bfseries -% \caption{Styling the second \meta{item} of a list.}\label{fig:seconditem} -% \end{widefigure} -% \subsection{Loading and defining different texts}\label{sec:other-texts} -% Starting with \pkg{lipsum}2.2, a simple interface is provided to define and -% load other texts for the output of \cs{lipsum} and friends. This interface -% can, for example, be used to implement dummy texts in different languages -% without re-coding the logic implemented by \pkg{lipsum}. In order to provide -% a new text that will be used by lipsum, define the text by using a set of -% \DescribeMacro{\NewLipsumPar}\cs{NewLipsumPar}\Arg{paragraph} commands in a -% file with the ending |.ltd.tex| (|ltd| means \emph{lipsum text -% definition}\footnote{To avoid name clashes with files using general -% languages as names, I chose to introduce the |.ltd.tex| file ending. I did -% not find a file with this ending in my |texmf|-tree, so I guess it is -% safe.}) to a location where your \TeX-system will find it. The -% \meta{paragraph}-argument is a single paragraph of the new text. Thus, the -% first occurence of \cs{NewLipsumPar} defines the first paragraph, the second -% occurence the second paragraph and so on. +% \noindent +% \begin{tikzpicture}[x=0.703cm, +% item/.style={ +% draw, +% rounded corners=2mm, +% minimum width=2.2cm, +% execute at begin node=\strut, +% rotate=54, +% font=\footnotesize, +% }, +% ] +% \def\sep#1{\texttt{par-\textbf{#1}}\null} +% \node [item,fill=red!40 ] at (0 ,0) {\sep{before}}; +% \node [item,fill=red!20 ] at (1 ,0) {\sep{begin }}; +% \node [item,fill=red!20 ] at (2 ,0) {\meta{paragraph}}; +% \node [item,fill=red!20 ] at (3 ,0) {\sep{end \ }}; +% \node [item,shading=axis,left color=red!30,right color=green!30, +% shading angle=54] at (4 ,0) {\sep{sep \ }}; +% \node [item,fill=green!20] at (5 ,0) {\sep{begin }}; +% \node [item,fill=green!20] at (6 ,0) {\meta{paragraph}}; +% \node [item,fill=green!20] at (7 ,0) {\sep{end \ }}; +% \node [item,shading=axis,left color=green!30,right color=blue!30, +% shading angle=54] at (8 ,0) {\sep{sep \ }}; +% \node [item,fill=blue!20 ] at (9 ,0) {\sep{begin }}; +% \node [item,fill=blue!20 ] at (10,0) {\meta{paragraph}}; +% \node [item,fill=blue!20 ] at (11,0) {\sep{end \ }}; +% \node [item,fill=blue!40 ] at (12,0) {\sep{after\ }}; +% \end{tikzpicture} +% +% When \cs{lipsum} is called, the first thing it outputs is the +% \opt{par-before} tokens. These tokens are output unconditionally, +% regardless of how many (if any) paragraph is output. +% +% Then, before each paragraph in the range, \cs{lipsum} outputs the +% \opt{par-begin} tokens, and then the actual text of the +% \meta{paragraph}, and then the \opt{par-end} tokens. These tokens are +% output conditionally, if the paragraph text is output. If more than +% one paragraph is output, then the \opt{par-sep} tokens are inserted +% between the \opt{par-end} of one paragraph and the \opt{par-begin} of +% the paragraph that follows. +% +% \end{function} +% +% Finally, at the end, the \opt{par-after} tokens are inserted +% unconditionally at the end, same as for \opt{par-before}. +% +% As mentioned before, in case of an error parsing the range, the output +% will be no paragraphs, but the \opt{par-before} and \opt{par-after} +% tokens are still output. +% +% The explanation above is equally valid for the starred variants. If +% \cs{lipsum}|*| is used, the \opt{par-before*} tokens are +% inserted, and so on. It is also true for sentences (starred or +% otherwise), replacing |par| in the option names by |sentence|, so when +% you use, for example, |\lipsum[][1-9]|, the \opt{sentence-before} +% tokens will be unconditionally inserted, and so on. +% +% Note that, when \cs{lipsum} is used in sentence-mode (for example, +% with |\lipsum[1-3][1-9]|), only the |sentence-...| tokens are inserted +% in the output, regardless of how many paragraphs those sentences were +% collected from. In the same way, if paragraph-mode is being used, only +% |par-...| tokens are inserted. +% +% \subsubsection{Deprecated command-based syntax} +% +% Older versions of \pkg{lipsum} (from 2.0 to 2.3) provided~10 CamelCase +% commands for changing the separators, but the syntax was rather +% cumbersome to use, so the keyval syntax presented thus far was +% introduced in the hopes of making things a bit easier. The old +% commands will still exist for some time in the package, but with a +% deprecation warning. Changing to the keyval syntax is advised, so +% here is a correspondence table between the old and new syntaxes: +% +% \begin{center} +% \ttfamily \makeatletter +% \definecolor{a}{HTML}{E0211A}\colorlet{a}{a!60!black} +% \definecolor{b}{HTML}{5970D5}\colorlet{b}{b!60!black} +% \protected@edef\x#1#2{\string\SetLipsum +% {\color{a}#1}List{\color{b}#2}}% +% \def\y#1#2{{\color{a}#1}-{\color{b}#2}} +% \begin{tabular}{@{}ll@{}} +% \toprule +% \textrm{Old command} & \textrm{New key name} \\ +% \midrule +% \x{Par}{Start} & \y{par}{before} \\ +% \x{Par}{ItemStart} & \y{par}{begin} \\ +% \x{Par}{ItemSeparator} & \y{par}{sep} \\ +% \x{Par}{ItemEnd} & \y{par}{end} \\ +% \x{Par}{End} & \y{par}{after} \\ +% \x{Sentence}{Start} & \y{sentence}{before} \\ +% \x{Sentence}{ItemStart} & \y{sentence}{begin} \\ +% \x{Sentence}{ItemSeparator} & \y{sentence}{sep} \\ +% \x{Sentence}{ItemEnd} & \y{sentence}{end} \\ +% \x{Sentence}{End} & \y{sentence}{after} \\ +% \bottomrule +% \end{tabular} +% \end{center} +% +% Additionally, the command-based interface provided shortcuts +% |\SetLipsum|\meta{Thing}|List|(|Item|)|Surrounders|, which are +% equivalent to just using the commands +% |\SetLipsum|\meta{Thing}|List|(|Item|)|Start| then |\...End|. These +% don't provide any functionality, other than requiring a little less +% typing, so no key-val alternative was implemented. +% The |\...|\meta{Thing}|...Surrounders| commands should be replaced by +% \meta{thing}|-before| and \meta{thing}|-after|, and the +% |\...|\meta{Thing}|...ItemSurrounders| commands should be replaced by +% \meta{thing}|-begin| and \meta{thing}|-end|, as in the correspondence +% table below: +% +% \begin{center} +% \ttfamily \makeatletter +% \definecolor{a}{HTML}{E0211A}\colorlet{a}{a!60!black} +% \definecolor{b}{HTML}{5970D5}\colorlet{b}{b!60!black} +% \protected@edef\x#1#2{\string\SetLipsum +% {\color{a}#1}List{\color{b}#2}Surrounders%^^A +% \kern .5\tabcolsep \xleaders\hbox{\vrule +% width 2pt height \dimexpr .5ex+.4pt\relax depth -.5ex +% \kern 2pt}% +% \hskip 0pt plus 1filll \kern -.5\tabcolsep +% \raise.5ex\rlap{\kern.5\tabcolsep +% \vrule width \tabcolsep height 0.4pt depth 0pt +% \kern-0.5\tabcolsep +% \smash{\vrule depth \normalbaselineskip width 0.4pt +% \raise-\normalbaselineskip +% \hbox{\vrule width .5\tabcolsep height 0.4pt depth 0pt}}}}% +% \def\y#1#2{{\color{a}#1}-{\color{b}#2}} +% \begin{tabular}{@{}ll@{}} +% \toprule +% \textrm{Old command} & \textrm{New key names} \\ +% \midrule +% \x{Par}{} & \y{par}{}before \\ +% & \y{par}{}after \\ +% \x{Par}{Item} & \y{par}{begin} \\ +% & \y{par}{end} \\ +% \x{Sentence}{} & \y{sentence}{}before \\ +% & \y{sentence}{}after \\ +% \x{Sentence}{Item} & \y{sentence}{begin} \\ +% & \y{sentence}{end} \\ +% \bottomrule +% \end{tabular} +% \end{center} +% +% \section{Loading and defining dummy texts} +% \label{sec:other-texts} +% +% Starting with \pkg{lipsum} v2.2, a simple interface is provided to +% define and load other texts for the output of \cs{lipsum} and friends. +% This interface can, for example, be used to implement dummy texts in +% different languages without re-coding the logic implemented by +% \pkg{lipsum}. +% +% \begin{function}{\NewLipsumPar} +% \begin{syntax} +% \cs{NewLipsumPar}\Arg{paragraph} +% \end{syntax} +% In order to provide a new text that will be used by \pkg{lipsum}, +% define the text by using a set of \cs{NewLipsumPar}\Arg{paragraph} +% commands in a file with the ending |.ltd.tex| (|ltd| means +% \emph{lipsum text definition}\footnotemark{}) to a location where +% your \TeX{} system will find it. The \meta{paragraph}-argument is a +% single paragraph of the new text. Thus, the first occurence of +% \cs{NewLipsumPar} defines the first paragraph, the second occurence +% the second paragraph and so on. +% \end{function} +% \footnotetext{To avoid name clashes with files using general languages +% as names, I chose to introduce the |.ltd.tex| file ending. I did not +% find a file with this ending in my |texmf|-tree, so I guess it is +% safe.} +% +% \begin{function}{\SetLipsumLanguage} +% \begin{syntax} +% \cs{SetLipsumLanguage}\Arg{lang} +% \end{syntax} +% Additionally, tell \pkg{lipsum} the language of the dummy text using +% \cs{SetLipsumLanguage}\Arg{lang} somewhere in the |.ltd.tex| file. +% \end{function} +% +% \medskip % % To specify the new text as output for \cs{lipsum} and friends, use -% \DescribeMacro{\SetLipsumText}\cs{SetLipsumText}\Arg{filename}, where -% \meta{filename} is the name of the file without the ending |.ltd.tex|. -% -% \pkg{lipsum} ships with two texts, |lipsum.ltd.tex| which contains the -% \lips-dummy text and which is loaded by default, and, thanks to github-user -% \emph{svenper}, |cicero.ltd.tex|, which contains the speech by Cicero which -% inspired the \lips-dummy text. In contrast to the default \lips\ text, -% the |cicero| text, which can be selected by |\SetLipsumText{cicero}|, is true -% latin, and thus is properly hyphenated by, for example, the \pkg{babel} -% package with the language |latin| loaded (and -% selected). Figure~\ref{fig:cicero} shows how to load and use the text of -% Cicero's speech (note that the use of babel is optional). -% -% \begin{widefigure} -% \begin{exploutputbox} -% \begin{verbatim} -% \lipsum[1][1] -% \SetLipsumText{cicero} -% \selectlanguage{latin} % optional, requires babel.sty with option latin. -% \lipsum[1] -% \end{verbatim} -% \mdfsubtitle{Output} -% \lipsum[1][1] -% \MakePercentComment\SetLipsumText{cicero}\MakePercentIgnore -% \selectlanguage{latin} -% \hspace*{1em}\lipsum[1] -% \end{exploutputbox} -% \MakePercentComment\SetLipsumText{lipsum}\MakePercentIgnore -% \sffamily\bfseries -% \caption{Selecting and using the text of Cicero's speech.} -% \label{fig:cicero} -% \end{widefigure} -% \subsubsection{Limitations of and comments on the interface} +% \cs{setlipsum}|{|\opt{text}|=|\meta{name}|}|, where \meta{name} is the +% name of the file without the ending |.ltd.tex|, as given in the table +% below. When a new dummy text is loaded, the previous one is cleared, +% and the language is changed as well, according to the table. +% +% \begin{table}[ht] +% \begin{wide} +% \begin{tabularx}{\textwidth}{lllX} +% \toprule +% File (\texttt{.ltd.tex}) & Language & Source & Description \\ +% \midrule +% \texttt{lipsum} & Latin +% & James Wilson +% & Contains the standard \emph{Lorem ipsum} dummy text, +% obtained from \url{https://www.lipsum.com} (default). \\ +% \texttt{cicero} & Latin +% & GH user \href{https://github.com/svenper}{svenper} +% & Contains the speech by Cicero which inspired the \lips{} +% dummy text. \\ +% \texttt{lipsum-cs} & Czech +% & OndÅ™ej Macek +% & Lipsum dummy text in the Czech language, obtained from +% Petr StanÃÄek's website: +% \url{https://www.wellstyled.com/tools/dummy-cz}. \\ +% \bottomrule +% \end{tabularx} +% \end{wide} +% \end{table} +% +% \subsection{Guidelines on providing new dummy texts} +% % \cs{SetLipsumText} more or less just uses an \cs{input} or, to be more % precise, the \LaTeX3-variant \cs{file_input:n}, to load the |.ltd.tex| -% file. This means, that the file is not necessarily loaded in the preamble of -% the document and thus the contents of the file underlie the respective -% restrictions. Most importantly, no additional packages can be loaded. Thus, -% if your text requires additional packages, the documentation should state -% that the user has to load the packages. Since \pkg{lipsum} is a package for -% developers and commonly used for examples, it will not load any packages -% except the ones required by \pkg{lipsum} itself to be usable for a maximum -% of developers. -% -% Futhermore, the commands used to typeset the new texts are still -% \cs{lipsum}, \cs{lipsum*}, \cs{unpacklipsum} and so on and the commands to -% tune the output are still \cs{SetLipsumParListStart} and friends and no way -% is provided to easily generate a set of commands where the -% |lipsum| (or |Lipsum|) part of the command names is exchanged by, for -% example, |cicero| or |Cicero|. -% -% Nonetheless, if you want to write a new package instead of just providing a -% new dummy text, maybe because it requires a certain package to be loaded, or -% because you want to have a different command than \cs{lipsum}, this can be -% as easy as this\footnote{The following code has never been tested, it was -% just written from mind as an example.}: -% \begin{verbatim} -% \ProvidesPackage{mydummytext} -% \RequirePackage{lipsum} -% \SetLipsumText{mydummytext} -% \end{verbatim} -% To make the text accesible via a command \cs{mydummytext}, simply use -% \cs{let} to copy the definition of \cs{lipsum}: -% \begin{verbatim} -% \let\mydummytext\lipsum -% \end{verbatim} -% Note that this works fine with one exception: \cs{unpacklipsum} and -% \cs{unpacklipsum*} store their content in \cs{lipsumexp}, and they will keep -% doing so if you simply copy them using \cs{let}. Thus, to change -% \cs{lipsumexp} to, for example, \cs{ciceroexp}, you will have to re-code the -% \cs{unpacklipsum} command. -% -% I would, however, suggest to keep the \cs{lipsum}-commands since they are -% known to provide dummy text and one can easily refer to this -% documentation. But in the end this decision---of course---remains to -% the author of the new package. +% file. This means, that the file is not necessarily loaded in the +% preamble of the document and thus the contents of the file underlie +% the respective restrictions. +% +% Should you want a new dummy text, create an issue in the GitHub +% repository\footnote{\url{https://github.com/PhelypeOleinik/lipsum}} +% with the source for the dummy text. +% +% Should you prefer to distribute the dummy text as a separate package, +% make sure that the text follows the layout of \pkg{lipsum}'s dummy +% texts, so that everything works correctly. The dummy text definition +% file should contain a line with \cs{SetLipsumLanguage}, and then as +% many \cs{NewLipsumPar} entries as there are paragraphs in the dummy +% text. Make sure that the file has the |.ltd.tex| extension, and +% everything should work smoothly. +% % \end{documentation} +% +% \clearpage +% \newgeometry{left=5cm,right=2cm} +% % \begin{implementation} -% \section{\pkg{lipsum} Implementation} +% +% \section{\pkg{lipsum} Implementation} +% % \begin{macrocode} %<*package> -% \end{macrocode} -% \begin{macrocode} %<@@=lipsum> % \end{macrocode} % -% A check to make sure that \pkg{expl3} is not too old -% \begin{macrocode} -\@ifpackagelater { expl3 } { 2018/10/31 } - { } - { - \PackageError { lipsum } { Package~expl3~too~old } - { - You~need~to~update~your~installation~of~the~bundles~ - 'l3kernel'~and~'l3packages'.\MessageBreak - Loading~lipsum~will~abort! - } - \tex_endinput:D - } -% \end{macrocode} -% \subsection{Command Variants} -% To parse \meta{range}-like arguments, that is, arguments consisting either -% of a single number, as in |8|, or of a range, as in |9-11|, we use the -% argument processor \cs{SplitArgument} of \pkg{xparse}. However, the argument -% can either be a range as specified above, or a token list containing a -% range. Thus, the argument has to be expanded before it is analyzed. This use -% case is not available in \pkg{xparse} (at least not in the release -% 2018-10-17). We copy it to a \pkg{lipsum} internal variant to be able to -% generate a variant. -% \begin{function}{\@@_split_argument_expanded:nnn -% ,\@@_split_argument_expanded:nne} -% \begin{syntax} -% \cs{@@_split_argument_expanded:nne}\Arg{number}\Arg{token}\Arg{argument} -% \end{syntax} -% \begin{arguments} -% \item See documentation for \cs{SplitArgument} in -% \pkg{xparse} -% \item The argument fed to the function, which is expanded -% in this case. -% \end{arguments} -% \begin{macrocode} -\cs_new_eq:NN \@@_split_argument_expanded:nnn \SplitArgument -\cs_generate_variant:Nn \@@_split_argument_expanded:nnn { nne } -% \end{macrocode} -% \end{function} +% \subsection{Variables} % -% \subsection{Messages} -% Starting from \pkg{lipsum}2.0, some commands from previous versions are -% considered deprecated and issue a warning when used. This is the -% corresponding message. +% \begin{variable}{\g_@@_par_int} +% Stores the number of paragraphs in the current text. % \begin{macrocode} -\msg_new:nnnn{lipsum}{DeprecatedCommand} -{\string#1\msg_line_context:\\ - \string#1~should~be~substituted~by~\string#2.} -{ The~command~\string#1~is~deprecated~ - and~should~be~substituted~by~ - \string#2.~ - \string#1~might~not~be~available~in~a~ - future~version~of~lipsum.sty.} +\int_new:N \g_@@_par_int % \end{macrocode} +% \end{variable} % -% \subsection{Variables} -% \begin{variable}{\g_@@_paragraph_seq} -% The sequence that stores all the paragraphs. +% \begin{variable}{\g_@@_language_tl} +% Stores the language of the dummy text for hyphenation patterns. % \begin{macrocode} -\seq_new:N\g_@@_paragraph_seq +\tl_new:N \g_@@_language_tl % \end{macrocode} % \end{variable} -% \begin{variable}{\g_lipsum_default_range_tl} -% The default range for lipsum paragraphs. +% +% \begin{variable}[int]{\g_lipsum_default_range_tl} +% The default range for lipsum paragraphs. % \begin{macrocode} -\tl_new:N \g_lipsum_default_range_tl % +\tl_new:N \g_lipsum_default_range_tl % \end{macrocode} % \end{variable} -% \begin{variable}{\l_@@_pars_tl} -% This variables is used to store the token list containing the selected paragraphs. +% +% \begin{variable}{\l_@@_output_tl} +% This variables is used to store the token list containing the +% selected output. % \begin{macrocode} -\tl_new:N \l_@@_pars_tl +\tl_new:N \l_@@_output_tl % \end{macrocode} % \end{variable} -% \begin{variable}{\l_@@_sentences_tl} -% This variables is used to store the token list containing the selected sentences. +% +% \begin{variable}{\g_@@_text_str} +% Holds the current text loaded for the output of \cs{lipsum} and +% friends. Used to avoid loading the same text definition if it is +% already used. % \begin{macrocode} -\tl_new:N \l_@@_sentences_tl +\str_new:N \g_@@_text_str % \end{macrocode} % \end{variable} -% \begin{variable}{ -% \l_@@_sentences_seq -% } -% In this sequence, the sentence list is stored. +% +% \begin{variable}{\l_@@_sep_set_str} +% Holds the name of the active separator token set. By default it is +% empty to use the default separator set (empty). % \begin{macrocode} -\seq_new:N \l_@@_sentences_seq +\str_new:N \l_@@_sep_set_str % \end{macrocode} % \end{variable} -% \begin{variable}{\l_@@_par_list_start_nostar_tl, -% \l_@@_par_list_end_nostar_tl, \l_@@_sentence_list_start_nostar_tl, -% \l_@@_sentence_list_end_nostar_tl, \l_@@_par_list_start_star_tl, -% \l_@@_par_list_end_star_tl, \l_@@_sentence_star_list_start_tl, -% \l_@@_sentence_star_list_end_tl} -% Next are the variables used to store the tokens between the list items for -% lists of paragraph and lists of sentences. % +% \begin{variable}{\l_@@_autolang_bool} +% Boolean whether to change hyphenation patterns according to the +% dummy text language. % \begin{macrocode} -\tl_new:N \l_@@_par_list_start_nostar_tl -\tl_new:N \l_@@_par_list_end_nostar_tl -\tl_new:N \l_@@_sentence_list_start_nostar_tl -\tl_new:N \l_@@_sentence_list_end_nostar_tl - -\tl_new:N \l_@@_par_list_start_star_tl -\tl_new:N \l_@@_par_list_end_star_tl -\tl_new:N \l_@@_sentence_list_start_star_tl -\tl_new:N \l_@@_sentence_list_end_star_tl +\bool_new:N \l_@@_autolang_bool % \end{macrocode} % \end{variable} -% \begin{variable}{\l_@@_par_list_itemseparator_nostar_tl, -% \l_@@_sentence_list_itemseparator_nostar_tl, -% \l_@@_par_list_itemseparator_star_tl, -% \l_@@_sentence_list_itemseparator_star_tl} -% The variables to store the tokens that separate the single items of the -% paragraph or sentence list. +% +% \begin{variable}{\q_@@_mark,\s_@@} +% Quark and scan mark used throughout the package. % \begin{macrocode} -\tl_new:N \l_@@_par_list_itemseparator_nostar_tl -\tl_new:N \l_@@_sentence_list_itemseparator_nostar_tl - -\tl_new:N \l_@@_par_list_itemseparator_star_tl -\tl_new:N \l_@@_sentence_list_itemseparator_star_tl - +\quark_new:N \q_@@_mark +\scan_new:N \s_@@ % \end{macrocode} % \end{variable} -% \begin{variable}{\l_@@_par_list_itemstart_nostar_tl, -% \l_@@_par_list_itemend_nostar_tl, \l_@@_sentence_list_itemstart_nostar_tl, -% \l_@@_sentence_list_itemend_nostar_tl, \l_@@_par_list_itemstart_star_tl, -% \l_@@_par_list_itemend_star_tl, \l_@@_sentence_list_itemstart_star_tl, -% \l_@@_sentence_list_itemend_star_tl} -% The variables that surround each single item of a paragraph or sentence list. +% +% \begin{variable}{\l_@@_tmpa_str,\l_@@_a_int,\l_@@_b_int} +% Scratch variables. % \begin{macrocode} -\tl_new:N \l_@@_par_list_itemstart_nostar_tl -\tl_new:N \l_@@_par_list_itemend_nostar_tl -\tl_new:N \l_@@_sentence_list_itemstart_nostar_tl -\tl_new:N \l_@@_sentence_list_itemend_nostar_tl - -\tl_new:N \l_@@_par_list_itemstart_star_tl -\tl_new:N \l_@@_par_list_itemend_star_tl -\tl_new:N \l_@@_sentence_list_itemstart_star_tl -\tl_new:N \l_@@_sentence_list_itemend_star_tl - +\str_new:N \l_@@_tmpa_str +\int_new:N \l_@@_a_int +\int_new:N \l_@@_b_int % \end{macrocode} % \end{variable} -% \begin{variable}{\l_@@_par_list_start_tl, -% \l_@@_par_list_end_tl, -% \l_@@_sentence_list_start_tl, -% \l_@@_sentence_list_end_tl, -% \l_@@_par_list_itemseparator_tl, -% \l_@@_sentence_list_itemseparator_tl, -% \l_@@_par_list_itemstart_tl, -% \l_@@_par_list_itemend_tl, -% \l_@@_sentence_list_itemstart_tl, -% \l_@@_sentence_list_itemend_tl} -% These variables store a copy of either the \cs{\meta{name}_star_tl} or -% \cs{\meta{name}_nostar_tl}, depending on whether the calling function was -% called with or without a star. The content of these variables is then used -% by the functions that generate the \lips\meta{list}. +% +% \begin{macro}{\@@_tmp:w} +% Scratch macro. % \begin{macrocode} -\tl_new:N\l_@@_par_list_start_tl -\tl_new:N\l_@@_par_list_end_tl -\tl_new:N\l_@@_sentence_list_start_tl -\tl_new:N\l_@@_sentence_list_end_tl -\tl_new:N\l_@@_par_list_itemseparator_tl -\tl_new:N\l_@@_sentence_list_itemseparator_tl -\tl_new:N\l_@@_par_list_itemstart_tl -\tl_new:N\l_@@_par_list_itemend_tl -\tl_new:N\l_@@_sentence_list_itemstart_tl -\tl_new:N\l_@@_sentence_list_itemend_tl +\cs_new_eq:NN \@@_tmp:w ? % \end{macrocode} +% \end{macro} % -% \end{variable} -% \begin{variable}{\g_@@_text_str} -% Holds the current text loaded for the output of \cs{lipsum} and -% friends. Used to avoid loading the same text definition if it is already used. +% \begin{variable}{\l_@@_<thing>_<place>_<version>_tl} +% \csname @gobble\endcsname{ +% \l_@@_par_end_nostar_tl, +% \l_@@_par_end_star_tl, +% \l_@@_par_end__tl, +% \l_@@_par_itemend_nostar_tl, +% \l_@@_par_itemend_star_tl, +% \l_@@_par_itemend__tl, +% \l_@@_par_itemseparator_nostar_tl, +% \l_@@_par_itemseparator_star_tl, +% \l_@@_par_itemseparator__tl, +% \l_@@_par_itemstart_nostar_tl, +% \l_@@_par_itemstart_star_tl, +% \l_@@_par_itemstart__tl, +% \l_@@_par_start_nostar_tl, +% \l_@@_par_start_star_tl, +% \l_@@_par_start__tl, +% \l_@@_sentence_end_nostar_tl, +% \l_@@_sentence_end_star_tl, +% \l_@@_sentence_end__tl, +% \l_@@_sentence_itemend_nostar_tl, +% \l_@@_sentence_itemend_star_tl, +% \l_@@_sentence_itemend__tl, +% \l_@@_sentence_itemseparator_nostar_tl, +% \l_@@_sentence_itemseparator_star_tl, +% \l_@@_sentence_itemseparator__tl, +% \l_@@_sentence_itemstart_nostar_tl, +% \l_@@_sentence_itemstart_star_tl, +% \l_@@_sentence_itemstart__tl, +% \l_@@_sentence_start_nostar_tl, +% \l_@@_sentence_start_star_tl, +% \l_@@_sentence_start__tl, +% } +% These variables store the separators and delimiters added around the +% paragraphs and sentences, in the starred or nonstarred variants, as +% well as the generic version for runtime usage. % \begin{macrocode} -\str_new:N\g_@@_text_str +\clist_map_inline:nn { start, itemstart, itemseparator, itemend, end } + { + \clist_map_inline:nn { par, sentence } + { + \clist_map_inline:nn { { }, star, nostar } + { \tl_new:c { l_@@_##1_#1_####1_tl } } + } + \tl_new:c { l_@@_par_#1_parsepar_tl } + } +\tl_set:Nn \l_@@_par_itemseparator_parsepar_tl { ~ } % \end{macrocode} % \end{variable} % % \subsection{Developer interface} -% \begin{function}{\lipsum_store_as_temp_ints:nn} -% \begin{syntax} -% \cs{lipsum_store_as_temp_ints:nn}\Arg{number_1}\Arg{number_2} -% \end{syntax} -% \begin{arguments} -% \item A number. -% \item A number or |-NoValue-| as produced by the argument -% processing of \pkg{xparse}. -% \end{arguments} -% Stores \meta{number_1} in \cs{l_tmpa_int}. If \meta{number_2} is -% |-NoValue-|, stores \meta{number_1} in \cs{l_tmpb_int}, otherwise stores -% \meta{number_2} in \cs{l_tmpb_int}. +% +% \begin{macro}{\@@_parse_par_range:nNN,\@@_parse_par_range:eNN} +% \begin{macro}{\@@_parse_sentence_range:nNN,\@@_parse_sentence_range:eNN} +% \begin{macro}{\@@_parse_range_arg:nNNn,\@@_parse_range_arg:wnNNn} +% \begin{macro}{\@@_int_set:Nnn} +% Parses an argument that may be a single integer or an integer range +% separated by a |-|, and stores them into the integer registers |#2| +% and |#3|. If a number is blank, zero is used. If only a single +% number is given, |#3| is set equal to |#2|. % \begin{macrocode} -\cs_new:Npn \lipsum_store_as_temp_ints:nn #1#2{ - \int_set:Nn\l_tmpa_int{#1} - \IfNoValueTF{#2} +\cs_new_protected:Npn \@@_parse_par_range:nNN #1 #2 #3 { - \int_set:Nn\l_tmpb_int{#1} + \tl_if_blank:nTF {#1} + { \exp_args:NV \@@_parse_range_arg:nNNn \g_lipsum_default_range_tl } + { \@@_parse_range_arg:nNNn {#1} } + #2 #3 { \g_@@_par_int } } +\cs_new_protected:Npn \@@_parse_sentence_range:nNN #1 #2 #3 + { \@@_parse_range_arg:nNNn {#1} #2 #3 { \c_max_int } } +\cs_new_protected:Npn \@@_parse_range_arg:nNNn #1 { - \int_set:Nn\l_tmpb_int{#2} + \exp_last_unbraced:No \@@_parse_range_arg:wnNNn + \tl_to_str:n { #1 - - } \s_@@ {#1} } -} -% \end{macrocode} -% \end{function} -% \begin{function}{\lipsum_get_non_terminated_par:n, -% \lipsum_get_terminated_par:n} -% These two commands are used to retrieve paragraph \meta{number} from the -% \lips\ dummy text. \cs{lipsum_get_terminated_par:n} additionally adds -% \cs{par}. -% -% \begin{syntax} -% \cs{lipsum_get_non_terminated_par:n} \Arg{number}\\ -% \cs{lipsum_get_terminated_par:n} \Arg{number}\\ -% \end{syntax} -% The single paragraphs are stored as constant token lists. \cs{tl_use:c} is -% used to construct a command sequence from |c_lipsum_par_|, |_tl| and the -% \meta{number}. This is different from versions prior to v2.0, where the -% paragraphs were stored in \cs{lipsum@i}, \cs{lipsum@ii}, \ldots. -% \begin{macrocode} -\cs_new:Npn \lipsum_get_non_terminated_par:n #1{ - \seq_item:Nn \g_@@_paragraph_seq{#1} -} - -\cs_new:Npn \lipsum_get_terminated_par:n #1 { - \lipsum_get_non_terminated_par:n{#1}\par -} - -% \end{macrocode} -% \end{function} -% \begin{function}{\lipsum_add_to_tokenlist:n} -% Adds a paragraph \meta{item} to the list of paragraphs -% (\cs{l_@@_pars_tl}) and surrounds it by -% the user-defined \meta{tokens} -% . -% \begin{syntax} -% \cs{lipsum_add_to_tokenlist:n}\Arg{number} -% \end{syntax} -% \begin{macrocode} -\cs_new:Npn \lipsum_add_to_tokenlist:n #1 { - \tl_put_right:NV - \l_@@_pars_tl - \l_@@_par_list_itemstart_tl - \tl_put_right:Nn \l_@@_pars_tl { - \lipsum_get_non_terminated_par:n{#1} +\cs_new_protected:Npn \@@_parse_range_arg:wnNNn + #1 - #2 - #3 \s_@@ #4 #5#6 #7 + { + \str_if_eq:nnTF {#3} { - } + { + \@@_int_set:Nnn #5 {#1} { 1 } + \@@_int_set:Nnn #6 {#2} {#7} + } + { + \tl_if_empty:nTF {#3} + { + \@@_int_set:Nnn #5 {#1} { \ERROR } + \int_set_eq:NN #6 #5 + } + { + \msg_error:nnn { lipsum } { invalid-range } {#4} + \@@_parse_range_arg:nNNn { 2 - 1 } #5 #6 {#7} + } + } } - \tl_put_right:NV - \l_@@_pars_tl - \l_@@_par_list_itemend_tl -} -\cs_generate_variant:Nn - \lipsum_add_to_tokenlist:n { V } +\cs_new_protected:Npn \@@_int_set:Nnn #1 #2 #3 + { \int_set:Nn #1 { \tl_if_blank:nT {#2} {#3} #2 } } +\cs_generate_variant:Nn \@@_parse_par_range:nNN { e } +\cs_generate_variant:Nn \@@_parse_sentence_range:nNN { e } % \end{macrocode} -% \end{function} -% \begin{function}{\lipsum_range_to_tokenlist:VV} -% \begin{syntax} -% \cs{lipsum_range_to_tokenlist:VV}\Arg{number_1}\Arg{number_2} -% \end{syntax} -% Adds the paragraphs specified by \meta{number_1} to \meta{number_2} -% to the token list \cs{l_@@_pars_tl}. -% \begin{macrocode} -\cs_new:Npn \lipsum_range_to_tokenlist:nn #1#2 { - \tl_clear:N \l_@@_pars_tl - \tl_put_right:NV - \l_@@_pars_tl - \l_@@_par_list_start_tl - \int_set:Nn \l_tmpa_int {#1} - \int_do_until:nNnn - {\l_tmpa_int} > {#2} - { - \int_compare:nNnT - \l_tmpa_int > {#1} - { - \tl_put_right:NV - \l_@@_pars_tl - \l_@@_par_list_itemseparator_tl - } - \lipsum_add_to_tokenlist:V {\l_tmpa_int} - \int_incr:N\l_tmpa_int - } - \tl_put_right:NV - \l_@@_pars_tl - \l_@@_par_list_end_tl -} -\cs_generate_variant:Nn - \lipsum_range_to_tokenlist:nn { VV } +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} % -% \end{macrocode} -% \end{function} -% \begin{function}{\@@_expanded_paragraphs_terminated_with_space:} -% To be able to parse the list of paragraphs into a list of sentences, we need -% a list with defined tokens in between. This is stored locally in this macro. +% \begin{macro}{\@@_sep_item:nn} +% A shorthand to leave an (\cs{undexpanded}) token list. % \begin{macrocode} -\cs_new_nopar:Nn - \@@_expanded_paragraphs_terminated_with_space:{} +\cs_new:Npn \@@_sep_item:nn #1 #2 + { \exp_not:v { l_@@_#1_#2_ \l_@@_sep_set_str _tl } } % \end{macrocode} -% \end{function} -% \begin{function}{\lipsum_sentences_to_tokenlist:VV} -% \begin{syntax} -% \cs{lipsum_sentences_to_tokenlist:VV}\Arg{number_1}\Arg{number_2} -% \end{syntax} -% Puts the sentences specified by \meta{sentence range} from the paragraphs -% specified by \meta{paragraph range} on the token list -% \cs{l_@@_sentences_tl} and surrounds the \meta{tokens} set by the user. -% \begin{macrocode} +% \end{macro} % -\cs_new:Npn \lipsum_sentences_to_tokenlist:nnn #1#2#3{ -% \end{macrocode} -% Now, we only need to put the sentences within \meta{sentence range} into -% \cs{l_@@_sentences_tl}. First we clear -% the token list. -% \begin{macrocode} - - \tl_clear:N \l_@@_sentences_tl - -% \end{macrocode} -% Using a regexp turned out to be rather slow for large \meta{paragraph -% range}s. Thus, I use a loop similar to the one used by -% \cs{clist_item:Nn}. Since it might be that the \meta{sentence range} -% specifies a range not within the number of sentences in the paragraphs, an -% end has to be indicated. Since empty elements cannot occur, |..| can be used -% as end element. +% \begin{macro}[int]{\lipsum_get_range:nn} +% \begin{macro}{ +% \@@_build_list:nn, +% \@@_build_list_aux:n, +% \@@_get_paragraph:ww, +% \@@_get_paragraph_end:w, +% } +% Expands to the paragraphs between \meta{number_1} and +% \meta{number_2} with the proper delimiters added. Text is returned +% in \cs{exp_not:n}, so this macro can be safely used in an \cs{edef}. % \begin{macrocode} - \int_compare:nT {#2 >= #1} +\cs_new:Npn \lipsum_get_range:nn #1 #2 { - \@@_put_sentence_on_tokenlist:nnnw - {#1} - {#2} - {1} - #3 .. \q_stop + \@@_sep_item:nn { par } { start } + \use:e + { + \exp_not:N \@@_get_paragraph:ww + \@@_build_list:nn {#1} {#2} + \exp_not:N \q_@@_mark ; + \exp_not:N \q_@@_mark ; \s_@@ + } + \@@_sep_item:nn { par } { end } } - \tl_put_left:NV - \l_@@_sentences_tl - \l_@@_sentence_list_start_tl - \tl_put_right:NV - \l_@@_sentences_tl - \l_@@_sentence_list_end_tl -} -\cs_generate_variant:Nn - \lipsum_sentences_to_tokenlist:nnn { VVf } -% \end{macrocode} -% \end{function} -% \begin{function}{\@@_put_sentence_on_tokenlist:nnnw} -% \begin{syntax} -% \cs{@@_put_sentence_on_tokenlist:nnnw}\Arg{start}\Arg{end}\Arg{current}\Arg{sentences tl} -% \end{syntax} -% \begin{arguments} -% \item Start number of the range to be selected. -% \item End number of the range to be selected. -% \item the loop counter indicating the current item. -% \item The token list containing the (remaining) sentences. -% \end{arguments} -% The implementation is quite simple: If \meta{sentences tl} is empty, gobble the remaining -% list ans stop. Otherwise, test if $\meta{start} > \meta{end}$, -% gobble the remaining list and stop. If $\meta{current} > \meta{end}$, -% gobble the remaining list and stop, otherwise repeat loop with increased -% loop counter \meta{current}. Before repeating, test if $\meta{current} >= -% \meta{start}$ and put the current sentence to the token list. -% It seems that there is no official test for an empty argument -% (\meta{sentences tl} needs to -% be tested), but the internals of \cs{tl_if_blank} provide this, more or -% less. -% \begin{macrocode} - -\cs_new:Npn - \@@_put_sentence_on_tokenlist:nnnw - #1#2#3#4 . +\cs_new:Npn \@@_build_list:nn #1 #2 { - \int_compare:nNnTF{#1} > {#2} - { % start > end: leave loop - \use_none_delimit_by_q_stop:w - } - { % start <= end: perform loop - \tl_if_blank:oTF{#4} - { % Argument #4 blank. - % Should be from the .. in the calling macro. - % End reached. Leave loop. - \use_none_delimit_by_q_stop:w - } - { % Not yet list end - \int_compare:nNnTF{#3} > {#2} - { % Counter > End: Leave loop - \use_none_delimit_by_q_stop:w - } - { % Counter <= End: Proceed - \int_compare:nT{ #3 >= #1} - { % Counter >= Start: Put item on list - \int_compare:nNnT{#3}>{#1} - { % Counter < Start, insert separator - \tl_put_right:NV - \l_@@_sentences_tl - \l_@@_sentence_list_itemseparator_tl - } % End Counter < Start true - % Put item on list - \tl_put_right:NV - \l_@@_sentences_tl - \l_@@_sentence_list_itemstart_tl - \tl_put_right:No - \l_@@_sentences_tl - { \tl_trim_spaces:n{#4}. } - \tl_put_right:NV - \l_@@_sentences_tl - \l_@@_sentence_list_itemend_tl - } % End Counter >= Start: Put item on list - % Call loop again - \exp_args:Nnnf - \@@_put_sentence_on_tokenlist:nnnw - {#1} - {#2} - { \int_eval:n{#3+1} } - } % End Counter > Start: Proceed - } % End Not yet list end - } % End Start > End: Perform loop - } % End definition -% \end{macrocode} -% \end{function} -% \begin{function}{\@@_protect:n} -% Internal command for the user-level \cs{LipsumProtect}. Currently, a single -% \cs{tex_noexpand:D} is sufficient to prevent expansion, but in future -% implementations this might change. -% \begin{macrocode} -\cs_new:Npn \@@_protect:n #1 {\tex_noexpand:D#1} -% \end{macrocode} -% \end{function} -% \begin{function}{\@@_set_surrounding_tokens_star:} -% \begin{syntax} -% \cs{\@_set_surrounding_tokens_star:} -% \end{syntax} -% These commands copy the user-defined tokens to the token lists used by the -% commands that compose the list of paragraphs or sentences. Here for calls of -% the starred versions \cs{lipsum*} and \cs{unpacklipsum*}. -% \begin{macrocode} -\cs_new:Npn \@@_set_surrounding_tokens_star: + \int_step_function:nnN + { \int_max:nn {#1} { 1 } } + { \int_min:nn {#2} { \g_@@_par_int } } + \@@_build_list_aux:n + } +\cs_new:Npn \@@_build_list_aux:n #1 { #1 ; } +\cs_new:Npn \@@_get_paragraph:ww #1 ; #2 ; { - \tl_set_eq:NN - \l_@@_par_list_start_tl - \l_@@_par_list_start_star_tl - \tl_set_eq:NN - \l_@@_par_list_end_tl - \l_@@_par_list_end_star_tl - \tl_set_eq:NN - \l_@@_par_list_itemseparator_tl - \l_@@_par_list_itemseparator_star_tl - \tl_set_eq:NN - \l_@@_par_list_itemstart_tl - \l_@@_par_list_itemstart_star_tl - \tl_set_eq:NN - \l_@@_par_list_itemend_tl - \l_@@_par_list_itemend_star_tl - - \tl_set_eq:NN - \l_@@_sentence_list_start_tl - \l_@@_sentence_list_start_star_tl - \tl_set_eq:NN - \l_@@_sentence_list_end_tl - \l_@@_sentence_list_end_star_tl - \tl_set_eq:NN - \l_@@_sentence_list_itemseparator_tl - \l_@@_sentence_list_itemseparator_star_tl - \tl_set_eq:NN - \l_@@_sentence_list_itemstart_tl - \l_@@_sentence_list_itemstart_star_tl - \tl_set_eq:NN - \l_@@_sentence_list_itemend_tl - \l_@@_sentence_list_itemend_star_tl + \if_meaning:w \q_@@_mark #2 + \if_meaning:w \q_@@_mark #1 + \@@_get_paragraph_end:w + \else: + \lipsum_get_paragraph:n {#1} + \fi: + \else: + \lipsum_get_paragraph:n {#1} + \@@_sep_item:nn { par } { itemseparator } + \fi: + \@@_get_paragraph:ww #2 ; } +\cs_new:Npn \@@_get_paragraph_end:w #1 \s_@@ { \fi: \fi: } % \end{macrocode} -% \end{function} -% \begin{function}{\@@_set_surrounding_tokens_nostar:} -% \begin{syntax} -% \cs{@@_set_surrounding_tokens_nostar:} -% \end{syntax} +% \end{macro} +% \end{macro} % -% As \cs{@@_set_surrounding_tokens_star:}, but for calls of the non-starred -% version of \cs{lipsum} and \cs{unpacklipsum}. +% \begin{macro}[int]{\lipsum_get_paragraph:n} +% Expands to the paragraph \meta{number} with the proper delimiters +% added. Text is returned in \cs{exp_not:n}, so this macro can be +% safely used in an \cs{edef}. % \begin{macrocode} - \cs_new:Npn \@@_set_surrounding_tokens_nostar: +\cs_new:Npn \lipsum_get_paragraph:n #1 { - \tl_set_eq:NN - \l_@@_par_list_start_tl - \l_@@_par_list_start_nostar_tl - \tl_set_eq:NN - \l_@@_par_list_end_tl - \l_@@_par_list_end_nostar_tl - \tl_set_eq:NN - \l_@@_par_list_itemseparator_tl - \l_@@_par_list_itemseparator_nostar_tl - \tl_set_eq:NN - \l_@@_par_list_itemstart_tl - \l_@@_par_list_itemstart_nostar_tl - \tl_set_eq:NN - \l_@@_par_list_itemend_tl - \l_@@_par_list_itemend_nostar_tl - - \tl_set_eq:NN - \l_@@_sentence_list_start_tl - \l_@@_sentence_list_start_nostar_tl - \tl_set_eq:NN - \l_@@_sentence_list_end_tl - \l_@@_sentence_list_end_nostar_tl - \tl_set_eq:NN - \l_@@_sentence_list_itemseparator_tl - \l_@@_sentence_list_itemseparator_nostar_tl - \tl_set_eq:NN - \l_@@_sentence_list_itemstart_tl - \l_@@_sentence_list_itemstart_nostar_tl - \tl_set_eq:NN - \l_@@_sentence_list_itemend_tl - \l_@@_sentence_list_itemend_nostar_tl - - } -% \end{macrocode} -% \end{function} -% \begin{function}{\@@_ensure_parsable_output:} -% \begin{syntax} -% \cs{@@_ensure_parsable_output:} -% \end{syntax} -% To ensure that the list of paragraphs can be parsed into a list of -% sentences, the tokens between the single \meta{item}s have to macth a -% pre-defined pattern. This commands sets the tokens accordingly. -% \begin{macrocode} -\cs_new:Nn \@@_ensure_parsable_output: - { - \tl_set:No - \l_@@_par_list_itemseparator_tl{\space} - \tl_set:No - \l_@@_par_list_item_start_tl{} - \tl_set:No - \l_@@_par_list_item_end_tl{} - \tl_set:No - \l_@@_par_list_start_tl{} - \tl_set:No - \l_@@_par_list_end_tl{} + \@@_sep_item:nn { par } { itemstart } + \@@_unexpanded_par:n {#1} + \@@_sep_item:nn { par } { itemend } } % \end{macrocode} -% \end{function} -% \subsection{User- and developer-level commands}\label{sec:code:commands} -% \begin{macro}{\NewLipsumPar} -% Developer-Level macro to add a paragraph to the dummy text used by -% \cs{lipsum} and related commands. To specify a new dummy text, see -% section~\ref{sec:other-texts}. -% \begin{syntax} -% \cs{NewLipsumPar}\Arg{content} -% \end{syntax} -% \begin{arguments} -% \item The \meta{content} of the paragraph. In contrast to -% previous versions, \pkg{lipsum}2.0 does not store a macro that is typeset -% at the end of the paragraph. -% \end{arguments} -% Implemented as follows: -% \begin{macrocode} - -\NewDocumentCommand\NewLipsumPar{m}{ - \seq_gput_right:Nn{\g_@@_paragraph_seq}{#1} -} -% \end{macrocode} % \end{macro} -% \begin{macro}{\LipsumPar} -% Macro to typeset a single paragraph of \lips\ Was not officially available in -% version prior to 2.0. -% \begin{syntax} -% \cs{LipsumPar}\Arg{number} -% \end{syntax} -% \begin{arguments} -% \item Number of the paragraph to typeset. -% \end{arguments} -% Implemented as follows: -% \begin{macrocode} -\NewDocumentCommand\LipsumPar{m}{ - \group_begin: - \lipsum_get_terminated_par:n{#1} - \group_end: -} -% \end{macrocode} -% \end{macro} -% \subsection{Tokens surrounding the \lips\ content} -% \begin{macro}{\SetLipsumParListStart, \SetLipsumParListStart*, -% \SetLipsumSentenceListStart, \SetLipsumSentenceListStart*} -% \begin{syntax} -% \cs{SetLipsumParListStart}\Arg{tokens}\\ -% \cs{SetLipsumParListStart*}\Arg{tokens}\\ -% \cs{SetLipsumSentenceListStart}\Arg{tokens}\\ -% \cs{SetLipsumSentenceListStart*}\Arg{tokens} -% \end{syntax} -% -% \begin{arguments} -% \item \meta{tokens} to be inserted at the beginning of the -% paragraph or sentence list. -% \end{arguments} % +% \begin{macro}{\@@_unexpanded_par:n} +% Expands to the paragraph \meta{number} wrapped in \cs{exp_not:n}. +% If \meta{number} is out of range, it expands to nothing. % \begin{macrocode} -\NewDocumentCommand\SetLipsumParListStart{s+m}{ - \IfBooleanTF{#1} +\cs_new:Npn \@@_unexpanded_par:n #1 { - \tl_set:No\l_@@_par_list_start_star_tl{#2} + \bool_lazy_and:nnT + { \int_compare_p:nNn { 0 } < {#1} } + { \int_compare_p:nNn {#1} < { \g_@@_par_int + 1 } } + { \exp_not:v { g_@@_par_#1_tl } } } - { - \tl_set:No\l_@@_par_list_start_nostar_tl{#2} - } -} -\NewDocumentCommand\SetLipsumSentenceListStart{s+m}{ - \IfBooleanTF{#1} - { - \tl_set:No\l_@@_sentence_list_start_star_tl{#2} - } - { - \tl_set:No\l_@@_sentence_list_start_nostar_tl{#2} - } -} % \end{macrocode} % \end{macro} -% \begin{macro}{\SetLispumParListEnd, \SetLispumParListEnd*, -% \SetLispumSentenceListEnd, \SetLispumSentenceListEnd*} -% \begin{syntax} -% \cs{SetLispumParListEnd}\Arg{tokens}\\ -% \cs{SetLispumParListEnd*}\Arg{tokens}\\ -% \cs{SetLispumSentenceListEnd}\Arg{tokens}\\ -% \cs{SetLispumSentenceListEnd*}\Arg{tokens} -% \end{syntax} -% -% \begin{arguments} -% \item \meta{tokens} to be inserted after the paragraph or sentence -% list. Accepts long arguments. -% \end{arguments} % +% \begin{macro}[int]{\lipsum_get_sentences:nnn,\lipsum_get_sentences:nnV} +% \begin{macro}{\@@_get_sentences:nnnw,\@@_get_sentences_end:w} +% Expands to the sentences numbered between \meta{number_1} and +% \meta{number_2}, inclusive, contained in the \meta{text}, and adding +% the proper separators. % \begin{macrocode} -\NewDocumentCommand\SetLipsumParListEnd{s+m}{ - \IfBooleanTF{#1} - { - \tl_set:No\l_@@_par_list_end_star_tl{#2} - } - { - \tl_set:No\l_@@_par_list_end_nostar_tl{#2} - } -} -\NewDocumentCommand\SetLipsumSentenceListEnd{s+m}{ - \IfBooleanTF{#1} +\cs_new:Npn \lipsum_get_sentences:nnn #1 #2 #3 { - \tl_set:No\l_@@_sentence_list_end_star_tl{#2} + \@@_sep_item:nn { sentence } { start } + \exp_args:Ne \use_ii_i:nn { { \int_max:nn {#1} { 1 } } } + { \@@_get_sentences:nnnw { 1 } } {#2} + #3 ~ \q_@@_mark .~ \s_@@ + \@@_sep_item:nn { sentence } { end } } +\cs_new:Npn \@@_get_sentences:nnnw #1 #2 #3 #4 .~ { - \tl_set:No\l_@@_sentence_list_end_nostar_tl{#2} + \int_compare:nNnT {#1} > {#3} { \@@_get_sentences_end:w } + \use:nn { \if_meaning:w \q_@@_mark } #4 + \exp_after:wN \@@_get_sentences_end:w + \else: + \int_compare:nNnF {#1} < {#2} + { + \int_compare:nNnF {#1} = {#2} + { \@@_sep_item:nn { sentence } { itemseparator } } + \@@_sep_item:nn { sentence } { itemstart } + \exp_not:n { #4 . } + \@@_sep_item:nn { sentence } { itemend } + } + \fi: + \exp_args:Nf \@@_get_sentences:nnnw { \int_eval:n { #1 + 1 } } + {#2} {#3} } -} +\cs_new:Npn \@@_get_sentences_end:w #1 \s_@@ { } +\cs_generate_variant:Nn \lipsum_get_sentences:nnn { nnV } % \end{macrocode} % \end{macro} -% \begin{macro}{\SetLipsumParListSurrounders, \SetLipsumParListSurrounders*, -% \SetLipsumSentenceListSurrounders, \SetLipsumSentenceListSurrounders*} -% These macros are short-hands for setting the start and end tokens -% surrounding a paragraph or sentence list. -% \begin{syntax} -% \cs{SetLipsumParListSurrounders}\Arg{start}\Arg{end}\\ -% \cs{SetLipsumParListSurrounders*}\Arg{start}\Arg{end}\\ -% \cs{SetLipsumSentenceListSurrounders}\Arg{start}\Arg{end}\\ -% \cs{SetLipsumSentenceListSurrounders*}\Arg{start}\Arg{end} -% \end{syntax} -% -% \begin{arguments} -% \item \meta{start}-tokens to be inserted at the beginning of the -% paragraph or sentence list. Can be empty and accepts \cs{long} -% arguments, thus, accepts \cs{par}. -% \item \meta{end}-tokens to be inserted at the beginning of the -% paragraph or sentence list. Can be empty and accepts \cs{long} -% arguments, thus, accepts \cs{par}. -% \end{arguments} +% \end{macro} % +% \subsection{User- and developer-level commands} +% +% \begin{macro}[int]{\LipsumPar} +% Macro to typeset a single paragraph of \lips\ Was not officially +% available in version prior to 2.0. +% \begin{arguments} +% \item Number of the paragraph to typeset. +% \end{arguments} +% Implemented as follows: % \begin{macrocode} -\NewDocumentCommand\SetLipsumParListSurrounders{s+m+m}{ - \IfBooleanTF{#1} +\NewDocumentCommand \LipsumPar { m } { - \SetLipsumParListStart*{#2} - \SetLipsumParListEnd*{#3} + \@@_deprecated:n { LipsumPar } + \@@_unexpanded_par:n {#1} \par } - { - \SetLipsumParListStart{#2} - \SetLipsumParListEnd{#3} - } -} -\NewDocumentCommand\SetLipsumSentenceListSurrounders{s+m+m}{ - \IfBooleanTF{#1} - { - \SetLipsumSentenceListStart*{#2} - \SetLipsumSentenceListEnd*{#3} - } - { - \SetLipsumSentenceListStart{#2} - \SetLipsumSentenceListEnd{#3} - } -} % \end{macrocode} % \end{macro} -% \begin{macro}{\SetLipsumParListItemStart, \SetLipsumParListItemStart*, -% \SetLipsumSentenceListItemStart, \SetLipsumSentenceListItemStart*} -% \begin{syntax} -% \cs{SetLipsumParListItemStart}\Arg{tokens}\\ -% \cs{SetLipsumParListItemStart*}\Arg{tokens}\\ -% \cs{SetLipsumSentenceListItemStart}\Arg{tokens}\\ -% \cs{SetLipsumSentenceListItemStart*}\Arg{tokens} -% \end{syntax} -% \begin{arguments} -% \item \meta{tokens} inserted before every \meta{item} in the paragraph or -% sentence list. Can be \cs{long}. -% \end{arguments} +% +% \subsection{Tokens surrounding the \lips\ content} +% +% \begin{macro}{\@@_element_set:nnn} +% A general macro for setting starred/non-starred versions of several +% elements used between chunks of dummy text. Arguments are: +% \begin{arguments} +% \item Element name; +% \item Boolean true or false if the |*| variant was used; +% \item Value to set the element to. +% \end{arguments} % \begin{macrocode} -\NewDocumentCommand\SetLipsumParListItemStart{s+m}{ - \IfBooleanTF{#1} - { - \tl_set:No - \l_@@_par_list_itemstart_star_tl{#2} - } - { - \tl_set:No - \l_@@_par_list_itemstart_nostar_tl{#2} - } -} -\NewDocumentCommand\SetLipsumSentenceListItemStart{s+m}{ - \IfBooleanTF{#1} - { - \tl_set:No - \l_@@_sentence_list_itemstart_star_tl {#2} - } - { - \tl_set:No - \l_@@_sentence_list_itemstart_nostar_tl{#2} - } -} +\cs_new_protected:Npn \@@_element_set:nnn #1 #2 #3 + { \tl_set:cn { l_@@_ #1 _ \IfBooleanF {#2} { no } star _tl } {#3} } % \end{macrocode} % \end{macro} -% \begin{macro}{\SetLipsumParListItemEnd, \SetLipsumParListItemEnd*, -% \SetLipsumSentenceListItemEnd, \SetLipsumSentenceListItemEnd*} -% \begin{syntax} -% \cs{SetLipsumParListItemEnd}\Arg{tokens}\\ -% \cs{SetLipsumParListItemEnd*}\Arg{tokens}\\ -% \cs{SetLipsumSentenceListItemEnd}\Arg{tokens}\\ -% \cs{SetLipsumSentenceListItemEnd*}\Arg{tokens} -% \end{syntax} -% \begin{arguments} -% \item \meta{tokens} inserted after every \meta{item} in the paragraph or -% sentence list. Can be \cs{long}. -% \end{arguments} +% +% \begin{macro}{\@@_deprecated:n} +% Warns about deprecated commands and destroys itself. % \begin{macrocode} -\NewDocumentCommand\SetLipsumParListItemEnd{s+m}{ - \IfBooleanTF{#1} - { - \tl_set:No - \l_@@_par_list_itemend_star_tl{#2} - } - { - \tl_set:No - \l_@@_par_list_itemend_nostar_tl{#2} - } -} -\NewDocumentCommand\SetLipsumSentenceListItemEnd{s+m}{ - \IfBooleanTF{#1} - { - \tl_set:No - \l_@@_sentence_list_itemend_star_tl{#2} - } - { - \tl_set:No - \l_@@_sentence_list_itemend_nostar_tl{#2} - } -} +\cs_new_protected:Npn \@@_deprecated:n #1 + { + \msg_warning:nnn { lipsum } { cmd-deprecated } {#1} + \cs_gset_eq:NN \@@_deprecated:n \use_none:n + } % \end{macrocode} % \end{macro} -% \begin{macro}{\SetLipsumParListItemSurrounders, -% \SetLipsumParListItemSurrounders*, \SetLipsumSentenceListItemSurrounders, -% \SetLipsumSentenceListItemSurrounders*} -% Short-hands for setting the \meta{token}s surrounding a single list \meta{item}. -% \begin{syntax} -% \cs{SetLipsumParListItemSurrounders}\Arg{start}\Arg{end}\\ -% \cs{SetLipsumParListItemSurrounders*}\Arg{start}\Arg{end}\\ -% \cs{SetLipsumSentenceListItemSurrounders}\Arg{start}\Arg{end}\\ -% \cs{SetLipsumSentenceListItemSurrounders*}\Arg{start}\Arg{end} -% \end{syntax} -% \begin{arguments} -% \item \meta{start}-tokens inserted before each list \meta{item}. -% \item \meta{end}-tokens inserted after each list \meta{item}. -% \end{arguments} +% +% \begin{macro}[int]{ +% \SetLipsumParListStart, +% \SetLipsumParListEnd, +% \SetLipsumParListSurrounders, +% \SetLipsumParListItemSeparator, +% \SetLipsumParListItemStart, +% \SetLipsumParListItemEnd, +% \SetLipsumParListItemSurrounders, +% \SetLipsumSentenceListStart, +% \SetLipsumSentenceListEnd, +% \SetLipsumSentenceListSurrounders, +% \SetLipsumSentenceListItemSeparator, +% \SetLipsumSentenceListItemStart, +% \SetLipsumSentenceListItemEnd, +% \SetLipsumSentenceListItemSurrounders, +% } +% A dirty loop to quickly define the old command-based user-interface. % \begin{macrocode} -\NewDocumentCommand\SetLipsumParListItemSurrounders{s+m+m}{ - \IfBooleanTF{#1} - { - \SetLipsumParListItemStart*{#2} - \SetLipsumParListItemEnd*{#3} - } +\cs_set_protected:Npn \@@_tmp:w #1 #2 #3 #4 { - \SetLipsumParListItemStart{#2} - \SetLipsumParListItemEnd{#3} - } -} - -\NewDocumentCommand\SetLipsumSentenceListItemSurrounders{s+m+m}{ - \IfBooleanTF{#1} - { - \SetLipsumSentenceListItemStart*{#2} - \SetLipsumSentenceListItemEnd*{#3} + \str_set:Nx \l_@@_tmpa_str + { #2 \tl_if_empty:nTF {#4} {#3} { start } } + \use:e + { + \NewDocumentCommand \exp_not:c { SetLipsum #1 List #2 #3 } + { s +m \tl_if_empty:nF {#4} { +m } } + { + \@@_deprecated:n { SetLipsum #1 List #2 #3 } + \@@_element_set:nnn + { \exp_args:Ne \str_lowercase:n { #1_\l_@@_tmpa_str } } + {##1} {##2} + \tl_if_empty:nT {#4} { \use_none:nnnn } + \@@_element_set:nnn { \str_lowercase:n { #1_#2 #4 } } + {##1} {##3} + } + } } +\clist_map_inline:nn { Par, Sentence } { - \SetLipsumSentenceListItemStart{#2} - \SetLipsumSentenceListItemEnd{#3} + \clist_map_inline:nn + { { Start } { }, { End } { }, { Surrounders } { end } } + { \@@_tmp:w {#1} { Item } ##1 \@@_tmp:w {#1} { } ##1 } + \@@_tmp:w {#1} { Item } { Separator } { } } -} % \end{macrocode} % \end{macro} -% \begin{macro}{\SetLipsumParListItemSeparator, \SetLipsumParListItemSeparator*, -% \SetLipsumSentenceListItemSeparator, \SetLipsumSentenceListItemSeparator*} -% \begin{syntax} -% \cs{SetLipsumParListItemSeparator}\Arg{tokens} -% \cs{SetLipsumParListItemSeparator*}\Arg{tokens} -% \cs{SetLipsumSentenceListItemSeparator}\Arg{tokens}\\ -% \cs{SetLipsumSentenceListItemSeparator*}\Arg{tokens} -% \end{syntax} -% \begin{arguments} -% \item \meta{tokens} to be inserted between two \meta{item}s of a paragraph -% or sentence list. -% \end{arguments} -% \begin{macrocode} -\NewDocumentCommand\SetLipsumParListItemSeparator{s+m}{ - \IfBooleanTF{#1} - { - \tl_set:No - \l_@@_par_list_itemseparator_star_tl{#2} - } - { - \tl_set:No - \l_@@_par_list_itemseparator_nostar_tl{#2} - } -} -\NewDocumentCommand\SetLipsumSentenceListItemSeparator{s+m}{ - \IfBooleanTF{#1} - { - \tl_set:No - \l_@@_sentence_list_itemseparator_star_tl{#2} - } - { - \tl_set:No - \l_@@_sentence_list_itemseparator_nostar_tl{#2} - } -} -% \end{macrocode} % -% \end{macro} -% \begin{macro}{\SetLipsumProtect} -% \begin{syntax} -% \cs{LipsumProtect}\Arg{tokens} -% \end{syntax} -% Protects \meta{tokens} from being expanded when processed by -% \cs{unpacklipsum}. +% \begin{macro}{\SetLipsumDefault} +% Command to change the default range used by \cs{lipsum} and friends. +% \begin{arguments} +% \item[\meta{range}] Range to be used as default. +% \end{arguments} +% Implemented as: % \begin{macrocode} -\NewDocumentCommand\LipsumProtect{m}{} -\cs_gset_eq:NN - \LipsumProtect - \@@_protect:n - +\NewDocumentCommand \SetLipsumDefault { m } + { + \@@_parse_par_range:eNN {#1} \l_@@_a_int \l_@@_b_int + \tl_gset:Nx \g_lipsum_default_range_tl + { \int_use:N \l_@@_a_int - \int_use:N \l_@@_b_int } + } % \end{macrocode} % \end{macro} -% \begin{macro}{\SetLipsumDefault, \setlipsumdefault} -% Command to change the default range used by \cs{lipsum} and friends. Note -% that the use of \cs{setlipsumdefault} is considered deprecated starting from -% \pkg{lipsum}2.0. -% \begin{syntax} -% \cs{SetLipsumDefault}\Arg{range} -% \end{syntax} -% \begin{arguments} -% \item[\meta{range}] Range to be used as default. +% +% The following macros are considered to be user-level commands and thus +% all lower-case. +% +% \begin{macro}{\lipsum} +% \begin{arguments} +% \item Range-like string that specifies the number of the +% paragraphs taken from \lips\ If omitted, the value set by +% \cs{SetLipsumDefault} is used, which defaults to |1-7|. +% \item Sentences to be typeset from the range selected by +% \meta{paragraph range}. If sentences outside the number of +% sentences in \meta{paragraph range} are specified, only existing +% sentences are typeset. % \end{arguments} -% Implemented as: +% The difference between \cs{lipsum} and \cs{lipsum*} is the token(s) +% that are inserted after each paragraph (only if called without the +% second optional argument). +% +% \cs{lipsum} and \cs{unpacklipsum} have the same interface and do +% almost the same thing, so both are implemented using a common macro +% \cs{@@_do:nnnn} that does the heavy-lifting, and at the end +% executes the code in |#4|. % \begin{macrocode} -\NewDocumentCommand\SetLipsumDefault{m}{ - \tl_gset:No\g_lipsum_default_range_tl{#1} -} +\NewDocumentCommand \lipsum { s O { \g_lipsum_default_range_tl } o } + { + \@@_do:nnnn {#1} {#2} {#3} + { + \@@_set_hyphens: + \tl_use:N ##1 + \@@_restore_hyphens: + } + } % \end{macrocode} -% Implement \cs{setlipsumdefault} and mark it deprecated. +% \end{macro} +% +% \begin{macro}{\unpacklipsum,\lipsumexp} +% This command does the same as \cs{lipsum}, but instead of +% typesetting the paragraphs or sentences, it stores the expanded +% content in the \cs{lipsumexp} token list. The tokens between items +% of the list, set, for example, by using the package option +% \opt{space} or by using the \cs{SetLipsum...List} commands, are +% |x|-expanded. % \begin{macrocode} -\NewDocumentCommand\setlipsumdefault{m}{% - \msg_warning:nnnn - {lipsum} - {DeprecatedCommand} - {\setlipsumdefault} - {\SetLipsumDefault} - \SetLipsumDefault{#1} -} +\NewDocumentCommand \unpacklipsum { s O { \g_lipsum_default_range_tl } o } + { \@@_do:nnnn {#1} {#2} {#3} { \tl_gset_eq:NN \lipsumexp ##1 } } +\cs_new_eq:NN \lipsumexp \prg_do_nothing: % \end{macrocode} % \end{macro} -% The following macros are considered to be user-level commands and thus all -% lower-case. -% \begin{macro}{\lipsum, \lipsum*} -% \begin{syntax} -% \cs{lipsum}\oarg{paragraph range}\oarg{sentence range} -% \cs{lipsum*}\oarg{paragraph range}\oarg{sentence range} -% \end{syntax} -% -% \begin{arguments} -% \item Range-like string that specifies the number of -% the paragraphs taken from \lips\ If omitted, the value set by -% \cs{SetLipsumDefault} is used, which defaults to |1-7|. this argument can -% not be empty if the second optional argument is provided. -% \item Sentences to be typeset from the range selected -% by \meta{paragraph range}. If sentences outside the number of sentences in -% \meta{paragraph range} are specified, only existing sentences -% are typeset. -% \end{arguments} -% The difference between \cs{lipsum} and \cs{lipsum*} is the token(s) that are -% inserted after each paragraph (only if called without the second optional -% argument). +% +% \begin{macro}{\@@_do:nnnn} +% \begin{macro}{\@@_do:N} +% This is the main macro for \cs{lipsum} and \cs{unpacklipsum}. +% It parses the paragraph range, sets the sentence/paragraph +% separators, then acts accordingly if a sentence range was provided. % \begin{macrocode} - -\NewDocumentCommand - \lipsum{ - s - >{\@@_split_argument_expanded:nne{1}{-}} - O{\g_lipsum_default_range_tl} - >{\@@_split_argument_expanded:nne{1}{-}} - o - } +\cs_new_protected:Npn \@@_do:nnnn #1 #2 #3 #4 { - \group_begin: - \lipsum_store_as_temp_ints:nn #2 - \IfBooleanTF {#1} - { - \@@_set_surrounding_tokens_star: - } - { - \@@_set_surrounding_tokens_nostar: - } - - \IfNoValueTF{#3} + \cs_set_protected:Npn \@@_do:N ##1 {#4} + \@@_parse_par_range:eNN {#2} \l_@@_a_int \l_@@_b_int + \str_set_eq:NN \l_@@_tmpa_str \l_@@_sep_set_str + \str_set:Nx \l_@@_sep_set_str { \IfBooleanF {#1} { no } star } + \bool_lazy_or:nnTF + { \tl_if_novalue_p:n {#3} } + { \tl_if_blank_p:n {#3} } { - \lipsum_range_to_tokenlist:VV - { \l_tmpa_int }{ \l_tmpb_int } - \tl_use:N \l_@@_pars_tl + \tl_set:Nx \l_@@_output_tl + { \lipsum_get_range:nn { \l_@@_a_int } { \l_@@_b_int } } } { - \@@_ensure_parsable_output: - \lipsum_range_to_tokenlist:VV - { \l_tmpa_int }{ \l_tmpb_int } - \lipsum_store_as_temp_ints:nn #3 - \cs_gset_nopar:Nx - \@@_expanded_paragraphs_terminated_with_space: - {\tl_use:N\l_@@_pars_tl} - \lipsum_sentences_to_tokenlist:VVf - { \l_tmpa_int } - { \l_tmpb_int } - \@@_expanded_paragraphs_terminated_with_space: - \tl_use:N \l_@@_sentences_tl + \str_set:Nn \l_@@_sep_set_str { parsepar } + \tl_set:Nx \l_@@_output_tl + { \lipsum_get_range:nn { \l_@@_a_int } { \l_@@_b_int } } + \str_set:Nx \l_@@_sep_set_str { \IfBooleanF {#1} { no } star } + \@@_parse_sentence_range:eNN {#3} \l_@@_a_int \l_@@_b_int + \tl_set:Nx \l_@@_output_tl + { + \lipsum_get_sentences:nnV { \l_@@_a_int } { \l_@@_b_int } + \l_@@_output_tl + } } - \group_end: + \str_set_eq:NN \l_@@_sep_set_str \l_@@_tmpa_str + \@@_do:N \l_@@_output_tl } +\cs_new_eq:NN \@@_do:N ? % \end{macrocode} % \end{macro} -% \begin{macro}{\lipsumexp} -% The following macros store their results in the macro \cs{lipsumexp}. I -% create it first using \pkg{xparse} before it is overwritten. Don't know if -% this makes sense. -% \begin{macrocode} -\NewDocumentCommand\lipsumexp{}{} -% \end{macrocode} % \end{macro} % -% \begin{macro}{\unpacklipsum, \unpacklipsum*} -% These two commands do the same as \cs{lipsum} and \cs{lipsum*}, but instead -% of typesetting the paragraphs or sentences, they store the expanded content -% in the macro \cs{lipsumexp}. If, for example by using the package option -% \opt{space} or by using the \cs{SetLipsum...List} commands, the -% corresponding \meta{tokens} between the single items of the list are -% expandable, they are expanded. If they arenot expandable, they are---of -% course---not. -% \begin{syntax} -% \cs{unpacklipsum}\oarg{paragraph range}\oarg{sentence range}\\ -% \cs{unpacklipsum*}\oarg{paragraph range}\oarg{sentence range}\\ -% ... -% \cs{lipsumexp} -% \end{syntax} +% \begin{macro}{\@@_set_hyphens:,\@@_restore_hyphens:} +% Selects the hyphenation patterns for the language of the dummy text, +% using \pkg{babel}'s \cs{hyphenrules} if that's defined (when +% \pkg{babel} is loaded) or using \cs{language}\cs{l@\meta{lang}} +% otherwise. The hyphenation patterns are properly restored by +% \cs{@@_restore_hypehens:} when the text ends. % \begin{macrocode} -\cs_new:Nn \@@_expanded: {} -\NewDocumentCommand - \unpacklipsum +\cs_new_protected:Npn \@@_set_hyphens: { - s - >{\@@_split_argument_expanded:nne{1}{-}} - O{\g_lipsum_default_range_tl} - >{\@@_split_argument_expanded:nne{1}{-}} - o - } - { - - \group_begin: - \lipsum_store_as_temp_ints:nn #2 - \IfBooleanTF {#1} - { - \@@_set_surrounding_tokens_star: - } - { - \@@_set_surrounding_tokens_nostar: - } - \IfNoValueTF{#3} + \bool_if:NTF \l_@@_autolang_bool + { \use:x } { \use_none:n } { - \lipsum_range_to_tokenlist:VV - { \l_tmpa_int } { \l_tmpb_int } - \cs_gset:Nx - \@@_expanded: {\tl_use:N\l_@@_pars_tl} - \cs_gset_eq:NN - \lipsumexp \@@_expanded: - } - { - \@@_ensure_parsable_output: - \lipsum_range_to_tokenlist:VV - { \l_tmpa_int } { \l_tmpb_int } - \cs_gset_nopar:Nx - \@@_expanded_paragraphs_terminated_with_space: - { \tl_use:N\l_@@_pars_tl } - \lipsum_store_as_temp_ints:nn #3 - \lipsum_sentences_to_tokenlist:VVf - { \l_tmpa_int } - { \l_tmpb_int } - \@@_expanded_paragraphs_terminated_with_space: - \cs_gset:Nx - \@@_expanded: - { \tl_use:N\l_@@_sentences_tl } - \cs_gset_eq:NN - \lipsumexp \@@_expanded: + \cs_if_exist:NTF \hyphenrules + { + \exp_not:N \hyphenrules { \g_@@_language_tl } + \cs_set_protected:Npn \@@_restore_hyphens: + { \exp_not:N \hyphenrules { \languagename } } + } + { + \cs_if_exist:cTF { l@ \g_@@_language_tl } + { \language \use:c { l@ \g_@@_language_tl } } + { \msg_error:nn { lipsum } { language-undefined } } + \cs_set_protected:Npn \@@_restore_hyphens: + { \language \int_eval:n { \language } \scan_stop: } + } } - \group_end: } +\cs_new_protected:Npn \@@_restore_hyphens: + { \prg_do_nothing: } % \end{macrocode} % \end{macro} -% \begin{macro}{\IfLipsumText} -% New conditional to test if a lipsum text definition is currently loaded. -% \begin{syntax} -% \cs{IfLipsumText}\Arg{text}{true-code}{false-code} -% \end{syntax} -% \begin{arguments} -% \item Name of a lipsum language definition file -% \item Code expanded if the current text definition is the one given in -% argument \#1 -% \item Code expanded otherwise. -% \end{arguments} +% +% \begin{macro}{\NewLipsumPar} +% Developer-Level macro to add a paragraph to the dummy text used by +% \cs{lipsum} and related commands. To specify a new dummy text, see +% section~\ref{sec:other-texts}. % \begin{macrocode} -\NewDocumentCommand\IfLipsumText{mmm}{% - \str_if_eq:VnTF\g_@@_text_str{#1}{#2}{#3} -} +\cs_new_protected:Npn \NewLipsumPar #1 + { + \int_gincr:N \g_@@_par_int + \tl_gclear_new:c { g_@@_par_ \int_use:N \g_@@_par_int _tl } + \tl_gset:cn { g_@@_par_ \int_use:N \g_@@_par_int _tl } {#1} + } % \end{macrocode} % \end{macro} +% % \begin{macro}{\SetLipsumText} -% Used to select and load the text output by \cs{lipsum} and friends. See the -% section on loading and defining new outputs for \cs{lipsum} -% (section~\ref{sec:other-texts}). It first checks whether the requested text -% is already loaded, and if not, it clears \cs{g_@@_paragraph_seq} and -% loads the corresponding lipsum text definition file. +% Used to select and load the text output by \cs{lipsum} and friends. +% See the section on loading and defining new outputs for \cs{lipsum} +% (section~\ref{sec:other-texts}). It first checks whether the +% requested text is already loaded, and if not, it loads the +% corresponding lipsum text definition file, and clears remaining +% paragraphs from the previous text, in case their lengths differ. % \begin{macrocode} -\NewDocumentCommand\SetLipsumText{m}{% - \IfLipsumText{#1}{}{ - \seq_gclear:N\g_@@_paragraph_seq - \file_input:n{#1.ltd} - \str_gset:Nn\g_@@_text_str{#1} +\NewDocumentCommand \SetLipsumText { m } + { + \str_if_eq:VnF \g_@@_text_str {#1} + { + \tl_gset:Nn \g_@@_language_tl { english } + \int_gzero:N \g_@@_par_int + \file_input:n { #1.ltd } + \str_gset:Nn \g_@@_text_str {#1} + } } -} - % \end{macrocode} +% \end{macro} % +% \begin{macro}{\SetLipsumLanguage} +% This macro sets the language for hyphenation patterns of the dummy +% text. When a new lipsum text is read, this is reset. +% \begin{macrocode} +\NewDocumentCommand \SetLipsumLanguage { m } + { \tl_gset:Nn \g_@@_language_tl {#1} } +% \end{macrocode} % \end{macro} +% % \subsection{Package options and defaults} +% +% \begin{macro}[int]{ +% \LipsumRestoreParList, +% \LipsumRestoreSentenceList, +% \LipsumRestoreAll, +% } +% \begin{macro}{\@@_delim_restore:nnnnn} +% \begin{macro}{\@@_restore_par_list:,\@@_restore_sentence_list:} +% These are some auxiliaries for the package options and for setting +% up the default behaviour. % \begin{macrocode} - -\cs_new:Nn \@@_restore_sentence_list: { - \SetLipsumSentenceListItemSeparator{\space} - \SetLipsumSentenceListItemSeparator*{\space} - \SetLipsumSentenceListSurrounders{}{} - \SetLipsumSentenceListSurrounders*{}{} - \SetLipsumSentenceListItemSurrounders*{}{} - \SetLipsumSentenceListItemSurrounders{}{} -} -\cs_new:Nn \@@_restore_par_list: { - \SetLipsumParListItemSeparator{\par} - \SetLipsumParListItemSeparator*{\space} - \SetLipsumParListSurrounders{}{} - \SetLipsumParListSurrounders*{}{} - \SetLipsumParListItemSurrounders*{}{} - \SetLipsumParListItemSurrounders{}{} -} - - -\DeclareOption{nopar}{% - \cs_gset:Nn \@@_restore_sentence_list: { - \SetLipsumSentenceListItemSeparator{\space} - \SetLipsumSentenceListItemSeparator*{\space} - \SetLipsumSentenceListEnd{} - \SetLipsumSentenceListEnd*{} - \SetLipsumSentenceListItemSurrounders*{}{} - \SetLipsumSentenceListItemSurrounders{}{} +\cs_new_protected:Npn \@@_delim_restore:nnnnn #1 #2 #3 #4 #5 + { + \keys_set:nn { lipsum } + { + #1-before = , #1-begin = , #1-end = {#2}, #1-after = , + #1-before* = , #1-begin* = , #1-end* = {#3}, #1-after* = , + #1-sep = {#4}, #1-sep* = {#5} + } } - \cs_gset:Nn \@@_restore_par_list: { - \SetLipsumParListItemSeparator{\space} - \SetLipsumParListItemSeparator*{\par} - \SetLipsumParListEnd{} - \SetLipsumParListEnd*{} - \SetLipsumParListItemSurrounders*{}{} - \SetLipsumParListItemSurrounders{}{} +\cs_new_protected:Nn \@@_restore_sentence_list: + { \@@_delim_restore:nnnnn { sentence } { } { } { ~ } { ~ } } +\cs_new_eq:NN \@@_restore_par_list: ? +\cs_new_protected:Npn \LipsumRestoreParList + { + \@@_deprecated:n { LipsumRestoreParList } + \@@_restore_par_list: + } +\cs_new_protected:Npn \LipsumRestoreSentenceList + { + \@@_deprecated:n { LipsumRestoreSentenceList } + \@@_restore_sentence_list: + } +\cs_new_protected:Npn \LipsumRestoreAll + { + \@@_deprecated:n { LipsumRestoreAll } + \@@_restore_par_list: \@@_restore_sentence_list: } -} -\ProcessOptions -\NewDocumentCommand\LipsumRestoreParList{}{} -\cs_gset_eq:NN - \LipsumRestoreParList - \@@_restore_par_list: -\NewDocumentCommand\LipsumRestoreSentenceList{}{} -\cs_gset_eq:NN - \LipsumRestoreSentenceList - \@@_restore_sentence_list: -\NewDocumentCommand\LipsumRestoreAll{}{ - \LipsumRestoreParList - \LipsumRestoreSentenceList -} -\LipsumRestoreAll -\ExplSyntaxOff - -\SetLipsumDefault{1-7} -\SetLipsumText{lipsum} % \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\setlipsum} +% Here are the options available at load-time and to \cs{setlipsum}. % \begin{macrocode} -%</package> +\NewDocumentCommand \setlipsum { +m } + { \keys_set:nn { lipsum } {#1} } +\keys_define:nn { lipsum } + { +% \end{macrocode} +% \opt{nopar} is implemented as a choice key instead of a boolean so +% we can update the separators using \cs{@@_delim_restore:nnnnn}. +% It's initially false, and the default is |true| so that +% |\usepackage[nopar]{lipsum}| works as it always did. +% \begin{macrocode} + nopar .choice: , + nopar / true .code:n = + { + \cs_gset_protected:Npn \@@_restore_par_list: + { \@@_delim_restore:nnnnn { par } { } { \par } { ~ } { } } + } , + nopar / false .code:n = + { + \cs_gset_protected:Nn \@@_restore_par_list: + { \@@_delim_restore:nnnnn { par } { \par } { } { } { ~ } } + } , + nopar .initial:n = false , + nopar .default:n = true , % \end{macrocode} -% \newgeometry{a4paper, top=2cm, left=2cm, right=2cm, bottom=3cm, marginparwidth=3cm} -% \newpage -% \section{Texts} -% \subsection{The \lips\ dummy text} +% \opt{auto-lang} sets \cs{l_@@_autolang_bool}. It is initially +% |true|, changing the default behaviour from previous versions. % \begin{macrocode} -%<*lipsum> + auto-lang .bool_set:N = \l_@@_autolang_bool , + auto-lang .initial:n = true , + auto-lang .default:n = true , % \end{macrocode} +% \opt{text} just does \cs{SetLipsumText}. The |initial| value is not +% set here because this chunk of code is executed in \pkg{expl3} +% syntax, then thetextloadswithoutspaces, so |\setlipsum{text=lipsum}| +% is used later. % \begin{macrocode} -\NewLipsumPar{% - Lorem ipsum dolor sit amet, consectetuer - adipiscing elit. Ut purus elit, vestibulum ut, placerat ac, - adipiscing vitae, felis. Curabitur dictum gravida mauris. Nam arcu - libero, nonummy eget, consectetuer id, vulputate a, magna. Donec - vehicula augue eu neque. Pellentesque habitant morbi tristique - senectus et netus et malesuada fames ac turpis egestas. Mauris ut - leo. Cras viverra metus rhoncus sem. Nulla et lectus vestibulum urna - fringilla ultrices. Phasellus eu tellus sit amet tortor gravida - placerat. Integer sapien est, iaculis in, pretium quis, viverra ac, - nunc. Praesent eget sem vel leo ultrices bibendum. Aenean faucibus. - Morbi dolor nulla, malesuada eu, pulvinar at, mollis ac, nulla. - Curabitur auctor semper nulla. Donec varius orci eget risus. Duis - nibh mi, congue eu, accumsan eleifend, sagittis quis, diam. Duis - eget orci sit amet orci dignissim rutrum.} - %{2} -\NewLipsumPar{Nam dui ligula, fringilla a, euismod sodales, - sollicitudin vel, wisi. Morbi auctor lorem non justo. Nam lacus - libero, pretium at, lobortis vitae, ultricies et, tellus. Donec - aliquet, tortor sed accumsan bibendum, erat ligula aliquet magna, - vitae ornare odio metus a mi. Morbi ac orci et nisl hendrerit - mollis. Suspendisse ut massa. Cras nec ante. Pellentesque a nulla. - Cum sociis natoque penatibus et magnis dis parturient montes, - nascetur ridiculus mus. Aliquam tincidunt urna. Nulla ullamcorper - vestibulum turpis. Pellentesque cursus luctus mauris.} - %{3} -\NewLipsumPar{Nulla malesuada porttitor diam. Donec felis - erat, congue non, volutpat at, tincidunt tristique, libero. Vivamus - viverra fermentum felis. Donec nonummy pellentesque ante. Phasellus - adipiscing semper elit. Proin fermentum massa ac quam. Sed diam - turpis, molestie vitae, placerat a, molestie nec, leo. Maecenas - lacinia. Nam ipsum ligula, eleifend at, accumsan nec, suscipit a, - ipsum. Morbi blandit ligula feugiat magna. Nunc eleifend consequat - lorem. Sed lacinia nulla vitae enim. Pellentesque tincidunt purus - vel magna. Integer non enim. Praesent euismod nunc eu purus. Donec - bibendum quam in tellus. Nullam cursus pulvinar lectus. Donec et mi. - Nam vulputate metus eu enim. Vestibulum pellentesque felis eu - massa.} - %{4} -\NewLipsumPar{Quisque ullamcorper placerat ipsum. Cras nibh. - Morbi vel justo vitae lacus tincidunt ultrices. Lorem ipsum dolor - sit amet, consectetuer adipiscing elit. In hac habitasse platea - dictumst. Integer tempus convallis augue. Etiam facilisis. Nunc - elementum fermentum wisi. Aenean placerat. Ut imperdiet, enim sed - gravida sollicitudin, felis odio placerat quam, ac pulvinar elit - purus eget enim. Nunc vitae tortor. Proin tempus nibh sit amet nisl. - Vivamus quis tortor vitae risus porta vehicula.} - %{5} -\NewLipsumPar{Fusce mauris. Vestibulum luctus nibh at lectus. - Sed bibendum, nulla a faucibus semper, leo velit ultricies tellus, - ac venenatis arcu wisi vel nisl. Vestibulum diam. Aliquam - pellentesque, augue quis sagittis posuere, turpis lacus congue quam, - in hendrerit risus eros eget felis. Maecenas eget erat in sapien - mattis porttitor. Vestibulum porttitor. Nulla facilisi. Sed a turpis - eu lacus commodo facilisis. Morbi fringilla, wisi in dignissim - interdum, justo lectus sagittis dui, et vehicula libero dui cursus - dui. Mauris tempor ligula sed lacus. Duis cursus enim ut augue. Cras - ac magna. Cras nulla. Nulla egestas. Curabitur a leo. Quisque - egestas wisi eget nunc. Nam feugiat lacus vel est. Curabitur - consectetuer.} - %{6} -\NewLipsumPar{Suspendisse vel felis. Ut lorem lorem, interdum - eu, tincidunt sit amet, laoreet vitae, arcu. Aenean faucibus pede eu - ante. Praesent enim elit, rutrum at, molestie non, nonummy vel, - nisl. Ut lectus eros, malesuada sit amet, fermentum eu, sodales - cursus, magna. Donec eu purus. Quisque vehicula, urna sed ultricies - auctor, pede lorem egestas dui, et convallis elit erat sed nulla. - Donec luctus. Curabitur et nunc. Aliquam dolor odio, commodo - pretium, ultricies non, pharetra in, velit. Integer arcu est, - nonummy in, fermentum faucibus, egestas vel, odio.} - %{7} -\NewLipsumPar{Sed commodo posuere pede. Mauris ut est. Ut - quis purus. Sed ac odio. Sed vehicula hendrerit sem. Duis non odio. - Morbi ut dui. Sed accumsan risus eget odio. In hac habitasse platea - dictumst. Pellentesque non elit. Fusce sed justo eu urna porta - tincidunt. Mauris felis odio, sollicitudin sed, volutpat a, ornare - ac, erat. Morbi quis dolor. Donec pellentesque, erat ac sagittis - semper, nunc dui lobortis purus, quis congue purus metus ultricies - tellus. Proin et quam. Class aptent taciti sociosqu ad litora - torquent per conubia nostra, per inceptos hymenaeos. Praesent sapien - turpis, fermentum vel, eleifend faucibus, vehicula eu, lacus.} - %{8} -\NewLipsumPar{Pellentesque habitant morbi tristique senectus - et netus et malesuada fames ac turpis egestas. Donec odio elit, - dictum in, hendrerit sit amet, egestas sed, leo. Praesent feugiat - sapien aliquet odio. Integer vitae justo. Aliquam vestibulum - fringilla lorem. Sed neque lectus, consectetuer at, consectetuer - sed, eleifend ac, lectus. Nulla facilisi. Pellentesque eget lectus. - Proin eu metus. Sed porttitor. In hac habitasse platea dictumst. - Suspendisse eu lectus. Ut mi mi, lacinia sit amet, placerat et, - mollis vitae, dui. Sed ante tellus, tristique ut, iaculis eu, - malesuada ac, dui. Mauris nibh leo, facilisis non, adipiscing quis, - ultrices a, dui.} - %{9} -\NewLipsumPar{Morbi luctus, wisi viverra faucibus pretium, - nibh est placerat odio, nec commodo wisi enim eget quam. Quisque - libero justo, consectetuer a, feugiat vitae, porttitor eu, libero. - Suspendisse sed mauris vitae elit sollicitudin malesuada. Maecenas - ultricies eros sit amet ante. Ut venenatis velit. Maecenas sed mi - eget dui varius euismod. Phasellus aliquet volutpat odio. Vestibulum - ante ipsum primis in faucibus orci luctus et ultrices posuere - cubilia Curae; Pellentesque sit amet pede ac sem eleifend - consectetuer. Nullam elementum, urna vel imperdiet sodales, elit - ipsum pharetra ligula, ac pretium ante justo a nulla. Curabitur - tristique arcu eu metus. Vestibulum lectus. Proin mauris. Proin eu - nunc eu urna hendrerit faucibus. Aliquam auctor, pede consequat - laoreet varius, eros tellus scelerisque quam, pellentesque hendrerit - ipsum dolor sed augue. Nulla nec lacus.} - %{10} -\NewLipsumPar{Suspendisse vitae elit. Aliquam arcu neque, - ornare in, ullamcorper quis, commodo eu, libero. Fusce sagittis erat - at erat tristique mollis. Maecenas sapien libero, molestie et, - lobortis in, sodales eget, dui. Morbi ultrices rutrum lorem. Nam - elementum ullamcorper leo. Morbi dui. Aliquam sagittis. Nunc - placerat. Pellentesque tristique sodales est. Maecenas imperdiet - lacinia velit. Cras non urna. Morbi eros pede, suscipit ac, varius - vel, egestas non, eros. Praesent malesuada, diam id pretium - elementum, eros sem dictum tortor, vel consectetuer odio sem sed - wisi.} - %{11} -\NewLipsumPar{Sed feugiat. Cum sociis natoque penatibus et - magnis dis parturient montes, nascetur ridiculus mus. Ut - pellentesque augue sed urna. Vestibulum diam eros, fringilla et, - consectetuer eu, nonummy id, sapien. Nullam at lectus. In sagittis - ultrices mauris. Curabitur malesuada erat sit amet massa. Fusce - blandit. Aliquam erat volutpat. Aliquam euismod. Aenean vel lectus. - Nunc imperdiet justo nec dolor.} - %{12} -\NewLipsumPar{Etiam euismod. Fusce facilisis lacinia dui. - Suspendisse potenti. In mi erat, cursus id, nonummy sed, ullamcorper - eget, sapien. Praesent pretium, magna in eleifend egestas, pede pede - pretium lorem, quis consectetuer tortor sapien facilisis magna. - Mauris quis magna varius nulla scelerisque imperdiet. Aliquam non - quam. Aliquam porttitor quam a lacus. Praesent vel arcu ut tortor - cursus volutpat. In vitae pede quis diam bibendum placerat. Fusce - elementum convallis neque. Sed dolor orci, scelerisque ac, dapibus - nec, ultricies ut, mi. Duis nec dui quis leo sagittis commodo.} - %{13} -\NewLipsumPar{Aliquam lectus. Vivamus leo. Quisque ornare - tellus ullamcorper nulla. Mauris porttitor pharetra tortor. Sed - fringilla justo sed mauris. Mauris tellus. Sed non leo. Nullam - elementum, magna in cursus sodales, augue est scelerisque sapien, - venenatis congue nulla arcu et pede. Ut suscipit enim vel sapien. - Donec congue. Maecenas urna mi, suscipit in, placerat ut, vestibulum - ut, massa. Fusce ultrices nulla et nisl.} - %{14} -\NewLipsumPar{Etiam ac leo a risus tristique nonummy. Donec - dignissim tincidunt nulla. Vestibulum rhoncus molestie odio. Sed - lobortis, justo et pretium lobortis, mauris turpis condimentum - augue, nec ultricies nibh arcu pretium enim. Nunc purus neque, - placerat id, imperdiet sed, pellentesque nec, nisl. Vestibulum - imperdiet neque non sem accumsan laoreet. In hac habitasse platea - dictumst. Etiam condimentum facilisis libero. Suspendisse in elit - quis nisl aliquam dapibus. Pellentesque auctor sapien. Sed egestas - sapien nec lectus. Pellentesque vel dui vel neque bibendum viverra. - Aliquam porttitor nisl nec pede. Proin mattis libero vel turpis. - Donec rutrum mauris et libero. Proin euismod porta felis. Nam - lobortis, metus quis elementum commodo, nunc lectus elementum - mauris, eget vulputate ligula tellus eu neque. Vivamus eu - dolor.} - %{15} -\NewLipsumPar{Nulla in ipsum. Praesent eros nulla, congue - vitae, euismod ut, commodo a, wisi. Pellentesque habitant morbi - tristique senectus et netus et malesuada fames ac turpis egestas. - Aenean nonummy magna non leo. Sed felis erat, ullamcorper in, dictum - non, ultricies ut, lectus. Proin vel arcu a odio lobortis euismod. - Vestibulum ante ipsum primis in faucibus orci luctus et ultrices - posuere cubilia Curae; Proin ut est. Aliquam odio. Pellentesque - massa turpis, cursus eu, euismod nec, tempor congue, nulla. Duis - viverra gravida mauris. Cras tincidunt. Curabitur eros ligula, - varius ut, pulvinar in, cursus faucibus, augue.} - %{16} -\NewLipsumPar{Nulla mattis luctus nulla. Duis commodo velit - at leo. Aliquam vulputate magna et leo. Nam vestibulum ullamcorper - leo. Vestibulum condimentum rutrum mauris. Donec id mauris. Morbi - molestie justo et pede. Vivamus eget turpis sed nisl cursus tempor. - Curabitur mollis sapien condimentum nunc. In wisi nisl, malesuada - at, dignissim sit amet, lobortis in, odio. Aenean consequat arcu a - ante. Pellentesque porta elit sit amet orci. Etiam at turpis nec - elit ultricies imperdiet. Nulla facilisi. In hac habitasse platea - dictumst. Suspendisse viverra aliquam risus. Nullam pede justo, - molestie nonummy, scelerisque eu, facilisis vel, arcu.} - %{17} -\NewLipsumPar{Curabitur tellus magna, porttitor a, commodo - a, commodo in, tortor. Donec interdum. Praesent scelerisque. - Maecenas posuere sodales odio. Vivamus metus lacus, varius quis, - imperdiet quis, rhoncus a, turpis. Etiam ligula arcu, elementum a, - venenatis quis, sollicitudin sed, metus. Donec nunc pede, tincidunt - in, venenatis vitae, faucibus vel, nibh. Pellentesque wisi. Nullam - malesuada. Morbi ut tellus ut pede tincidunt porta. Lorem ipsum - dolor sit amet, consectetuer adipiscing elit. Etiam congue neque id - dolor.} - %{18} -\NewLipsumPar{Donec et nisl at wisi luctus bibendum. Nam - interdum tellus ac libero. Sed sem justo, laoreet vitae, fringilla - at, adipiscing ut, nibh. Maecenas non sem quis tortor eleifend - fermentum. Etiam id tortor ac mauris porta vulputate. Integer porta - neque vitae massa. Maecenas tempus libero a libero posuere dictum. - Vestibulum ante ipsum primis in faucibus orci luctus et ultrices - posuere cubilia Curae; Aenean quis mauris sed elit commodo placerat. - Class aptent taciti sociosqu ad litora torquent per conubia nostra, - per inceptos hymenaeos. Vivamus rhoncus tincidunt libero. Etiam - elementum pretium justo. Vivamus est. Morbi a tellus eget pede - tristique commodo. Nulla nisl. Vestibulum sed nisl eu sapien cursus - rutrum.} - %{19} -\NewLipsumPar{Nulla non mauris vitae wisi posuere convallis. - Sed eu nulla nec eros scelerisque pharetra. Nullam varius. Etiam - dignissim elementum metus. Vestibulum faucibus, metus sit amet - mattis rhoncus, sapien dui laoreet odio, nec ultricies nibh augue a - enim. Fusce in ligula. Quisque at magna et nulla commodo consequat. - Proin accumsan imperdiet sem. Nunc porta. Donec feugiat mi at justo. - Phasellus facilisis ipsum quis ante. In ac elit eget ipsum pharetra - faucibus. Maecenas viverra nulla in massa.} - %{20} -\NewLipsumPar{Nulla ac nisl. Nullam urna nulla, ullamcorper - in, interdum sit amet, gravida ut, risus. Aenean ac enim. In luctus. - Phasellus eu quam vitae turpis viverra pellentesque. Duis feugiat - felis ut enim. Phasellus pharetra, sem id porttitor sodales, magna - nunc aliquet nibh, nec blandit nisl mauris at pede. Suspendisse - risus risus, lobortis eget, semper at, imperdiet sit amet, quam. - Quisque scelerisque dapibus nibh. Nam enim. Lorem ipsum dolor sit - amet, consectetuer adipiscing elit. Nunc ut metus. Ut metus justo, - auctor at, ultrices eu, sagittis ut, purus. Aliquam aliquam.} - %{21} -\NewLipsumPar{Etiam pede massa, dapibus vitae, rhoncus in, - placerat posuere, odio. Vestibulum luctus commodo lacus. Morbi lacus - dui, tempor sed, euismod eget, condimentum at, tortor. Phasellus - aliquet odio ac lacus tempor faucibus. Praesent sed sem. Praesent - iaculis. Cras rhoncus tellus sed justo ullamcorper sagittis. Donec - quis orci. Sed ut tortor quis tellus euismod tincidunt. Suspendisse - congue nisl eu elit. Aliquam tortor diam, tempus id, tristique eget, - sodales vel, nulla. Praesent tellus mi, condimentum sed, viverra at, - consectetuer quis, lectus. In auctor vehicula orci. Sed pede sapien, - euismod in, suscipit in, pharetra placerat, metus. Vivamus commodo - dui non odio. Donec et felis.} - %{22} -\NewLipsumPar{Etiam suscipit aliquam arcu. Aliquam sit amet - est ac purus bibendum congue. Sed in eros. Morbi non orci. - Pellentesque mattis lacinia elit. Fusce molestie velit in ligula. - Nullam et orci vitae nibh vulputate auctor. Aliquam eget purus. - Nulla auctor wisi sed ipsum. Morbi porttitor tellus ac enim. Fusce - ornare. Proin ipsum enim, tincidunt in, ornare venenatis, molestie - a, augue. Donec vel pede in lacus sagittis porta. Sed hendrerit - ipsum quis nisl. Suspendisse quis massa ac nibh pretium cursus. Sed - sodales. Nam eu neque quis pede dignissim ornare. Maecenas eu purus - ac urna tincidunt congue.} - %{23} -\NewLipsumPar{Donec et nisl id sapien blandit mattis. - Aenean dictum odio sit amet risus. Morbi purus. Nulla a est sit amet - purus venenatis iaculis. Vivamus viverra purus vel magna. Donec in - justo sed odio malesuada dapibus. Nunc ultrices aliquam nunc. - Vivamus facilisis pellentesque velit. Nulla nunc velit, vulputate - dapibus, vulputate id, mattis ac, justo. Nam mattis elit dapibus - purus. Quisque enim risus, congue non, elementum ut, mattis quis, - sem. Quisque elit.} - %{24} -\NewLipsumPar{Maecenas non massa. Vestibulum pharetra nulla - at lorem. Duis quis quam id lacus dapibus interdum. Nulla lorem. - Donec ut ante quis dolor bibendum condimentum. Etiam egestas tortor - vitae lacus. Praesent cursus. Mauris bibendum pede at elit. Morbi et - felis a lectus interdum facilisis. Sed suscipit gravida turpis. - Nulla at lectus. Vestibulum ante ipsum primis in faucibus orci - luctus et ultrices posuere cubilia Curae; Praesent nonummy luctus - nibh. Proin turpis nunc, congue eu, egestas ut, fringilla at, - tellus. In hac habitasse platea dictumst.} - %{25} -\NewLipsumPar{Vivamus eu tellus sed tellus consequat - suscipit. Nam orci orci, malesuada id, gravida nec, ultricies vitae, - erat. Donec risus turpis, luctus sit amet, interdum quis, porta sed, - ipsum. Suspendisse condimentum, tortor at egestas posuere, neque - metus tempor orci, et tincidunt urna nunc a purus. Sed facilisis - blandit tellus. Nunc risus sem, suscipit nec, eleifend quis, cursus - quis, libero. Curabitur et dolor. Sed vitae sem. Cum sociis natoque - penatibus et magnis dis parturient montes, nascetur ridiculus mus. - Maecenas ante. Duis ullamcorper enim. Donec tristique enim eu leo. - Nullam molestie elit eu dolor. Nullam bibendum, turpis vitae - tristique gravida, quam sapien tempor lectus, quis pretium tellus - purus ac quam. Nulla facilisi.} - %{26} -\NewLipsumPar{Duis aliquet dui in est. Donec eget est. Nunc - lectus odio, varius at, fermentum in, accumsan non, enim. Aliquam - erat volutpat. Proin sit amet nulla ut eros consectetuer cursus. - Phasellus dapibus aliquam justo. Nunc laoreet. Donec consequat - placerat magna. Duis pretium tincidunt justo. Sed sollicitudin - vestibulum quam. Nam quis ligula. Vivamus at metus. Etiam imperdiet - imperdiet pede. Aenean turpis. Fusce augue velit, scelerisque - sollicitudin, dictum vitae, tempor et, pede. Donec wisi sapien, - feugiat in, fermentum ut, sollicitudin adipiscing, metus.} - %{27} -\NewLipsumPar{Donec vel nibh ut felis consectetuer laoreet. - Donec pede. Sed id quam id wisi laoreet suscipit. Nulla lectus - dolor, aliquam ac, fringilla eget, mollis ut, orci. In pellentesque - justo in ligula. Maecenas turpis. Donec eleifend leo at felis - tincidunt consequat. Aenean turpis metus, malesuada sed, condimentum - sit amet, auctor a, wisi. Pellentesque sapien elit, bibendum ac, - posuere et, congue eu, felis. Vestibulum mattis libero quis metus - scelerisque ultrices. Sed purus.} - %{28} -\NewLipsumPar{Donec molestie, magna ut luctus ultrices, - tellus arcu nonummy velit, sit amet pulvinar elit justo et mauris. - In pede. Maecenas euismod elit eu erat. Aliquam augue wisi, - facilisis congue, suscipit in, adipiscing et, ante. In justo. Cras - lobortis neque ac ipsum. Nunc fermentum massa at ante. Donec orci - tortor, egestas sit amet, ultrices eget, venenatis eget, mi. - Maecenas vehicula leo semper est. Mauris vel metus. Aliquam erat - volutpat. In rhoncus sapien ac tellus. Pellentesque ligula.} - %{29} -\NewLipsumPar{Cras dapibus, augue quis scelerisque - ultricies, felis dolor placerat sem, id porta velit odio eu elit. - Aenean interdum nibh sed wisi. Praesent sollicitudin vulputate dui. - Praesent iaculis viverra augue. Quisque in libero. Aenean gravida - lorem vitae sem ullamcorper cursus. Nunc adipiscing rutrum ante. - Nunc ipsum massa, faucibus sit amet, viverra vel, elementum semper, - orci. Cras eros sem, vulputate et, tincidunt id, ultrices eget, - magna. Nulla varius ornare odio. Donec accumsan mauris sit amet - augue. Sed ligula lacus, laoreet non, aliquam sit amet, iaculis - tempor, lorem. Suspendisse eros. Nam porta, leo sed congue tempor, - felis est ultrices eros, id mattis velit felis non metus. Curabitur - vitae elit non mauris varius pretium. Aenean lacus sem, tincidunt - ut, consequat quis, porta vitae, turpis. Nullam laoreet fermentum - urna. Proin iaculis lectus.} - %{30} -\NewLipsumPar{Sed mattis, erat sit amet gravida malesuada, - elit augue egestas diam, tempus scelerisque nunc nisl vitae libero. - Sed consequat feugiat massa. Nunc porta, eros in eleifend varius, - erat leo rutrum dui, non convallis lectus orci ut nibh. Sed lorem - massa, nonummy quis, egestas id, condimentum at, nisl. Maecenas at - nibh. Aliquam et augue at nunc pellentesque ullamcorper. Duis nisl - nibh, laoreet suscipit, convallis ut, rutrum id, enim. Phasellus - odio. Nulla nulla elit, molestie non, scelerisque at, vestibulum - eu, nulla. Ut odio nisl, facilisis id, mollis et, scelerisque nec, - enim. Aenean sem leo, pellentesque sit amet, scelerisque sit amet, - vehicula pellentesque, sapien.} - %{31} -\NewLipsumPar{Sed consequat tellus et tortor. Ut tempor - laoreet quam. Nullam id wisi a libero tristique semper. Nullam nisl - massa, rutrum ut, egestas semper, mollis id, leo. Nulla ac massa eu - risus blandit mattis. Mauris ut nunc. In hac habitasse platea - dictumst. Aliquam eget tortor. Quisque dapibus pede in erat. Nunc - enim. In dui nulla, commodo at, consectetuer nec, malesuada nec, - elit. Aliquam ornare tellus eu urna. Sed nec metus. Cum sociis - natoque penatibus et magnis dis parturient montes, nascetur - ridiculus mus. Pellentesque habitant morbi tristique senectus et - netus et malesuada fames ac turpis egestas.} - %{32} -\NewLipsumPar{Phasellus id magna. Duis malesuada interdum - arcu. Integer metus. Morbi pulvinar pellentesque mi. Suspendisse - sed est eu magna molestie egestas. Quisque mi lorem, pulvinar eget, - egestas quis, luctus at, ante. Proin auctor vehicula purus. Fusce ac - nisl aliquam ante hendrerit pellentesque. Class aptent taciti - sociosqu ad litora torquent per conubia nostra, per inceptos - hymenaeos. Morbi wisi. Etiam arcu mauris, facilisis sed, eleifend - non, nonummy ut, pede. Cras ut lacus tempor metus mollis placerat. - Vivamus eu tortor vel metus interdum malesuada.} - %{33} -\NewLipsumPar{Sed eleifend, eros sit amet faucibus - elementum, urna sapien consectetuer mauris, quis egestas leo justo - non risus. Morbi non felis ac libero vulputate fringilla. Mauris - libero eros, lacinia non, sodales quis, dapibus porttitor, pede. - Class aptent taciti sociosqu ad litora torquent per conubia nostra, - per inceptos hymenaeos. Morbi dapibus mauris condimentum nulla. Cum - sociis natoque penatibus et magnis dis parturient montes, nascetur - ridiculus mus. Etiam sit amet erat. Nulla varius. Etiam tincidunt - dui vitae turpis. Donec leo. Morbi vulputate convallis est. Integer - aliquet. Pellentesque aliquet sodales urna.} - %{34} -\NewLipsumPar{Nullam eleifend justo in nisl. In hac - habitasse platea dictumst. Morbi nonummy. Aliquam ut felis. In velit - leo, dictum vitae, posuere id, vulputate nec, ante. Maecenas vitae - pede nec dui dignissim suscipit. Morbi magna. Vestibulum id purus - eget velit laoreet laoreet. Praesent sed leo vel nibh convallis - blandit. Ut rutrum. Donec nibh. Donec interdum. Fusce sed pede sit - amet elit rhoncus ultrices. Nullam at enim vitae pede vehicula - iaculis.} - %{35} -\NewLipsumPar{Class aptent taciti sociosqu ad litora - torquent per conubia nostra, per inceptos hymenaeos. Aenean nonummy - turpis id odio. Integer euismod imperdiet turpis. Ut nec leo nec - diam imperdiet lacinia. Etiam eget lacus eget mi ultricies posuere. - In placerat tristique tortor. Sed porta vestibulum metus. Nulla - iaculis sollicitudin pede. Fusce luctus tellus in dolor. Curabitur - auctor velit a sem. Morbi sapien. Class aptent taciti sociosqu ad - litora torquent per conubia nostra, per inceptos hymenaeos. Donec - adipiscing urna vehicula nunc. Sed ornare leo in leo. In rhoncus leo - ut dui. Aenean dolor quam, volutpat nec, fringilla id, consectetuer - vel, pede.} - %{36} -\NewLipsumPar{Nulla malesuada risus ut urna. Aenean pretium - velit sit amet metus. Duis iaculis. In hac habitasse platea - dictumst. Nullam molestie turpis eget nisl. Duis a massa id pede - dapibus ultricies. Sed eu leo. In at mauris sit amet tortor bibendum - varius. Phasellus justo risus, posuere in, sagittis ac, varius vel, - tortor. Quisque id enim. Phasellus consequat, libero pretium - nonummy fringilla, tortor lacus vestibulum nunc, ut rhoncus ligula - neque id justo. Nullam accumsan euismod nunc. Proin vitae ipsum ac - metus dictum tempus. Nam ut wisi. Quisque tortor felis, interdum ac, - sodales a, semper a, sem. Curabitur in velit sit amet dui tristique - sodales. Vivamus mauris pede, lacinia eget, pellentesque quis, - scelerisque eu, est. Aliquam risus. Quisque bibendum pede eu - dolor.} - %{37} -\NewLipsumPar{Donec tempus neque vitae est. Aenean egestas - odio sed risus ullamcorper ullamcorper. Sed in nulla a tortor - tincidunt egestas. Nam sapien tortor, elementum sit amet, aliquam - in, porttitor faucibus, enim. Nullam congue suscipit nibh. Quisque - convallis. Praesent arcu nibh, vehicula eget, accumsan eu, tincidunt - a, nibh. Suspendisse vulputate, tortor quis adipiscing viverra, - lacus nibh dignissim tellus, eu suscipit risus ante fringilla diam. - Quisque a libero vel pede imperdiet aliquet. Pellentesque nunc nibh, - eleifend a, consequat consequat, hendrerit nec, diam. Sed urna. - Maecenas laoreet eleifend neque. Vivamus purus odio, eleifend non, - iaculis a, ultrices sit amet, urna. Mauris faucibus odio vitae - risus. In nisl. Praesent purus. Integer iaculis, sem eu egestas - lacinia, lacus pede scelerisque augue, in ullamcorper dolor eros ac - lacus. Nunc in libero.} - %{38} -\NewLipsumPar{Fusce suscipit cursus sem. Vivamus risus - mi, egestas ac, imperdiet varius, faucibus quis, leo. Aenean - tincidunt. Donec suscipit. Cras id justo quis nibh scelerisque - dignissim. Aliquam sagittis elementum dolor. Aenean consectetuer - justo in pede. Curabitur ullamcorper ligula nec orci. Aliquam purus - turpis, aliquam id, ornare vitae, porttitor non, wisi. Maecenas - luctus porta lorem. Donec vitae ligula eu ante pretium varius. - Proin tortor metus, convallis et, hendrerit non, scelerisque in, - urna. Cras quis libero eu ligula bibendum tempor. Vivamus tellus - quam, malesuada eu, tempus sed, tempor sed, velit. Donec lacinia - auctor libero.} - %{39} -\NewLipsumPar{Praesent sed neque id pede mollis rutrum. - Vestibulum iaculis risus. Pellentesque lacus. Ut quis nunc sed odio - malesuada egestas. Duis a magna sit amet ligula tristique pretium. - Ut pharetra. Vestibulum imperdiet magna nec wisi. Mauris convallis. - Sed accumsan sollicitudin massa. Sed id enim. Nunc pede enim, - lacinia ut, pulvinar quis, suscipit semper, elit. Cras accumsan erat - vitae enim. Cras sollicitudin. Vestibulum rutrum blandit massa.} - %{40} -\NewLipsumPar{Sed gravida lectus ut purus. Morbi laoreet - magna. Pellentesque eu wisi. Proin turpis. Integer sollicitudin - augue nec dui. Fusce lectus. Vivamus faucibus nulla nec lacus. - Integer diam. Pellentesque sodales, enim feugiat cursus volutpat, - sem mauris dignissim mauris, quis consequat sem est fermentum - ligula. Nullam justo lectus, condimentum sit amet, posuere a, - fringilla mollis, felis. Morbi nulla nibh, pellentesque at, nonummy - eu, sollicitudin nec, ipsum. Cras neque. Nunc augue. Nullam vitae - quam id quam pulvinar blandit. Nunc sit amet orci. Aliquam erat - elit, pharetra nec, aliquet a, gravida in, mi. Quisque urna enim, - viverra quis, suscipit quis, tincidunt ut, sapien. Cras placerat - consequat sem. Curabitur ac diam. Curabitur diam tortor, mollis et, - viverra ac, tempus vel, metus.} - %{41} -\NewLipsumPar{Curabitur ac lorem. Vivamus non justo in dui - mattis posuere. Etiam accumsan ligula id pede. Maecenas tincidunt - diam nec velit. Praesent convallis sapien ac est. Aliquam - ullamcorper euismod nulla. Integer mollis enim vel tortor. Nulla - sodales placerat nunc. Sed tempus rutrum wisi. Duis accumsan - gravida purus. Nunc nunc. Etiam facilisis dui eu sem. Vestibulum - semper. Praesent eu eros. Vestibulum tellus nisl, dapibus id, - vestibulum sit amet, placerat ac, mauris. Maecenas et elit ut erat - placerat dictum. Nam feugiat, turpis et sodales volutpat, wisi quam - rhoncus neque, vitae aliquam ipsum sapien vel enim. Maecenas - suscipit cursus mi.} - %{42} -\NewLipsumPar{Quisque consectetuer. In suscipit mauris a - dolor pellentesque consectetuer. Mauris convallis neque non erat. In - lacinia. Pellentesque leo eros, sagittis quis, fermentum quis, - tincidunt ut, sapien. Maecenas sem. Curabitur eros odio, interdum - eu, feugiat eu, porta ac, nisl. Curabitur nunc. Etiam fermentum - convallis velit. Pellentesque laoreet lacus. Quisque sed elit. Nam - quis tellus. Aliquam tellus arcu, adipiscing non, tincidunt - eleifend, adipiscing quis, augue. Vivamus elementum placerat enim. - Suspendisse ut tortor. Integer faucibus adipiscing felis. Aenean - consectetuer mattis lectus. Morbi malesuada faucibus dolor. Nam - lacus. Etiam arcu libero, malesuada vitae, aliquam vitae, blandit - tristique, nisl.} - %{43} -\NewLipsumPar{Maecenas accumsan dapibus sapien. Duis - pretium iaculis arcu. Curabitur ut lacus. Aliquam vulputate. - Suspendisse ut purus sed sem tempor rhoncus. Ut quam dui, fringilla - at, dictum eget, ultricies quis, quam. Etiam sem est, pharetra non, - vulputate in, pretium at, ipsum. Nunc semper sagittis orci. Sed - scelerisque suscipit diam. Ut volutpat, dolor at ullamcorper - tristique, eros purus mollis quam, sit amet ornare ante nunc et - enim.} - %{44} -\NewLipsumPar{Phasellus fringilla, metus id feugiat - consectetuer, lacus wisi ultrices tellus, quis lobortis nibh lorem - quis tortor. Donec egestas ornare nulla. Mauris mi tellus, porta - faucibus, dictum vel, nonummy in, est. Aliquam erat volutpat. In - tellus magna, porttitor lacinia, molestie vitae, pellentesque eu, - justo. Class aptent taciti sociosqu ad litora torquent per conubia - nostra, per inceptos hymenaeos. Sed orci nibh, scelerisque sit amet, - suscipit sed, placerat vel, diam. Vestibulum nonummy vulputate orci. - Donec et velit ac arcu interdum semper. Morbi pede orci, cursus ac, - elementum non, vehicula ut, lacus. Cras volutpat. Nam vel wisi quis - libero venenatis placerat. Aenean sed odio. Quisque posuere purus ac - orci. Vivamus odio. Vivamus varius, nulla sit amet semper viverra, - odio mauris consequat lacus, at vestibulum neque arcu eu tortor. - Donec iaculis tincidunt tellus. Aliquam erat volutpat. Curabitur - magna lorem, dignissim volutpat, viverra et, adipiscing nec, dolor. - Praesent lacus mauris, dapibus vitae, sollicitudin sit amet, nonummy - eget, ligula.} - %{45} -\NewLipsumPar{Cras egestas ipsum a nisl. Vivamus varius dolor - ut dolor. Fusce vel enim. Pellentesque accumsan ligula et eros. Cras - id lacus non tortor facilisis facilisis. Etiam nisl elit, cursus - sed, fringilla in, congue nec, urna. Cum sociis natoque penatibus et - magnis dis parturient montes, nascetur ridiculus mus. Integer at - turpis. Cum sociis natoque penatibus et magnis dis parturient - montes, nascetur ridiculus mus. Duis fringilla, ligula sed porta - fringilla, ligula wisi commodo felis, ut adipiscing felis dui in - enim. Suspendisse malesuada ultrices ante. Pellentesque scelerisque - augue sit amet urna. Nulla volutpat aliquet tortor. Cras aliquam, - tellus at aliquet pellentesque, justo sapien commodo leo, id rhoncus - sapien quam at erat. Nulla commodo, wisi eget sollicitudin pretium, - orci orci aliquam orci, ut cursus turpis justo et lacus. Nulla vel - tortor. Quisque erat elit, viverra sit amet, sagittis eget, porta - sit amet, lacus.} - %{46} -\NewLipsumPar{In hac habitasse platea dictumst. Proin at - est. Curabitur tempus vulputate elit. Pellentesque sem. Praesent eu - sapien. Duis elit magna, aliquet at, tempus sed, vehicula non, enim. - Morbi viverra arcu nec purus. Vivamus fringilla, enim et commodo - malesuada, tortor metus elementum ligula, nec aliquet est sapien ut - lectus. Aliquam mi. Ut nec elit. Fusce euismod luctus tellus. - Curabitur scelerisque. Nullam purus. Nam ultricies accumsan magna. - Morbi pulvinar lorem sit amet ipsum. Donec ut justo vitae nibh - mollis congue. Fusce quis diam. Praesent tempus eros ut quam.} - %{47} -\NewLipsumPar{Donec in nisl. Fusce vitae est. Vivamus ante - ante, mattis laoreet, posuere eget, congue vel, nunc. Fusce sem. Nam - vel orci eu eros viverra luctus. Pellentesque sit amet augue. Nunc - sit amet ipsum et lacus varius nonummy. Integer rutrum sem eget - wisi. Aenean eu sapien. Quisque ornare dignissim mi. Duis a urna vel - risus pharetra imperdiet. Suspendisse potenti.} - %{48} -\NewLipsumPar{Morbi justo. Aenean nec dolor. In hac - habitasse platea dictumst. Proin nonummy porttitor velit. Sed sit - amet leo nec metus rhoncus varius. Cras ante. Vestibulum commodo sem - tincidunt massa. Nam justo. Aenean luctus, felis et condimentum - lacinia, lectus enim pulvinar purus, non porta velit nisl sed eros. - Suspendisse consequat. Mauris a dui et tortor mattis pretium. Sed - nulla metus, volutpat id, aliquam eget, ullamcorper ut, ipsum. Morbi - eu nunc. Praesent pretium. Duis aliquam pulvinar ligula. Ut blandit - egestas justo. Quisque posuere metus viverra pede.} - %{49} -\NewLipsumPar{Vivamus sodales elementum neque. Vivamus - dignissim accumsan neque. Sed at enim. Vestibulum nonummy interdum - purus. Mauris ornare velit id nibh pretium ultricies. Fusce tempor - pellentesque odio. Vivamus augue purus, laoreet in, scelerisque vel, - commodo id, wisi. Duis enim. Nulla interdum, nunc eu semper - eleifend, enim dolor pretium elit, ut commodo ligula nisl a est. - Vivamus ante. Nulla leo massa, posuere nec, volutpat vitae, rhoncus - eu, magna.} - % {50} -\NewLipsumPar{Quisque facilisis auctor sapien. Pellentesque - gravida hendrerit lectus. Mauris rutrum sodales sapien. Fusce - hendrerit sem vel lorem. Integer pellentesque massa vel augue. - Integer elit tortor, feugiat quis, sagittis et, ornare non, lacus. - Vestibulum posuere pellentesque eros. Quisque venenatis ipsum dictum - nulla. Aliquam quis quam non metus eleifend interdum. Nam eget - sapien ac mauris malesuada adipiscing. Etiam eleifend neque sed - quam. Nulla facilisi. Proin a ligula. Sed id dui eu nibh egestas - tincidunt. Suspendisse arcu.} - %{51} -\NewLipsumPar{Maecenas dui. Aliquam volutpat auctor lorem. - Cras placerat est vitae lectus. Curabitur massa lectus, rutrum - euismod, dignissim ut, dapibus a, odio. Ut eros erat, vulputate ut, - interdum non, porta eu, erat. Cras fermentum, felis in porta congue, - velit leo facilisis odio, vitae consectetuer lorem quam vitae orci. - Sed ultrices, pede eu placerat auctor, ante ligula rutrum tellus, - vel posuere nibh lacus nec nibh. Maecenas laoreet dolor at enim. - Donec molestie dolor nec metus. Vestibulum libero. Sed quis erat. - Sed tristique. Duis pede leo, fermentum quis, consectetuer eget, - vulputate sit amet, erat.} - %{52} -\NewLipsumPar{Donec vitae velit. Suspendisse porta fermentum - mauris. Ut vel nunc non mauris pharetra varius. Duis consequat - libero quis urna. Maecenas at ante. Vivamus varius, wisi sed egestas - tristique, odio wisi luctus nulla, lobortis dictum dolor ligula in - lacus. Vivamus aliquam, urna sed interdum porttitor, metus orci - interdum odio, sit amet euismod lectus felis et leo. Praesent ac - wisi. Nam suscipit vestibulum sem. Praesent eu ipsum vitae pede - cursus venenatis. Duis sed odio. Vestibulum eleifend. Nulla ut - massa. Proin rutrum mattis sapien. Curabitur dictum gravida - ante.} - %{53} -\NewLipsumPar{Phasellus placerat vulputate quam. Maecenas at - tellus. Pellentesque neque diam, dignissim ac, venenatis vitae, - consequat ut, lacus. Nam nibh. Vestibulum fringilla arcu mollis - arcu. Sed et turpis. Donec sem tellus, volutpat et, varius eu, - commodo sed, lectus. Lorem ipsum dolor sit amet, consectetuer - adipiscing elit. Quisque enim arcu, suscipit nec, tempus at, - imperdiet vel, metus. Morbi volutpat purus at erat. Donec dignissim, - sem id semper tempus, nibh massa eleifend turpis, sed pellentesque - wisi purus sed libero. Nullam lobortis tortor vel risus. - Pellentesque consequat nulla eu tellus. Donec velit. Aliquam - fermentum, wisi ac rhoncus iaculis, tellus nunc malesuada orci, quis - volutpat dui magna id mi. Nunc vel ante. Duis vitae lacus. Cras nec - ipsum.} - %{54} -\NewLipsumPar{Morbi nunc. Aliquam consectetuer varius nulla. - Phasellus eros. Cras dapibus porttitor risus. Maecenas ultrices mi - sed diam. Praesent gravida velit at elit vehicula porttitor. - Phasellus nisl mi, sagittis ac, pulvinar id, gravida sit amet, erat. - Vestibulum est. Lorem ipsum dolor sit amet, consectetuer adipiscing - elit. Curabitur id sem elementum leo rutrum hendrerit. Ut at mi. - Donec tincidunt faucibus massa. Sed turpis quam, sollicitudin a, - hendrerit eget, pretium ut, nisl. Duis hendrerit ligula. Nunc - pulvinar congue urna.} - %{55} -\NewLipsumPar{Nunc velit. Nullam elit sapien, eleifend eu, - commodo nec, semper sit amet, elit. Nulla lectus risus, condimentum - ut, laoreet eget, viverra nec, odio. Proin lobortis. Curabitur - dictum arcu vel wisi. Cras id nulla venenatis tortor congue - ultrices. Pellentesque eget pede. Sed eleifend sagittis elit. Nam - sed tellus sit amet lectus ullamcorper tristique. Mauris enim sem, - tristique eu, accumsan at, scelerisque vulputate, neque. Quisque - lacus. Donec et ipsum sit amet elit nonummy aliquet. Sed viverra - nisl at sem. Nam diam. Mauris ut dolor. Curabitur ornare tortor - cursus velit.} - %{56} -\NewLipsumPar{Morbi tincidunt posuere arcu. Cras venenatis - est vitae dolor. Vivamus scelerisque semper mi. Donec ipsum arcu, - consequat scelerisque, viverra id, dictum at, metus. Lorem ipsum - dolor sit amet, consectetuer adipiscing elit. Ut pede sem, tempus - ut, porttitor bibendum, molestie eu, elit. Suspendisse potenti. Sed - id lectus sit amet purus faucibus vehicula. Praesent sed sem non dui - pharetra interdum. Nam viverra ultrices magna.} - %{57} -\NewLipsumPar{Aenean laoreet aliquam orci. Nunc interdum - elementum urna. Quisque erat. Nullam tempor neque. Maecenas velit - nibh, scelerisque a, consequat ut, viverra in, enim. Duis magna. - Donec odio neque, tristique et, tincidunt eu, rhoncus ac, nunc. - Mauris malesuada malesuada elit. Etiam lacus mauris, pretium vel, - blandit in, ultricies id, libero. Phasellus bibendum erat ut diam. - In congue imperdiet lectus.} - %{58} -\NewLipsumPar{Aenean scelerisque. Fusce pretium porttitor - lorem. In hac habitasse platea dictumst. Nulla sit amet nisl at - sapien egestas pretium. Nunc non tellus. Vivamus aliquet. Nam - adipiscing euismod dolor. Aliquam erat volutpat. Nulla ut ipsum. - Quisque tincidunt auctor augue. Nunc imperdiet ipsum eget elit. - Aliquam quam leo, consectetuer non, ornare sit amet, tristique quis, - felis. Vestibulum ante ipsum primis in faucibus orci luctus et - ultrices posuere cubilia Curae; Pellentesque interdum quam sit amet - mi. Pellentesque mauris dui, dictum a, adipiscing ac, fermentum sit - amet, lorem.} - %{59} -\NewLipsumPar{Ut quis wisi. Praesent quis massa. Vivamus - egestas risus eget lacus. Nunc tincidunt, risus quis bibendum - facilisis, lorem purus rutrum neque, nec porta tortor urna quis - orci. Aenean aliquet, libero semper volutpat luctus, pede erat - lacinia augue, quis rutrum sem ipsum sit amet pede. Vestibulum - aliquet, nibh sed iaculis sagittis, odio dolor blandit augue, eget - mollis urna tellus id tellus. Aenean aliquet aliquam nunc. Nulla - ultricies justo eget orci. Phasellus tristique fermentum leo. Sed - massa metus, sagittis ut, semper ut, pharetra vel, erat. Aliquam - quam turpis, egestas vel, elementum in, egestas sit amet, lorem. - Duis convallis, wisi sit amet mollis molestie, libero mauris porta - dui, vitae aliquam arcu turpis ac sem. Aliquam aliquet dapibus - metus.} - %{60} -\NewLipsumPar{Vivamus commodo eros eleifend dui. Vestibulum in - leo eu erat tristique mattis. Cras at elit. Cras pellentesque. - Nullam id lacus sit amet libero aliquet hendrerit. Proin placerat, - mi non elementum laoreet, eros elit tincidunt magna, a rhoncus sem - arcu id odio. Nulla eget leo a leo egestas facilisis. Curabitur quis - velit. Phasellus aliquam, tortor nec ornare rhoncus, purus urna - posuere velit, et commodo risus tellus quis tellus. Vivamus leo - turpis, tempus sit amet, tristique vitae, laoreet quis, odio. Proin - scelerisque bibendum ipsum. Etiam nisl. Praesent vel dolor. - Pellentesque vel magna. Curabitur urna. Vivamus congue urna in - velit. Etiam ullamcorper elementum dui. Praesent non urna. Sed - placerat quam non mi. Pellentesque diam magna, ultricies eget, - ultrices placerat, adipiscing rutrum, sem.} - %{61} -\NewLipsumPar{Morbi sem. Nulla facilisi. Vestibulum ante - ipsum primis in faucibus orci luctus et ultrices posuere cubilia - Curae; Nulla facilisi. Morbi sagittis ultrices libero. Praesent eu - ligula sed sapien auctor sagittis. Class aptent taciti sociosqu ad - litora torquent per conubia nostra, per inceptos hymenaeos. Donec - vel nunc. Nunc fermentum, lacus id aliquam porta, dui tortor euismod - eros, vel molestie ipsum purus eu lacus. Vivamus pede arcu, euismod - ac, tempus id, pretium et, lacus. Curabitur sodales dapibus urna. - Nunc eu sapien. Donec eget nunc a pede dictum pretium. Proin mauris. - Vivamus luctus libero vel nibh.} - %{62} -\NewLipsumPar{Fusce tristique risus id wisi. Integer - molestie massa id sem. Vestibulum vel dolor. Pellentesque vel urna - vel risus ultricies elementum. Quisque sapien urna, blandit nec, - iaculis ac, viverra in, odio. In hac habitasse platea dictumst. - Morbi neque lacus, convallis vitae, commodo ac, fermentum eu, velit. - Sed in orci. In fringilla turpis non arcu. Donec in ante. Phasellus - tempor feugiat velit. Aenean varius massa non turpis. Vestibulum - ante ipsum primis in faucibus orci luctus et ultrices posuere - cubilia Curae;} - %{63} -\NewLipsumPar{Aliquam tortor. Morbi ipsum massa, imperdiet - non, consectetuer vel, feugiat vel, lorem. Quisque eget lorem nec - elit malesuada vestibulum. Quisque sollicitudin ipsum vel sem. Nulla - enim. Proin nonummy felis vitae felis. Nullam pellentesque. Duis - rutrum feugiat felis. Mauris vel pede sed libero tincidunt mollis. - Phasellus sed urna rhoncus diam euismod bibendum. Phasellus sed - nisl. Integer condimentum justo id orci iaculis varius. Quisque et - lacus. Phasellus elementum, justo at dignissim auctor, wisi odio - lobortis arcu, sed sollicitudin felis felis eu neque. Praesent at - lacus.} - %{64} -\NewLipsumPar{Vivamus sit amet pede. Duis interdum, nunc - eget rutrum dignissim, nisl diam luctus leo, et tincidunt velit nisl - id tellus. In lorem tellus, aliquet vitae, porta in, aliquet sed, - lectus. Phasellus sodales. Ut varius scelerisque erat. In vel nibh - eu eros imperdiet rutrum. Donec ac odio nec neque vulputate - suscipit. Nam nec magna. Pellentesque habitant morbi tristique - senectus et netus et malesuada fames ac turpis egestas. Nullam - porta, odio et sagittis iaculis, wisi neque fringilla sapien, vel - commodo lorem lorem id elit. Ut sem lectus, scelerisque eget, - placerat et, tincidunt scelerisque, ligula. Pellentesque non - orci.} - %{65} -\NewLipsumPar{Etiam vel ipsum. Morbi facilisis vestibulum - nisl. Praesent cursus laoreet felis. Integer adipiscing pretium - orci. Nulla facilisi. Quisque posuere bibendum purus. Nulla quam - mauris, cursus eget, convallis ac, molestie non, enim. Aliquam - congue. Quisque sagittis nonummy sapien. Proin molestie sem vitae - urna. Maecenas lorem. Vivamus viverra consequat enim.} - %{66} -\NewLipsumPar{Nunc sed pede. Praesent vitae lectus. Praesent - neque justo, vehicula eget, interdum id, facilisis et, nibh. - Phasellus at purus et libero lacinia dictum. Fusce aliquet. Nulla eu - ante placerat leo semper dictum. Mauris metus. Curabitur lobortis. - Curabitur sollicitudin hendrerit nunc. Donec ultrices lacus id - ipsum.} - %{67} -\NewLipsumPar{Donec a nibh ut elit vestibulum tristique. - Integer at pede. Cras volutpat varius magna. Phasellus eu wisi. - Praesent risus justo, lobortis eget, scelerisque ac, aliquet in, - dolor. Proin id leo. Nunc iaculis, mi vitae accumsan commodo, neque - sem lacinia nulla, quis vestibulum justo sem in eros. Quisque sed - massa. Morbi lectus ipsum, vulputate a, mollis ut, accumsan - placerat, tellus. Nullam in wisi. Vivamus eu ligula a nunc accumsan - congue. Suspendisse ac libero. Aliquam erat volutpat. Donec augue. - Nunc venenatis fringilla nibh. Fusce accumsan pulvinar justo. Nullam - semper, dui ut dignissim auctor, orci libero fringilla massa, - blandit pulvinar pede tortor id magna. Nunc adipiscing justo sed - velit tincidunt fermentum.} - % {68} -\NewLipsumPar{Integer placerat. Pellentesque habitant - morbi tristique senectus et netus et malesuada fames ac turpis - egestas. Sed in massa. Class aptent taciti sociosqu ad litora - torquent per conubia nostra, per inceptos hymenaeos. Phasellus - tempus aliquam risus. Aliquam rutrum purus at metus. Donec posuere - odio at erat. Nam non nibh. Phasellus ligula. Quisque venenatis - lectus in augue. Sed vestibulum dapibus neque.} - %{69} -\NewLipsumPar{Mauris tempus eros at nulla. Sed quis dui - dignissim mauris pretium tincidunt. Mauris ac purus. Phasellus ac - libero. Etiam dapibus iaculis nunc. In lectus wisi, elementum eu, - sollicitudin nec, imperdiet quis, dui. Nulla viverra neque ac - libero. Mauris urna leo, adipiscing eu, ultrices non, blandit eu, - dui. Maecenas dui neque, suscipit sit amet, rutrum a, laoreet in, - eros. Ut eu nibh. Fusce nec erat tempus urna fringilla tempus. - Curabitur id enim. Sed ante. Cras sodales enim sit amet wisi. Nunc - fermentum consequat quam.} - %{70} -\NewLipsumPar{Ut auctor, augue porta dignissim vestibulum, - arcu diam lobortis velit, vel scelerisque risus augue sagittis - risus. Maecenas eu justo. Pellentesque habitant morbi tristique - senectus et netus et malesuada fames ac turpis egestas. Mauris - congue ligula eget tortor. Nullam laoreet urna sed enim. Donec eget - eros ut eros volutpat convallis. Praesent turpis. Integer mauris - diam, elementum quis, egestas ac, rutrum vel, orci. Nulla facilisi. - Quisque adipiscing, nulla vitae elementum porta, sem urna volutpat - leo, sed porta enim risus sed massa. Integer ac enim quis diam - sodales luctus. Ut eget eros a ligula commodo ultricies. Donec eu - urna viverra dolor hendrerit feugiat. Aliquam ac orci vel eros - congue pharetra. Quisque rhoncus, justo eu volutpat faucibus, augue - leo posuere lacus, a rhoncus purus pede vel est. Proin ultrices - enim.} - %{71} -\NewLipsumPar{Aenean tincidunt laoreet dui. Vestibulum ante - ipsum primis in faucibus orci luctus et ultrices posuere cubilia - Curae; Integer ipsum lectus, fermentum ac, malesuada in, eleifend - ut, lorem. Vivamus ipsum turpis, elementum vel, hendrerit ut, semper - at, metus. Vivamus sapien tortor, eleifend id, dapibus in, egestas - et, pede. Pellentesque faucibus. Praesent lorem neque, dignissim in, - facilisis nec, hendrerit vel, odio. Nam at diam ac neque aliquet - viverra. Morbi dapibus ligula sagittis magna. In lobortis. Donec - aliquet ultricies libero. Nunc dictum vulputate purus. Morbi varius. - Lorem ipsum dolor sit amet, consectetuer adipiscing elit. In tempor. - Phasellus commodo porttitor magna. Curabitur vehicula odio vel - dolor.} - %{72} -\NewLipsumPar{Praesent facilisis, augue a adipiscing - venenatis, libero risus molestie odio, pulvinar consectetuer felis - erat ac mauris. Nam vestibulum rhoncus quam. Sed velit urna, - pharetra eu, eleifend eu, viverra at, wisi. Maecenas ultrices nibh - at turpis. Aenean quam. Nulla ipsum. Aliquam posuere luctus erat. - Curabitur magna felis, lacinia et, tristique id, ultrices ut, - mauris. Suspendisse feugiat. Cras eleifend wisi vitae tortor. - Phasellus leo purus, mattis sit amet, auctor in, rutrum in, magna. - In hac habitasse platea dictumst. Phasellus imperdiet metus in sem. - Vestibulum ac enim non sem ultricies sagittis. Sed vel diam.} - %{73} -\NewLipsumPar{Integer vel enim sed turpis adipiscing - bibendum. Vestibulum pede dolor, laoreet nec, posuere in, nonummy - in, sem. Donec imperdiet sapien placerat erat. Donec viverra. - Aliquam eros. Nunc consequat massa id leo. Sed ullamcorper, lorem in - sodales dapibus, risus metus sagittis lorem, non porttitor purus - odio nec odio. Sed tincidunt posuere elit. Quisque eu enim. Donec - libero risus, feugiat ac, dapibus eget, posuere a, felis. Quisque - vel lectus ut metus tincidunt eleifend. Duis ut pede. Duis velit - erat, venenatis vitae, vulputate a, pharetra sit amet, est. Etiam - fringilla faucibus augue.} - %{74} -\NewLipsumPar{Aenean velit sem, viverra eu, tempus id, - rutrum id, mi. Nullam nec nibh. Proin ullamcorper, dolor in cursus - tristique, eros augue tempor nibh, at gravida diam wisi at purus. - Donec mattis ullamcorper tellus. Phasellus vel nulla. Praesent - interdum, eros in sodales sollicitudin, nunc nulla pulvinar justo, a - euismod eros sem nec nibh. Nullam sagittis dapibus lectus. Nullam - eget ipsum eu tortor lobortis sodales. Etiam purus leo, pretium nec, - feugiat non, ullamcorper vel, nibh. Sed vel elit et quam accumsan - facilisis. Nunc leo. Suspendisse faucibus lacus.} - %{75} -\NewLipsumPar{Pellentesque interdum sapien sed nulla. Proin - tincidunt. Aliquam volutpat est vel massa. Sed dolor lacus, - imperdiet non, ornare non, commodo eu, neque. Integer pretium semper - justo. Proin risus. Nullam id quam. Nam neque. Duis vitae wisi - ullamcorper diam congue ultricies. Quisque ligula. Mauris - vehicula.} - %{76} -\NewLipsumPar{Curabitur nunc magna, posuere eget, venenatis - eu, vehicula ac, velit. Aenean ornare, massa a accumsan pulvinar, - quam lorem laoreet purus, eu sodales magna risus molestie lorem. - Nunc erat velit, hendrerit quis, malesuada ut, aliquam vitae, wisi. - Sed posuere. Suspendisse ipsum arcu, scelerisque nec, aliquam eu, - molestie tincidunt, justo. Phasellus iaculis. Sed posuere lorem non - ipsum. Pellentesque dapibus. Suspendisse quam libero, laoreet a, - tincidunt eget, consequat at, est. Nullam ut lectus non enim - consequat facilisis. Mauris leo. Quisque pede ligula, auctor vel, - pellentesque vel, posuere id, turpis. Cras ipsum sem, cursus et, - facilisis ut, tempus euismod, quam. Suspendisse tristique dolor eu - orci. Mauris mattis. Aenean semper. Vivamus tortor magna, facilisis - id, varius mattis, hendrerit in, justo. Integer purus.} - %{77} -\NewLipsumPar{Vivamus adipiscing. Curabitur imperdiet - tempus turpis. Vivamus sapien dolor, congue venenatis, euismod eget, - porta rhoncus, magna. Proin condimentum pretium enim. Fusce - fringilla, libero et venenatis facilisis, eros enim cursus arcu, - vitae facilisis odio augue vitae orci. Aliquam varius nibh ut odio. - Sed condimentum condimentum nunc. Pellentesque eget massa. - Pellentesque quis mauris. Donec ut ligula ac pede pulvinar lobortis. - Pellentesque euismod. Class aptent taciti sociosqu ad litora - torquent per conubia nostra, per inceptos hymenaeos. Praesent elit. - Ut laoreet ornare est. Phasellus gravida vulputate nulla. Donec sit - amet arcu ut sem tempor malesuada. Praesent hendrerit augue in urna. - Proin enim ante, ornare vel, consequat ut, blandit in, justo. Donec - felis elit, dignissim sed, sagittis ut, ullamcorper a, nulla. Aenean - pharetra vulputate odio.} - %{78} -\NewLipsumPar{Quisque enim. Proin velit neque, tristique - eu, eleifend eget, vestibulum nec, lacus. Vivamus odio. Duis odio - urna, vehicula in, elementum aliquam, aliquet laoreet, tellus. Sed - velit. Sed vel mi ac elit aliquet interdum. Etiam sapien neque, - convallis et, aliquet vel, auctor non, arcu. Aliquam suscipit - aliquam lectus. Proin tincidunt magna sed wisi. Integer blandit - lacus ut lorem. Sed luctus justo sed enim.} - %{79} -\NewLipsumPar{Morbi malesuada hendrerit dui. Nunc mauris - leo, dapibus sit amet, vestibulum et, commodo id, est. Pellentesque - purus. Pellentesque tristique, nunc ac pulvinar adipiscing, justo - eros consequat lectus, sit amet posuere lectus neque vel augue. Cras - consectetuer libero ac eros. Ut eget massa. Fusce sit amet enim - eleifend sem dictum auctor. In eget risus luctus wisi convallis - pulvinar. Vivamus sapien risus, tempor in, viverra in, aliquet - pellentesque, eros. Aliquam euismod libero a sem.} - %{80} -\NewLipsumPar{Nunc velit augue, scelerisque dignissim, - lobortis et, aliquam in, risus. In eu eros. Vestibulum ante ipsum - primis in faucibus orci luctus et ultrices posuere cubilia Curae; - Curabitur vulputate elit viverra augue. Mauris fringilla, tortor sit - amet malesuada mollis, sapien mi dapibus odio, ac imperdiet ligula - enim eget nisl. Quisque vitae pede a pede aliquet suscipit. - Phasellus tellus pede, viverra vestibulum, gravida id, laoreet in, - justo. Cum sociis natoque penatibus et magnis dis parturient montes, - nascetur ridiculus mus. Integer commodo luctus lectus. Mauris justo. - Duis varius eros. Sed quam. Cras lacus eros, rutrum eget, varius - quis, convallis iaculis, velit. Mauris imperdiet, metus at tristique - venenatis, purus neque pellentesque mauris, a ultrices elit lacus - nec tortor. Class aptent taciti sociosqu ad litora torquent per - conubia nostra, per inceptos hymenaeos. Praesent malesuada. Nam - lacus lectus, auctor sit amet, malesuada vel, elementum eget, metus. - Duis neque pede, facilisis eget, egestas elementum, nonummy id, - neque.} - %{81} -\NewLipsumPar{Proin non sem. Donec nec erat. Proin libero. - Aliquam viverra arcu. Donec vitae purus. Donec felis mi, semper id, - scelerisque porta, sollicitudin sed, turpis. Nulla in urna. Integer - varius wisi non elit. Etiam nec sem. Mauris consequat, risus nec - congue condimentum, ligula ligula suscipit urna, vitae porta odio - erat quis sapien. Proin luctus leo id erat. Etiam massa metus, - accumsan pellentesque, sagittis sit amet, venenatis nec, mauris. - Praesent urna eros, ornare nec, vulputate eget, cursus sed, justo. - Phasellus nec lorem. Nullam ligula ligula, mollis sit amet, faucibus - vel, eleifend ac, dui. Aliquam erat volutpat.} - %{82} -\NewLipsumPar{Fusce vehicula, tortor et gravida porttitor, - metus nibh congue lorem, ut tempus purus mauris a pede. Integer - tincidunt orci sit amet turpis. Aenean a metus. Aliquam vestibulum - lobortis felis. Donec gravida. Sed sed urna. Mauris et orci. Integer - ultrices feugiat ligula. Sed dignissim nibh a massa. Donec orci dui, - tempor sed, tincidunt nonummy, viverra sit amet, turpis. Quisque - lobortis. Proin venenatis tortor nec wisi. Vestibulum placerat. In - hac habitasse platea dictumst. Aliquam porta mi quis risus. Donec - sagittis luctus diam. Nam ipsum elit, imperdiet vitae, faucibus nec, - fringilla eget, leo. Etiam quis dolor in sapien porttitor - imperdiet.} - %{83} -\NewLipsumPar{Cras pretium. Nulla malesuada ipsum ut - libero. Suspendisse gravida hendrerit tellus. Maecenas quis lacus. - Morbi fringilla. Vestibulum odio turpis, tempor vitae, scelerisque - a, dictum non, massa. Praesent erat felis, porta sit amet, - condimentum sit amet, placerat et, turpis. Praesent placerat lacus a - enim. Vestibulum non eros. Ut congue. Donec tristique varius tortor. - Pellentesque habitant morbi tristique senectus et netus et malesuada - fames ac turpis egestas. Nam dictum dictum urna.} - %{84} -\NewLipsumPar{Phasellus vestibulum orci vel mauris. Fusce - quam leo, adipiscing ac, pulvinar eget, molestie sit amet, erat. Sed - diam. Suspendisse eros leo, tempus eget, dapibus sit amet, tempus - eu, arcu. Vestibulum wisi metus, dapibus vel, luctus sit amet, - condimentum quis, leo. Suspendisse molestie. Duis in ante. Ut - sodales sem sit amet mauris. Suspendisse ornare pretium orci. Fusce - tristique enim eget mi. Vestibulum eros elit, gravida ac, pharetra - sed, lobortis in, massa. Proin at dolor. Duis accumsan accumsan - pede. Nullam blandit elit in magna lacinia hendrerit. Ut nonummy - luctus eros. Fusce eget tortor.} - %{85} -\NewLipsumPar{Ut sit amet magna. Cras a ligula eu urna - dignissim viverra. Nullam tempor leo porta ipsum. Praesent purus. - Nullam consequat. Mauris dictum sagittis dui. Vestibulum - sollicitudin consectetuer wisi. In sit amet diam. Nullam malesuada - pharetra risus. Proin lacus arcu, eleifend sed, vehicula at, congue - sit amet, sem. Sed sagittis pede a nisl. Sed tincidunt odio a pede. - Sed dui. Nam eu enim. Aliquam sagittis lacus eget libero. - Pellentesque diam sem, sagittis molestie, tristique et, fermentum - ornare, nibh. Nulla et tellus non felis imperdiet mattis. Aliquam - erat volutpat.} - %{86} -\NewLipsumPar{Vestibulum sodales ipsum id augue. Integer - ipsum pede, convallis sit amet, tristique vitae, tempor ut, nunc. - Nam non ligula non lorem convallis hendrerit. Maecenas hendrerit. - Sed magna odio, aliquam imperdiet, porta ac, aliquet eget, mi. Cum - sociis natoque penatibus et magnis dis parturient montes, nascetur - ridiculus mus. Vestibulum nisl sem, dignissim vel, euismod quis, - egestas ut, orci. Nunc vitae risus vel metus euismod laoreet. Cras - sit amet neque a turpis lobortis auctor. Sed aliquam sem ac elit. - Cras velit lectus, facilisis id, dictum sed, porta rutrum, nisl. Nam - hendrerit ipsum sed augue. Nullam scelerisque hendrerit wisi. - Vivamus egestas arcu sed purus. Ut ornare lectus sed eros. - Suspendisse potenti. Mauris sollicitudin pede vel velit. In hac - habitasse platea dictumst.} - %{87} -\NewLipsumPar{Suspendisse erat mauris, nonummy eget, - pretium eget, consequat vel, justo. Pellentesque consectetuer erat - sed lacus. Nullam egestas nulla ac dui. Donec cursus rhoncus ipsum. - Nunc et sem eu magna egestas malesuada. Vivamus dictum massa at - dolor. Morbi est nulla, faucibus ac, posuere in, interdum ut, - sapien. Proin consectetuer pretium urna. Donec sit amet nibh nec - purus dignissim mattis. Phasellus vehicula elit at lacus. Nulla - facilisi. Cras ut arcu. Sed consectetuer. Integer tristique elit - quis felis consectetuer eleifend. Cras et lectus.} - %{88} -\NewLipsumPar{Ut congue malesuada justo. Curabitur - congue, felis at hendrerit faucibus, mauris lacus porttitor pede, - nec aliquam turpis diam feugiat arcu. Nullam rhoncus ipsum at risus. - Vestibulum a dolor sed dolor fermentum vulputate. Sed nec ipsum - dapibus urna bibendum lobortis. Vestibulum elit. Nam ligula arcu, - volutpat eget, lacinia eu, lobortis ac, urna. Nam mollis ultrices - nulla. Cras vulputate. Suspendisse at risus at metus pulvinar - malesuada. Nullam lacus. Aliquam tempus magna. Aliquam ut purus. - Proin tellus.} - %{89} -\NewLipsumPar{Vestibulum ante ipsum primis in faucibus - orci luctus et ultrices posuere cubilia Curae; Donec scelerisque - metus. Maecenas non mi ut metus porta hendrerit. Nunc semper. Cras - quis wisi ut lorem posuere tristique. Nunc vestibulum scelerisque - nulla. Suspendisse pharetra sollicitudin ante. Praesent at augue sit - amet ante interdum porta. Nunc bibendum augue luctus diam. Etiam nec - sem. Sed eros turpis, facilisis nec, vehicula vitae, aliquam sed, - nulla. Curabitur justo leo, vestibulum eget, tristique ut, tempus - at, nisl.} - %{90} -\NewLipsumPar{Nulla venenatis lorem id arcu. Morbi cursus urna - a ipsum. Donec porttitor. Integer eleifend, est non mattis - malesuada, mi nulla convallis mi, et auctor lectus sapien ut purus. - Aliquam nulla augue, pharetra sit amet, faucibus semper, molestie - vel, nibh. Pellentesque vestibulum magna et mi. Sed fringilla dolor - vel tellus. Nunc libero nunc, venenatis eget, convallis hendrerit, - iaculis elementum, mi. Nullam aliquam, felis et accumsan vehicula, - magna justo vehicula diam, eu condimentum nisl felis et nunc. - Quisque volutpat mauris a velit. Pellentesque massa. Integer at - lorem. Nam metus erat, lacinia id, convallis ut, pulvinar non, wisi. - Cras iaculis mauris ut neque. Cras sodales, sem vitae imperdiet - consequat, pede purus sollicitudin urna, ac aliquam metus orci in - leo. Ut molestie ultrices mauris. Vivamus vitae sem. Aliquam erat - volutpat. Praesent commodo, nisl ac dapibus aliquet, tortor orci - sodales lorem, non ornare nulla lorem quis nisl.} - %{91} -\NewLipsumPar{Sed at sem vitae purus ultrices vestibulum. - Vestibulum tincidunt lacus et ligula. Pellentesque vitae elit. - Vestibulum ante ipsum primis in faucibus orci luctus et ultrices - posuere cubilia Curae; Duis ornare, erat eget laoreet vulputate, - lacus ipsum suscipit turpis, et bibendum nisl orci non lectus. - Vestibulum nec risus nec libero fermentum fringilla. Morbi non velit - in magna gravida hendrerit. Pellentesque quis lectus. Vestibulum - eleifend lobortis leo. Vestibulum non augue. Vivamus dictum tempor - dui. Maecenas at ligula id felis congue porttitor. Nulla leo magna, - egestas quis, vulputate sit amet, viverra id, velit.} - %{92} -\NewLipsumPar{Ut lectus lectus, ultricies sit amet, semper - eget, laoreet non, ante. Proin at massa quis nunc rhoncus mattis. - Aliquam lorem. Curabitur pharetra dui at neque. Aliquam eu tellus. - Aenean tempus, felis vitae vulputate iaculis, est dolor faucibus - urna, in viverra wisi neque non risus. Fusce vel dolor nec sapien - pretium nonummy. Integer faucibus massa ac nulla ornare venenatis. - Nulla quis sapien. Sed tortor. Phasellus eget mi. Cras nunc. Cras a - enim.} - %{93} -\NewLipsumPar{Quisque nisl. In dignissim dapibus massa. - Aenean sem magna, scelerisque nec, ullamcorper quis, porttitor ut, - lectus. Fusce dignissim facilisis tortor. Vivamus gravida felis sit - amet nunc. Nam pulvinar odio vel enim. Pellentesque sit amet est. - Vivamus pulvinar leo non sapien. Aliquam erat volutpat. Ut elementum - auctor metus. Mauris vestibulum neque vitae eros. Pellentesque - aliquam quam. Donec venenatis tristique purus. In nisl. Nulla velit - libero, fermentum at, porta a, feugiat vitae, urna. Etiam aliquet - ornare ipsum. Proin non dolor. Aenean nunc ligula, venenatis - suscipit, porttitor sit amet, mattis suscipit, magna. Vivamus - egestas viverra est. Morbi at risus sed sapien sodales pretium.} - %{94} -\NewLipsumPar{Morbi congue congue metus. Aenean sed purus. - Nam pede magna, tristique nec, porta id, sollicitudin quis, sapien. - Vestibulum blandit. Suspendisse ut augue ac nibh ullamcorper - posuere. Integer euismod, neque at eleifend fringilla, augue elit - ornare dolor, vel tincidunt purus est id lacus. Vivamus lorem dui, - commodo quis, scelerisque eu, tincidunt non, magna. Cras sodales. - Quisque vestibulum pulvinar diam. Phasellus tincidunt, leo vitae - tristique facilisis, ipsum wisi interdum sem, dapibus semper nulla - velit vel lectus. Cras dapibus mauris et augue. Quisque cursus nulla - in libero. Suspendisse et lorem sit amet mauris malesuada mollis. - Nullam id justo. Maecenas venenatis. Donec lacus arcu, egestas ac, - fermentum consectetuer, tempus eu, metus. Proin sodales, sem in - pretium fermentum, arcu sapien commodo mauris, venenatis consequat - augue urna in wisi. Quisque sapien nunc, varius eget, condimentum - quis, lacinia in, est. Fusce facilisis. Praesent nec ipsum.} - %{95} -\NewLipsumPar{Suspendisse a dolor. Nam erat eros, congue - eget, sagittis a, lacinia in, pede. Maecenas in elit. Proin molestie - varius nibh. Vivamus tristique purus sed augue. Proin egestas semper - tortor. Vestibulum ante ipsum primis in faucibus orci luctus et - ultrices posuere cubilia Curae; Class aptent taciti sociosqu ad - litora torquent per conubia nostra, per inceptos hymenaeos. - Vestibulum orci enim, sagittis ornare, eleifend ut, mattis at, - ligula. Nulla molestie convallis arcu. Ut eros tellus, condimentum - at, sodales in, ultrices vel, nulla.} - %{96} -\NewLipsumPar{Duis magna ante, bibendum eget, eleifend eget, - suscipit sed, neque. Vestibulum in mi sed massa cursus cursus. - Pellentesque pulvinar mollis neque. Fusce ut enim vitae mauris - malesuada tincidunt. Vivamus a neque. Mauris pulvinar, sapien id - condimentum dictum, quam arcu rhoncus dui, id tempor lacus justo et - justo. Proin sit amet orci eu diam eleifend blandit. Nunc erat - massa, luctus ac, fermentum lacinia, tincidunt ultrices, sapien. - Praesent sed orci vitae dolor sollicitudin adipiscing. Cras a neque. - Ut risus dui, interdum at, placerat id, tristique eu, enim. - Vestibulum ante ipsum primis in faucibus orci luctus et ultrices - posuere cubilia Curae; Etiam adipiscing eros vestibulum dolor. - Pellentesque aliquam, diam eget eleifend posuere, augue eros - porttitor lectus, ac dignissim dui metus nec felis. Quisque lacinia. - Vestibulum tellus. Suspendisse nec wisi. Aenean ac felis. Aliquam - ultrices metus et nulla.} - %{97} -\NewLipsumPar{Praesent sed est non nibh tempus venenatis. - Praesent rhoncus. Curabitur sagittis est sit amet neque. Sed commodo - malesuada lectus. Phasellus enim tellus, tempor ut, tristique eu, - aliquam eu, quam. Aenean quis quam quis wisi gravida vehicula. - Pellentesque a massa a leo pretium rhoncus. Suspendisse ultrices. - Donec lacinia malesuada massa. Class aptent taciti sociosqu ad - litora torquent per conubia nostra, per inceptos hymenaeos. Donec - pretium ornare mauris. Phasellus auctor erat eget enim. Integer - scelerisque, felis eu consequat fringilla, lorem wisi ultricies - velit, id vehicula purus nulla eget odio. Nullam mattis, diam a - rutrum fermentum, odio sapien tristique quam, id mollis tellus quam - in odio. Mauris eu sapien. Donec aliquam lorem sit amet lorem - pharetra lobortis.} - %{98} -\NewLipsumPar{Donec ac velit. Sed convallis vestibulum - sapien. Vivamus tempor lacus sed lacus. Nunc ut lorem. Ut et tortor. - Nullam varius wisi at diam. Etiam ultricies, dolor sit amet - fermentum vulputate, neque libero vestibulum orci, vitae fringilla - neque arcu aliquet ante. Lorem ipsum dolor sit amet, consectetuer - adipiscing elit. Quisque venenatis lobortis augue. Sed tempor, - tellus iaculis pellentesque pharetra, pede dui malesuada mauris, vel - ultrices urna mauris ac nibh. Etiam nibh odio, ultricies vehicula, - vestibulum vitae, feugiat eleifend, felis. Vivamus pulvinar. Aliquam - erat volutpat. Nulla egestas venenatis metus. Nam feugiat nunc quis - elit egestas sagittis. Sed vitae felis. In libero arcu, rhoncus in, - commodo eget, auctor in, enim. Vivamus suscipit est. Nulla dapibus, - magna vel aliquet egestas, massa massa hendrerit lacus, ac rutrum - tellus tellus sit amet felis. Cras viverra.} - %{99} -\NewLipsumPar{Suspendisse eu nunc. Aliquam dignissim urna - sit amet mauris. Cras commodo, urna ut porttitor venenatis, arcu - metus sodales risus, vitae gravida sapien ligula in est. Donec - vulputate sollicitudin wisi. Donec vehicula, est id interdum ornare, - nibh tellus consectetuer justo, a ultrices felis erat at lectus. In - est massa, malesuada non, suscipit at, ullamcorper eu, elit. Nam - nulla lacus, bibendum sit amet, sagittis sed, tempor eget, libero. - Praesent ligula. Suspendisse nulla. Etiam diam. Nulla ante diam, - vestibulum et, aliquet ac, imperdiet vitae, urna. Fusce tincidunt - lacus vel elit. Maecenas dictum, tortor non euismod bibendum, pede - nibh pretium tellus, at dignissim leo eros eget pede. Nulla - venenatis eleifend eros. Aenean ut odio dignissim augue rutrum - faucibus. Fusce posuere, tellus eget viverra mattis, erat tellus - porta mi, at facilisis sem nibh non urna. Phasellus quis turpis quis - mauris suscipit vulputate. Sed interdum lacus non velit. Vestibulum - ante ipsum primis in faucibus orci luctus et ultrices posuere - cubilia Curae.} - %{100} -\NewLipsumPar{Vivamus vehicula leo a justo. Quisque nec augue. - Morbi mauris wisi, aliquet vitae, dignissim eget, sollicitudin - molestie, ligula. In dictum enim sit amet risus. Curabitur vitae - velit eu diam rhoncus hendrerit. Vivamus ut elit. Praesent mattis - ipsum quis turpis. Curabitur rhoncus neque eu dui. Etiam vitae - magna. Nam ullamcorper. Praesent interdum bibendum magna. Quisque - auctor aliquam dolor. Morbi eu lorem et est porttitor fermentum. - Nunc egestas arcu at tortor varius viverra. Fusce eu nulla ut nulla - interdum consectetuer. Vestibulum gravida. Morbi mattis libero sed - est.} - %{101} -\NewLipsumPar{Nam quis enim. Quisque ornare dui a tortor. - Fusce consequat lacus pellentesque metus. Duis euismod. Duis non - quam. Maecenas vitae dolor in ipsum auctor vehicula. Vivamus nec - nibh eget wisi varius pulvinar. Cras a lacus. Etiam et massa. Donec - in nisl sit amet dui imperdiet vestibulum. Duis porttitor nibh id - eros.} - %{102} -\NewLipsumPar{Mauris consectetuer, wisi eu lobortis - scelerisque, urna nibh feugiat quam, id congue eros justo eget orci. - Ut tellus. Maecenas mattis sapien sed eros. Aliquam quis lectus. - Donec nec massa ac turpis semper cursus. Etiam consectetuer ante vel - odio. Aliquam tincidunt felis non dolor. Cras id augue ut nisl - pretium placerat. Phasellus sapien sapien, pharetra sed, aliquam - nec, suscipit a, nibh. Suspendisse risus. Nulla ut mi eget tellus - sollicitudin euismod. Vestibulum malesuada malesuada dui. Ut at est - ac dui aliquam sagittis. Aliquam erat volutpat.} - % {103} -\NewLipsumPar{Curabitur ullamcorper est in mauris. Praesent - ac massa. Quisque enim odio, lobortis nec, mattis ut, luctus et, - mauris. Mauris eu risus. Cum sociis natoque penatibus et magnis dis - parturient montes, nascetur ridiculus mus. Duis eu ligula. Nulla - vehicula leo tincidunt erat. Maecenas et nunc. Sed ut sapien. - Vestibulum in est. Vestibulum rhoncus.} - % {104} -\NewLipsumPar{Donec metus metus, condimentum eu, accumsan - nec, vulputate non, purus. Vestibulum ullamcorper vehicula sapien. - Mauris risus odio, hendrerit ac, congue ac, ullamcorper at, odio. - Aenean leo justo, commodo vitae, placerat blandit, malesuada vel, - sem. Donec sit amet ante eget mauris adipiscing sollicitudin. - Curabitur posuere sem et leo. Nulla ultricies mauris. Vestibulum - ante ipsum primis in faucibus orci luctus et ultrices posuere - cubilia Curae; Fusce sollicitudin augue vel tellus. Vivamus mauris - eros, pharetra vel, lacinia pretium, egestas a, nibh. Morbi a - ligula.} - %{105} -\NewLipsumPar{Donec vitae turpis. Suspendisse porttitor. - Mauris aliquam purus vitae tellus. Morbi metus diam, tempus ac, - cursus ut, ultricies quis, nulla. Praesent nec justo. In lobortis. - Donec nec lectus a neque laoreet rhoncus. Quisque in risus nec wisi - lacinia ullamcorper. In placerat. Proin facilisis sollicitudin - libero. Integer eget neque et pede placerat aliquet. Aliquam purus - nulla, pulvinar ut, facilisis quis, sodales sed, magna. Curabitur - nulla lectus, rutrum id, bibendum ut, sagittis eget, diam. Sed porta - dolor eget est. Integer hendrerit orci. In hac habitasse platea - dictumst.} - %{106} -\NewLipsumPar{Ut facilisis. Lorem ipsum dolor sit amet, - consectetuer adipiscing elit. Sed pellentesque, turpis sit amet - aliquet porta, risus odio venenatis felis, at porta tellus lacus - vitae nisl. Donec augue. Quisque consequat, pede laoreet - pellentesque posuere, urna sapien tempor justo, eu aliquam tortor - nunc id mauris. Fusce pretium, purus facilisis consequat mattis, - ligula leo pretium mauris, ac suscipit augue sapien sit amet ipsum. - Praesent et ligula eget tortor dapibus blandit. Duis rutrum felis - eget dolor. Vestibulum quis elit. Integer dignissim, velit at - scelerisque congue, ipsum nulla dignissim dolor, lacinia scelerisque - neque erat a mi. Lorem ipsum dolor sit amet, consectetuer adipiscing - elit. Quisque ipsum lectus, euismod et, lacinia eu, iaculis eu, - pede. Etiam justo quam, cursus ut, vulputate vel, feugiat ut, eros. - Fusce eleifend mollis ipsum.} - %{107} -\NewLipsumPar{Nulla facilisi. Nunc nec elit. Integer ornare - convallis tortor. Proin ac diam. In est sapien, laoreet euismod, - mattis a, tincidunt at, risus. Vivamus risus. Vestibulum aliquam, - urna aliquam porttitor accumsan, nulla tortor ullamcorper elit, ut - consequat augue purus sit amet libero. Vivamus nisl lacus, commodo - vel, dignissim ut, vestibulum id, pede. Curabitur malesuada - hendrerit libero. Mauris quis dolor in tellus varius posuere. Sed - vulputate elit at wisi. Fusce vitae neque. Nulla consectetuer, nunc - ac eleifend laoreet, mi nulla commodo wisi, vel faucibus ligula - lectus ut arcu. Vivamus hendrerit.} - %{108} -\NewLipsumPar{Sed varius, nulla vitae tincidunt lobortis, - nibh ipsum sollicitudin libero, et commodo tellus massa in neque. - Nulla facilisi. Aenean nec lectus. Aliquam fermentum. Duis ut magna - et augue interdum gravida. Morbi elit. Fusce malesuada tempus ipsum. - Cum sociis natoque penatibus et magnis dis parturient montes, - nascetur ridiculus mus. Mauris iaculis enim non metus. Nullam dui - magna, congue et, suscipit sed, aliquam vel, turpis. Quisque - ultricies.} - %{109} -\NewLipsumPar{Suspendisse feugiat sapien laoreet ante. - Integer fringilla, erat eget adipiscing ultrices, nibh dui - sollicitudin nunc, in lobortis arcu odio vitae erat. Fusce bibendum - ultricies lacus. Mauris eleifend ligula a ante. Etiam faucibus - cursus pede. Mauris enim eros, malesuada eu, mattis sit amet, - blandit in, nulla. Fusce sit amet purus id mi posuere tincidunt. - Mauris sit amet quam vitae quam semper accumsan. Lorem ipsum dolor - sit amet, consectetuer adipiscing elit. Nam a justo at quam accumsan - euismod. Duis tincidunt tristique risus. Ut vel nibh vel libero - varius malesuada. In hac habitasse platea dictumst. Morbi sagittis - mattis lorem. Pellentesque metus tellus, rutrum vitae, malesuada et, - pharetra accumsan, ante. Quisque ac metus ac nisl gravida - pellentesque. Sed dapibus feugiat sapien. Vestibulum nec nunc eget - sem aliquam lobortis. Suspendisse aliquam quam quis metus.} - %{110} -\NewLipsumPar{Suspendisse in odio. In elit diam, cursus vitae, - venenatis in, molestie in, leo. Cras ornare. Nulla libero. Phasellus - feugiat mattis libero. Sed vehicula aliquam ligula. Nullam lacinia, - felis vel dignissim sodales, enim lectus lobortis diam, quis nonummy - mauris odio auctor tortor. Integer in dui nec lacus bibendum - ultrices. Etiam odio elit, aliquam et, porttitor id, interdum - cursus, elit. Nulla eleifend tempor mauris. In vel arcu quis pede - laoreet vulputate.} - %{111} -\NewLipsumPar{Morbi pharetra magna a lorem. Cras sapien. Duis - porttitor vehicula urna. Phasellus iaculis, mi vitae varius - consequat, purus nibh sollicitudin mauris, quis aliquam felis dolor - vel elit. Quisque neque mi, bibendum non, tristique convallis, - congue eu, quam. Etiam vel felis. Quisque ac ligula at orci pulvinar - rutrum. Donec mi eros, sagittis eu, consectetuer sed, sagittis sed, - lorem. Nunc sed eros. Nullam pellentesque ante quis lectus. Vivamus - lacinia, sapien vel fermentum placerat, purus nisl aliquet odio, et - porta wisi dui nec nunc. Fusce porta cursus libero.} - %{112} -\NewLipsumPar{Quisque eu mi a augue mollis posuere. Donec - tincidunt, lorem at vestibulum pulvinar, felis purus nonummy urna, - at accumsan purus dui nec leo. Praesent tortor turpis, vehicula in, - aliquet ut, dignissim ac, leo. Curabitur sagittis mi id eros. In - magna. Sed vitae elit facilisis elit semper sollicitudin. Curabitur - convallis tempor nulla. Nullam non turpis a pede sagittis ultrices. - Etiam vulputate pede in ligula. Sed a ante id metus pellentesque - suscipit. Sed adipiscing justo vitae sapien. Nunc posuere, pede - ullamcorper gravida egestas, justo libero tincidunt arcu, vitae - pellentesque arcu leo ut mauris. Pellentesque auctor mauris sit amet - elit luctus fringilla. Cras sed wisi. Morbi luctus enim vitae - tellus. Vivamus venenatis sodales libero.} - %{113} -\NewLipsumPar{In hac habitasse platea dictumst. Suspendisse - potenti. Nulla pretium sem sit amet nisl. Nulla facilisi. Sed - aliquam, turpis sed hendrerit gravida, nunc metus aliquam urna, eget - pharetra nibh urna nec lectus. Duis in nisl a nisl commodo - facilisis. Nunc placerat risus sed leo. Duis pellentesque porta - libero. Praesent et enim. Aenean ullamcorper, ante sit amet - fermentum mollis, ligula metus laoreet magna, accumsan accumsan nibh - wisi at wisi. Nam tincidunt tempor neque. Maecenas dolor. Donec - interdum nisl. Aliquam quam libero, interdum quis, volutpat sed, - semper ut, eros. Pellentesque sodales auctor quam. Nullam suscipit - massa nec elit. Nullam vulputate.} - %{114} -\NewLipsumPar{Aliquam a nulla. Suspendisse suscipit. Etiam - lectus ante, interdum sit amet, euismod venenatis, condimentum eu, - urna. Etiam at turpis. Cras quis ligula. Cras varius, sapien non - pellentesque bibendum, mauris wisi sodales sem, ac commodo mauris - neque non felis. Sed sollicitudin tincidunt arcu. Nullam vel lectus - sit amet magna tincidunt tempor. Phasellus a ante. Donec et - diam.} - %{115} -\NewLipsumPar{Proin sit amet augue. Praesent lacus. Donec a - leo. Ut turpis ante, condimentum sed, sagittis a, blandit sit amet, - enim. Integer sed elit. In ultricies blandit libero. Proin molestie - erat dignissim nulla convallis ultrices. Aliquam in magna. Etiam - sollicitudin, eros a sagittis pellentesque, lacus odio volutpat - elit, vel tincidunt felis dui vitae lorem. Etiam leo. Nulla et - justo.} - %{116} -\NewLipsumPar{Integer interdum varius diam. Nam aliquam - velit a pede. Vivamus dictum nulla et wisi. Vestibulum a massa. - Donec vulputate nibh vitae risus dictum varius. Nunc suscipit, nunc - nec facilisis convallis, lacus ligula bibendum nulla, ac - sollicitudin sapien nisl fermentum velit. Lorem ipsum dolor sit - amet, consectetuer adipiscing elit. Nullam commodo dui ut augue - molestie scelerisque. Sed aliquet rhoncus tortor. Fusce laoreet, - turpis a facilisis tristique, leo mauris accumsan tellus, vitae - ornare lacus pede sit amet purus. Sed dignissim velit vitae ligula. - Sed sit amet diam sit amet arcu luctus ullamcorper.} - %{117} -\NewLipsumPar{Duis quis velit id elit facilisis luctus. - Donec nec elit. Quisque ullamcorper arcu ac felis. Phasellus leo. - Pellentesque consequat consequat purus. Ut vel justo at pede - facilisis tempor. Integer tempus blandit dolor. Donec eget neque sed - elit ultricies molestie. Cras cursus viverra tortor. Cras commodo - condimentum diam. Pellentesque interdum malesuada wisi. Suspendisse - eu quam. Donec consectetuer. Suspendisse wisi purus, vestibulum at, - vehicula vel, congue a, eros. Nulla vulputate dolor at purus.} - %{118} -\NewLipsumPar{Suspendisse ac diam sed dui adipiscing - pretium. Donec ullamcorper, sapien nec tempor venenatis, enim felis - euismod pede, ut auctor lacus lectus sit amet diam. Vestibulum - rutrum sem ut ante. Nulla eros. Quisque vitae nisl eget tellus - feugiat volutpat. Nam id neque eu quam sodales vehicula. Nam - dapibus, nulla eu iaculis placerat, pede est volutpat purus, id - iaculis elit elit vel mauris. Donec dui. In hac habitasse platea - dictumst. Nunc non quam. Proin euismod egestas eros. Mauris nisl. - Sed neque. Phasellus bibendum. Proin ut purus in eros faucibus - auctor.} - %{119} -\NewLipsumPar{Fusce mollis dui eu leo. Sed sapien augue, - porta at, posuere ut, ultrices molestie, est. Vivamus quis pede nec - erat placerat tincidunt. Aenean odio dui, facilisis non, vehicula - et, bibendum a, libero. Etiam leo turpis, venenatis eleifend, - nonummy sit amet, aliquam non, mi. Maecenas eget mi. Sed nec diam. - Integer orci tellus, pellentesque nec, bibendum quis, sodales ut, - nibh. Duis laoreet aliquet orci. Curabitur sit amet sem sit amet - nibh fermentum faucibus. Donec adipiscing, ipsum id fringilla - convallis, elit massa cursus augue, at lobortis massa augue nec - ligula. Proin ac lacus.} - %{120} -\NewLipsumPar{Nunc id nulla nec mauris iaculis rutrum. Nunc - nisl. Integer mi. Praesent lorem neque, egestas at, molestie in, - faucibus et, eros. Sed rutrum, ante vitae aliquet tincidunt, diam - elit auctor risus, eu elementum purus turpis eu elit. Proin ac orci. - Integer varius, urna non sollicitudin consequat, massa libero - pharetra erat, et venenatis dui orci eget purus. Aliquam iaculis est - eget ipsum. Ut volutpat velit. Phasellus fringilla. Aliquam mollis - tellus vel odio. Vestibulum ante ipsum primis in faucibus orci - luctus et ultrices posuere cubilia Curae; Vestibulum gravida sapien - sed diam dictum pharetra. Nulla ac odio. Duis vitae metus ut purus - feugiat interdum. Duis eros enim, tincidunt ac, venenatis et, - dignissim id, lacus. Curabitur sagittis dolor nec augue. Sed - ultricies mauris. Donec semper, enim eu vestibulum placerat, justo - risus eleifend quam, ac semper velit pede convallis arcu.} - %{121} -\NewLipsumPar{Pellentesque tempus. Fusce tempor euismod - nulla. Integer metus quam, semper sit amet, pellentesque sed, ornare - sit amet, pede. Sed viverra. Aliquam erat volutpat. Donec tristique. - In ac pede ut tortor mattis blandit. Phasellus a nunc. Integer - metus. Sed malesuada gravida arcu. Lorem ipsum dolor sit amet, - consectetuer adipiscing elit.} -%{122} -\NewLipsumPar{Phasellus suscipit placerat neque. Duis - rutrum. Quisque enim. Proin et erat at augue aliquam aliquam. Mauris - porttitor imperdiet lectus. Proin egestas faucibus risus. Praesent - pharetra consequat odio. Fusce sed felis et nulla tempor elementum. - Nulla eu turpis. Proin posuere. Nullam nonummy nulla sed nulla - volutpat consectetuer. Vivamus vehicula accumsan eros. Fusce - ullamcorper. Phasellus vehicula consequat mauris. Sed vitae purus. - Sed accumsan, felis suscipit auctor fermentum, odio turpis - vestibulum risus, vitae mattis metus neque non pede.} - %{123} -\NewLipsumPar{Suspendisse mollis erat et risus. Vestibulum - et odio eu nisl malesuada dapibus. Morbi ac tortor et magna - tincidunt ullamcorper. Ut pellentesque fermentum mi. Etiam sed neque - sit amet leo consectetuer sagittis. Nulla facilisi. Sed lobortis - erat vitae nulla. Duis bibendum ipsum et mi scelerisque dapibus. - Fusce nonummy vestibulum orci. Donec a nisl. Integer ac nibh. - Pellentesque habitant morbi tristique senectus et netus et malesuada - fames ac turpis egestas. Aenean nec nunc sed dui lobortis - vestibulum. Praesent metus ligula, auctor vitae, lacinia sed, - hendrerit a, felis. Etiam sapien. Proin et sem vitae dolor sodales - venenatis. Integer luctus aliquam risus.} - %{124} -\NewLipsumPar{Maecenas mi massa, fermentum eu, venenatis - et, cursus id, ipsum. Morbi vehicula justo faucibus mauris. Donec - non neque. Fusce id mi ut neque tincidunt posuere. Suspendisse quis - enim. Cras porttitor. Sed quis velit. Aliquam vel augue at wisi - blandit suscipit. Duis ut justo. Class aptent taciti sociosqu ad - litora torquent per conubia nostra, per inceptos hymenaeos. Etiam - bibendum wisi quis augue. Nulla lorem odio, sollicitudin vitae, - vehicula nec, dapibus ultricies, purus. In vitae tellus at odio - cursus congue. Quisque tincidunt tempus metus. Aenean et nulla nec - dolor dapibus ultricies. Phasellus commodo vulputate arcu. Sed enim. - Phasellus quis leo. Aliquam iaculis, turpis nec aliquet rutrum, pede - risus porta diam, id ullamcorper erat est sed eros. Fusce - ornare.} - %{125} -\NewLipsumPar{Suspendisse porta, dolor sed fringilla - ultrices, augue mauris gravida dolor, vel sollicitudin magna dui sit - amet nunc. Mauris mollis condimentum risus. Integer ipsum. Quisque - malesuada, erat ac dictum pulvinar, magna nisl fermentum ligula, - quis euismod mauris felis non diam. Nullam sapien turpis, rutrum - vel, condimentum ac, bibendum vulputate, nulla. Vestibulum tortor - ipsum, fermentum egestas, placerat ut, vulputate et, wisi. Aliquam - erat volutpat. Donec consequat, ligula sit amet tincidunt aliquam, - nunc lorem sagittis nunc, a ullamcorper erat ante ac felis. Donec - eleifend. Nullam quam leo, lobortis non, condimentum at, tempus - consectetuer, orci. Quisque ut lorem. Donec nisl. Lorem ipsum dolor - sit amet, consectetuer adipiscing elit. Vestibulum ante ipsum primis - in faucibus orci luctus et ultrices posuere cubilia Curae; Donec - porta, libero eget feugiat posuere, felis arcu pulvinar odio, vel - dapibus enim dui nec turpis.} - %{126} -\NewLipsumPar{Duis leo. Cras nec odio. Nullam pretium - lacinia est. Fusce aliquet, metus et vestibulum lobortis, ante erat - vestibulum eros, eu sodales eros turpis id massa. Quisque est. - Vivamus eu lacus. Nulla nisl. Nam eros. Aliquam sit amet neque vel - magna dictum ultricies. Praesent magna mauris, sollicitudin ac, - commodo eu, bibendum sit amet, lectus. Suspendisse potenti. Fusce - congue leo quis libero nonummy adipiscing. Vestibulum ante ipsum - primis in faucibus orci luctus et ultrices posuere cubilia Curae; - Nunc a orci. Ut at erat sit amet nunc scelerisque malesuada. - Phasellus odio nisl, porta eget, laoreet nec, vehicula non, risus. - Etiam dolor mauris, consectetuer eget, tincidunt sed, egestas quis, - neque. Ut egestas ante ac libero. Proin mattis volutpat metus.} - %{127} -\NewLipsumPar{Sed tempor metus eget wisi. Duis cursus. Nam - nunc. Nulla placerat wisi sed est. Aenean risus. Lorem ipsum dolor - sit amet, consectetuer adipiscing elit. Proin erat dolor, ultricies - a, rutrum sed, posuere eget, metus. Donec sagittis nunc ac tortor. - Aliquam erat volutpat. Curabitur consectetuer, augue nec viverra - eleifend, dolor dolor volutpat orci, dapibus pellentesque eros pede - a arcu. Nullam augue. Etiam eget nulla vel mi porta hendrerit. - Phasellus cursus scelerisque tortor. Maecenas ut leo.} - %{128} -\NewLipsumPar{Donec libero. Quisque vitae est quis dui - bibendum suscipit. Fusce leo felis, sagittis non, vehicula ac, - ultricies vitae, diam. Aenean congue libero et metus. Nulla - convallis libero a lacus. Donec hendrerit lorem sit amet leo. Mauris - libero. Pellentesque pulvinar molestie dolor. Proin nibh mauris, - ornare at, pretium sit amet, porttitor vel, mi. Pellentesque - habitant morbi tristique senectus et netus et malesuada fames ac - turpis egestas.} - %{129} -\NewLipsumPar{Vestibulum ante ipsum primis in faucibus orci - luctus et ultrices posuere cubilia Curae; Aliquam interdum porttitor - tortor. Donec ultricies justo eget sapien. Proin ac est. Aliquam - erat volutpat. In tempus scelerisque ligula. Morbi scelerisque urna. - Duis ac nisl. Donec sed leo. Fusce posuere orci mollis nunc. Sed - arcu enim, pharetra nec, aliquam eu, consectetuer sit amet, eros. - Sed id enim. Etiam mattis est at elit. Pellentesque est risus, - pellentesque nec, dignissim vitae, egestas vitae, sapien. Maecenas - et eros non libero iaculis facilisis. Mauris porttitor tempor justo. - Sed sollicitudin neque nec libero.} - %{130} -\NewLipsumPar{Mauris ac ipsum. Duis ultrices erat ac felis. - Donec dignissim luctus orci. Fusce pede odio, feugiat sit amet, - aliquam eu, viverra eleifend, ipsum. Fusce arcu massa, posuere id, - nonummy eu, pulvinar ut, wisi. Sed dui. Vestibulum nunc nisl, rutrum - quis, pharetra eget, congue sed, dui. Donec justo neque, euismod - eget, nonummy adipiscing, iaculis eu, leo. Duis lectus. Morbi - pellentesque nonummy dui.} - %{131} -\NewLipsumPar{Aenean sem dolor, fermentum nec, gravida - hendrerit, mattis eget, felis. Nullam non diam vitae mi lacinia - consectetuer. Fusce non massa eget quam luctus posuere. Aenean - vulputate velit. Quisque et dolor. Donec ipsum tortor, rutrum quis, - mollis eu, mollis a, pede. Donec nulla. Duis molestie. Duis lobortis - commodo purus. Pellentesque vel quam. Ut congue congue risus. Sed - ligula. Aenean dictum pede vitae felis. Donec sit amet nibh. - Maecenas eu orci. Quisque gravida quam sed massa.} - %{132} -\NewLipsumPar{Nunc euismod, mauris luctus adipiscing - pellentesque, augue ligula pellentesque lectus, vitae posuere purus - velit a pede. Phasellus leo mi, egestas imperdiet, blandit non, - sollicitudin pharetra, enim. Nullam faucibus tellus non enim. Sed - egestas nunc eu eros. Nunc euismod venenatis urna. Phasellus - ullamcorper. Vivamus varius est ac lorem. In id pede eleifend nibh - consectetuer faucibus. Phasellus accumsan euismod elit. Etiam vitae - elit. Integer imperdiet nibh. Morbi imperdiet orci euismod mi.} - %{133} -\NewLipsumPar{Donec tincidunt tempor metus. Aenean - egestas cursus nulla. Fusce ac metus at enim viverra lacinia. - Vestibulum in magna non eros varius suscipit. Nullam cursus nibh. - Mauris neque. In nunc quam, convallis vitae, posuere in, consequat - sed, wisi. Phasellus bibendum consectetuer massa. Curabitur quis - urna. Pellentesque a justo.} -%{134} -\NewLipsumPar{In sit amet dui eget lacus rutrum accumsan. - Phasellus ac metus sed massa varius auctor. Curabitur velit elit, - pellentesque eget, molestie nec, congue at, pede. Maecenas quis - tellus non lorem vulputate ornare. Vestibulum ante ipsum primis in - faucibus orci luctus et ultrices posuere cubilia Curae; Etiam magna - arcu, vulputate egestas, aliquet ut, facilisis ut, nisl. Donec - vulputate wisi ac dolor. Aliquam feugiat nibh id tellus. Morbi eget - massa sit amet purus accumsan dictum. Aenean a lorem. Fusce semper - porta sapien.} - %{135} -\NewLipsumPar{Curabitur sit amet libero eget enim eleifend - lacinia. Vivamus sagittis volutpat dui. Suspendisse potenti. Morbi a - nibh eu augue fermentum posuere. Curabitur elit augue, porta quis, - congue aliquam, rutrum non, massa. Integer mattis mollis ipsum. Sed - tellus enim, mattis id, feugiat sed, eleifend in, elit. Phasellus - non purus sed elit viverra rhoncus. Vestibulum id tellus vel sem - imperdiet congue. Aenean in arcu. Nullam urna justo, imperdiet eget, - volutpat vitae, semper eu, quam. Sed turpis dui, porttitor ut, - egestas ac, condimentum non, wisi. Fusce iaculis turpis eget dui. - Quisque pulvinar est pellentesque leo. Ut nulla elit, mattis vel, - scelerisque vel, blandit ut, justo. Nulla feugiat risus in - erat.} - %{136} -\NewLipsumPar{Curabitur hendrerit. Morbi fringilla enim - quis nunc. Phasellus at dui. Donec commodo augue at nunc. Nunc in - sapien et magna mollis sagittis. Morbi eu elit. Phasellus lacus. - Donec a quam. Etiam pulvinar sapien. Sed nibh magna, viverra vitae, - auctor eget, eleifend nec, lorem. Curabitur fringilla dui a odio. - Nunc semper condimentum arcu. Curabitur vitae lectus sit amet turpis - pretium condimentum. Nullam imperdiet mattis neque. Proin eget magna - porta erat rhoncus consectetuer. Aenean pulvinar erat vitae mi.} - %{137} -\NewLipsumPar{In eget turpis non tortor iaculis - tincidunt. Ut egestas feugiat magna. Duis enim nibh, gravida vel, - nonummy non, sollicitudin ac, enim. Sed in tortor sed tellus - eleifend cursus. Morbi a dolor at nibh molestie faucibus. Duis sed - wisi. Duis fringilla, dui et malesuada dignissim, elit eros dictum - lacus, rhoncus imperdiet pede elit nec tellus. Aenean at ligula eget - nulla imperdiet faucibus. Quisque vestibulum lorem ac leo. Sed - laoreet neque ut magna.} - %{138} -\NewLipsumPar{Aenean eget justo id lorem congue - tristique. Maecenas sit amet nunc. Aenean bibendum risus. Nam - convallis, mi sed ultrices sodales, metus nibh placerat dui, eu - hendrerit erat enim vel libero. Duis placerat sem vitae wisi - imperdiet condimentum. Aliquam pellentesque dui ac diam eleifend - venenatis. Nulla facilisis posuere sapien. Cras euismod. Praesent ut - enim. Aliquam ut ipsum quis urna interdum vehicula. Fusce eget sem. - Nullam accumsan ullamcorper turpis.} - %{139} -\NewLipsumPar{Integer posuere, metus ac rhoncus auctor, mi - tellus scelerisque nunc, venenatis elementum tortor lorem eu erat. - Sed consectetuer risus vitae orci. Nullam tortor mauris, interdum - at, imperdiet in, convallis eget, massa. Aliquam suscipit, magna nec - blandit volutpat, lectus neque suscipit nunc, sit amet cursus nisl - erat eget risus. Vestibulum leo lectus, accumsan ut, pharetra vel, - elementum sed, quam. Maecenas condimentum orci at enim. Maecenas ut - nunc. Vivamus pede. Integer vel purus vel mi mollis vestibulum. Sed - laoreet ultricies nibh. Suspendisse non nisl quis ligula fermentum - facilisis. Vestibulum sem nibh, porttitor et, fermentum a, ultricies - id, augue.} - %{140} -\NewLipsumPar{In accumsan convallis metus. Aenean est. Donec - pharetra porta odio. Duis nunc nisl, imperdiet ac, tincidunt vitae, - varius sit amet, felis. Curabitur wisi. Ut iaculis, nunc in lacinia - egestas, elit enim tincidunt turpis, at luctus ipsum augue - condimentum metus. Aenean lorem wisi, cursus sit amet, mollis nec, - porta ac, augue. Vivamus massa. Praesent rhoncus imperdiet orci. - Aenean pharetra dolor ut sapien. Maecenas egestas augue semper - dolor.} - %{141} -\NewLipsumPar{Vestibulum at lectus. Vestibulum dapibus - placerat magna. Suspendisse dolor urna, condimentum sit amet, - euismod a, adipiscing a, enim. Aliquam erat volutpat. Donec - imperdiet dolor non mi. Phasellus magna metus, dictum sit amet, - laoreet non, dictum vel, dui. Suspendisse potenti. Nunc turpis - risus, porta vel, pharetra id, eleifend vitae, justo. Duis pulvinar - dolor sit amet urna. Integer eu eros. Nulla facilisi. Duis dui. - Nullam vitae quam. Morbi a nunc in elit sodales euismod. Nunc sed - orci. Etiam malesuada metus vitae felis. Suspendisse imperdiet velit - in tellus.} - %{142} -\NewLipsumPar{Nullam elit orci, condimentum vitae, accumsan - quis, gravida non, velit. Morbi pellentesque accumsan elit. Aenean - est purus, eleifend ac, dictum at, dignissim sed, dolor. Vestibulum - volutpat sapien quis augue. Maecenas vulputate accumsan sapien. Nam - mattis, lacus non iaculis aliquet, mi elit varius lectus, eu - malesuada dolor nunc at wisi. Aliquam ligula. Mauris nisl elit, - molestie vitae, gravida sit amet, facilisis convallis, enim. Sed - urna. Praesent et augue. Fusce pellentesque. Maecenas varius orci - eget nisl. Donec tempor rhoncus turpis. Integer nibh. Cras metus - erat, tincidunt et, scelerisque quis, bibendum sed, dui. Suspendisse - potenti.} - %{143} -\NewLipsumPar{Integer ac diam. Nullam porttitor dolor eget - metus. Nulla sed metus quis tortor lacinia tempor. Mauris mauris - dui, faucibus vitae, aliquet sit amet, placerat a, ante. Nunc - placerat tincidunt neque. Mauris egestas dolor ut ipsum cursus - malesuada. Curabitur odio. Nunc lobortis. Sed mattis tempor felis. - Mauris dolor quam, facilisis at, bibendum sit amet, rutrum ornare, - pede. Suspendisse accumsan sagittis velit. Pellentesque varius - laoreet lorem. Vivamus egestas sapien id diam.} - %{144} -\NewLipsumPar{Integer viverra, felis ac tempus cursus, - neque risus interdum turpis, eget venenatis tellus velit in neque. - Nulla feugiat luctus tellus. Nam pulvinar lacus id leo. Vestibulum - at ligula. Duis laoreet tincidunt enim. Suspendisse at nisl molestie - est laoreet laoreet. Suspendisse euismod metus vel nisl. Aenean - ullamcorper imperdiet massa. Aliquam nibh. Donec quis erat. Nunc - sodales auctor ante.} - %{145} -\NewLipsumPar{Nam quis ante. Nullam interdum quam in eros. - Sed eleifend libero eu tellus consequat fermentum. Nullam - pellentesque risus ut augue. Vestibulum eu tellus. Integer eleifend - suscipit urna. Fusce porttitor leo et odio. Vivamus vehicula justo a - nisl. In rutrum, purus ut dictum auctor, dolor velit accumsan dolor, - eu convallis augue dui ac lectus. Nullam eleifend pellentesque - ligula. Nam quis magna. Donec elementum dapibus erat. Pellentesque - vel ipsum nec orci fermentum accumsan. Nunc porta magna eu neque. - Nam id erat eu mi aliquet cursus. Morbi ut felis. Vestibulum in - ipsum.} - %{146} -\NewLipsumPar{Donec vel augue. Morbi a turpis sed libero - consequat porta. Quisque lacinia consequat odio. Sed vehicula - sollicitudin purus. Vestibulum eget est. In hac habitasse platea - dictumst. Sed blandit, tortor a auctor imperdiet, wisi nibh ornare - leo, ac dictum nibh enim eu orci. Pellentesque habitant morbi - tristique senectus et netus et malesuada fames ac turpis egestas. - Aliquam tincidunt ullamcorper justo. Etiam accumsan lacus nec ante. - Ut dictum luctus mauris. Ut metus. Maecenas gravida. Proin iaculis. - Integer convallis, justo iaculis ullamcorper sollicitudin, lectus - neque tincidunt mi, at condimentum sem quam vel diam. Aenean sit - amet purus.} - %{147} -\NewLipsumPar{Sed justo. Maecenas lacinia, turpis sed - commodo congue, odio urna elementum nunc, vitae molestie velit nunc - eu sem. Maecenas enim. Proin quis neque nec tortor sollicitudin - volutpat. Sed at ante. Sed vitae mauris non ante egestas hendrerit. - Cum sociis natoque penatibus et magnis dis parturient montes, - nascetur ridiculus mus. In venenatis facilisis magna. Phasellus - purus. Cras quis mauris. Aliquam eget magna. Donec rutrum sagittis - mi. Morbi elementum, est sit amet sollicitudin feugiat, orci magna - semper risus, eu congue nulla metus vel elit. Nunc tempor ornare mi. - Integer justo odio, suscipit tincidunt, fermentum eu, tincidunt et, - libero. Vestibulum vestibulum, urna et suscipit imperdiet, nulla - ante fermentum erat, at laoreet lorem lectus sed metus. Fusce ante - sem, posuere in, vehicula a, posuere sed, ante. Phasellus magna. - Maecenas sit amet diam. Nunc at nibh sit amet augue tristique - gravida.} - %{148} -\NewLipsumPar{Aenean adipiscing auctor est. Morbi quam - arcu, malesuada sed, volutpat et, elementum sit amet, libero. Duis - accumsan. Curabitur urna. In sed ipsum. Donec lobortis nibh. Duis - mattis. Sed cursus lectus quis odio. Phasellus arcu. Praesent - imperdiet dui in sapien. Vestibulum tellus pede, auctor a, - pellentesque sit amet, vulputate sed, purus. Nunc pulvinar, dui at - eleifend adipiscing, tellus nulla placerat massa, sed condimentum - nulla tellus sed ligula. Nulla vitae odio sit amet leo imperdiet - blandit. In vel massa. Maecenas varius dui at turpis. Sed odio.} - %{149} -\NewLipsumPar{Quisque aliquam ipsum sed turpis. - Pellentesque laoreet velit nec justo. Nam sed augue. Maecenas rutrum - quam eu dolor. Fusce consectetuer. Proin tellus est, luctus vitae, - molestie a, mattis et, mauris. Donec tempor. Pellentesque habitant - morbi tristique senectus et netus et malesuada fames ac turpis - egestas. Duis ante felis, dignissim id, blandit in, suscipit vel, - dolor. Pellentesque tincidunt cursus felis. Proin rhoncus semper - nulla. Ut et est. Vivamus ipsum erat, gravida in, venenatis ac, - fringilla in, quam. Nunc ac augue. Fusce pede erat, ultrices non, - consequat et, semper sit amet, urna.} - % {150} -\NewLipsumPar{Fusce adipiscing justo nec ante. Nullam in enim. - Pellentesque felis orci, sagittis ac, malesuada et, facilisis in, - ligula. Nunc non magna sit amet mi aliquam dictum. In mi. Curabitur - sollicitudin justo sed quam. Aenean imperdiet. Vestibulum ante ipsum - primis in faucibus orci luctus et ultrices posuere cubilia Curae; - Donec lacinia nonummy lectus. Proin vel urna. Fusce sit amet orci ac - magna iaculis pharetra. Duis sagittis massa in tellus. Aenean vel - velit vel felis consectetuer pharetra.} + text .code:n = \SetLipsumText{#1} , + text .value_required:n = true , % \end{macrocode} +% \opt{language} sets the language to be used when typesetting. % \begin{macrocode} -%</lipsum> + language .tl_gset:N = \g_@@_language_tl , + language .value_required:n = true , % \end{macrocode} -% \newpage -% \subsection{The text of Cicero's speech} +% \opt{default-range} does \cs{SetLipsumDefault}, initially |1-7|, as +% documented. It's default is also |1-7| so that the key has two +% meanings: \cs{setlipsum}|{default-range=|\meta{range}|}| sets the +% range to the given value, while \cs{setlipsum}|{default-range}| sets +% the range to the ``default default range''. Pretty neat :) % \begin{macrocode} -%<*cicero> + default-range .code:n = \SetLipsumDefault{#1} , + default-range .initial:n = 1-7 , + default-range .default:n = 1-7 , + } % \end{macrocode} +% This chunk defines the keys \meta{thing}-\meta{place}[*], where +% \meta{thing} is |par| or |sentence|, \meta{place} is |before|, +% |begin|, |sep|, |end|, and |after|, which totals~10 keys, and +% another~10 with the |*| in the name. Each sets a token list called +% \cs[no-index]{l_@@_\meta{thing}_\meta{place}_[no]star_tl}. % \begin{macrocode} - -%% -%% This text was provided by github-user -%% svenper. See https://github.com/patta42/lipsum/issues/13 -%% - -\NewLipsumPar{Non eram nescius, Brute, cum, quae summis ingeniis exquisitaque - doctrina philosophi Graeco sermone tractavissent, ea Latinis litteris - mandaremus, fore ut hic noster labor in varias reprehensiones incurreret. Nam - quibusdam, et iis quidem non admodum indoctis, totum hoc displicet - philosophari. Quidam autem non tam id reprehendunt, si remissius agatur, sed - tantum studium tamque multam operam ponendam in eo non arbitrantur. Erunt - etiam, et ii quidem eruditi Graecis litteris, contemnentes Latinas, qui se - dicant in Graecis legendis operam malle consumere. Postremo aliquos futuros - suspicor, qui me ad alias litteras vocent, genus hoc scribendi, etsi sit - elegans, personae tamen et dignitatis esse negent.} - %{2} -\NewLipsumPar{Contra quos omnis dicendum breviter existimo. Quamquam - philosophiae quidem vituperatoribus satis responsum est eo libro, quo a nobis - philosophia defensa et collaudata est, cum esset accusata et vituperata ab - Hortensio. Qui liber cum et tibi probatus videretur et iis, quos ego posse - iudicare arbitrarer, plura suscepi veritus ne movere hominum studia viderer, - retinere non posse. Qui autem, si maxime hoc placeat, moderatius tamen id - volunt fieri, difficilem quandam temperantiam postulant in eo, quod semel - admissum coerceri reprimique non potest, ut propemodum iustioribus utamur - illis, qui omnino avocent a philosophia, quam his, qui rebus infinitis modum - constituant in reque eo meliore, quo maior sit, mediocritatem desiderent.} - %{3} -\NewLipsumPar{Sive enim ad sapientiam perveniri potest, non paranda nobis - solum ea, sed fruenda etiam [sapientia] est; sive hoc difficile est, tamen nec - modus est ullus investigandi veri, nisi inveneris, et quaerendi defatigatio - turpis est, cum id, quod quaeritur, sit pulcherrimum. Etenim si delectamur, - cum scribimus, quis est tam invidus, qui ab eo nos abducat? Sin laboramus, - quis est, qui alienae modum statuat industriae? Nam ut Terentianus Chremes non - inhumanus, qui novum vicinum non vult \textquoteleft fodere aut arare aut - aliquid ferre denique\textquoteright\space\textendash\space non enim illum ab - industria, sed ab inliberali labore deterret \textendash, sic isti curiosi, - quos offendit noster minime nobis iniucundus labor.} - %{4} -\NewLipsumPar{Iis igitur est difficilius satis facere, qui se Latina scripta - dicunt contemnere. In quibus hoc primum est in quo admirer, cur in gravissimis - rebus non delectet eos sermo patrius, cum idem fabellas Latinas ad verbum e - Graecis expressas non inviti legant. Quis enim tam inimicus paene nomini - Romano est, qui Ennii Medeam aut Antiopam Pacuvii spernat aut reiciat, quod se - isdem Euripidis fabulis delectari dicat, Latinas litteras oderit?} - %{5} -\NewLipsumPar{Synephebos ego, inquit, potius Caecilii aut Andriam Terentii - quam utramque Menandri legam?} - %{6} -\NewLipsumPar{A quibus tantum dissentio, ut, cum Sophocles vel optime - scripserit Electram, tamen male conversam Atilii mihi legendam putem, de quo - Lucilius: \textquoteleft ferreum scriptorem\textquoteright, verum, opinor, - scriptorem tamen, ut legendus sit. Rudem enim esse omnino in nostris poetis - aut inertissimae segnitiae est aut fastidii delicatissimi. Mihi quidem nulli - satis eruditi videntur, quibus nostra ignota sunt. An \textquoteleft Utinam ne - in nemore\ldots\textquoteright\space nihilo minus legimus quam hoc idem - Graecum, quae autem de bene beateque vivendo a Platone disputata sunt, haec - explicari non placebit Latine?} - %{7} -\NewLipsumPar{Quid? Si nos non interpretum fungimur munere, sed tuemur ea, - quae dicta sunt ab iis quos probamus, eisque nostrum iudicium et nostrum - scribendi ordinem adiungimus, quid habent, cur Graeca anteponant iis, quae et - splendide dicta sint neque sint conversa de Graecis? Nam si dicent ab illis - has res esse tractatas, ne ipsos quidem Graecos est cur tam multos legant, - quam legendi sunt. Quid enim est a Chrysippo praetermissum in Stoicis? Legimus - tamen Diogenem, Antipatrum, Mnesarchum, Panaetium, multos alios in primisque - familiarem nostrum Posidonium. Quid? Theophrastus mediocriterne delectat, cum - tractat locos ab Aristotele ante tractatos? Quid? Epicurei num desistunt de - isdem, de quibus et ab Epicuro scriptum est et ab antiquis, ad arbitrium suum - scribere? Quodsi Graeci leguntur a Graecis isdem de rebus alia ratione - compositis, quid est, cur nostri a nostris non legantur?} - %{8} -\NewLipsumPar{Quamquam, si plane sic verterem Platonem aut Aristotelem, ut - verterunt nostri poetae fabulas, male, credo, mererer de meis civibus, si ad - eorum cognitionem divina illa ingenia transferrem. Sed id neque feci adhuc nec - mihi tamen, ne faciam, interdictum puto. Locos quidem quosdam, si videbitur, - transferam, et maxime ab iis, quos modo nominavi, cum inciderit, ut id apte - fieri possit, ut ab Homero Ennius, Afranius a Menandro solet. Nec vero, ut - noster Lucilius, recusabo, quo minus omnes mea legant. Utinam esset ille - Persius, Scipio vero et Rutilius multo etiam magis, quorum ille iudicium - reformidans Tarentinis ait se et Consentinis et Siculis scribere. Facete is - quidem, sicut alia; sed neque tam docti tum erant, ad quorum iudicium - elaboraret, et sunt illius scripta leviora, ut urbanitas summa appareat, - doctrina mediocris.} - %{9} -\NewLipsumPar{Ego autem quem timeam lectorem, cum ad te ne Graecis quidem - cedentem in philosophia audeam scribere? Quamquam a te ipso id quidem facio - provocatus gratissimo mihi libro, quem ad me de virtute misisti. Sed ex eo - credo quibusdam usu venire; ut abhorreant a Latinis, quod inciderint in - inculta quaedam et horrida, de malis Graecis Latine scripta deterius. Quibus - ego assentior, dum modo de isdem rebus ne Graecos quidem legendos putent. Res - vero bonas verbis electis graviter ornateque dictas quis non legat? Nisi qui - se plane Graecum dici velit, ut a Scaevola est praetore salutatus Athenis - Albucius.} - %{10} -\NewLipsumPar{Quem quidem locum comit multa venustate et omni sale idem - Lucilius, apud quem praeclare Scaevola:} - %{11} -\NewLipsumPar{Graecum te, Albuci, quam Romanum atque Sabinum, municipem Ponti, - Tritani, centurionum, praeclarorum hominum ac primorum signiferumque, maluisti - dici. Graece ergo praetor Athenis, id quod maluisti, te, cum ad me accedis, - saluto: \textquoteleft[\ldots],\textquoteright\space inquam, \textquoteleft - Tite!\textquoteright\space lictores, turma omnis chorusque: - \textquoteleft[\ldots], Tite!\textquoteright\space hinc hostis mi Albucius, - hinc inimicus.} - %{12} -\NewLipsumPar{Sed iure Mucius. Ego autem mirari [satis] non queo unde hoc sit - tam insolens domesticarum rerum fastidium. Non est omnino hic docendi locus; - sed ita sentio et saepe disserui, Latinam linguam non modo non inopem, ut - vulgo putarent, sed locupletiorem etiam esse quam Graecam. Quando enim nobis, - vel dicam aut oratoribus bonis aut poetis, postea quidem quam fuit quem - imitarentur, ullus orationis vel copiosae vel elegantis ornatus defuit? Ego - vero, quoniam forensibus operis, laboribus, periculis non deseruisse mihi - videor praesidium, in quo a populo Romano locatus sum, debeo profecto, - quantumcumque possum, in eo quoque elaborare, ut sint opera, studio, labore - meo doctiores cives mei, nec cum istis tantopere pugnare, qui Graeca legere - malint, modo legant illa ipsa, ne simulent, et iis servire, qui vel utrisque - litteris uti velint vel, si suas habent, illas non magnopere desiderent.} - %{13} -\NewLipsumPar{Qui autem alia malunt scribi a nobis, aequi esse debent, quod et - scripta multa sunt, sic ut plura nemini e nostris, et scribentur fortasse - plura, si vita suppetet; et tamen, qui diligenter haec, quae de philosophia - litteris mandamus, legere assueverit, iudicabit nulla ad legendum his esse - potiora. Quid est enim in vita tantopere quaerendum quam cum omnia in - philosophia, tum id, quod his libris quaeritur, qui sit finis, quid extremum, - quid ultimum, quo sint omnia bene vivendi recteque faciendi consilia - referenda, quid sequatur natura ut summum ex rebus expetendis, quid fugiat ut - extremum malorum? Qua de re cum sit inter doctissimos summa dissensio, quis - alienum putet eius esse dignitatis, quam mihi quisque tribuat, quid in omni - munere vitae optimum et verissimum sit, exquirere?} - %{14} -\NewLipsumPar{An, partus ancillae sitne in fructu habendus, disseretur inter - principes civitatis, P. Scaevolam M\textquoteright.que Manilium, ab iisque M. - Brutus dissentiet \textendash\space quod et acutum genus est et ad usus civium - non inutile, nosque ea scripta reliquaque eiusdem generis et legimus libenter - et legemus \textendash, haec, quae vitam omnem continent, neglegentur? Nam, ut - sint illa vendibiliora, haec uberiora certe sunt. Quamquam id quidem licebit - iis existimare, qui legerint. Nos autem hanc omnem quaestionem de finibus - bonorum et malorum fere a nobis explicatam esse his litteris arbitramur, in - quibus, quantum potuimus, non modo quid nobis probaretur, sed etiam quid a - singulis philosophiae disciplinis diceretur, persecuti sumus.} - %{15} -\NewLipsumPar{Ut autem a facillimis ordiamur, prima veniat in medium Epicuri - ratio, quae plerisque notissima est. Quam a nobis sic intelleges eitam, ut ab - ipsis, qui eam disciplinam probant, non soleat accuratius explicari; verum - enim invenire volumus, non tamquam adversarium aliquem convincere. Accurate - autem quondam a L. Torquato, homine omni doctrina erudito, defensa est Epicuri - sententia de voluptate, a meque ei responsum, cum C. Triarius, in primis - gravis et doctus adolescens, ei disputationi interesset.} - %{16} -\NewLipsumPar{Nam cum ad me in Cumanum salutandi causa uterque venisset, pauca - primo inter nos de litteris, quarum summum erat in utroque studium, deinde - Torquatus: Quoniam nacti te, inquit, sumus aliquando otiosum, certe audiam, - quid sit, quod Epicurum nostrum non tu quidem oderis, ut fere faciunt, qui ab - eo dissentiunt, sed certe non probes, eum quem ego arbitror unum vidisse verum - maximisque erroribus animos hominum liberavisse et omnia tradidisse, quae - pertinerent ad bene beateque vivendum. Sed existimo te, sicut nostrum - Triarium, minus ab eo delectari, quod ista Platonis, Aristoteli, Theophrasti - orationis ornamenta neglexerit. Nam illud quidem adduci vix possum, ut ea, - quae senserit ille, tibi non vera videantur.} - %{17} -\NewLipsumPar{Vide, quantum, inquam, fallare, Torquate. Oratio me istius - philosophi non offendit; nam et complectitur verbis, quod vult, et dicit - plane, quod intellegam; et tamen ego a philosopho, si afferat eloquentiam, non - asperner, si non habeat, non admodum flagitem. Re mihi non aeque satisfacit, - et quidem locis pluribus. Sed quot homines, tot sententiae; falli igitur - possumus.} - %{18} -\NewLipsumPar{Quam ob rem tandem, inquit, non satisfacit? Te enim iudicem - aequum puto, modo quae dicat ille bene noris.} - %{19} -\NewLipsumPar{Nisi mihi Phaedrum, inquam, tu mentitum aut Zenonem putas, - quorum utrumque audivi, cum mihi nihil sane praeter sedulitatem probarent, - omnes mihi Epicuri sententiae satis notae sunt. Atque eos, quos nominavi, cum - Attico nostro frequenter audivi, cum miraretur ille quidem utrumque, Phaedrum - autem etiam amaret, cotidieque inter nos ea, quae audiebamus, conferebamus, - neque erat umquam controversia, quid ego intellegerem, sed quid probarem.} - %{20} -\NewLipsumPar{Quid igitur est? Inquit; audire enim cupio, quid non probes. - Principio, inquam, in physicis, quibus maxime gloriatur, primum totus est - alienus. Democritea dicit perpauca mutans, sed ita, ut ea, quae corrigere - vult, mihi quidem depravare videatur. Ille atomos quas appellat, id est - corpora individua propter soliditatem, censet in infinito inani, in quo nihil - nec summum nec infimum nec medium nec ultimum nec extremum sit, ita ferri, ut - concursionibus inter se cohaerescant, ex quo efficiantur ea, quae sint quaeque - cernantur, omnia, eumque motum atomorum nullo a principio, sed ex aeterno - tempore intellegi convenire.} - %{21} -\NewLipsumPar{Epicurus autem, in quibus sequitur Democritum, non fere labitur. - Quamquam utriusque cum multa non probo, tum illud in primis, quod, cum in - rerum natura duo quaerenda sint, unum, quae materia sit, ex qua quaeque res - efficiatur, alterum, quae vis sit, quae quidque efficiat, de materia - disseruerunt, vim et causam efficiendi reliquerunt. Sed hoc commune vitium, - illae Epicuri propriae ruinae: censet enim eadem illa individua et solida - corpora ferri deorsum suo pondere ad lineam, hunc naturalem esse omnium - corporum motum.} - %{22} -\NewLipsumPar{Deinde ibidem homo acutus, cum illud ocurreret, si omnia deorsus - e regione ferrentur et, ut dixi, ad lineam, numquam fore ut atomus altera - alteram posset attingere itaque ** attulit rem commenticiam: declinare dixit - atomum perpaulum, quo nihil posset fieri minus; ita effici complexiones et - copulationes et adhaesiones atomorum inter se, ex quo efficeretur mundus - omnesque partes mundi, quaeque in eo essent. Quae cum tota res (est) ficta - pueriliter, tum ne efficit [quidem], quod vult. Nam et ipsa declinatio ad - libidinem fingitur \textendash\space ait enim declinare atomum sine causa; quo - nihil turpius physico, quam fieri quicquam sine causa dicere, - \textendash\space et illum motum naturalem omnium ponderum, ut ipse - constituit, e regione inferiorem locum petentium sine causa eripuit atomis nec - tamen id, cuius causa haec finxerat, assecutus est.} - %{23} -\NewLipsumPar{Nam si omnes atomi declinabunt, nullae umquam cohaerescent, sive - aliae declinabunt, aliae suo nutu recte ferentur, primum erit hoc quasi, - provincias atomis dare, quae recte, quae oblique ferantur, deinde eadem illa - atomorum, in quo etiam Democritus haeret, turbulenta concursio hunc mundi - ornatum efficere non poterit. Ne illud quidem physici, credere aliquid esse - minimum, quod profecto numquam putavisset, si a Polyaeno, familiari suo, - geometrica discere maluisset quam illum etiam ipsum dedocere. Sol Democrito - magnus videtur, quippe homini erudito in geometriaque perfecto, huic pedalis - fortasse; tantum enim esse censet, quantus videtur, vel paulo aut maiorem aut - minorem.} - %{24} -\NewLipsumPar{Ita, quae mutat, ea corrumpit, quae sequitur sunt tota - Democriti, atomi, inane, imagines, quae [\ldots] nominant, quorum incursione - non solum videamus, sed etiam cogitemus; infinitio ipsa, quam [\ldots] vocant, - tota ab illo est, tum innumerabiles mundi, qui et oriantur et intereant - cotidie. Quae etsi mihi nullo modo probantur, tamen Democritum laudatum a - ceteris ab hoc, qui eum unum secutus esset, nollem vituperatum.} - %{25} -\NewLipsumPar{Iam in altera philosophiae parte. Quae est quaerendi ac - disserendi, quae [\ldots] dicitur, iste vester plane, ut mihi quidem videtur, - inermis ac nudus est. Tollit definitiones, nihil de dividendo ac partiendo - docet, non quo modo efficiatur concludaturque ratio tradit, non qua via - captiosa solvantur ambigua distinguantur ostendit; iudicia rerum in sensibus - ponit, quibus si semel aliquid falsi pro vero probatum sit, sublatum esse omne - iudicium veri et falsi putat.} - %{26} -\NewLipsumPar{Confirmat autem illud vel maxime, quod ipsa natura, ut ait ille, - sciscat et probet, id est voluptatem et dolorem. Ad haec et quae sequamur et - quae fugiamus refert omnia. Quod quamquam Aristippi est a Cyrenaicisque melius - liberiusque defenditur, tamen eius modi esse iudico, ut nihil homine videatur - indignius. Ad maiora enim quaedam nos natura genuit et conformavit, ut mihi - quidem videtur. Ac fieri potest, ut errem, sed ita prorsus existimo, neque eum - Torquatum, qui hoc primus cognomen invenerit, aut torquem illum hosti - detraxisse, ut aliquam ex eo perciperet corpore voluptatem, aut cum Latinis - tertio consulatu conflixisse apud Veserim propter voluptatem; quod vero securi - percussit filium, privavisse se etiam videtur multis voluptatibus, cum ipsi - naturae patrioque amori praetulerit ius maiestatis atque imperii.} - %{27} -\NewLipsumPar{Quid? T. Torquatus, is qui consul cum Cn.\ Octavio fuit, cum - illam severitatem in eo filio adhibuit, quem in adoptionem D. Silano - emancipaverat, ut eum Macedonum legatis accusantibus, quod pecunias praetorem - in provincia cepisse arguerent, causam apud se dicere iuberet reque ex utraque - parte audita pronuntiaret eum non talem videri fuisse in imperio, quales eius - maiores fuissent, et in conspectum suum venire vetuit, numquid tibi videtur de - voluptatibus suis cogitavisse?} - %{28} -\NewLipsumPar{Sed ut omittam pericula, labores, dolorem etiam, quem optimus - quisque pro patria et pro suis suscipit, ut non modo nullam captet, sed etiam - praetereat omnes voluptates, dolores denique quosvis suscipere malit quam - deserere ullam officii partem, ad ea, quae hoc non minus declarant, sed - videntur leviora, veniamus.} - %{29} -\NewLipsumPar{Quid tibi, Torquate, quid huic Triario litterae, quid historiae - cognitioque rerum, quid poetarum evolutio, quid tanta tot versuum memoria - voluptatis affert? Nec mihi illud dixeris: \textquoteleft Haec enim ipsa mihi - sunt voluptati, et erant illa Torquatis.\textquoteright\space Numquam hoc ita - defendit Epicurus neque Metrodorus aut quisquam eorum, qui aut saperet aliquid - aut ista didicisset. Et quod quaeritur saepe, cur tam multi sint Epicurei, - sunt aliae quoque causae, sed multitudinem haec maxime allicit, quod ita - putant dici ab illo, recta et honesta quae sint, ea facere ipsa per se - laetitiam, id est voluptatem. Homines optimi non intellegunt totam rationem - everti, si ita res se habeat. Nam si concederetur, etiamsi ad corpus nihil - referatur, ista sua sponte et per se esse iucunda, per se esset et virtus et - cognitio rerum, quod minime ille vult expetenda.} - %{30} -\NewLipsumPar{Haec igitur Epicuri non probo, inquam. De cetero vellem equidem - aut ipse doctrinis fuisset instructior \textendash\space est enim, quod tibi - ita videri necesse est, non satis politus iis artibus, quas qui tenent, - eruditi appellantur \textendash\space aut ne deterruisset alios a studiis. - Quamquam te quidem video minime esse deterritum.} - %{31} -\NewLipsumPar{Quae cum dixissem, magis ut illum provocarem quam ut ipse - loquerer, tum Triarius leniter arridens: Tu quidem, inquit, totum Epicurum - paene e philosophorum choro sustulisti. Quid ei reliquisti, nisi te, quoquo - modo loqueretur, intellegere, quid diceret? Aliena dixit in physicis nec ea - ipsa, quae tibi probarentur; si qua in iis corrigere voluit, deteriora fecit. - Disserendi artem nullam habuit. Voluptatem cum summum bonum diceret, primum in - eo ipso parum vidit, deinde hoc quoque alienum; nam ante Aristippus, et ille - melius. Addidisti ad extremum etiam indoctum fuisse.} - %{32} -\NewLipsumPar{Fieri, inquam, Triari, nullo pacto potest, ut non dicas, quid - non probes eius, a quo dissentias. Quid enim me prohiberet Epicureum esse, si - probarem, quae ille diceret? Cum praesertim illa perdiscere ludus esset. Quam - ob rem dissentientium inter se reprehensiones non sunt vituperandae, - maledicta, contumeliae, tum iracundiae, contentiones concertationesque in - disputando pertinaces indignae philosophia mihi videri solent.} - %{33} -\NewLipsumPar{Tum Torquatus: Prorsus, inquit, assentior; neque enim disputari - sine reprehensione nec cum iracundia aut pertinacia recte disputari potest. - Sed ad haec, nisi molestum est, habeo quae velim. An me, inquam, nisi te - audire vellem, censes haec dicturum fuisse? Utrum igitur percurri omnem - Epicuri disciplinam placet an de una voluptate quaeri, de qua omne certamen - est? Tuo vero id quidem, inquam, arbitratu. Sic faciam igitur, inquit: unam - rem explicabo, eamque maximam, de physicis alias, et quidem tibi et - declinationem istam atomorum et magnitudinem solis probabo et Democriti errata - ab Epicuro reprehensa et correcta permulta. Nunc dicam de voluptate, nihil - scilicet novi, ea tamen, quae te ipsum probaturum esse confidam.} - %{34} -\NewLipsumPar{Certe, inquam, pertinax non ero tibique, si mihi probabis ea, - quae dices, libenter assentiar. Probabo, inquit, modo ista sis aequitate, quam - ostendis. Sed uti oratione perpetua malo quam interrogare aut interrogari. Ut - placet, inquam. Tum dicere exorsus est. Primum igitur, inquit, sic agam, ut - ipsi auctori huius disciplinae placet: constituam, quid et quale sit id, de - quo quaerimus, non quo ignorare vos arbitrer, sed ut ratione et via procedat - oratio. Quaerimus igitur, quid sit extremum et ultimum bonorum, quod omnium - philosophorum sententia tale debet esse, ut ad id omnia referri oporteat, - ipsum autem nusquam. Hoc Epicurus in voluptate ponit, quod summum bonum esse - vult, summumque malum dolorem, idque instituit docere sic:} - %{35} -\NewLipsumPar{Omne animal, simul atque natum sit, voluptatem appetere eaque - gaudere ut summo bono, dolorem aspernari ut summum malum et, quantum possit, a - se repellere, idque facere nondum depravatum ipsa natura incorrupte atque - integre iudicante. Itaque negat opus esse ratione neque disputatione, quam ob - rem voluptas expetenda, fugiendus dolor sit. Sentiri haec putat, ut calere - ignem, nivem esse albam, dulce mel. Quorum nihil oportere exquisitis - rationibus confirmare, tantum satis esse admonere. Interesse enim inter - argumentum conclusionemque rationis et inter mediocrem animadversionem atque - admonitionem. Altera occulta quaedam et quasi involuta aperiri, altera prompta - et aperta iudicari. Etenim quoniam detractis de homine sensibus reliqui nihil - est, necesse est, quid aut ad naturam aut contra sit, a natura ipsa iudicari. - Ea quid percipit aut quid iudicat, quo aut petat aut fugiat aliquid, praeter - voluptatem et dolorem?} - %{36} -\NewLipsumPar{Sunt autem quidam e nostris, qui haec subtilius velint tradere - et negent satis esse, quid bonum sit aut quid malum, sensu iudicari, sed animo - etiam ac ratione intellegi posse et voluptatem ipsam per se esse expetendam et - dolorem ipsum per se esse fugiendum. Itaque aiunt hanc quasi naturalem atque - insitam in animis nostris inesse notionem, ut alterum esse appetendum, alterum - aspernandum sentiamus. Alii autem, quibus ego assentior, cum a philosophis - compluribus permulta dicantur, cur nec voluptas in bonis sit numeranda nec in - malis dolor, non existimant oportere nimium nos causae confidere, sed et - argumentandum et accurate disserendum et rationibus conquisitis de voluptate - et dolore disputandum putant.} - %{37} -\NewLipsumPar{Sed ut perspiciatis, unde omnis iste natus error sit voluptatem - accusantium doloremque laudantium, totam rem aperiam eaque ipsa, quae ab illo - inventore veritatis et quasi architecto beatae vitae dicta sunt, explicabo. - Nemo enim ipsam voluptatem, quia voluptas sit, aspernatur aut odit aut fugit, - sed quia consequuntur magni dolores eos, qui ratione voluptatem sequi - nesciunt, neque porro quisquam est, qui dolorem ipsum, quia dolor sit, amet, - consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt, - ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima - veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi - ut aliquid ex ea commodi consequatur? Quis autem vel eum iure reprehenderit, - qui in ea voluptate velit esse, quam nihil molestiae consequatur, vel illum, - qui dolorem eum fugiat, quo voluptas nulla pariatur?} - %{38} -\NewLipsumPar{At vero eos et accusamus et iusto odio dignissimos ducimus, qui - blanditiis praesentium voluptatum deleniti atque corrupti, quos dolores et - quas molestias excepturi sint, obcaecati cupiditate non provident, similique - sunt in culpa, qui officia deserunt mollitia animi, id est laborum et dolorum - fuga. Et harum quidem rerum facilis est et expedita distinctio. Nam libero - tempore, cum soluta nobis est eligendi optio, cumque nihil impedit, quo minus - id, quod maxime placeat, facere possimus, omnis voluptas assumenda est, omnis - dolor repellendus. Temporibus autem quibusdam et aut officiis debitis aut - rerum necessitatibus saepe eveniet, ut et voluptates repudiandae sint et - molestiae non recusandae. Itaque earum rerum hic tenetur a sapiente delectus, - ut aut reiciendis voluptatibus maiores alias consequatur aut perferendis - doloribus asperiores repellat.} - %{39} -\NewLipsumPar{Hanc ego cum teneam sententiam, quid est cur verear, ne ad eam - non possim accommodare Torquatos nostros? Quos tu paulo ante cum memoriter, - tum etiam erga nos amice et benivole collegisti, nec me tamen laudandis - maioribus meis corrupisti nec segniorem ad respondendum reddidisti. Quorum - facta quem ad modum, quaeso, interpretaris? Sicine eos censes aut in armatum - hostem impetum fecisse aut in liberos atque in sanguinem suum tam crudelis - fuisse, nihil ut de utilitatibus, nihil ut de commodis suis cogitarent? At id - ne ferae quidem faciunt, ut ita ruant itaque turbent, ut earum motus et - impetus quo pertineant non intellegamus, tu tam egregios viros censes tantas - res gessisse sine causa?} - %{40} -\NewLipsumPar{Quae fuerit causa, mox videro; interea hoc tenebo, si ob aliquam - causam ista, quae sine dubio praeclara sunt, fecerint, virtutem iis per se - ipsam causam non fuisse. \textendash\space Torquem detraxit hosti. - \textendash\space Et quidem se texit, ne interiret. \textendash\space At - magnum periculum adiit. \textendash\space In oculis quidem exercitus. - \textendash\space Quid ex eo est consecutus? \textendash\space Laudem et - caritatem, quae sunt vitae sine metu degendae praesidia firmissima. - \textendash\space Filium morte multavit. \textendash\space Si sine causa, - nollem me ab eo ortum, tam inportuno tamque crudeli; sin, ut dolore suo - sanciret militaris imperii disciplinam exercitumque in gravissimo bello - animadversionis metu contineret, saluti prospexit civium, qua intellegebat - contineri suam. Atque haec ratio late patet.} - %{41} -\NewLipsumPar{In quo enim maxime consuevit iactare vestra se oratio, tua - praesertim, qui studiose antiqua persequeris, claris et fortibus viris - commemorandis eorumque factis non emolumento aliquo, sed ipsius honestatis - decore laudandis, id totum evertitur eo delectu rerum, quem modo dixi, - constituto, ut aut voluptates omittantur maiorum voluptatum adipiscendarum - causa aut dolores suscipiantur maiorum dolorum effugiendorum gratia.} - %{42} -\NewLipsumPar{Sed de clarorum hominum factis illustribus et gloriosis satis - hoc loco dictum sit. Erit enim iam de omnium virtutum cursu ad voluptatem - proprius disserendi locus. Nunc autem explicabo, voluptas ipsa quae qualisque - sit, ut tollatur error omnis imperitorum intellegaturque ea, quae voluptaria, - delicata, mollis habeatur disciplina, quam gravis, quam continens, quam severa - sit. Non enim hanc solam sequimur, quae suavitate aliqua naturam ipsam movet - et cum iucunditate quadam percipitur sensibus, sed maximam voluptatem illam - habemus, quae percipitur omni dolore detracto, nam quoniam, cum privamur - dolore, ipsa liberatione et vacuitate omnis molestiae gaudemus, omne autem id, - quo gaudemus, voluptas est, ut omne, quo offendimur, dolor, doloris omnis - privatio recte nominata est voluptas. Ut enim, cum cibo et potione fames - sitisque depulsa est, ipsa detractio molestiae consecutionem affert - voluptatis, sic in omni re doloris amotio successionem efficit voluptatis.} - %{43} -\NewLipsumPar{Itaque non placuit Epicuro medium esse quiddam inter dolorem et - voluptatem; illud enim ipsum, quod quibusdam medium videretur, cum omni dolore - careret, non modo voluptatem esse, verum etiam summam voluptatem. Quisquis - enim sentit, quem ad modum sit affectus, eum necesse est aut in voluptate esse - aut in dolore. Omnis autem privatione doloris putat Epicurus terminari summam - voluptatem, ut postea variari voluptas distinguique possit, augeri - amplificarique non possit.} - %{44} -\NewLipsumPar{At etiam Athenis, ut e patre audiebam facete et urbane Stoicos - irridente, statua est in Ceramico Chrysippi sedentis porrecta manu, quae manus - significet illum in hae esse rogatiuncula delectatum: \textquoteleft - Numquidnam manus tua sic affecta, quem ad modum affecta nunc est, - desiderat?\textquoteright\space \textendash\space Nihil sane. - \textendash\space\textquoteleft At, si voluptas esset bonum, - desideraret.\textquoteright\space\textendash\space Ita credo. - \textendash\space\textquoteleft Non est igitur voluptas - bonum.\textquoteright\space Hoc ne statuam quidem dicturam pater aiebat, si - loqui posset. Conclusum est enim contra Cyrenaicos satis acute, nihil ad - Epicurum. Nam si ea sola voluptas esset, quae quasi titillaret sensus, ut ita - dicam, et ad eos cum suavitate afflueret et illaberetur, nec manus esse - contenta posset nec ulla pars vacuitate doloris sine iucundo motu voluptatis. - Sin autem summa voluptas est, ut Epicuro placet, nihil dolere, primum tibi - recte, Chrysippe, concessum est nihil desiderare manum, cum ita esset affecta, - secundum non recte, si voluptas esset bonum, fuisse desideraturam. Idcirco - enim non desideraret, quia, quod dolore caret, id in voluptate est.} - %{45} -\NewLipsumPar{Extremum autem esse bonorum voluptatem ex hoc facillime perspici - potest: Constituamus aliquem magnis, multis, perpetuis fruentem et animo et - corpore voluptatibus nullo dolore nec impediente nec inpendente, quem tandem - hoc statu praestabiliorem aut magis expetendum possimus dicere? Inesse enim - necesse est in eo, qui ita sit affectus, et firmitatem animi nec mortem nec - dolorem timentis, quod mors sensu careat, dolor in longinquitate levis, in - gravitate brevis soleat esse, ut eius magnitudinem celeritas, diuturnitatem - allevatio consoletur.} - %{46} -\NewLipsumPar{Ad ea cum accedit, ut neque divinum numen horreat nec - praeteritas voluptates effluere patiatur earumque assidua recordatione - laetetur, quid est, quod huc possit, quod melius sit, accedere? Statue contra - aliquem confectum tantis animi corporisque doloribus, quanti in hominem maximi - cadere possunt, nulla spe proposita fore levius aliquando, nulla praeterea - neque praesenti nec expectata voluptate, quid eo miserius dici aut fingi - potest? Quodsi vita doloribus referta maxime fugienda est, summum profecto - malum est vivere cum dolore, cui sententiae consentaneum est ultimum esse - bonorum eum voluptate vivere. Nec enim habet nostra mens quicquam, ubi - consistat tamquam in extremo, omnesque et metus et aegritudines ad dolorem - referuntur, nec praeterea est res ulla, quae sua natura aut sollicitare possit - aut angere.} - %{47} -\NewLipsumPar{Praeterea et appetendi et refugiendi et omnino rerum gerendarum - initia proficiscuntur aut a voluptate aut a dolore. Quod cum ita sit, - perspicuum est omnis rectas res atque laudabilis eo referri, ut cum voluptate - vivatur. Quoniam autem id est vel summum bonorum vel ultimum vel extremum - \textendash\space quod Graeci [\ldots] nominant \textendash, quod ipsum nullam - ad aliam rem, ad id autem res referuntur omnes, fatendum est summum esse bonum - iucunde vivere.} - %{48} -\NewLipsumPar{Id qui in una virtute ponunt et splendore nominis capti quid - natura postulet non intellegunt, errore maximo, si Epicurum audire voluerint, - liberabuntur: istae enim vestrae eximiae pulchraeque virtutes nisi voluptatem - efficerent, quis eas aut laudabilis aut expetendas arbitraretur? Ut enim - medicorum scientiam non ipsius artis, sed bonae valetudinis causa probamus, et - gubernatoris ars, quia bene navigandi rationem habet, utilitate, non arte - laudatur, sic sapientia, quae ars vivendi putanda est, non expeteretur, si - nihil efficeret; nunc expetitur, quod est tamquam artifex conquirendae et - comparandae voluptatis \textendash} - %{49} -\NewLipsumPar{Quam autem ego dicam voluptatem, iam videtis, ne invidia verbi - labefactetur oratio mea \textendash. Nam cum ignoratione rerum bonarum et - malarum maxime hominum vita vexetur, ob eumque errorem et voluptatibus maximis - saepe priventur et durissimis animi doloribus torqueantur, sapientia est - adhibenda, quae et terroribus cupiditatibusque detractis et omnium falsarum - opinionum temeritate derepta certissimam se nobis ducem praebeat ad - voluptatem. Sapientia enim est una, quae maestitiam pellat ex animis, quae nos - exhorrescere metu non sinat. Qua praeceptrice in tranquillitate vivi potest - omnium cupiditatum ardore restincto. Cupiditates enim sunt insatiabiles, quae - non modo singulos homines, sed universas familias evertunt, totam etiam - labefactant saepe rem publicam.} - %{50} -\NewLipsumPar{Ex cupiditatibus odia, discidia, discordiae, seditiones, bella - nascuntur, nec eae se foris solum iactant nec tantum in alios caeco impetu - incurrunt, sed intus etiam in animis inclusae inter se dissident atque - discordant, ex quo vitam amarissimam necesse est effici, ut sapiens solum - amputata circumcisaque inanitate omni et errore naturae finibus contentus sine - aegritudine possit et sine metu vivere.} - %{51} -\NewLipsumPar{Quae est enim aut utilior aut ad bene vivendum aptior partitio - quam illa, qua est usus Epicurus? Qui unum genus posuit earum cupiditatum, - quae essent et naturales et necessariae, alterum, quae naturales essent nec - tamen necessariae, tertium, quae nec naturales nec necessariae. Quarum ea - ratio est, ut necessariae nec opera multa nec impensa expleantur; ne naturales - quidem multa desiderant, propterea quod ipsa natura divitias, quibus contenta - sit, et parabilis et terminatas habet; inanium autem cupiditatum nec modus - ullus nec finis inveniri potest.} - %{52} -\NewLipsumPar{Quodsi vitam omnem perturbari videmus errore et inscientia, - sapientiamque esse solam, quae nos a libidinum impetu et a formidinum terrore - vindicet et ipsius fortunae modice ferre doceat iniurias et omnis monstret - vias, quae ad quietem et ad tranquillitatem ferant, quid est cur dubitemus - dicere et sapientiam propter voluptates expetendam et insipientiam propter - molestias esse fugiendam?} - %{53} -\NewLipsumPar{Eademque ratione ne temperantiam quidem propter se expetendam - esse dicemus, sed quia pacem animis afferat et eos quasi concordia quadam - placet ac leniat. Temperantia est enim, quae in rebus aut expetendis aut - fugiendis ut rationem sequamur monet. Nec enim satis est iudicare quid - faciendum non faciendumve sit, sed stare etiam oportet in eo, quod sit - iudicatum. Plerique autem, quod tenere atque servare id, quod ipsi statuerunt, - non possunt, victi et debilitati obiecta specie voluptatis tradunt se - libidinibus constringendos nec quid eventurum sit provident ob eamque causam - propter voluptatem et parvam et non necessariam et quae vel aliter pararetur - et qua etiam carere possent sine dolore tum in morbos gravis, tum in damna, - tum in dedecora incurrunt, saepe etiam legum iudiciorumque poenis obligantur.} - %{54} -\NewLipsumPar{Qui autem ita frui volunt voluptatibus, ut nulli propter eas - consequantur dolores, et qui suum iudicium retinent, ne voluptate victi - faciant id, quod sentiant non esse faciendum, ii voluptatem maximam - adipiscuntur praetermittenda voluptate. Idem etiam dolorem saepe perpetiuntur, - ne, si id non faciant, incidant in maiorem. Ex quo intellegitur nec - intemperantiam propter se esse fugiendam temperantiamque expetendam, non quia - voluptates fugiat, sed quia maiores consequatur.} - %{55} -\NewLipsumPar{Eadem fortitudinis ratio reperietur. Nam neque laborum - perfunctio neque perpessio dolorum per se ipsa allicit nec patientia nec - assiduitas nec vigiliae nec ea ipsa, quae laudatur, industria, ne fortitudo - quidem, sed ista sequimur, ut sine cura metuque vivamus animumque et corpus, - quantum efficere possimus, molestia liberemus. Ut enim mortis metu omnis - quietae vitae status perturbatur, et ut succumbere doloribus eosque humili - animo inbecilloque ferre miserum est, ob eamque debilitatem animi multi - parentes, multi amicos, non nulli patriam, plerique autem se ipsos penitus - perdiderunt, sic robustus animus et excelsus omni est liber cura et angore, - cum et mortem contemnit, qua qui affecti sunt in eadem causa sunt, qua ante - quam nati, et ad dolores ita paratus est, ut meminerit maximos morte finiri, - parvos multa habere intervalla requietis, mediocrium nos esse dominos, ut, si - tolerabiles sint, feramus, si minus, animo aequo e vita, cum ea non placeat, - tamquam e theatro exeamus. Quibus rebus intellegitur nec timiditatem - ignaviamque vituperari nec fortitudinem patientiamque laudari suo nomine, sed - illas reici, quia dolorem pariant, has optari, quia voluptatem.} - %{56} -\NewLipsumPar{Iustitia restat, ut de omni virtute sit dictum. Sed similia fere - dici possunt. Ut enim sapientiam, temperantiam, fortitudinem copulatas esse - docui cum voluptate, ut ab ea nullo modo nec divelli nec distrahi possint, sic - de iustitia iudicandum est, quae non modo numquam nocet cuiquam, sed contra - semper afficit cum vi sua atque natura, quod tranquillat animos, tum spe nihil - earum rerum defuturum, quas natura non depravata desiderat. [et] quem ad modum - temeritas et libido et ignavia semper animum excruciant et semper sollicitant - turbulentaeque sunt, sic [inprobitas si] cuius in mente consedit, hoc ipso, - quod adest, turbulenta est; si vero molita quippiam est, quamvis occulte - fecerit, numquam tamen id confidet fore semper occultum. Plerumque improborum - facta primo suspicio insequitur, dein sermo atque fama, tum accusator, tum - iudex;} - %{57} -\NewLipsumPar{Multi etiam, ut te consule, ipsi se indicaverunt. Quodsi qui - satis sibi contra hominum conscientiam saepti esse et muniti videntur, deorum - tamen horrent easque ipsas sollicitudines, quibus eorum animi noctesque - diesque exeduntur, a diis inmortalibus supplicii causa importari putant. Quae - autem tanta ex improbis factis ad minuendas vitae molestias accessio potest - fieri, quanta ad augendas, cum conscientia factorum, tum poena legum odioque - civium? Et tamen in quibusdam neque pecuniae modus est neque honoris neque - imperii nec libidinum nec epularum nec reliquarum cupiditatum, quas nulla - praeda umquam improbe parta minuit, [sed] potius inflammat, ut coercendi magis - quam dedocendi esse videantur.} - %{58} -\NewLipsumPar{Invitat igitur vera ratio bene sanos ad iustitiam, aequitatem, - fidem, neque homini infanti aut inpotenti iniuste facta conducunt, qui nec - facile efficere possit, quod conetur, nec optinere, si effecerit, et opes vel - fortunae vel ingenii liberalitati magis conveniunt, qua qui utuntur, - benivolentiam sibi conciliant et, quod aptissimum est ad quiete vivendum, - caritatem, praesertim cum omnino nulla sit causa peccandi.} - %{59} -\NewLipsumPar{Quae enim cupiditates a natura proficiscuntur, facile explentur - sine ulla iniuria, quae autem inanes sunt, iis parendum non est. Nihil enim - desiderabile concupiscunt, plusque in ipsa iniuria detrimenti est quam in iis - rebus emolumenti, quae pariuntur iniuria. Itaque ne iustitiam quidem recte - quis dixerit per se ipsam optabilem, sed quia iucunditatis vel plurimum - afferat. Nam diligi et carum esse iucundum est propterea, quia tutiorem vitam - et voluptatem pleniorem efficit. Itaque non ob ea solum incommoda, quae - eveniunt inprobis, fugiendam inprobitatem putamus, sed multo etiam magis, - quod, cuius in animo versatur, numquam sinit eum respirare, numquam - adquiescere.} - %{60} -\NewLipsumPar{Quodsi ne ipsarum quidem virtutum laus, in qua maxime ceterorum - philosophorum exultat oratio, reperire exitum potest, nisi derigatur ad - voluptatem, voluptas autem est sola, quae nos vocet ad se et alliciat suapte - natura, non potest esse dubium, quin id sit summum atque extremum bonorum - omnium, beateque vivere nihil aliud sit nisi cum voluptate vivere.} - %{61} -\NewLipsumPar{Huic certae stabilique sententiae quae sint coniuncta explicabo - brevi. Nullus in ipsis error est finibus bonorum et malorum, id est in - voluptate aut in dolore, sed in his rebus peccant, cum e quibus haec - efficiantur ignorant. Animi autem voluptates et dolores nasci fatemur e - corporis voluptatibus et doloribus \textendash\space itaque concedo, quod modo - dicebas, cadere causa, si qui e nostris aliter existimant, quos quidem video - esse multos, sed imperitos \textendash, quamquam autem et laetitiam nobis - voluptas animi et molestiam dolor afferat, eorum tamen utrumque et ortum esse - e corpore et ad corpus referri, nec ob eam causam non multo maiores esse et - voluptates et dolores animi quam corporis. Nam corpore nihil nisi praesens et - quod adest sentire possumus, animo autem et praeterita et futura. Ut enim - aeque doleamus animo, cum corpore dolemus, fieri tamen permagna accessio - potest, si aliquod aeternum et infinitum impendere malum nobis opinemur. Quod - idem licet transferre in voluptatem, ut ea maior sit, si nihil tale metuamus.} - %{62} -\NewLipsumPar{Iam illud quidem perspicuum est, maximam animi aut voluptatem - aut molestiam plus aut ad beatam aut ad miseram vitam afferre momenti quam - eorum utrumvis, si aeque diu sit in corpore. Non placet autem detracta - voluptate aegritudinem statim consequi, nisi in voluptatis locum dolor forte - successerit, at contra gaudere nosmet omittendis doloribus, etiamsi voluptas - ea, quae sensum moveat, nulla successerit, eoque intellegi potest quanta - voluptas sit non dolere.} - %{63} -\NewLipsumPar{Sed ut iis bonis erigimur, quae expectamus, sic laetamur iis, - quae recordamur. Stulti autem malorum memoria torquentur, sapientes bona - praeterita grata recordatione renovata delectant. Est autem situm in nobis ut - et adversa quasi perpetua oblivione obruamus et secunda iucunde ac suaviter - meminerimus. Sed cum ea, quae praeterierunt, acri animo et attento intuemur, - tum fit ut aegritudo sequatur, si illa mala sint, laetitia, si bona.} - %{64} -\NewLipsumPar{O praeclaram beate vivendi et apertam et simplicem et directam - viam! Cum enim certe nihil homini possit melius esse quam vacare omni dolore - et molestia perfruique maximis et animi et corporis voluptatibus, videtisne - quam nihil praetermittatur quod vitam adiuvet, quo facilius id, quod - propositum est, summum bonum consequamur? Clamat Epicurus, is quem vos nimis - voluptatibus esse deditum dicitis; non posse iucunde vivi, nisi sapienter, - honeste iusteque vivatur, nec sapienter, honeste, iuste, nisi iucunde.} - %{65} -\NewLipsumPar{Neque enim civitas in seditione beata esse potest nec in - discordia dominorum domus; quo minus animus a se ipse dissidens secumque - discordans gustare partem ullam liquidae voluptatis et liberae potest. Atqui - pugnantibus et contrariis studiis consiliisque semper utens nihil quieti - videre, nihil tranquilli potest.} - %{66} -\NewLipsumPar{Quodsi corporis gravioribus morbis vitae iucunditas impeditur, - quanto magis animi morbis impediri necesse est! Animi autem morbi sunt - cupiditates inmensae et inanes divitiarum, gloriae, dominationis, - libidinosarum etiam voluptatum. Accedunt aegritudines, molestiae, maerores, - qui exedunt animos conficiuntque curis hominum non intellegentium nihil - dolendum esse animo, quod sit a dolore corporis praesenti futurove seiunctum. - Nec vero quisquam stultus non horum morborum aliquo laborat, nemo igitur est - non miser.} - %{67} -\NewLipsumPar{Accedit etiam mors, quae quasi saxum Tantalo semper impendet, - tum superstitio, qua qui est imbutus quietus esse numquam potest. Praeterea - bona praeterita non meminerunt, praesentibus non fruuntur, futura modo - expectant, quae quia certa esse non possunt, conficiuntur et angore et metu - maximeque cruciantur, cum sero sentiunt frustra se aut pecuniae studuisse aut - imperiis aut opibus aut gloriae. Nullas enim consequuntur voluptates, quarum - potiendi spe inflammati multos labores magnosque susceperant.} - %{68} -\NewLipsumPar{Ecce autem alii minuti et angusti aut omnia semper desperantes - aut malivoli, invidi, difficiles, lucifugi, maledici, monstruosi, alii autem - etiam amatoriis levitatibus dediti, alii petulantes, alii audaces, protervi, - idem intemperantes et ignavi, numquam in sententia permanentes, quas ob causas - in eorum vita nulla est intercapedo molestiae. Igitur neque stultorum quisquam - beatus neque sapientium non beatus. Multoque hoc melius nos veriusque quam - Stoici. Illi enim negant esse bonum quicquam nisi nescio quam illam umbram, - quod appellant honestum non tam solido quam splendido nomine, virtutem autem - nixam hoc honesto nullam requirere voluptatem atque ad beate vivendum se ipsa - esse contentam.} - %{69} -\NewLipsumPar{Sed possunt haec quadam ratione dici non modo non repugnantibus, - verum etiam approbantibus nobis. Sic enim ab Epicuro sapiens semper beatus - inducitur: finitas habet cupiditates, neglegit mortem, de diis inmortalibus - sine ullo metu vera sentit, non dubitat, si ita melius sit, migrare de vita. - His rebus instructus semper est in voluptate. Neque enim tempus est ullum, quo - non plus voluptatum habeat quam dolorum. Nam et praeterita grate meminit et - praesentibus ita potitur, ut animadvertat quanta sint ea quamque iucunda, - neque pendet ex futuris, sed expectat illa, fruitur praesentibus ab iisque - vitiis, quae paulo ante collegi, abest plurimum et, cum stultorum vitam cum - sua comparat, magna afficitur voluptate. Dolores autem si qui incurrunt, - numquam vim tantam habent, ut non plus habeat sapiens, quod gaudeat, quam quod - angatur.} - %{70} -\NewLipsumPar{Optime vero Epicurus, quod exiguam dixit fortunam intervenire - sapienti maximasque ab eo et gravissimas res consilio ipsius et ratione - administrari neque maiorem voluptatem ex infinito tempore aetatis percipi - posse, quam ex hoc percipiatur, quod videamus esse finitum. In dialectica - autem vestra nullam existimavit esse nec ad melius vivendum nec ad commodius - disserendum viam. In physicis plurimum posuit. Ea scientia et verborum vis et - natura orationis et consequentium repugnantiumve ratio potest perspici. Omnium - autem rerum natura cognita levamur superstitione, liberamur mortis metu, non - conturbamur ignoratione rerum, e qua ipsa horribiles existunt saepe - formidines. Denique etiam morati melius erimus, cum didicerimus quid natura - desideret. Tum vero, si stabilem scientiam rerum tenebimus, servata illa, quae - quasi delapsa de caelo est ad cognitionem omnium, regula, ad quam omnia - iudicia rerum dirigentur, numquam ullius oratione victi sententia desistemus.} - %{71} -\NewLipsumPar{Nisi autem rerum natura perspecta erit, nullo modo poterimus - sensuum iudicia defendere. Quicquid porro animo cernimus, id omne oritur a - sensibus; qui si omnes veri erunt, ut Epicuri ratio docet, tum denique poterit - aliquid cognosci et percipi. Quos qui tollunt et nihil posse percipi dicunt, - ii remotis sensibus ne id ipsum quidem expedire possunt, quod disserunt. - Praeterea sublata cognitione et scientia tollitur omnis ratio et vitae - degendae et rerum gerendarum. Sic e physicis et fortitudo sumitur contra - mortis timorem et constantia contra metum religionis et sedatio animi omnium - rerum occultarum ignoratione sublata et moderatio natura cupiditatum - generibusque earum explicatis, et, ut modo docui, cognitionis regula et - iudicio ab eadem illa constituto veri a falso distinctio traditur.} - %{72} -\NewLipsumPar{Restat locus huic disputationi vel maxime necessarius de - amicitia, quam, si voluptas summum sit bonum, affirmatis nullam omnino fore. - De qua Epicurus quidem ita dicit, omnium rerum, quas ad beate vivendum - sapientia comparaverit, nihil esse maius amicitia, nihil uberius, nihil - iucundius. Nec vero hoc oratione solum, sed multo magis vita et factis et - moribus comprobavit. Quod quam magnum sit fictae veterum fabulae declarant, in - quibus tam multis tamque variis ab ultima antiquitate repetitis tria vix - amicorum paria reperiuntur, ut ad Orestem pervenias profectus a Theseo. At - vero Epicurus una in domo, et ea quidem angusta, quam magnos quantaque amoris - conspiratione consentientis tenuit amicorum greges! Quod fit etiam nunc ab - Epicureis. Sed ad rem redeamus; de hominibus dici non necesse est.} - %{73} -\NewLipsumPar{Tribus igitur modis video esse a nostris de amicitia disputatum. - Alii cum eas voluptates, quae ad amicos pertinerent, negarent esse per se - ipsas tam expetendas, quam nostras expeteremus, quo loco videtur quibusdam - stabilitas amicitiae vacillare, tuentur tamen eum locum seque facile, ut mihi - videtur, expediunt. Ut enim virtutes, de quibus ante dictum est, sic amicitiam - negant posse a voluptate discedere. Nam cum solitudo et vita sine amicis - insidiarum et metus plena sit, ratio ipsa monet amicitias comparare, quibus - partis confirmatur animus et a spe pariendarum voluptatum seiungi non potest.} - %{74} -\NewLipsumPar{Atque ut odia, invidiae, despicationes adversantur voluptatibus, - sic amicitiae non modo fautrices fidelissimae, sed etiam effectrices sunt - voluptatum tam amicis quam sibi, quibus non solum praesentibus fruuntur, sed - etiam spe eriguntur consequentis ac posteri temporis. Quod quia nullo modo - sine amicitia firmam et perpetuam iucunditatem vitae tenere possumus neque - vero ipsam amicitiam tueri, nisi aeque amicos et nosmet ipsos diligamus, - idcirco et hoc ipsum efficitur in amicitia, et amicitia cum voluptate - conectitur. Nam et laetamur amicorum laetitia aeque atque nostra et pariter - dolemus angoribus.} - %{75} -\NewLipsumPar{Quocirca eodem modo sapiens erit affectus erga amicum, quo in se - ipsum, quosque labores propter suam voluptatem susciperet, eosdem suscipiet - propter amici voluptatem. Quaeque de virtutibus dicta sunt, quem ad modum eae - semper voluptatibus inhaererent, eadem de amicitia dicenda sunt. Praeclare - enim Epicurus his paene verbis: \textquoteleft Eadem\textquoteright, inquit, - \textquoteleft scientia confirmavit animum, ne quod aut sempiternum aut - diuturnum timeret malum, quae perspexit in hoc ipso vitae spatio amicitiae - praesidium esse firmissimum.\textquoteright} - %{76} -\NewLipsumPar{Sunt autem quidam Epicurei timidiores paulo contra vestra - convicia, sed tamen satis acuti, qui verentur ne, si amicitiam propter nostram - voluptatem expetendam putemus, tota amicitia quasi claudicare videatur. Itaque - primos congressus copulationesque et consuetudinum instituendarum voluntates - fieri propter voluptatem; cum autem usus progrediens familiaritatem effecerit, - tum amorem efflorescere tantum, ut, etiamsi nulla sit utilitas ex amicitia, - tamen ipsi amici propter se ipsos amentur. Etenim si loca, si fana, si urbes, - si gymnasia, si campum, si canes, si equos, si ludicra exercendi aut venandi - consuetudine adamare solemus, quanto id in hominum consuetudine facilius fieri - poterit et iustius?} - %{77} -\NewLipsumPar{Sunt autem, qui dicant foedus esse quoddam sapientium, ut ne - minus amicos quam se ipsos diligant. Quod et posse fieri intellegimus et saepe - etiam videmus, et perspicuum est nihil ad iucunde vivendum reperiri posse, - quod coniunctione tali sit aptius. Quibus ex omnibus iudicari potest non modo - non impediri rationem amicitiae, si summum bonum in voluptate ponatur, sed - sine hoc institutionem omnino amicitiae non posse reperiri.} - %{78} -\NewLipsumPar{Quapropter si ea, quae dixi, sole ipso illustriora et clariora - sunt, si omnia dixi hausta e fonte naturae, si tota oratio nostra omnem sibi - fidem sensibus confirmat, id est incorruptis atque integris testibus, si - infantes pueri, mutae etiam bestiae paene loquuntur magistra ac duce natura - nihil esse prosperum nisi voluptatem, nihil asperum nisi dolorem, de quibus - neque depravate iudicant neque corrupte, nonne ei maximam gratiam habere - debemus, qui hac exaudita quasi voce naturae sic eam firme graviterque - comprehenderit, ut omnes bene sanos in viam placatae, tranquillae, quietae, - beatae vitae deduceret? Qui quod tibi parum videtur eruditus, ea causa est, - quod nullam eruditionem esse duxit, nisi quae beatae vitae disciplinam - iuvaret.} - %{79} -\NewLipsumPar{An ille tempus aut in poetis evolvendis, ut ego et Triarius te - hortatore facimus, consumeret, in quibus nulla solida utilitas omnisque - puerilis est delectatio, aut se, ut Plato, in musicis, geometria, numeris, - astris contereret, quae et a falsis initiis profecta vera esse non possunt et, - si essent vera, nihil afferrent, quo iucundius, id est quo melius viveremus, - eas ergo artes persequeretur, vivendi artem tantam tamque et operosam et - perinde fructuosam relinqueret? Non ergo Epicurus ineruditus, sed ii indocti, - qui, quae pueros non didicisse turpe est, ea putant usque ad senectutem esse - discenda.} - %{80} -\NewLipsumPar{Quae cum dixisset, Explicavi, inquit, sententiam meam, et eo - quidem consilio, tuum iudicium ut cognoscerem, quoniam mihi ea facultas, ut id - meo arbitratu facerem, ante hoc tempus numquam est data.} - %{81} -\NewLipsumPar{Hic cum uterque me intueretur seseque ad audiendum significarent - paratos, Primum, inquam, deprecor, ne me tamquam philosophum putetis scholam - vobis aliquam explicaturum, quod ne in ipsis quidem philosophis magnopere - umquam probavi. Quando enim Socrates, qui parens philosophiae iure dici - potest, quicquam tale fecit? Eorum erat iste mos qui tum sophistae - nominabantur, quorum e numero primus est ausus Leontinus Gorgias in conventu - poscere quaestionem, id est iubere dicere, qua de re quis vellet audire. Audax - negotium, dicerem impudens, nisi hoc institutum postea translatum ad - philosophos nostros esset.} - %{82} -\NewLipsumPar{Sed et illum, quem nominavi, et ceteros sophistas, ut e Platone - intellegi potest, lusos videmus a Socrate. Is enim percontando atque - interrogando elicere solebat eorum opiniones, quibuscum disserebat, ut ad ea, - quae ii respondissent, si quid videretur, diceret. Qui mos cum a posterioribus - non esset retentus, Arcesilas eum revocavit instituitque ut ii, qui se audire - vellent, non de se quaererent, sed ipsi dicerent, quid sentirent; quod cum - dixissent, ille contra. Sed eum qui audiebant, quoad poterant, defendebant - sententiam suam. Apud ceteros autem philosophos, qui quaesivit aliquid, tacet; - quod quidem iam fit etiam in Academia. Ubi enim is, qui audire vult, ita - dixit: \textquoteleft Voluptas mihi videtur esse summum bonum\textquoteright, - perpetua oratione contra disputatur, ut facile intellegi possit eos, qui - aliquid sibi videri dicant, non ipsos in ea sententia esse, sed audire velle - contraria.} - %{83} -\NewLipsumPar{Nos commodius agimus. Non enim solum Torquatus dixit quid - sentiret, sed etiam cur. Ego autem arbitror, quamquam admodum delectatus sum - eius oratione perpetua, tamen commodius, cum in rebus singulis insistas et - intellegas quid quisque concedat, quid abnuat, ex rebus concessis concludi - quod velis et ad exitum perveniri. Cum enim fertur quasi torrens oratio, - quamvis multa cuiusque modi rapiat, nihil tamen teneas, nihil apprehendas, - nusquam orationem rapidam coerceas. Omnis autem in quaerendo, quae via quadam - et ratione habetur, oratio praescribere primum debet ut quibusdam in formulis - ea res agetur, ut, inter quos disseritur, conveniat quid sit id, de quo - disseratur.} - %{84} -\NewLipsumPar{Hoc positum in Phaedro a Platone probavit Epicurus sensitque in - omni disputatione id fieri oportere. Sed quod proximum fuit non vidit. Negat - enim definiri rem placere, sine quo fieri interdum non potest, ut inter eos, - qui ambigunt, conveniat quid sit id, de quo agatur, velut in hoc ipso, de quo - nunc disputamus. Quaerimus enim finem bonorum. Possumusne hic scire qualis - sit, nisi contulerimus inter nos, cum finem bonorum dixerimus, quid finis, - quid etiam sit ipsum bonum?} - %{85} -\NewLipsumPar{Atqui haec patefactio quasi rerum opertarum, cum quid quidque - sit aperitur, definitio est. Qua tu etiam inprudens utebare non numquam. Nam - hunc ipsum sive finem sive extremum sive ultimum definiebas id esse, quo - omnia, quae recte fierent, referrentur neque id ipsum usquam referretur. - Praeclare hoc quidem. Bonum ipsum etiam quid esset, fortasse, si opus fuisset, - definisses aut quod esset natura adpetendum aut quod prodesset aut quod - iuvaret aut quod liberet modo. Nunc idem, nisi molestum est, quoniam tibi non - omnino displicet definire et id facis, cum vis, velim definias quid sit - voluptas, de quo omnis haec quaestio est.} - %{86} -\NewLipsumPar{Quis, quaeso, inquit, est, qui quid sit voluptas nesciat, aut - qui, quo magis id intellegat, definitionem aliquam desideret? Me ipsum esse - dicerem, inquam, nisi mihi viderer habere bene cognitam voluptatem et satis - firme conceptam animo atque comprehensam. Nunc autem dico ipsum Epicurum - nescire et in eo nutare eumque, qui crebro dicat diligenter oportere exprimi - quae vis subiecta sit vocibus, non intellegere interdum, quid sonet haec vox - voluptatis, id est quae res huic voci subiciatur. Tum ille ridens: Hoc vero, - inquit, optimum, ut is, qui finem rerum expetendarum voluptatem esse dicat, id - extremum, id ultimum bonorum, id ipsum quid et quale sit, nesciat! Atqui, - inquam, aut Epicurus quid sit voluptas aut omnes mortales, qui ubique sunt, - nesciunt. Quonam, inquit, modo? Quia voluptatem hanc esse sentiunt omnes, quam - sensus accipiens movetur et iucunditate quadam perfunditur.} - %{87} -\NewLipsumPar{Quid ergo? Istam voluptatem, inquit, Epicurus ignorat? Non - semper, inquam; nam interdum nimis etiam novit, quippe qui testificetur ne - intellegere quidem se posse ubi sit aut quod sit ullum bonum praeter illud, - quod cibo et potione et aurium delectatione et obscena voluptate capiatur. An - haec ab eo non dicuntur? Quasi vero me pudeat, inquit, istorum, aut non possim - quem ad modum ea dicantur ostendere! Ego vero non dubito, inquam, quin facile - possis, nec est quod te pudeat sapienti adsentiri, qui se unus, quod sciam, - sapientem profiteri sit ausus. Nam Metrodorum non puto ipsum professum, sed, - cum appellaretur ab Epicuro, repudiare tantum beneficium noluisse; septem - autem illi non suo, sed populorum suffragio omnium nominati sunt.} - %{88} -\NewLipsumPar{Verum hoc loco sumo verbis his eandem certe vim voluptatis - Epicurum nosse quam ceteros. Omnes enim iucundum motum, quo sensus hilaretur. - Graece [\ldots], Latine voluptatem vocant. Quid est igitur, inquit, quod - requiras? Dicam, inquam, et quidem discendi causa magis, quam quo te aut - Epicurum reprehensum velim. Ego quoque, inquit, didicerim libentius si quid - attuleris, quam te reprehenderim. Tenesne igitur, inquam, Hieronymus Rhodius - quid dicat esse summum bonum, quo putet omnia referri oportere? Teneo, inquit, - finem illi videri nihil dolere. Quid? Idem iste, inquam, de voluptate quid - sentit?} - %{89} -\NewLipsumPar{Negat esse eam, inquit, propter se expetendam. Aliud igitur esse - censet gaudere, aliud non dolere. Et quidem, inquit, vehementer errat; nam, ut - paulo ante docui, augendae voluptatis finis est doloris omnis amotio. Non - dolere, inquam, istud quam vim habeat postea videro; aliam vero vim voluptatis - esse, aliam nihil dolendi, nisi valde pertinax fueris, concedas necesse est. - Atqui reperies, inquit, in hoc quidem pertinacem; dici enim nihil potest - verius. Estne, quaeso, inquam, sitienti in bibendo voluptas? Quis istud - possit, inquit, negare? Eademne, quae restincta siti? Immo alio genere; - restincta enim sitis stabilitatem voluptatis habet, inquit, illa autem - voluptas ipsius restinctionis in motu est. Cur igitur, inquam, res tam - dissimiles eodem nomine appellas?} - %{90} -\NewLipsumPar{Quid paulo ante, inquit, dixerim nonne meministi, cum omnis - dolor detractus esset, variari, non augeri voluptatem? Memini vero, inquam; - sed tu istuc dixti bene Latine, parum plane. Varietas enim Latinum verbum est, - idque proprie quidem in disparibus coloribus dicitur, sed transfertur in multa - disparia: varium poema, varia oratio, varii mores, varia fortuna, voluptas - etiam varia dici solet, cum percipitur e multis dissimilibus rebus dissimilis - efficientibus voluptates. Eam si varietatem diceres, intellegerem, ut etiam - non dicente te intellego; ista varietas quae sit non satis perspicio, quod - ais, cum dolore careamus, tum in summa voluptate nos esse, cum autem vescamur - iis rebus, quae dulcem motum afferant sensibus, tum esse in motu voluptatem, - qui faciat varietatem voluptatum, sed non augeri illam non dolendi voluptatem, - quam cur voluptatem appelles nescio.} - %{91} -\NewLipsumPar{An potest, inquit ille, quicquam esse suavius quam nihil dolere? - Immo sit sane nihil melius, inquam\textendash nondum enim id - quaero\textendash, num propterea idem voluptas est, quod, ut ita dicam, - indolentia? Plane idem, inquit, et maxima quidem, qua fieri nulla maior - potest. Quid dubitas igitur, inquam, summo bono a te ita constituto, ut id - totum in non dolendo sit, id tenere unum, id tueri, id defendere?} - %{92} -\NewLipsumPar{Quid enim necesse est, tamquam meretricem in matronarum coetum, - sic voluptatem in virtutum concilium adducere? Invidiosum nomen est, infame, - suspectum. Itaque hoc frequenter dici solet a vobis, non intellegere nos, quam - dicat Epicurus voluptatem. Quod quidem mihi si quando dictum est\textendash - est autem dictum non parum saepe\textendash, etsi satis clemens sum in - disputando, tamen interdum soleo subirasci. Egone non intellego, quid sit - [\ldots] Graece, Latine voluptas? Utram tandem linguam nescio? Deinde qui fit, - ut ego nesciam, sciant omnes, quicumque Epicurei esse voluerunt? Quod vestri - quidem vel optime disputant, nihil opus esse eum, qui philosophus futurus sit, - scire litteras. Itaque ut maiores nostri ab aratro adduxerunt Cincinnatum - illum, ut dictator esset, sic vos de pagis omnibus colligitis bonos illos - quidem viros, sed certe non pereruditos.} - %{93} -\NewLipsumPar{Ergo illi intellegunt quid Epicurus dicat, ego non intellego? Ut - scias me intellegere, primum idem esse dico voluptatem, quod ille [\ldots]. Et - quidem saepe quaerimus verbum Latinum par Graeco et quod idem valeat; hic - nihil fuit, quod quaereremus. Nullum inveniri verbum potest quod magis idem - declaret Latine, quod Graece, quam declarat voluptas. Huic verbo omnes, qui - ubique sunt, qui Latine sciunt, duas res subiciunt, laetitiam in animo, - commotionem suavem iucunditatis in corpore. Nam et ille apud Trabeam - \textquoteleft voluptatem animi nimiam\textquoteright\space laetitiam dicit - eandem, quam ille Caecilianus, qui \textquoteleft omnibus laetitiis - laetum\textquoteright\space esse se narrat. Sed hoc interest, quod voluptas - dicitur etiam in animo\textendash vitiosa res, ut Stoici putant, qui eam sic - definiunt: sublationem animi sine ratione opinantis se magno bono - frui\textendash, non dicitur laetitia nec gaudium in corpore.} - %{94} -\NewLipsumPar{In eo autem voluptas omnium Latine loquentium more ponitur, cum - percipitur ea, quae sensum aliquem moveat, iucunditas. Hanc quoque - iucunditatem, si vis, transfer in animum; iuvare enim in utroque dicitur, ex - eoque iucundum, modo intellegas inter illum, qui dicat: \textquoteleft Tanta - laetitia auctus sum, ut nihil constet\textquoteright, et eum, qui: - \textquoteleft Nunc demum mihi animus ardet\textquoteright, quorum alter - laetitia gestiat, alter dolore crucietur, esse illum medium: \textquoteleft - Quamquam haec inter nos nuper notitia admodum est\textquoteright, qui nec - laetetur nec angatur, itemque inter eum, qui potiatur corporis expetitis - voluptatibus, et eum, qui crucietur summis doloribus, esse eum, qui utroque - careat.} - %{95} -\NewLipsumPar{Satisne igitur videor vim verborum tenere, an sum etiam nunc vel - Graece loqui vel Latine docendus? Et tamen vide, ne, si ego non intellegam - quid Epicurus loquatur, cum Graece, ut videor, luculenter sciam, sit aliqua - culpa eius, qui ita loquatur, ut non intellegatur. Quod duobus modis sine - reprehensione fit, si aut de industria facias, ut Heraclitus, \textquoteleft - cognomento qui [\ldots] perhibetur, quia de natura nimis obscure - memoravit\textquoteright, aut cum rerum obscuritas, non verborum, facit ut non - intellegatur oratio, qualis est in Timaeo Platonis. Epicurus autem, ut opinor, - nec non vult, si possit, plane et aperte loqui, nec de re obscura, ut physici, - aut artificiosa, ut mathematici, sed de illustri et facili et iam in vulgus - pervagata loquitur. Quamquam non negatis nos intellegere quid sit voluptas, - sed quid ille dicat. E quo efficitur, non ut nos non intellegamus quae vis sit - istius verbi, sed ut ille suo more loquatur, nostrum neglegat.} - %{96} -\NewLipsumPar{Si enim idem dicit, quod Hieronymus, qui censet summum bonum - esse sine ulla molestia vivere, cur mavult dicere voluptatem quam vacuitatem - doloris, ut ille facit, qui quid dicat intellegit? Sin autem voluptatem putat - adiungendam eam, quae sit in motu\textendash sic enim appellat hanc dulcem: - \textquoteleft in motu\textquoteright, illam nihil dolentis \textquoteleft in - stabilitate\textquoteright\textendash, quid tendit? Cum efficere non possit ut - cuiquam, qui ipse sibi notus sit, hoc est qui suam naturam sensumque - perspexerit, vacuitas doloris et voluptas idem esse videatur. Hoc est vim - afferre, Torquate, sensibus, extorquere ex animis cognitiones verborum, quibus - inbuti sumus. Quis enim est, qui non videat haec esse in natura rerum tria? - Unum, cum in voluptate sumus, alterum, cum in dolore, tertium hoc, in quo nunc - equidem sum, credo item vos, nec in dolore nec in voluptate; ut in voluptate - sit, qui epuletur, in dolore, qui torqueatur. Tu autem inter haec tantam - multitudinem hominum interiectam non vides nec laetantium nec dolentium?} - %{97} -\NewLipsumPar{Non prorsus, inquit, omnisque, qui sine dolore sint, in - voluptate, et ea quidem summa, esse dico. Ergo in eadem voluptate eum, qui - alteri misceat mulsum ipse non sitiens, et eum, qui illud sitiens bibat? Tum - ille: Finem, inquit, interrogandi, si videtur, quod quidem ego a principio ita - me malle dixeram hoc ipsum providens, dialecticas captiones. Rhetorice igitur, - inquam, nos mavis quam dialectice disputare? Quasi vero, inquit, perpetua - oratio rhetorum solum, non etiam philosophorum sit. Zenonis est, inquam, hoc - Stoici. Omnem vim loquendi, ut iam ante Aristoteles, in duas tributam esse - partes, rhetoricam palmae, dialecticam pugni similem esse dicebat, quod latius - loquerentur rhetores, dialectici autem compressius. Obsequar igitur voluntati - tuae dicamque, si potero, rhetorice, sed hac rhetorica philosophorum, non - nostra illa forensi, quam necesse est, cum populariter loquatur, esse interdum - paulo hebetiorem.} - %{98} -\NewLipsumPar{Sed dum dialecticam, Torquate, contemnit Epicurus, quae una - continet omnem et perspiciendi quid in quaque re sit scientiam et iudicandi - quale quidque sit et ratione ac via disputandi, ruit in dicendo, ut mihi - quidem videtur, nec ea, quae docere vult, ulla arte distinguit, ut haec ipsa, - quae modo loquebamur. Summum a vobis bonum voluptas dicitur. Aperiendum est - igitur, quid sit voluptas; aliter enim explicari, quod quaeritur, non potest. - Quam si explicavisset, non tam haesitaret. Aut enim eam voluptatem tueretur, - quam Aristippus, id est, qua sensus dulciter ac iucunde movetur, quam etiam - pecudes, si loqui possent, appellarent voluptatem, aut, si magis placeret suo - more loqui, quam ut Omnes Danai atque Mycenenses. Attica pubes reliquique - Graeci, qui hoc anapaesto citantur, hoc non dolere solum voluptatis nomine - appellaret, illud Aristippeum contemneret, aut, si utrumque probaret, ut - probat, coniungeret doloris vacuitatem cum voluptate et duobus ultimis - uteretur.} - %{99} -\NewLipsumPar{Multi enim et magni philosophi haec ultima bonorum iuncta - fecerunt, ut Aristoteles virtutis usum cum vitae perfectae prosperitate - coniunxit, Callipho adiunxit ad honestatem voluptatem, Diodorus ad eandem - honestatem addidit vacuitatem doloris. Idem fecisset Epicurus, si sententiam - hanc, quae nunc Hieronymi est, coniunxisset cum Aristippi vetere sententia. - Illi enim inter se dissentiunt. Propterea singulis finibus utuntur et, cum - uterque Graece egregie loquatur, nec Aristippus, qui voluptatem summum bonum - dicit, in voluptate ponit non dolere, neque Hieronymus, qui summum bonum - statuit non dolere, voluptatis nomine umquam utitur pro illa indolentia, - quippe qui ne in expetendis quidem rebus numeret voluptatem.} - %{100} -\NewLipsumPar{Duae sunt enim res quoque, ne tu verba solum putes. Unum est - sine dolore esse, alterum cum voluptate. Vos ex his tam dissimilibus rebus non - modo nomen unum \textendash nam id facilius paterer\textendash, sed etiam rem - unam ex duabus facere conamini, quod fieri nullo modo potest. Hic, qui - utrumque probat, ambobus debuit uti, sicut facit re, neque tamen dividit - verbis. Cum enim eam ipsam voluptatem, quam eodem nomine omnes appellamus, - laudat locis plurimis, audet dicere ne suspicari quidem se ullum bonum - seiunctum ab illo Aristippeo genere voluptatis, atque ibi hoc dicit, ubi omnis - eius est oratio de summo bono. In alio vero libro, in quo breviter - comprehensis gravissimis sententiis quasi oracula edidisse sapientiae dicitur, - scribit his verbis, quae nota tibi profecto, Torquate, sunt\textendash quis - enim vestrum non edidicit Epicuri [\ldots], id est quasi maxime ratas, quia - gravissimae sint ad beate vivendum breviter enuntiatae sententiae?\textendash - animadverte igitur rectene hanc sententiam interpreter:} - %{101} -\NewLipsumPar{\textquoteleft Si ea, quae sunt luxuriosis efficientia - voluptatum, liberarent eos deorum et mortis et doloris metu docerentque qui - essent fines cupiditatum, nihil haberemus (quod reprehenderemus), cum undique - complerentur voluptatibus nec haberent ulla ex parte aliquid aut dolens aut - aegrum, id est autem malum.\textquoteright\space Hoc loco tenere se Triarius - non potuit. Obsecro, inquit, Torquate, haec dicit Epicurus? Quod mihi quidem - visus est, cum sciret, velle tamen confitentem audire Torquatum. At ille non - pertimuit saneque fidenter: Istis quidem ipsis verbis, inquit; sed quid - sentiat, non videtis. Si alia sentit, inquam, alia loquitur, numquam - intellegam quid sentiat; sed plane dicit quod intellegit. Idque si ita dicit, - non esse reprehendendos luxuriosos, si sapientes sint, dicit absurde, - similiter et si dicat non reprehendendos parricidas, si nec cupidi sint nec - deos metuant nec mortem nec dolorem. Et tamen quid attinet luxuriosis ullam - exceptionem dari aut fingere aliquos, qui, cum luxuriose viverent, a summo - philosopho non reprehenderentur eo nomine dumtaxat, cetera caverent?} - %{102} -\NewLipsumPar{Sed tamen nonne reprehenderes, Epicure, luxuriosos ob eam ipsam - causam, quod ita viverent, ut persequerentur cuiusque modi voluptates, cum - esset praesertim, ut ais tu, summa voluptas nihil dolere? Atqui reperiemus - asotos primum ita non religiosos, ut edint de patella, deinde ita mortem non - timentes, ut illud in ore habeant ex Hymnide: \textquoteleft Mihi sex menses - satis sunt vitae, septimum Orco spondeo\textquoteright. Iam doloris - medicamenta illa Epicurea tamquam de narthecio proment: \textquoteleft Si - gravis, brevis; si longus, levis.\textquoteright\space Unum nescio, quo modo - possit, si luxuriosus sit, finitas cupiditates habere.} - %{103} -\NewLipsumPar{Quid ergo attinet dicere: \textquoteleft Nihil haberem, quod - reprehenderem, si finitas cupiditates haberent\textquoteright? Hoc est dicere: - \textquoteleft Non reprehenderem asotos, si non essent - asoti.\textquoteright\space isto modo ne improbos quidem, si essent boni viri. - Hic homo severus luxuriam ipsam per se reprehendendam non putat, et hercule, - Torquate, ut verum loquamur, si summum bonum voluptas est, rectissime non - putat. Noli enim mihi fingere asotos, ut soletis, qui in mensam vomant, et qui - de conviviis auferantur crudique postridie se rursus ingurgitent, qui solem, - ut aiunt, nec occidentem umquam viderint nec orientem, qui consumptis - patrimoniis egeant. Nemo nostrum istius generis asotos iucunde putat vivere. - Mundos, elegantis, optimis cocis, pistoribus, piscatu, aucupio, venatione, his - omnibus exquisitis, vitantes cruditatem, quibus vinum defusum e pleno sit - chrysizon, ut ait Lucilius, cui nihildum situlus et sacculus abstulerit, - adhibentis ludos et quae sequuntur, illa, quibus detractis clamat Epicurus se - nescire quid sit bonum; adsint etiam formosi pueri, qui ministrent, respondeat - his vestis, argentum, Corinthium, locus ipse, aedificium\textendash hos ergo - asotos bene quidem vivere aut beate numquam dixerim.} - %{104} -\NewLipsumPar{Ex quo efficitur, non ut voluptas ne sit voluptas, sed ut - voluptas non sit summum bonum. Nec ille, qui Diogenem Stoicum adolescens, post - autem Panaetium audierat, Laelius, eo dictus est sapiens, quod non - intellegeret quid suavissimum esset\textendash nec enim sequitur, ut, cui cor - sapiat, ei non sapiat palatus\textendash, sed quia parvi id duceret. O - lapathe, ut iactare, nec es satis cognitu\textquoteright\space qui sis! In quo - [cognitu] Laelius clamores [\ldots] ille so lebat Edere compellans gumias ex - ordine nostros. Praeclare Laelius, et recte [\ldots], illudque vere: O Publi, - o gurges, Galloni! Es homo miser, inquit. Cenasti in vita numquam bene, cum - omnia in ista Consumis squilla atque acupensere cum decimano. Is haec - loquitur, qui in voluptate nihil ponens negat eum bene cenare, qui omnia ponat - in voluptate, et tamen non negat libenter cenasse umquam - Gallonium\textendash\space mentiretur enim\textendash, sed bene. Ita graviter - et severe voluptatem secrevit a bono. Ex quo illud efficitur, qui bene cenent - omnis libenter cenare, qui libenter, non continuo bene.} - %{105} -\NewLipsumPar{Semper Laelius bene. Quid bene? Dicet Lucilius: \textquoteleft - cocto, condito\textquoteright, sed cedo caput cenae: \textquoteleft sermone - bono\textquoteright, quid ex eo? \textquoteleft si quaeris, - libenter\textquoteright; veniebat enim ad cenam, ut animo quieto satiaret - desideria naturae. Recte ergo is negat umquam bene cenasse Gallonium, recte - miserum, cum praesertim in eo omne studium consumeret. Quem libenter cenasse - nemo negat. Cur igitur non bene? Quia, quod bene, id recte, frugaliter, - honeste; ille porro [male] prave, nequiter, turpiter cenabat; non igitur - (bene). Nec lapathi suavitatem acupenseri Galloni Laelius anteponebat, sed - suavitatem ipsam neglegebat; quod non faceret, si in voluptate summum bonum - poneret.} - %{106} -\NewLipsumPar{Semovenda est igitur voluptas, non solum ut recta sequamini, sed - etiam ut loqui deceat frugaliter. Possumusne ergo in vita summum bonum dicere, - cum id ne in cena quidem posse videamur? Quo modo autem philosophus loquitur? - \textquoteleft Tria genera cupiditatum, naturales et necessariae, naturales et - non necessariae, nec naturales nec necessariae.\textquoteright\space primum - divisit ineleganter; duo enim genera quae erant, fecit tria. Hoc est non - dividere, sed frangere. Qui haec didicerunt, quae ille contemnit, sic solent: - \textquoteleft Duo genera cupiditatum, naturales et inanes, naturalium duo, - necessariae et non necessariae.\textquoteright\space confecta res esset. - Vitiosum est enim in dividendo partem in genere numerare.} - %{107} -\NewLipsumPar{Sed hoc sane concedamus. Contemnit enim disserendi elegantiam, - confuse loquitur. Gerendus est mos, modo recte sentiat. Et quidem illud ipsum - non nimium probo et tantum patior, philosophum loqui de cupiditatibus - finiendis. An potest cupiditas finiri? Tollenda est atque extrahenda - radicitus. Quis est enim, in quo sit cupiditas, quin recte cupidus dici - possit? Ergo et avarus erit, sed finite, et adulter, verum habebit modum, et - luxuriosus eodem modo. Qualis ista philosophia est, quae non interitum afferat - pravitatis, sed sit contenta mediocritate vitiorum? Quamquam in hac divisione - rem ipsam prorsus probo, elegantiam desidero. Appellet haec desideria naturae, - cupiditatis nomen servet alio, ut eam, cum de avaritia, cum de intemperantia, - cum de maximis vitiis loquetur, tamquam capitis accuset.} - %{108} -\NewLipsumPar{Sed haec quidem liberius ab eo dicuntur et saepius. Quod equidem - non reprehendo; est enim tanti philosophi tamque nobilis audacter sua decreta - defendere. Sed tamen ex eo, quod eam voluptatem, quam omnes gentes hoc nomine - appellant, videtur amplexari saepe vehementius, in magnis interdum versatur - angustiis, ut hominum conscientia remota nihil tam turpe sit, quod voluptatis - causa non videatur esse facturus. Deinde, ubi erubuit\textendash vis enim est - permagna naturae\textendash, confugit illuc, ut neget accedere quicquam posse - ad voluptatem nihil dolentis. At iste non dolendi status non vocatur voluptas. - \textquoteleft Non laboro\textquoteright, inquit, \textquoteleft de - nomine\textquoteright. Quid, quod res alia tota est? \textquoteleft Reperiam - multos, vel innumerabilis potius, non tam curiosos nec tam molestos, quam vos - estis, quibus, quid velim, facile persuadeam.\textquoteright\space quid ergo - dubitamus, quin, si non dolere voluptas sit summa, non esse in voluptate dolor - sit maximus? Cur id non ita fit? \textquoteleft Quia dolori non voluptas - contraria est, sed doloris privatio.\textquoteright} - %{109} -\NewLipsumPar{Hoc vero non videre, maximo argumento esse voluptatem illam, qua - sublata neget se intellegere omnino quid sit bonum\textendash eam autem ita - persequitur: quae palato percipiatur, quae auribus; cetera addit, quae si - appelles, honos praefandus sit\textendash hoc igitur, quod solum bonum severus - et gravis philosophus novit, idem non videt ne expetendum quidem esse, quod - eam voluptatem hoc eodem auctore non desideremus, cum dolore careamus.} - %{110} -\NewLipsumPar{Quam haec sunt contraria! Hic si definire, si dividere - didicisset, si loquendi vim, si denique consuetudinem verborum teneret, - numquam in tantas salebras incidisset. Nunc vides, quid faciat. Quam nemo - umquam voluptatem appellavit, appellat; quae duo sunt, unum facit. Hanc in - motu voluptatem \textendash sic enim has suaves et quasi dulces voluptates - appellat\textendash interdum ita extenuat, ut M\textquoteright. Curium putes - loqui, interdum ita laudat, ut quid praeterea sit bonum neget se posse ne - suspicari quidem. Quae iam oratio non a philosopho aliquo, sed a censore - opprimenda est. Non est enim vitium in oratione solum, sed etiam in moribus. - Luxuriam non reprehendit, modo sit vacua infinita cupiditate et timore. Hoc - loco discipulos quaerere videtur, ut, qui asoti esse velint, philosophi ante - fiant.} - %{111} -\NewLipsumPar{A primo, ut opinor, animantium ortu petitur origo summi boni. - \textquoteleft Simul atque natum animal est, gaudet voluptate et eam appetit - ut bonum, aspernatur dolorem ut malum.\textquoteright\space De malis autem et - bonis ab iis animalibus, quae nondum depravata sint, ait optime iudicari. Haec - et tu ita posuisti, et verba vestra sunt. Quam multa vitiosa! Summum enim - bonum et malum vagiens puer utra voluptate diiudicabit, stante an movente? - Quoniam, si dis placet, ab Epicuro loqui discimus. Si stante, hoc natura - videlicet vult, salvam esse se, quod concedimus; si movente, quod tamen - dicitis, nulla turpis voluptas erit, quae praetermittenda sit, et simul non - proficiscitur animal illud modo natum a summa voluptate, quae est a te posita - in non dolendo.} - %{112} -\NewLipsumPar{Nec tamen argumentum hoc Epicurus a parvis petivit aut etiam a - bestiis, quae putat esse specula naturae, ut diceret ab iis duce natura hanc - voluptatem expeti nihil dolendi. Nec enim haec movere potest appetitum animi, - nec ullum habet ictum, quo pellat animum, status hic non dolendi, itaque in - hoc eodem peccat Hieronymus. At ille pellit, qui permulcet sensum voluptate. - Itaque Epicurus semper hoc utitur, ut probet voluptatem natura expeti, quod ea - voluptas, quae in motu sit, et parvos ad se alliciat et bestias, non illa - stabilis, in qua tantum inest nihil dolere. Qui igitur convenit ab alia - voluptate dicere naturam proficisci, in alia summum bonum ponere?} - %{113} -\NewLipsumPar{Bestiarum vero nullum iudicium puto. Quamvis enim depravatae non - sint, pravae tamen esse possunt. Ut bacillum aliud est inflexum et incurvatum - de industria, aliud ita natum, sic ferarum natura non est illa quidem - depravata mala disciplina, sed natura sua. Nec vero ut voluptatem expetat, - natura movet infantem, sed tantum ut se ipse diligat, ut integrum se salvumque - velit. Omne enim animal, simul et ortum est, se ipsum et omnes partes suas - diligit duasque, quae maximae sunt, in primis amplectitur, animum et corpus, - deinde utriusque partes. Nam sunt et in animo praecipua quaedam et in corpore, - quae cum leviter agnovit, tum discernere incipit, ut ea, quae prima data sunt - natura, appetat asperneturque contraria.} - %{114} -\NewLipsumPar{In his primis naturalibus voluptas insit necne, magna quaestio - est. Nihil vero putare esse praeter voluptatem, non membra, non sensus, non - ingenii motum, non integritatem corporis, non valitudinem [corporis], summae - mihi videtur inscitiae. Atque ab isto capite fluere necesse est omnem rationem - bonorum et malorum. Polemoni et iam ante Aristoteli ea prima visa sunt, quae - paulo ante dixi. Ergo nata est sententia veterum Academicorum et - Peripateticorum, ut finem bonorum dicerent secundum naturam vivere, id est - virtute adhibita frui primis a natura datis. Callipho ad virtutem nihil - adiunxit nisi voluptatem, Diodorus vacuitatem doloris. ** his omnibus, quos - dixi, consequentes fines sunt bonorum, Aristippo simplex voluptas, Stoicis - consentire naturae, quod esse volunt e virtute, id est honeste, vivere, quod - ita interpretantur: vivere cum intellegentia rerum earum, quae natura - evenirent, eligentem ea, quae essent secundum naturam, reicientemque - contraria.} - %{115} -\NewLipsumPar{Ita tres sunt fines expertes honestatis, unus Aristippi vel - Epicuri, alter Hieronymi, Carneadi tertius, tres, in quibus honestas cum - aliqua accessione, Polemonis, Calliphontis, Diodori, una simplex, cuius Zeno - auctor, posita in decore tota, id est in honestate; nam Pyrrho, Aristo, - Erillus iam diu abiecti. Reliqui sibi constiterunt, ut extrema cum initiis - convenirent, ut Aristippo voluptas, Hieronymo doloris vacuitas, Carneadi frui - principiis naturalibus esset extremum. Epicurus autem cum in prima - commendatione voluptatem dixisset, si eam, quam Aristippus, idem tenere debuit - ultimum bonorum, quod ille; sin eam, quam Hieronymus, (ne) fecisset idem, ut - voluptatem illam Aristippi in prima commendatione poneret.} - %{116} -\NewLipsumPar{Nam quod ait sensibus ipsis iudicari voluptatem bonum esse, - dolorem malum, plus tribuit sensibus, quam nobis leges permittunt, (cum) - privatarum litium iudices sumus. Nihil enim possumus iudicare, nisi quod est - nostri iudicii\textendash in quo frustra iudices solent, cum sententiam - pronuntiant, addere: \textquoteleft si quid mei iudicii est\textquoteright; si - enim non fuit eorum iudicii, nihilo magis hoc non addito illud est - iudicatum\textendash. Quid iudicant sensus? Dulce amarum, leve asperum, prope - longe, stare movere, quadratum rotundum.} - %{117} -\NewLipsumPar{Aequam igitur pronuntiabit sententiam ratio adhibita primum - divinarum humanarumque rerum scientia, quae potest appellari rite sapientia, - deinde adiunctis virtutibus, quas ratio rerum omnium dominas, tu voluptatum - satellites et ministras esse voluisti. Quarum adeo omnium sententia - pronuntiabit primum de voluptate nihil esse ei loci, non modo ut sola ponatur - in summi boni sede, quam quaerimus, sed ne illo quidem modo, ut ad honestatem - applicetur. De vacuitate doloris eadem sententia erit.} - %{118} -\NewLipsumPar{Reicietur etiam Carneades, nec ulla de summo bono ratio aut - voluptatis non dolendive particeps aut honestatis expers probabitur. Ita - relinquet duas, de quibus etiam atque etiam consideret. Aut enim statuet nihil - esse bonum nisi honestum, nihil malum nisi turpe, cetera aut omnino nihil - habere momenti aut tantum, ut nec expetenda nec fugienda, sed eligenda modo - aut reicienda sint, aut anteponet eam, quam cum honestate ornatissimam, tum - etiam ipsis initiis naturae et totius perfectione vitae locupletatam videbit. - Quod eo liquidius faciet, si perspexerit rerum inter eas verborumne sit - controversia.} - %{119} -\NewLipsumPar{Huius ego nunc auctoritatem sequens idem faciam. Quantum enim - potero, minuam contentiones omnesque simplices sententias eorum, in quibus - nulla inest virtutis adiunctio, omnino a philosophia semovendas putabo, primum - Aristippi Cyrenaicorumque omnium, quos non est veritum in ea voluptate, quae - maxima dulcedine sensum moveret, summum bonum ponere contemnentis istam - vacuitatem doloris.} - %{120} -\NewLipsumPar{Hi non viderunt, ut ad cursum equum, ad arandum bovem, ad - indagandum canem, sic hominem ad duas res, ut ait Aristoteles, ad - intellegendum et agendum, esse natum quasi mortalem deum, contraque ut tardam - aliquam et languidam pecudem ad pastum et ad procreandi voluptatem hoc divinum - animal ortum esse voluerunt, quo nihil mihi videtur absurdius.} - %{121} -\NewLipsumPar{Atque haec contra Aristippum, qui eam voluptatem non modo - summam, sed solam etiam ducit, quam omnes unam appellamus voluptatem. Aliter - autem vobis placet. Sed ille, ut dixi, vitiose. Nec enim figura corporis nec - ratio excellens ingenii humani significat ad unam hanc rem natum hominem, ut - frueretur voluptatibus. Nec vero audiendus Hieronymus, cui summum bonum est - idem, quod vos interdum vel potius nimium saepe dicitis, nihil dolere. Non - enim, si malum est dolor, carere eo malo satis est ad bene vivendum. Hoc - dixerit potius Ennius: \textquoteleft Nimium boni est, cui nihil est - mali\textquoteright. Nos beatam vitam non depulsione mali, sed adeptione boni - iudicemus, nec eam cessando, sive gaudentem, ut Aristippus, sive non dolentem, - ut hic, sed agendo aliquid considerandove quaeramus.} - %{122} -\NewLipsumPar{Quae possunt eadem contra Carneadeum illud summum bonum dici, - quod is non tam, ut probaret, protulit, quam ut Stoicis, quibuscum bellum - gerebat, opponeret. Id autem eius modi est, ut additum ad virtutem - auctoritatem videatur habiturum et expleturum cumulate vitam beatam, de quo - omnis haec quaestio est. Nam qui ad virtutem adiungunt vel voluptatem, quam - unam virtus minimi facit, vel vacuitatem doloris, quae etiamsi malo caret, - tamen non est summum bonum, accessione utuntur non ita probabili, nec tamen, - cur id tam parce tamque restricte faciant, intellego. Quasi enim emendum eis - sit, quod addant ad virtutem, primum vilissimas res addunt, dein singulas - potius, quam omnia, quae prima natura approbavisset, ea cum honestate - coniungerent.} - %{123} -\NewLipsumPar{Quae quod Aristoni et Pyrrhoni omnino visa sunt pro nihilo, ut - inter optime valere et gravissime aegrotare nihil prorsus dicerent interesse, - recte iam pridem contra eos desitum est disputari. Dum enim in una virtute sic - omnia esse voluerunt, ut eam rerum selectione expoliarent nec ei quicquam, aut - unde oriretur, darent, aut ubi niteretur, virtutem ipsam, quam amplexabantur, - sustulerunt. Erillus autem ad scientiam omnia revocans unum quoddam bonum - vidit, sed nec optimum nec quo vita gubernari possit. Itaque hic ipse iam - pridem est reiectus; post enim Chrysippum (eum) non sane est disputatum. - Restatis igitur vos; nam cum Academicis incerta luctatio est, qui nihil - affirmant et quasi desperata cognitione certi id sequi volunt, quodcumque veri - simile videatur.} - %{124} -\NewLipsumPar{Cum Epicuro autem hoc plus est negotii, quod e duplici genere - voluptatis coniunctus est, quodque et ipse et amici eius et multi postea - defensores eius sententiae fuerunt, et nescio quo modo, is qui auctoritatem - minimam habet, maximam vim, populus cum illis facit. Quos nisi redarguimus, - omnis virtus, omne decus, omnis vera laus deserenda est. Ita ceterorum - sententiis semotis relinquitur non mihi cum Torquato, sed virtuti cum - voluptate certatio. Quam quidem certationem homo et acutus et diligens, - Chrysippus, non contemnit totumque discrimen summi boni in earum comparatione - positum putat. Ego autem existimo, si honestum esse aliquid ostendero, quod - sit ipsum vi sua propter seque expetendum, iacere vestra omnia. Itaque eo, - quale sit, breviter, ut tempus postulat, constituto accedam ad omnia tua, - Torquate, nisi memoria forte defecerit.} - %{125} -\NewLipsumPar{Honestum igitur id intellegimus, quod tale est, ut detracta omni - utilitate sine ullis praemiis fructibusve per se ipsum possit iure laudari. - Quod quale sit, non tam definitione, qua sum usus, intellegi potest, quamquam - aliquantum potest, quam communi omnium iudicio et optimi cuiusque studiis - atque factis, qui permulta ob eam unam causam faciunt, quia decet, quia - rectum, quia honestum est, etsi nullum consecuturum emolumentum vident. - Homines enim, etsi aliis multis, tamen hoc uno plurimum a bestiis differunt, - quod rationem habent a natura datam mentemque acrem et vigentem celerrimeque - multa simul agitantem et, ut ita dicam, sagacem, quae et causas rerum et - consecutiones videat et similitudines transferat et disiuncta coniungat et cum - praesentibus futura copulet omnemque complectatur vitae consequentis statum. - Eademque ratio fecit hominem hominum adpetentem cumque iis natura et sermone - et usu congruentem, ut profectus a caritate domesticorum ac suorum serpat - longius et se implicet primum civium, deinde omnium mortalium societate atque, - ut ad Archytam scripsit Plato, non sibi se soli natum meminerit, sed patriae, - sed suis, ut perexigua pars ipsi relinquatur.} - %{126} -\NewLipsumPar{Et quoniam eadem natura cupiditatem ingenuit homini veri - videndi, quod facillime apparet, cum vacui curis etiam quid in caelo fiat - scire avemus, his initiis inducti omnia vera diligimus, id est fidelia, - simplicia, constantia, tum vana, falsa, fallentia odimus, ut fraudem, - periurium, malitiam, iniuriam. Eadem ratio habet in se quiddam amplum atque - magnificum, ad imperandum magis quam ad parendum accommodatum, omnia humana - non tolerabilia solum, sed etiam levia ducens, altum quiddam et excelsum, - nihil timens, nemini cedens, semper invictum.} - %{127} -\NewLipsumPar{Atque his tribus generibus honestorum notatis quartum sequitur - et in eadem pulchritudine et aptum ex illis tribus, in quo inest ordo et - moderatio. Cuius similitudine perspecta in formarum specie ac dignitate - transitum est ad honestatem dictorum atque factorum. Nam ex his tribus - laudibus, quas ante dixi, et temeritatem reformidat et non audet cuiquam aut - dicto protervo aut facto nocere vereturque quicquam aut facere aut eloqui, - quod parum virile videatur.} - %{128} -\NewLipsumPar{Habes undique expletam et perfectam, Torquate, formam - honestatis, quae tota quattuor his virtutibus, quae a te quoque commemoratae - sunt, continetur. Hanc se tuus Epicurus omnino ignorare dicit quam aut qualem - esse velint qui honestate summum bonum metiantur. Si enim ad honestatem omnia - referant neque in ea voluptatem dicant inesse, ait eos voce inani - sonare\textendash\space his enim ipsis verbis utitur\textendash neque - intellegere nec videre sub hanc vocem honestatis quae sit subicienda - sententia. Ut enim consuetudo loquitur, id solum dicitur honestum, quod est - populari fama gloriosum. \textquoteleft Quod\textquoteright, inquit, - \textquoteleft quamquam voluptatibus quibusdam est saepe iucundius, tamen - expetitur propter voluptatem.\textquoteright} - %{129} -\NewLipsumPar{Videsne quam sit magna dissensio? Philosophus nobilis, a quo non - solum Graecia et Italia, sed etiam omnis barbaria commota est, honestum quid - sit, si id non sit in voluptate, negat se intellegere, nisi forte illud, quod - multitudinis rumore laudetur. Ego autem hoc etiam turpe esse saepe iudico et, - si quando turpe non sit, tum esse non turpe, cum id a multitudine laudetur, - quod sit ipsum per se rectum atque laudabile, non ob eam causam tamen illud - dici esse honestum, quia laudetur a multis, sed quia tale sit, ut, vel si - ignorarent id homines, vel si obmutuissent, sua tamen pulchritudine esset - specieque laudabile. Itaque idem natura victus, cui obsisti non potest, dicit - alio loco id, quod a te etiam paulo ante dictum est, non posse iucunde vivi - nisi etiam honeste.} - %{130} -\NewLipsumPar{Quid nunc \textquoteleft honeste\textquoteright\space dicit? - Idemne, quod iucunde? Ergo ita: non posse honeste vivi, nisi honeste vivatur? - An nisi populari fama? Sine ea igitur iucunde negat posse (se) vivere? Quid - turpius quam sapientis vitam ex insipientium sermone pendere? Quid ergo hoc - loco intellegit honestum? Certe nihil nisi quod possit ipsum propter se iure - laudari. Nam si propter voluptatem, quae est ista laus, quae possit e macello - peti? Non is vir est, ut, cum honestatem eo loco habeat, ut sine ea iucunde - neget posse vivi, illud honestum, quod populare sit, sentiat et sine eo neget - iucunde vivi posse, aut quicquam aliud honestum intellegat, nisi quod sit - rectum ipsumque per se sua vi, sua natura, sua sponte laudabile.} - %{131} -\NewLipsumPar{Itaque, Torquate, cum diceres clamare Epicurum non posse iucunde - vivi, nisi honeste et sapienter et iuste viveretur, tu ipse mihi gloriari - videbare. Tanta vis inerat in verbis propter earum rerum, quae significabantur - his verbis, dignitatem, ut altior fieres, ut interdum insisteres, ut nos - intuens quasi testificarere laudari honestatem et iustitiam aliquando ab - Epicuro. Quam te decebat iis verbis uti, quibus si philosophi non uterentur, - philosophia omnino non egeremus! Istorum enim verborum amore, quae perraro - appellantur ab Epicuro, sapientiae, fortitudinis, iustitiae, temperantiae, - praestantissimis ingeniis homines se ad philosophiae studium contulerunt.} - %{132} -\NewLipsumPar{\textquoteleft Oculorum\textquoteright, inquit Plato, - \textquoteleft est in nobis sensus acerrimus, quibus sapientiam non cernimus. - Quam illa ardentis amores excitaret sui!\textquoteright\space Cur tandem? An - quod ita callida est, ut optime possit architectari voluptates? Cur iustitia - laudatur? aut unde est hoc contritum vetustate proverbium: \textquoteleft - quicum in tenebris\textquoteright? Hoc dictum in una re latissime patet, ut in - omnibus factis re, non teste moveamur.} - %{133} -\NewLipsumPar{Sunt enim levia et perinfirma, quae dicebantur a te, animi - conscientia improbos excruciari, tum etiam poenae timore, qua aut afficiantur - aut semper sint in metu ne afficiantur aliquando. Non oportet timidum aut - inbecillo animo fingi non bonum illum virum, qui, quicquid fecerit, ipse se - cruciet omniaque formidet, sed omnia callide referentem ad utilitatem, acutum, - versutum, veteratorem, facile ut excogitet quo modo occulte, sine teste, sine - ullo conscio fallat.} - %{134} -\NewLipsumPar{An tu me de L. Tubulo putas dicere? Qui cum praetor quaestionem - inter sicarios exercuisset, ita aperte cepit pecunias ob rem iudicandam, ut - anno proximo P. Scaevola tribunus plebis ferret ad plebem vellentne de ea re - quaeri. Quo plebiscito decreta a senatu est consuli quaestio Cn.\ Caepioni. - Profectus in exilium Tubulus statim nec respondere ausus; erat enim res - aperta. Non igitur de improbo, sed (de) callido improbo quaerimus, qualis Q. - Pompeius in foedere Numantino infitiando fuit, nec vero omnia timente, sed - primum qui animi conscientiam non curet, quam scilicet comprimere nihil est - negotii. Is enim, qui occultus et tectus dicitur, tantum abest ut se indicet, - perficiet etiam ut dolere alterius improbe facto videatur. Quid est enim aliud - esse versutum?} - %{135} -\NewLipsumPar{Memini me adesse P. Sextilio Rufo, cum is rem ad amicos ita - deferret, se esse heredem Q. Fadio Gallo, cuius in testamento scriptum esset - se ab eo rogatum ut omnis hereditas ad filiam perveniret. Id Sextilius factum - negabat. Poterat autem inpune; quis enim redargueret? Nemo nostrum credebat, - eratque veri similius hunc mentiri, cuius interesset, quam illum, qui id se - rogasse scripsisset, quod debuisset rogare. Addebat etiam se in legem Voconiam - iuratum contra eam facere non audere, nisi aliter amicis videretur. Aderamus - nos quidem adolescentes, sed multi amplissimi viri, quorum nemo censuit plus - Fadiae dandum, quam posset ad eam lege Voconia pervenire. Tenuit permagnam - Sextilius hereditatem, unde, si secutus esset eorum sententiam, qui honesta et - recta emolumentis omnibus et commodis anteponerent, nummum nullum attigisset. - Num igitur eum postea censes anxio animo aut sollicito fuisse? Nihil minus, - contraque illa hereditate dives ob eamque rem laetus. Magni enim aestimabat - pecuniam non modo non contra leges, sed etiam legibus partam. Quae quidem vel - cum periculo est quaerenda vobis; est enim effectrix multarum et magnarum - voluptatum.} - %{136} -\NewLipsumPar{Ut igitur illis, qui, recta et honesta quae sunt, ea statuunt - per se expetenda, adeunda sunt saepe pericula decoris honestatisque causa, sic - vestris, qui omnia voluptate metiuntur, pericula adeunda sunt, ut adipiscantur - magnas voluptates. Si magna res, magna hereditas agetur, cum pecunia - voluptates pariantur plurimae, idem erit Epicuro vestro faciendum, si suum - finem bonorum sequi volet, quod Scipioni magna gloria proposita, si Hannibalem - in Africam retraxisset. Itaque quantum adiit periculum! Ad honestatem enim - illum omnem conatum suum referebat, non ad voluptatem. Sic vester sapiens - magno aliquo emolumento commotus cicuta, si opus erit, dimicabit.} - %{137} -\NewLipsumPar{Occultum facinus esse potuerit, gaudebit; deprehensus omnem - poenam contemnet. Erit enim instructus ad mortem contemnendam, ad exilium, ad - ipsum etiam dolorem. Quem quidem vos, cum improbis poenam proponitis, - inpetibilem facitis, cum sapientem semper boni plus habere vultis, - tolerabilem. Sed finge non solum callidum eum, qui aliquid improbe faciat, - verum etiam praepotentem, ut M. Crassus fuit, qui tamen solebat uti suo bono, - ut hodie est noster Pompeius, cui recte facienti gratia est habenda; esse enim - quam vellet iniquus iustus poterat inpune. Quam multa vero iniuste fieri - possunt, quae nemo possit reprehendere!} - %{138} -\NewLipsumPar{Si te amicus tuus moriens rogaverit, ut hereditatem reddas suae - filiae, nec usquam id scripserit, ut scripsit Fadius, nec cuiquam dixerit, - quid facies? Tu quidem reddes; ipse Epicurus fortasse redderet, ut Sextus - Peducaeus, Sex. F., is qui hunc nostrum reliquit effigiem et humanitatis et - probitatis suae filium, cum doctus, tum omnium vir optimus et iustissimus, cum - sciret nemo eum rogatum a Caio Plotio, equite Romano splendido, Nursino, ultro - ad mulierem venit eique nihil opinanti viri mandatum euit hereditatemque - reddidit. Sed ego ex te quaero, quoniam idem tu certe fecisses, nonne - intellegas eo maiorem vim esse naturae, quod ipsi vos, qui omnia ad vestrum - commodum et, ut ipsi dicitis, ad voluptatem referatis, tamen ea faciatis, e - quibus appareat non voluptatem vos, sed officium sequi, plusque rectam naturam - quam rationem pravam valere.} - %{139} -\NewLipsumPar{Si scieris, inquit Carneades, aspidem occulte latere uspiam, et - velle aliquem inprudentem super eam assidere, cuius mors tibi emolumentum - futura sit, improbe feceris, nisi monueris ne assidat, sed inpunite tamen; - scisse enim te quis coarguere possit? Sed nimis multa. Perspicuum est enim, - nisi aequitas, fides, iustitia proficiscantur a natura, et si omnia haec ad - utilitatem referantur, virum bonum non posse reperiri; deque his rebus satis - multa in nostris de re publica libris sunt dicta a Laelio.} - %{140} -\NewLipsumPar{Transfer idem ad modestiam vel temperantiam, quae est moderatio - cupiditatum rationi oboediens. Satisne ergo pudori consulat, si quis sine - teste libidini pareat? An est aliquid per se ipsum flagitiosum, etiamsi nulla - comitetur infamia? Quid? Fortes viri voluptatumne calculis subductis proelium - ineunt, sanguinem pro patria profundunt, an quodam animi ardore atque impetu - concitati? utrum tandem censes, Torquate, Imperiosum illum, si nostra verba - audiret, tuamne de se orationem libentius auditurum fuisse an meam, cum ego - dicerem nihil eum fecisse sua causa omniaque rei publicae, tu contra nihil - nisi sua? Si vero id etiam explanare velles apertiusque diceres nihil eum - fecisse nisi voluptatis causa, quo modo eum tandem laturum fuisse existimas?} - %{141} -\NewLipsumPar{Esto, fecerit, si ita vis, Torquatus propter suas - utilitates\textendash\space malo enim dicere quam voluptates, in tanto - praesertim viro\textendash, num etiam eius collega P. Decius, princeps in ea - familia consulatus, cum se devoverat et equo admisso in mediam aciem Latinorum - irruebat, aliquid de voluptatibus suis cogitabat? Ubi ut eam caperet aut - quando? Cum sciret confestim esse moriendum eamque mortem ardentiore studio - peteret, quam Epicurus voluptatem petendam putat. Quod quidem eius factum nisi - esset iure laudatum, non esset imitatus quarto consulatu suo filius, neque - porro ex eo natus cum Pyrrho bellum gerens consul cecidisset in proelio seque - e continenti genere tertiam victimam rei publicae praebuisset.} - %{142} -\NewLipsumPar{Contineo me ab exemplis. Graecis hoc modicum est: Leonidas, - Epaminondas, tres aliqui aut quattuor; ego si nostros colligere coepero, - perficiam illud quidem, ut se virtuti tradat constringendam voluptas, sed dies - me deficiet, et, ut Aulus Varius, qui est habitus iudex durior, dicere - consessori solebat, cum datis testibus alii tamen citarentur: \textquoteleft - Aut hoc testium satis est, aut nescio, quid satis sit,\textquoteright\space - sic a me satis datum est testium. Quid enim? Te ipsum, dignissimum maioribus - tuis, voluptasne induxit, ut adolescentulus eriperes P. Sullae consulatum? - Quem cum ad patrem tuum rettulisses, fortissimum virum, qualis ille vel consul - vel civis cum semper, tum post consulatum fuit! Quo quidem auctore nos ipsi ea - gessimus, ut omnibus potius quam ipsis nobis consuluerimus.} - %{143} -\NewLipsumPar{At quam pulchre dicere videbare, cum ex altera parte ponebas - cumulatum aliquem plurimis et maximis voluptatibus nullo nec praesenti nec - futuro dolore, ex altera autem cruciatibus maximis toto corpore nulla nec - adiuncta nec sperata voluptate, et quaerebas, quis aut hoc miserior aut - superiore illo beatior; deinde concludebas summum malum esse dolorem, summum - bonum voluptatem! Lucius Thorius Balbus fuit, Lanuvinus, quem meminisse tu non - potes. Is ita vivebat, ut nulla tam exquisita posset inveniri voluptas, qua - non abundaret. Erat et cupidus voluptatum et eius generis intellegens et - copiosus, ita non superstitiosus, ut illa plurima in sua patria sacrificia et - fana contemneret, ita non timidus ad mortem, ut in acie sit ob rem publicam - interfectus.} - %{144} -\NewLipsumPar{Cupiditates non Epicuri divisione finiebat, sed sua satietate. - Habebat tamen rationem valitudinis: utebatur iis exercitationibus, ut ad cenam - et sitiens et esuriens veniret, eo cibo, qui et suavissimus esset et idem - facillimus ad concoquendum, vino et ad voluptatem et ne noceret. Cetera illa - adhibebat, quibus demptis negat se Epicurus intellegere quid sit bonum. Aberat - omnis dolor, qui si adesset, nec molliter ferret et tamen medicis plus quam - philosophis uteretur. Color egregius, integra valitudo, summa gratia, vita - denique conferta voluptatum omnium varietate.} - %{145} -\NewLipsumPar{Hunc vos beatum; ratio quidem vestra sic cogit. At ego quem huic - anteponam non audeo dicere; dicet pro me ipsa virtus nec dubitabit isti vestro - beato M. Regulum anteponere, quem quidem, cum sua voluntate, nulla vi coactus - praeter fidem, quam dederat hosti, ex patria Karthaginem revertisset, tum - ipsum, cum vigiliis et fame cruciaretur, clamat virtus beatiorem fuisse quam - potantem in rosa Thorium. Bella magna gesserat, bis consul fuerat, triumpharat - nec tamen sua illa superiora tam magna neque tam praeclara ducebat quam illum - ultimum casum, quem propter fidem constantiamque susceperat, qui nobis - miserabilis videtur audientibus, illi perpetienti erat voluptarius. Non enim - hilaritate nec lascivia nec risu aut ioco, comite levitatis, saepe etiam - tristes firmitate et constantia sunt beati.} - %{146} -\NewLipsumPar{Stuprata per vim Lucretia a regis filio testata civis se ipsa - interemit. Hic dolor populi Romani duce et auctore Bruto causa civitati - libertatis fuit, ob eiusque mulieris memoriam primo anno et vir et pater eius - consul est factus. Tenuis Lucius Verginius unusque de multis sexagesimo anno - post libertatem receptam virginem filiam sua manu occidit potius, quam ea - Ap.\space Claudii libidini, qui tum erat summo (ne) imperio, dederetur.} - %{147} -\NewLipsumPar{Aut haec tibi, Torquate, sunt vituperanda aut patrocinium - voluptatis repudiandum. Quod autem patrocinium aut quae ista causa est - voluptatis, quae nec testes ullos e claris viris nec laudatores poterit - adhibere? Ut enim nos ex annalium monimentis testes excitamus eos, quorum - omnis vita consumpta est in laboribus gloriosis, qui voluptatis nomen audire - non possent, sic in vestris disputationibus historia muta est. Numquam audivi - in Epicuri schola Lycurgum, Solonem, Miltiadem, Themistoclem, Epaminondam - nominari, qui in ore sunt ceterorum omnium philosophorum. Nunc vero, quoniam - haec nos etiam tractare coepimus, suppeditabit nobis Atticus noster e - thesauris suis quos et quantos viros!} - %{148} -\NewLipsumPar{Nonne melius est de his aliquid quam tantis voluminibus de - Themista loqui? Sint ista Graecorum; quamquam ab iis philosophiam et omnes - ingenuas disciplinas habemus; sed tamen est aliquid, quod nobis non liceat, - liceat illis. Pugnant Stoici cum Peripateticis. Alteri negant quicquam esse - bonum, nisi quod honestum sit, alteri plurimum se et longe longeque plurimum - tribuere honestati, sed tamen et in corpore et extra esse quaedam bona. Et - certamen honestum et disputatio splendida! Omnis est enim de virtutis - dignitate contentio. At cum tuis cum disseras, multa sunt audienda etiam de - obscenis voluptatibus, de quibus ab Epicuro saepissime dicitur.} - %{149} -\NewLipsumPar{Non potes ergo ista tueri, Torquate, mihi crede, si te ipse et - tuas cogitationes et studia perspexeris; pudebit te, inquam, illius tabulae, - quam Cleanthes sane commode verbis depingere solebat. Iubebat eos, qui - audiebant, secum ipsos cogitare pictam in tabula Voluptatem pulcherrimo - vestitu et ornatu regali in solio sedentem, praesto esse Virtutes ut - ancillulas, quae nihil aliud agerent, nullum suum officium ducerent, nisi ut - Voluptati ministrarent et eam tantum ad aurem admonerent, si modo id pictura - intellegi posset, ut caveret ne quid faceret inprudens, quod offenderet animos - hominum, aut quicquam, e quo oriretur aliquis dolor. \textquoteleft Nos quidem - Virtutes sic natae sumus, ut tibi serviremus, aliud negotii nihil - habemus.\textquoteright} - %{150} -\NewLipsumPar{At negat Epicurus\textendash hoc enim vestrum lumen - est\textendash\space quemquam, qui honeste non vivat, iucunde posse vivere. - Quasi ego id curem, quid ille aiat aut neget. Illud quaero, quid ei, qui in - voluptate summum bonum ponat, consentaneum sit dicere. Quid affers, cur - Thorius, cur Caius Postumius, cur omnium horum magister, Orata, non - iucundissime vixerit? Ipse negat, ut ante dixi, luxuriosorum vitam - reprehendendam, nisi plane fatui sint, id est nisi aut cupiant aut metuant. - Quarum ambarum rerum cum medicinam pollicetur, luxuriae licentiam pollicetur. - His enim rebus detractis negat se reperire in asotorum vita quod reprehendat.} - %{151} -\NewLipsumPar{Non igitur potestis voluptate omnia dirigentes aut tueri aut - retinere virtutem. Nam nec vir bonus ac iustus haberi debet qui, ne malum - habeat, abstinet se ab iniuria. Nosti, credo, illud: \textquoteleft Nemo pius - est, qui pietatem\textendash\textquoteright; cave putes quicquam esse verius. - Nec enim, dum metuit, iustus est, et certe, si metuere destiterit, non erit; - non metuet autem, sive celare poterit, sive opibus magnis quicquid fecerit - optinere, certeque malet existimari bonus vir, ut non sit, quam esse, ut non - putetur. Ita, quod certissimum est, pro vera certaque iustitia simulationem - nobis iustitiae traditis praecipitisque quodam modo ut nostram stabilem - conscientiam contemnamus, aliorum errantem opinionem aucupemur.} - %{152} -\NewLipsumPar{Quae dici eadem de ceteris virtutibus possunt, quarum omnium - fundamenta vos in voluptate tamquam in aqua ponitis. Quid enim? Fortemne - possumus dicere eundem illum Torquatum?\textendash Delector enim, quamquam te - non possum, ut ais, corrumpere, delector, inquam, et familia vestra et nomine. - Et hercule mihi vir optimus nostrique amantissimus, Aulus Torquatus, versatur - ante oculos, cuius quantum studium et quam insigne fuerit erga me temporibus - illis, quae nota sunt omnibus, scire necesse est utrumque vestrum. Quae mihi - ipsi, qui volo et esse et haberi gratus, grata non essent, nisi eum - perspicerem mea causa mihi amicum fuisse, non sua, nisi hoc dicis sua, quod - interest omnium recte facere. Si id dicis, vicimus. Id enim volumus, id - contendimus, ut officii fructus sit ipsum officium.} - %{153} -\NewLipsumPar{Hoc ille tuus non vult omnibusque ex rebus voluptatem quasi - mercedem exigit. Sed ad illum redeo. Si voluptatis causa cum Gallo apud - Anienem depugnavit provocatus et ex eius spoliis sibi et torquem et cognomen - induit ullam aliam ob causam, nisi quod ei talia facta digna viro videbantur, - fortem non puto. Iam si pudor, si modestia, si pudicitia, si uno verbo - temperantia poenae aut infamiae metu coercebuntur, non sanctitate sua se - tuebuntur, quod adulterium, quod stuprum, quae libido non se proripiet ac - proiciet aut occultatione proposita aut inpunitate aut licentia? Quid?} - %{154} -\NewLipsumPar{Illud, Torquate, quale tandem videtur, te isto nomine, ingenio, - gloria, quae facis, quae cogitas, quae contendis quo referas, cuius rei causa - perficere quae conaris velis, quid optimum denique in vita iudices non audere - in conventu dicere? Quid enim mereri velis, iam cum magistratum inieris et in - contionem ascenderis\textendash est enim tibi edicendum quae sis observaturus - in iure dicendo, et fortasse etiam, si tibi erit visum, aliquid de maioribus - tuis et de te ipso dices more maiorum\textendash, quid merearis igitur, ut - dicas te in eo magistratu omnia voluptatis causa facturum esse, teque nihil - fecisse in vita nisi voluptatis causa? \textquoteleft An me\textquoteright, - inquis, \textquoteleft tam amentem putas, ut apud imperitos isto modo - loquar?\textquoteright\space At tu eadem ista dic in iudicio aut, si coronam - times, dic in senatu. Numquam facies. Cur, nisi quod turpis oratio est? Mene - ergo et Triarium dignos existimas, apud quos turpiter loquare?} - %{155} -\NewLipsumPar{Verum esto: verbum ipsum voluptatis non habet dignitatem, nec - nos fortasse intellegimus. Hoc enim identidem dicitis, non intellegere nos - quam dicatis voluptatem. Rem videlicet difficilem et obscuram! Individua cum - dicitis et intermundia, quae nec sunt ulla nec possunt esse, intellegimus, - voluptas, quae passeribus omnibus nota est, a nobis intellegi non potest? - Quid, si efficio ut fateare me non modo quid sit voluptas scire\textendash est - enim iucundus motus in sensu\textendash, sed etiam quid eam tu velis esse? Tum - enim eam ipsam vis, quam modo ego dixi, et nomen inponis, in motu ut sit et - faciat aliquam varietatem, tum aliam quandam summam voluptatem, quo addi nihil - possit; eam tum adesse, cum dolor omnis absit; eam stabilem appellas. Sit sane - ista voluptas.} - %{156} -\NewLipsumPar{Dic in quovis conventu te omnia facere, ne doleas. Si ne hoc - quidem satis ample, satis honeste dici putas, dic te omnia et in isto - magistratu et in omni vita utilitatis tuae causa facturum, nihil nisi quod - expediat, nihil denique nisi tua causa: quem clamorem contionis aut quam spem - consulatus eius, qui tibi paratissimus est, futuram putas? Eamne rationem - igitur sequere, qua tecum ipse et cum tuis utare, profiteri et in medium - proferre non audeas? At vero illa, quae Peripatetici, quae Stoici dicunt, - semper tibi in ore sunt in iudiciis, in senatu. Officium, aequitatem, - dignitatem, fidem, recta, honesta, digna imperio, digna populo Romano, omnia - pericula pro re publica, mori pro patria, haec cum loqueris, nos barones - stupemus, tu videlicet tecum ipse rides.} - %{157} -\NewLipsumPar{Nam inter ista tam magnifica verba tamque praeclara non habet - ullum voluptas locum, non modo illa, quam in motu esse dicitis, quam omnes - urbani rustici, omnes, inquam, qui Latine loquuntur, voluptatem vocant, sed ne - haec quidem stabilis, quam praeter vos nemo appellat voluptatem. Vide igitur - ne non debeas verbis nostris uti, sententiis tuis. Quodsi vultum tibi, si - incessum fingeres, quo gravior viderere, non esses tui similis; verba tu - fingas et ea dicas, quae non sentias? Aut etiam, ut vestitum, sic sententiam - habeas aliam domesticam, aliam forensem, ut in fronte ostentatio sit, intus - veritas occultetur? Vide, quaeso, rectumne sit. Mihi quidem eae verae videntur - opiniones, quae honestae, quae laudabiles, quae gloriosae, quae in senatu, - quae apud populum, quae in omni coetu concilioque profitendae sint, ne id non - pudeat sentire, quod pudeat dicere.} - %{158} -\NewLipsumPar{Amicitiae vero locus ubi esse potest aut quis amicus esse - cuiquam, quem non ipsum amet propter ipsum? Quid autem est amare, e quo nomen - ductum amicitiae est, nisi velle bonis aliquem affici quam maximis, etiamsi ad - se ex iis nihil redundet? \textquoteleft Prodest\textquoteright, inquit, - \textquoteleft mihi eo esse animo.\textquoteright\space Immo videri fortasse. - Esse enim, nisi eris, non potes. Qui autem esse poteris, nisi te amor ipse - ceperit? quod non subducta utilitatis ratione effici solet, sed ipsum a se - oritur et sua sponte nascitur. \textquoteleft At enim sequor - utilitatem.\textquoteright\space Manebit ergo amicitia tam diu, quam diu - sequetur utilitas, et, si utilitas amicitiam constituet, tollet eadem.} - %{159} -\NewLipsumPar{Sed quid ages tandem, si utilitas ab amicitia, ut fit saepe, - defecerit? relinquesne? Quae ista amicitia est? Retinebis? Qui convenit? Quid - enim de amicitia statueris utilitatis causa expetenda vides. \textquoteleft Ne - in odium veniam, si amicum destitero tueri.\textquoteright\space Primum cur - ista res digna odio est, nisi quod est turpis? Quodsi, ne quo incommodo - afficiare, non relinques amicum, tamen, ne sine fructu alligatus sis, ut - moriatur optabis. Quid, si non modo utilitatem tibi nullam afferet, sed - iacturae rei familiaris erunt faciendae, labores suscipiendi, adeundum vitae - periculum? Ne tum quidem te respicies et cogitabis sibi quemque natum esse et - suis voluptatibus? Vadem te ad mortem tyranno dabis pro amico, ut Pythagoreus - ille Siculo fecit tyranno? Aut, Pylades cum sis, dices te esse Orestem, ut - moriare pro amico? Aut, si esses Orestes, Pyladem refelleres, te indicares et, - si id non probares, quo minus ambo una necaremini non precarere?} - %{160} -\NewLipsumPar{Faceres tu quidem, Torquate, haec omnia; nihil enim arbitror - esse magna laude dignum, quod te praetermissurum credam aut mortis aut doloris - metu. Non quaeritur autem quid naturae tuae consentaneum sit, sed quid - disciplinae. Ratio ista, quam defendis, praecepta, quae didicisti, quae - probas, funditus evertunt amicitiam, quamvis eam Epicurus, ut facit, in caelum - efferat laudibus. At coluit ipse amicitias. Quis, quaeso, illum negat et bonum - virum et comem et humanum fuisse? De ingenio eius in his disputationibus, non - de moribus quaeritur. Sit ista in Graecorum levitate perversitas, qui - maledictis insectantur eos, a quibus de veritate dissentiunt. Sed quamvis - comis in amicis tuendis fuerit, tamen, si haec vera sunt\textendash nihil enim - affirmo\textendash, non satis acutus fuit.} - %{161} -\NewLipsumPar{At multis se probavit. Et quidem iure fortasse, sed tamen non - gravissimum est testimonium multitudinis. In omni enim arte vel studio vel - quavis scientia vel in ipsa virtute optimum quidque rarissimum est. Ac mihi - quidem, quod et ipse bonus vir fuit et multi Epicurei et fuerunt et hodie sunt - et in amicitiis fideles et in omni vita constantes et graves nec voluptate, - sed officio consilia moderantes, hoc videtur maior vis honestatis et minor - voluptatis. Ita enim vivunt quidam, ut eorum vita refellatur oratio. Atque ut - ceteri dicere existimantur melius quam facere, sic hi mihi videntur facere - melius quam dicere.} - %{162} -\NewLipsumPar{Sed haec nihil sane ad rem; illa videamus, quae a te de amicitia - dicta sunt. E quibus unum mihi videbar ab ipso Epicuro dictum cognoscere, - amicitiam a voluptate non posse divelli ob eamque rem colendam esse, quod, - (quoniam) sine ea tuto et sine metu vivi non posset, ne iucunde quidem posset. - Satis est ad hoc responsum. Attulisti aliud humanius horum recentiorum, - numquam dictum ab ipso illo, quod sciam, primo utilitatis causa amicum expeti, - cum autem usus accessisset, tum ipsum amari per se etiam omissa spe - voluptatis. Hoc etsi multimodis reprehendi potest, tamen accipio, quod dant. - Mihi enim satis est, ipsis non satis. Nam aliquando posse recte fieri dicunt - nulla expectata nec quaesita voluptate.} - %{163} -\NewLipsumPar{Posuisti etiam dicere alios foedus quoddam inter se facere - sapientis, ut, quem ad modum sint in se ipsos animati, eodem modo sint erga - amicos; id et fieri posse et saepe esse factum et ad voluptates percipiendas - maxime pertinere. Hoc foedus facere si potuerunt, faciant etiam illud, ut - aequitatem, modestiam, virtutes omnes per se ipsas gratis diligant. An vero, - si fructibus et emolumentis et utilitatibus amicitias colemus, si nulla - caritas erit, quae faciat amicitiam ipsam sua sponte, vi sua, ex se et propter - se expetendam, dubium est, quin fundos et insulas amicis anteponamus?} - %{164} -\NewLipsumPar{Licet hic rursus ea commemores, quae optimis verbis ab Epicuro - de laude amicitiae dicta sunt. Non quaero, quid dicat, sed quid convenienter - possit rationi et sententiae suae dicere. \textquoteleft Utilitatis causa - amicitia est quaesita.\textquoteright\space Num igitur utiliorem tibi hunc - Triarium putas esse posse, quam si tua sint Puteolis granaria? Collige omnia, - quae soletis: \textquoteleft Praesidium amicorum.\textquoteright\space Satis - est tibi in te, satis in legibus, satis in mediocribus amicitiis praesidii. - Iam contemni non poteris. Odium autem et invidiam facile vitabis. Ad eas enim - res ab Epicuro praecepta dantur. Et tamen tantis vectigalibus ad liberalitatem - utens etiam sine hac Pyladea amicitia multorum te benivolentia praeclare - tuebere et munies.} - %{165} -\NewLipsumPar{\textquoteleft At quicum ioca seria, ut dicitur, quicum arcana, - quicum occulta omnia?\textquoteright\space Tecum optime, deinde etiam cum - mediocri amico. Sed fac ista esse non inportuna; quid ad utilitatem tantae - pecuniae? Vides igitur, si amicitiam sua caritate metiare, nihil esse - praestantius, sin emolumento, summas familiaritates praediorum fructuosorum - mercede superari. Me igitur ipsum ames oportet, non mea, si veri amici futuri - sumus. Sed in rebus apertissimis nimium longi sumus. Perfecto enim et concluso - neque virtutibus neque amicitiis usquam locum esse, si ad voluptatem omnia - referantur, nihil praeterea est magnopere dicendum. Ac tamen, ne cui loco non - videatur esse responsum, pauca etiam nunc dicam ad reliquam orationem tuam.} - %{166} -\NewLipsumPar{Quoniam igitur omnis summa philosophiae ad beate vivendum - refertur, idque unum expetentes homines se ad hoc studium contulerunt, beate - autem vivere alii in alio, vos in voluptate ponitis, item contra miseriam - omnem in dolore, id primum videamus, beate vivere vestrum quale sit. Atque hoc - dabitis, ut opinor, si modo sit aliquid esse beatum, id oportere totum poni in - potestate sapientis. Nam si amitti vita beata potest, beata esse non potest. - Quis enim confidit semper sibi illud stabile et firmum permansurum, quod - fragile et caducum sit? Qui autem diffidet perpetuitati bonorum suorum, timeat - necesse est, ne aliquando amissis illis sit miser. Beatus autem esse in - maximarum rerum timore nemo potest.} - %{167} -\NewLipsumPar{Nemo igitur esse beatus potest. Neque enim in aliqua parte, sed - in perpetuitate temporis vita beata dici solet, nec appellatur omnino vita, - nisi confecta atque absoluta, nec potest quisquam alias beatus esse, alias - miser; qui enim existimabit posse se miserum esse beatus non erit. Nam cum - suscepta semel est beata vita, tam permanet quam ipsa illa effectrix beatae - vitae sapientia neque expectat ultimum tempus aetatis, quod Croeso scribit - Herodotus praeceptum a Solone. At enim, quem ad modum tute dicebas, negat - Epicurus diuturnitatem quidem temporis ad beate vivendum aliquid afferre, nec - minorem voluptatem percipi in brevitate temporis, quam si illa sit - sempiterna.} - %{168} -\NewLipsumPar{Haec dicuntur inconstantissime. Cum enim summum bonum in - voluptate ponat, negat infinito tempore aetatis voluptatem fieri maiorem quam - finito atque modico. Qui bonum omne in virtute ponit, is potest dicere perfici - beatam vitam perfectione virtutis; negat enim summo bono afferre incrementum - diem. Qui autem voluptate vitam effici beatam putabit, qui sibi is conveniet, - si negabit voluptatem crescere longinquitate? Igitur ne dolorem quidem. An - dolor longissimus quisque miserrimus, voluptatem non optabiliorem diuturnitas - facit? Quid est igitur, cur ita semper deum appellet Epicurus beatum et - aeternum? Dempta enim aeternitate nihilo beatior Iuppiter quam Epicurus; - uterque enim summo bono fruitur, id est voluptate. \textquoteleft At enim hic - etiam dolore.\textquoteright\space At eum nihili facit; ait enim se, si - uratur, \textquoteleft Quam hoc suave!\textquoteright\space dicturum.} - %{169} -\NewLipsumPar{Qua igitur re ab deo vincitur, si aeternitate non vincitur? In - qua quid est boni praeter summam voluptatem, et eam sempiternam? Quid ergo - attinet gloriose loqui, nisi constanter loquare? In voluptate - corporis\textendash addam, si vis, \textquoteleft animi\textquoteright, dum ea - ipsa, ut vultis, sit e corpore\textendash situm est vivere beate. Quid? Istam - voluptatem perpetuam quis potest praestare sapienti? Nam quibus rebus - efficiuntur voluptates, eae non sunt in potestate sapientis. Non enim in ipsa - sapientia positum est beatum esse, sed in iis rebus, quas sapientia comparat - ad voluptatem. Totum autem id externum est, et quod externum, id in casu est. - Ita fit beatae vitae domina fortuna, quam Epicurus ait exiguam intervenire - sapienti.} - %{170} -\NewLipsumPar{Age, inquies, ista parva sunt. Sapientem locupletat ipsa natura, - cuius divitias Epicurus parabiles esse docuit. Haec bene dicuntur, nec ego - repugno, sed inter sese ipsa pugnant. Negat enim tenuissimo victu, id est - contemptissimis escis et potionibus, minorem voluptatem percipi quam rebus - exquisitissimis ad epulandum. Huic ego, si negaret quicquam interesse ad beate - vivendum quali uteretur victu, concederem, laudarem etiam; verum enim diceret, - idque Socratem, qui voluptatem nullo loco numerat, audio dicentem, cibi - condimentum esse famem, potionis sitim. Sed qui ad voluptatem omnia referens - vivit ut Gallonius, loquitur ut Frugi ille Piso, non audio nec eum, quod - sentiat, dicere existimo.} - %{171} -\NewLipsumPar{Naturales divitias dixit parabiles esse, quod parvo esset natura - contenta. Certe, nisi voluptatem tanti aestimaretis. Non minor, inquit, - voluptas percipitur ex vilissimis rebus quam ex pretiosissimis. Hoc est non - modo cor non habere, sed ne palatum quidem. Qui enim voluptatem ipsam - contemnunt, iis licet dicere se acupenserem maenae non anteponere. Cui vero in - voluptate summum bonum est, huic omnia sensu, non ratione sunt iudicanda, - eaque dicenda optima, quae sint suavissima.} - %{172} -\NewLipsumPar{Verum esto; consequatur summas voluptates non modo parvo, sed - per me nihilo, si potest; sit voluptas non minor in nasturcio illo, quo vesci - Persas esse solitos scribit Xenophon, quam in Syracusanis mensis, quae a - Platone graviter vituperantur; sit, inquam, tam facilis, quam vultis, - comparatio voluptatis, quid de dolore dicemus? Cuius tanta tormenta sunt, ut - in iis beata vita, si modo dolor summum malum est, esse non possit. Ipse enim - Metrodorus, paene alter Epicurus, beatum esse describit his fere verbis: - \textquoteleft cum corpus bene constitutum sit et sit exploratum ita - futurum.\textquoteright\space an id exploratum cuiquam potest esse, quo modo - se hoc habiturum sit corpus, non dico ad annum, sed ad vesperum? Dolor ergo, - id est summum malum, metuetur semper, etiamsi non aderit; iam enim adesse - poterit. Qui potest igitur habitare in beata vita summi mali metus?} - %{173} -\NewLipsumPar{Traditur, inquit, ab Epicuro ratio neglegendi doloris. Iam id - ipsum absurdum, maximum malum neglegi. Sed quae tandem ista ratio est? Maximus - dolor, inquit, brevis est. Primum quid tu dicis breve? Deinde dolorem quem - maximum? Quid enim? summus dolor plures dies manere non potest? Vide, ne etiam - menses! Nisi forte eum dicis, qui, simul atque arripuit, interficit. Quis - istum dolorem timet? illum mallem levares, quo optimum atque humanissimum - virum, Cn.\space Octavium, Marci filium, familiarem meum, confici vidi, nec - vero semel nec ad breve tempus, sed et saepe et plane diu. Quos ille, di - inmortales, cum omnes artus ardere viderentur, cruciatus perferebat! Nec tamen - miser esse, quia summum id malum non erat, tantum modo laboriosus videbatur; - at miser, si in flagitiosa et vitiosa vita afflueret voluptatibus.} - %{174} -\NewLipsumPar{Quod autem magnum dolorem brevem, longinquum levem esse dicitis, - id non intellego quale sit. Video enim et magnos et eosdem bene longinquos - dolores, quorum alia toleratio est verior, qua uti vos non potestis, qui - honestatem ipsam per se non amatis. Fortitudinis quaedam praecepta sunt ac - paene leges, quae effeminari virum vetant in dolore. Quam ob rem turpe - putandum est, non dico dolere\textendash nam id quidem est interdum - necesse\textendash, sed saxum illud Lemnium clamore Philocteteo funestare, - Quod eiulatu, questu, gemitu, fremitibus Resonando mutum flebiles voces - refert. Huic Epicurus praecentet, si potest, cui (e) viperino morsu venae - viscerum Veneno inbutae taetros cruciatus cient! Sic Epicurus: \textquoteleft - Philocteta, st! Brevis dolor.\textquoteright\space At iam decimum annum in - spelunca iacet. \textquoteleft Si longus, levis; dat enim intervalla et - relaxat.\textquoteright} - %{175} -\NewLipsumPar{Primum non saepe, deinde quae est ista relaxatio, cum et - praeteriti doloris memoria recens est et futuri atque inpendentis torquet - timor? \textquoteleft Moriatur\textquoteright, inquit. Fortasse id optimum, - sed ubi illud: \textquoteleft Plus semper voluptatis\textquoteright? Si enim - ita est, vide ne facinus facias, cum mori suadeas. Potius ergo illa dicantur: - turpe esse, viri non esse debilitari dolore, frangi, succumbere. Nam ista - vestra: \textquoteleft Si gravis, brevis; si longus, - levis\textquoteright\space dictata sunt. Virtutis, magnitudinis animi, - patientiae, fortitudinis fomentis dolor mitigari solet.} - %{176} -\NewLipsumPar{Audi, ne longe abeam, moriens quid dicat Epicurus, ut intellegas - facta eius cum dictis discrepare: \textquoteleft Epicurus Hermarcho salutem. - Cum ageremus\textquoteright, inquit, \textquoteleft vitae beatum et eundem - supremum diem, scribebamus haec. Tanti autem aderant vesicae et torminum - morbi, ut nihil ad eorum magnitudinem posset accedere.\textquoteright\space - Miserum hominem! Si dolor summum malum est, dici aliter non potest. Sed - audiamus ipsum: \textquoteleft Compensabatur\textquoteright, inquit, - \textquoteleft tamen cum his omnibus animi laetitia, quam capiebam memoria - rationum inventorumque nostrorum. Sed tu, ut dignum est tua erga me et - philosophiam voluntate ab adolescentulo suscepta, fac ut Metrodori tueare - liberos.\textquoteright} - %{177} -\NewLipsumPar{Non ego iam Epaminondae, non Leonidae mortem huius morti - antepono, quorum alter cum vicisset Lacedaemonios apud Mantineam atque ipse - gravi vulnere exanimari se videret, ut primum dispexit, quaesivit salvusne - esset clipeus. Cum salvum esse flentes sui respondissent, rogavit essentne - fusi hostes. Cum id quoque, ut cupiebat, audivisset, evelli iussit eam, qua - erat transfixus, hastam. Ita multo sanguine profuso in laetitia et in victoria - est mortuus. Leonidas autem, rex Lacedaemoniorum, se in Thermopylis - trecentosque eos, quos eduxerat Sparta, cum esset proposita aut fuga turpis - aut gloriosa mors, opposuit hostibus. Praeclarae mortes sunt imperatoriae; - philosophi autem in suis lectulis plerumque moriuntur. Refert tamen, quo modo. - (beatus) sibi videtur esse moriens. Magna laus. \textquoteleft - Compensabatur\textquoteright, inquit, \textquoteleft cum summis doloribus - laetitia.\textquoteright} - %{178} -\NewLipsumPar{Audio equidem philosophi vocem, Epicure, sed quid tibi dicendum - sit oblitus es. Primum enim, si vera sunt ea, quorum recordatione te gaudere - dicis, hoc est, si vera sunt tua scripta et inventa, gaudere non potes. Nihil - enim iam habes, quod ad corpus referas; est autem a te semper dictum nec - gaudere quemquam nisi propter corpus nec dolere. \textquoteleft - Praeteritis\textquoteright, inquit, \textquoteleft - gaudeo.\textquoteright\space Quibusnam praeteritis? Si ad corpus - pertinentibus, rationes tuas te video compensare cum istis doloribus, non - memoriam corpore perceptarum voluptatum; sin autem ad animum, falsum est, quod - negas animi ullum esse gaudium, quod non referatur ad corpus. Cur deinde - Metrodori liberos commendas? Quid (in) isto egregio tuo officio et tanta - fide\textendash sic enim existimo\textendash ad corpus refers?} - %{179} -\NewLipsumPar{Huc et illuc, Torquate, vos versetis licet, nihil in hac - praeclara epistula scriptum ab Epicuro congruens et conveniens decretis eius - reperietis. Ita redarguitur ipse a sese, convincunturque scripta eius - probitate ipsius ac moribus. Nam ista commendatio puerorum, memoria et caritas - amicitiae, summorum officiorum in extremo spiritu conservatio indicat innatam - esse homini probitatem gratuitam, non invitatam voluptatibus nec praemiorum - mercedibus evocatam. Quod enim testimonium maius quaerimus, quae honesta et - recta sint, ipsa esse optabilia per sese, cum videamus tanta officia - morientis?} - %{180} -\NewLipsumPar{Sed ut epistulam laudandam arbitror eam, quam modo totidem fere - verbis interpretatus sum, quamquam ea cum summa eius philosophia nullo modo - congruebat, sic eiusdem testamentum non solum (a) philosophi gravitate, sed - etiam ab ipsius sententia iudico discrepare. Scripsit enim et multis saepe - verbis et breviter arteque in eo libro, quem modo nominavi, mortem nihil ad - nos pertinere. Quod enim dissolutum sit, id esse sine sensu, quod autem sine - sensu sit, id nihil ad nos pertinere omnino. Hoc ipsum elegantius poni - meliusque potuit. Nam quod ita positum est, quod dissolutum sit, id esse sine - sensu, id eius modi est, ut non satis plane dicat quid sit dissolutum.} - %{181} -\NewLipsumPar{Sed tamen intellego quid velit. Quaero autem quid sit, quod, cum - dissolutione, id est morte, sensus omnis extinguatur, et cum reliqui nihil sit - omnino, quod pertineat ad nos, tam accurate tamque diligenter caveat et - sanciat ut Amynomachus et Timocrates, heredes sui, de Hermarchi sententia dent - quod satis sit ad diem agendum natalem suum quotannis mense Gamelione itemque - omnibus mensibus vicesimo die lunae dent ad eorum epulas, qui una secum - philosophati sint, ut et sui et Metrodori memoria colatur.} - %{182} -\NewLipsumPar{Haec ego non possum dicere non esse hominis quamvis et belli et - humani, sapientis vero nullo modo, physici praesertim, quem se ille esse vult, - putare ullum esse cuiusquam diem natalem. Quid? Idemne potest esse dies - saepius, qui semel fuit? Certe non potest. An eiusdem modi? Ne id quidem, nisi - multa annorum intercesserint milia, ut omnium siderum eodem, unde profecta - sint, fiat ad unum tempus reversio. Nullus est igitur cuiusquam dies natalis. - \textquoteleft At habetur!\textquoteright\space Et ego id scilicet nesciebam! - Sed ut sit, etiamne post mortem coletur? Idque testamento cavebit is, qui - nobis quasi oraculum ediderit nihil post mortem ad nos pertinere? Haec non - erant eius, qui innumerabilis mundos infinitasque regiones, quarum nulla esset - ora, nulla extremitas, mente peragravisset. Num quid tale Democritus? Ut alios - omittam, hunc appello, quem ille unum secutus est.} - %{183} -\NewLipsumPar{Quodsi dies notandus fuit, eumne potius, quo natus, an eum, quo - sapiens factus est? Non potuit, inquies, fieri sapiens, nisi natus esset. [et] - Isto modo, ne si avia quidem eius nata non esset. Res tota, Torquate, non - doctorum hominum, velle post mortem epulis celebrari memoriam sui nominis. - Quos quidem dies quem ad modum agatis et in quantam hominum facetorum - urbanitatem incurratis, non dico\textendash\space nihil opus est - litibus\textendash; tantum dico, magis fuisse vestrum agere Epicuri diem - natalem, quam illius testamento cavere ut ageretur.} - %{184} -\NewLipsumPar{Sed ut ad propositum\textendash de dolore enim cum diceremus, ad - istam epistulam delati sumus\textendash, nunc totum illud concludi sic licet: - qui in summo malo est, is tum, cum in eo est, non est beatus; sapiens autem - semper beatus est et est aliquando in dolore; non est igitur summum malum - dolor. Iam illud quale tandem est, bona praeterita non effluere sapienti, mala - meminisse non oportere? Primum in nostrane potestate est, quid meminerimus? - Themistocles quidem, cum ei Simonides an quis alius artem memoriae - polliceretur, \textquoteleft Oblivionis\textquoteright, inquit, \textquoteleft - mallem. Nam memini etiam quae nolo, oblivisci non possum quae - volo.\textquoteright} - %{185} -\NewLipsumPar{Magno hic ingenio, sed res se tamen sic habet, ut nimis - imperiosi philosophi sit vetare meminisse. Vide ne ista sint Manliana vestra - aut maiora etiam, si imperes quod facere non possim. Quid, si etiam iucunda - memoria est praeteritorum malorum? Ut proverbia non nulla veriora sint quam - vestra dogmata. Vulgo enim dicitur: \textquoteleft Iucundi acti - labores\textquoteright, nec male Euripides\textendash\space concludam, si - potero, Latine; Graecum enim hunc versum nostis omnes\textendash: - \textquoteleft Suavis laborum est praeteritorum memoria.\textquoteright\space - Sed ad bona praeterita redeamus. Quae si a vobis talia dicerentur, qualibus - Caius Marius uti poterat, ut expulsus, egens, in palude demersus tropaeorum - recordatione levaret dolorem suum, audirem et plane probarem. Nec enim absolvi - beata vita sapientis neque ad exitum perduci poterit, si prima quaeque bene ab - eo consulta atque facta ipsius oblivione obruentur.} - %{186} -\NewLipsumPar{Sed vobis voluptatum perceptarum recordatio vitam beatam facit, - et quidem corpore perceptarum. Nam si quae sunt aliae, falsum est omnis animi - voluptates esse e corporis societate. Corporis autem voluptas si etiam - praeterita delectat, non intellego, cur Aristoteles Sardanapalli epigramma - tantopere derideat, in quo ille rex Syriae glorietur se omnis secum libidinum - voluptates abstulisse. Quod enim ne vivus quidem, inquit, diutius sentire - poterat, quam dum fruebatur, quo modo id potuit mortuo permanere? Effluit - igitur voluptas corporis et prima quaeque avolat saepiusque relinquit causam - paenitendi quam recordandi. Itaque beatior Africanus cum patria illo modo - loquens: \textquoteleft Desine, Roma, tuos hostes\textquoteright\space - reliquaque praeclare: \textquoteleft Nam tibi moenimenta mei peperere - labores.\textquoteright\space Laboribus hic praeteritis gaudet, tu iubes - voluptatibus, et hic se ad ea revocat, e quibus nihil umquam rettulerit ad - corpus, tu totus haeres in corpore.} - %{187} -\NewLipsumPar{Illud autem ipsum qui optineri potest, quod dicitis, omnis animi - et voluptates et dolores ad corporis voluptates ac dolores pertinere? Nihilne - te delectat umquam \textendash video, quicum loquar\textendash, te igitur, - Torquate, ipsum per se nihil delectat? Omitto dignitatem, honestatem, speciem - ipsam virtutum, de quibus ante dictum est, haec leviora ponam: poema, - orationem cum aut scribis aut legis, cum omnium factorum, cum regionum - conquiris historiam, signum, tabula, locus amoenus, ludi, venatio, villa - Luculli\textendash nam si \textquoteleft tuam\textquoteright\space dicerem, - latebram haberes; ad corpus diceres pertinere\textendash, sed ea, quae dixi, - ad corpusne refers? An est aliquid, quod te sua sponte delectet? Aut - pertinacissimus fueris, si in eo perstiteris ad corpus ea, quae dixi, referri, - aut deserueris totam Epicuri voluptatem, si negaveris.} - %{188} -\NewLipsumPar{Quod vero a te disputatum est maiores esse voluptates et dolores - animi quam corporis, quia trium temporum particeps animus sit, corpore autem - praesentia solum sentiantur, qui id probari potest, ut is, qui propter me - aliquid gaudeat, plus quam ego ipse gaudeat? [animo voluptas oritur propter - voluptatem corporis, et maior est animi voluptas quam corporis. Ita fit, ut - gratulator laetior sit quam is, cui gratulatur.] Sed dum efficere vultis - beatum sapientem, cum maximas animo voluptates percipiat omnibusque partibus - maiores quam corpore, quid occurrat non videtis. Animi enim quoque dolores - percipiet omnibus partibus maiores quam corporis. Ita miser sit aliquando - necesse est is, quem vos beatum semper vultis esse, nec vero id, dum omnia ad - voluptatem doloremque referetis, efficietis umquam.} - %{189} -\NewLipsumPar{Quare aliud aliquod, Torquate, hominis summum bonum reperiendum - est, voluptatem bestiis concedamus, quibus vos de summo bono testibus uti - soletis. Quid, si etiam bestiae multa faciunt duce sua quaeque natura partim - indulgenter vel cum labore, ut in gignendo, in educando, perfacile appareat - aliud quiddam iis propositum, non voluptatem? Partim cursu et peragratione - laetantur, congregatione aliae coetum quodam modo civitatis imitantur;} - %{190} -\NewLipsumPar{Videmus in quodam volucrium genere non nulla indicia pietatis, - cognitionem, memoriam, in multis etiam desideria videmus. Ergo in bestiis - erunt secreta e voluptate humanarum quaedam simulacra virtutum, in ipsis - hominibus virtus nisi voluptatis causa nulla erit? Et homini, qui ceteris - animantibus plurimum praestat, praecipue a natura nihil datum esse dicemus?} - %{191} -\NewLipsumPar{Nos vero, siquidem in voluptate sunt omnia, longe multumque - superamur a bestiis, quibus ipsa terra fundit ex sese pastus varios atque - abundantes nihil laborantibus, nobis autem aut vix aut ne vix quidem suppetunt - multo labore quaerentibus. Nec tamen ullo modo summum pecudis bonum et hominis - idem mihi videri potest. Quid enim tanto opus est instrumento in optimis - artibus comparandis? Quid tanto concursu honestissimorum studiorum, tanto - virtutum comitatu, si ea nullam ad aliam rem nisi ad voluptatem conquiruntur?} - %{192} -\NewLipsumPar{Ut, si Xerxes, cum tantis classibus tantisque equestribus et - pedestribus copiis Hellesponto iuncto Athone perfosso mari ambulavisset terra - navigavisset, si, cum tanto impetu in Graeciam venisset, causam quis ex eo - quaereret tantarum copiarum tantique belli, mel se auferre ex Hymetto voluisse - diceret, certe sine causa videretur tanta conatus, sic nos sapientem plurimis - et gravissimis artibus atque virtutibus instructum et ornatum non, ut illum, - maria pedibus peragrantem, classibus montes, sed omne caelum totamque cum - universo mari terram mente complexum voluptatem petere si dicemus, mellis - causa dicemus tanta molitum.} - %{193} -\NewLipsumPar{Ad altiora quaedam et magnificentiora, mihi crede, Torquate, - nati sumus, nec id ex animi solum partibus, in quibus inest memoria rerum - innumerabilium, in te quidem infinita, inest coniectura consequentium non - multum a divinatione differens, inest moderator cupiditatis pudor, inest ad - humanam societatem iustitiae fida custodia, inest in perpetiendis laboribus - adeundisque periculis firma et stabilis doloris mortisque - contemptio\textendash ergo haec in animis, tu autem etiam membra ipsa - sensusque considera, qui tibi, ut reliquae corporis partes, non comites solum - virtutum, sed ministri etiam videbuntur.} - %{194} -\NewLipsumPar{Quid? Si in ipso corpore multa voluptati praeponenda sunt, ut - vires, valitudo, velocitas, pulchritudo, quid tandem in animis censes? In - quibus doctissimi illi veteres inesse quiddam caeleste et divinum putaverunt. - Quodsi esset in voluptate summum bonum, ut dicitis, optabile esset maxima in - voluptate nullo intervallo interiecto dies noctesque versari, cum omnes sensus - dulcedine omni quasi perfusi moverentur. Quis est autem dignus nomine hominis, - qui unum diem totum velit esse in genere isto voluptatis? Cyrenaici quidem non - recusant; vestri haec verecundius, illi fortasse constantius.} - %{195} -\NewLipsumPar{Sed lustremus animo non has maximas artis, quibus qui carebant - inertes a maioribus nominabantur, sed quaero num existimes, non dico Homerum, - Archilochum, Pindarum, sed Phidian, Polyclitum, Zeuxim ad voluptatem artes - suas direxisse. Ergo opifex plus sibi proponet ad formarum quam civis - excellens ad factorum pulchritudinem? Quae autem est alia causa erroris tanti - tam longe lateque diffusi, nisi quod is, qui voluptatem summum bonum esse - decernit, non cum ea parte animi, qua inest ratio atque consilium, sed cum - cupiditate, id est cum animi levissima parte, deliberat? Quaero enim de te, si - sunt di, ut vos etiam putatis, qui possint esse beati, cum voluptates corpore - percipere non possint, aut, si sine eo genere voluptatis beati sint, cur - similem animi usum in sapiente esse nolitis.} - %{196} -\NewLipsumPar{Lege laudationes, Torquate, non eorum, qui sunt ab Homero - laudati, non Cyri, non Agesilai, non Aristidi aut Themistocli, non Philippi - aut Alexandri, lege nostrorum hominum, lege vestrae familiae; neminem videbis - ita laudatum, ut artifex callidus comparandarum voluptatum diceretur. Non - elogia monimentorum id significant, velut hoc ad portam: \textquoteleft Hunc - unum plurimae consentiunt gentes populi primarium fuisse - virum.\textquoteright} - %{197} -\NewLipsumPar{Idne consensisse de Calatino plurimas gentis arbitramur, - primarium populi fuisse, quod praestantissimus fuisset in conficiendis - voluptatibus? Ergo in iis adolescentibus bonam spem esse dicemus et magnam - indolem, quos suis commodis inservituros et quicquid ipsis expediat facturos - arbitrabimur? Nonne videmus quanta perturbatio rerum omnium consequatur, - quanta confusio? Tollitur beneficium, tollitur gratia, quae sunt vincla - concordiae. Nec enim, cum tua causa cui commodes, beneficium illud habendum - est, sed faeneratio, nec gratia deberi videtur ei, qui sua causa commodaverit. - Maximas vero virtutes iacere omnis necesse est voluptate dominante. Sunt etiam - turpitudines plurimae, quae, nisi honestas natura plurimum valeat, cur non - cadant in sapientem non est facile defendere.} - %{198} -\NewLipsumPar{Ac ne plura complectar\textendash sunt enim - innumerabilia\textendash, bene laudata virtus voluptatis aditus intercludat - necesse est. Quod iam a me expectare noli. Tute introspice in mentem tuam ipse - eamque omni cogitatione pertractans percontare ipse te perpetuisne malis - voluptatibus perfruens in ea, quam saepe usurpabas, tranquillitate degere - omnem aetatem sine dolore, adsumpto etiam illo, quod vos quidem adiungere - soletis, sed fieri non potest, sine doloris metu, an, cum de omnibus gentibus - optime mererere, cum opem indigentibus salutemque ferres, vel Herculis perpeti - aerumnas. Sic enim maiores nostri labores non fugiendos tristissimo tamen - verbo aerumnas etiam in deo nominaverunt.} - %{199} -\NewLipsumPar{Elicerem ex te cogeremque, ut responderes, nisi vererer ne - Herculem ipsum ea, quae pro salute gentium summo labore gessisset, voluptatis - causa gessisse diceres. Quae cum dixissem, Habeo, inquit Torquatus, ad quos - ista referam, et, quamquam aliquid ipse poteram, tamen invenire malo - paratiores. Familiares nostros, credo, Sironem dicis et Philodemum, cum - optimos viros, tum homines doctissimos. Recte, inquit, intellegis. Age sane, - inquam. Sed erat aequius Triarium aliquid de dissensione nostra iudicare. - Eiuro, inquit adridens, iniquum, hac quidem de re; tu enim ista lenius, hic - Stoicorum more nos vexat. Tum Triarius: Posthac quidem, inquit, audacius. Nam - haec ipsa mihi erunt in promptu, quae modo audivi, nec ante aggrediar, quam te - ab istis, quos dicis, instructum videro. Quae cum essent dicta, finem fecimus - et ambulandi et disputandi.} - %{200} -\NewLipsumPar{Voluptatem quidem, Brute, si ipsa pro se loquatur nec tam - pertinaces habeat patronos, concessuram arbitror convictam superiore libro - dignitati. Etenim sit inpudens, si virtuti diutius repugnet, aut si honestis - iucunda anteponat aut pluris esse contendat dulcedinem corporis ex eave natam - laetitiam quam gravitatem animi atque constantiam. Quare illam quidem - dimittamus et suis se finibus tenere iubeamus, ne blanditiis eius - inlecebrisque impediatur disputandi severitas.} +\cs_set_protected:Npn \@@_tmp:w #1 #2 #3 + { + \keys_define:nn { lipsum } + { + #1-before #2 .tl_set:c = l_@@_#1_start _#3star_tl , + #1-begin #2 .tl_set:c = l_@@_#1_itemstart _#3star_tl , + #1-sep #2 .tl_set:c = l_@@_#1_itemseparator _#3star_tl , + #1-end #2 .tl_set:c = l_@@_#1_itemend _#3star_tl , + #1-after #2 .tl_set:c = l_@@_#1_end _#3star_tl , + } + } +\@@_tmp:w { par } { } { no } \@@_tmp:w { sentence } { } { no } +\@@_tmp:w { par } * { } \@@_tmp:w { sentence } * { } % \end{macrocode} +% \end{macro} +% +% Now turn \cs{ExplSyntaxOff} for a while, and load the default \lips{} +% text, then process the package options, and finally turn +% \cs{ExplSyntaxOn} again. Finally, call \cs{@@_restore_par_list:} and +% \cs{@@_restore_sentence_list:} to set the defaults +% (\cs{@@_restore_par_list:} may have been redefined by \opt{nopar}). % \begin{macrocode} -%</cicero> +\ExplSyntaxOff +\setlipsum{text=lipsum} +\ProcessKeysOptions{lipsum} +\ExplSyntaxOn +\@@_restore_par_list: +\@@_restore_sentence_list: % \end{macrocode} -% \newpage +% +% \subsection{Messages} +% +% Now define the messages used throughout the package. +% \begin{macrocode} +\msg_new:nnn { lipsum } { invalid-range } + { Invalid~number~or~range~'#1'. } +\msg_new:nnn { lipsum } { language-undefined } + { Language~'\g_@@_language_tl'~undefined. } +\msg_new:nnn { lipsum } { cmd-deprecated } + { + Command~'\iow_char:N\\#1'~deprecated. \\ + See~the~lipsum~documentation~for~help. + } +% \end{macrocode} +% +% \begin{macrocode} +%</package> +% \end{macrocode} +% % \end{implementation} % % \endinput diff --git a/macros/latex/contrib/lipsum/lipsum.ins b/macros/latex/contrib/lipsum/lipsum.ins index a2c3bc6519..4a289f65f3 100644 --- a/macros/latex/contrib/lipsum/lipsum.ins +++ b/macros/latex/contrib/lipsum/lipsum.ins @@ -19,7 +19,7 @@ This file is part of the package lipsum for use with LaTeX2e. -Function: Access to 150 paragraphs of the well known Lorem Ipsum dummy text. +Function: Access to 150 paragraphs of dummy text. This program may be distributed and/or modified under the conditions of the LaTeX Project Public License, either version 1.3 @@ -37,8 +37,64 @@ Please send error reports and suggestions for improvements to \endpostamble \generate{\file{lipsum.sty}{\from{lipsum.dtx}{package}}} -\generate{\file{lipsum.ltd.tex}{\from{lipsum.dtx}{lipsum}}} -\generate{\file{cicero.ltd.tex}{\from{lipsum.dtx}{cicero}}} + +\newread\lipsread +\newread\lipswrite +\newcount\parno +\newif\ifinpar +\def\empty{}% +\def\line{}% +\edef\lb{\string{}% +\edef\rb{\string}}% +\begingroup\lccode`\?=`\% +\lowercase{\endgroup\def\pc{?}}% +\def\wline{\immediate\write\lipswrite}% +\def\genlipsum#1#2#3{% + \begingroup + \def\inFileName{lipsum-#1.txt}% + \def\outFileName{#2.ltd.tex}% + \openin\lipsread\inFileName\space + \immediate\openout\lipswrite\outFileName\space + \inparfalse + \parno=0 + \endlinechar=-1 + \def~{ }% + \def\ReferenceLines{% + \MetaPrefix ^^J% + \MetaPrefix~The original source files were:^^J% + \MetaPrefix ^^J% + \MetaPrefix~\inFileName^^J}% + \immediate\write\lipswrite{\defaultpreamble}% + \immediate\write\lipswrite{\string\SetLipsumLanguage{#3}}% + \genlipsumaux\genlipsumaux + \closein\lipsread + \immediate\closeout\lipswrite + \endgroup} +\def\genlipsumaux#1\genlipsumaux{% + \ifeof\lipsread\let\line\empty + \else \read\lipsread to \line \fi + \toks0{#1}% + \ifx\line\empty + \ifinpar + \wline{\the\toks0 \rb\pc^^J\pc}% + \inparfalse + \fi + \else + \ifinpar + \wline{\the\toks0 }% + \else + \inpartrue + \advance\parno by 1 + \wline{\string\NewLipsumPar\lb\pc~{\the\parno}}% + \fi + \fi + \ifeof\lipsread\expandafter\genlipsumend\fi + \expandafter\genlipsumaux\line\genlipsumaux} +\def\genlipsumend#1\genlipsumaux#2\genlipsumaux{} + +\genlipsum{la}{lipsum}{latin} +\genlipsum{cs}{lipsum-cs}{czech} +\genlipsum{cicero}{cicero}{latin} \obeyspaces \Msg{****************************************************} @@ -49,10 +105,11 @@ Please send error reports and suggestions for improvements to \Msg{* *} \Msg{* lipsum.sty *} \Msg{* lipsum.ltd.tex *} +\Msg{* lipsum-cs.ltd.tex *} \Msg{* cicero.ltd.tex *} \Msg{* *} \Msg{* To produce the documentation run the file *} -\Msg{* lipsum.dtx through XeLaTeX or luaLaTeX. *} +\Msg{* lipsum.dtx through XeLaTeX or LuaLaTeX. *} \Msg{* *} \Msg{* Happy TeXing! *} \Msg{* *} diff --git a/macros/latex/contrib/lipsum/lipsum.pdf b/macros/latex/contrib/lipsum/lipsum.pdf Binary files differindex df4fe78450..4186c1880f 100644 --- a/macros/latex/contrib/lipsum/lipsum.pdf +++ b/macros/latex/contrib/lipsum/lipsum.pdf diff --git a/macros/latex/contrib/pdfmanagement-testphase/CHANGELOG.md b/macros/latex/contrib/pdfmanagement-testphase/CHANGELOG.md index 40fcc015b3..d22bc201ff 100644 --- a/macros/latex/contrib/pdfmanagement-testphase/CHANGELOG.md +++ b/macros/latex/contrib/pdfmanagement-testphase/CHANGELOG.md @@ -4,6 +4,22 @@ first release 0.95a, 2021-02-23 will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), this project uses date-based 'snapshot' version identifiers. +## [2021-07-21] +### Added + - key `testphase` to \DeclareDocumentMetadata to load testphase packages like + tagpdf, ptagging and headings + - key `activate` to \DeclareDocumentMetadata to activate e.g. tagging. + - key `debug` with para=show, log=XX or uncompress as values. + - l3pdfxform: support for dvips + +### Changed + - a LaTeX format/L3 layer that loads l3color is now required + +### Fixed + - argument order in \hrefrun was wrong. filename should be the first argument. + - xcolor firstaid: svgnames could no longer be loaded due to changes in l3color. + + ## [2021-06-29] ### Fixed diff --git a/macros/latex/contrib/pdfmanagement-testphase/README.md b/macros/latex/contrib/pdfmanagement-testphase/README.md index f4676aefcd..e521f810db 100644 --- a/macros/latex/contrib/pdfmanagement-testphase/README.md +++ b/macros/latex/contrib/pdfmanagement-testphase/README.md @@ -1,6 +1,6 @@ # LaTeX PDF management testphase bundle -Version: 0.95f, 2021-06-29 +Version: 0.95g, 2021-07-21 This package is used during a test phase to load the new PDF management code of LaTeX. diff --git a/macros/latex/contrib/pdfmanagement-testphase/color-ltx.sty b/macros/latex/contrib/pdfmanagement-testphase/color-ltx.sty index 47052c99b1..b7765e97ed 100644 --- a/macros/latex/contrib/pdfmanagement-testphase/color-ltx.sty +++ b/macros/latex/contrib/pdfmanagement-testphase/color-ltx.sty @@ -22,7 +22,7 @@ %% This file has the LPPL maintenance status "maintained". %% \NeedsTeXFormat{LaTeX2e}[1995/12/01] -\ProvidesPackage{color-ltx}[2021-06-29 v0.95f +\ProvidesPackage{color-ltx}[2021-07-21 v0.95g Standard LaTeX Color (patched for l3color, part of pdfmanagement-testphase, original version 2021/03/07 v1.2e) (DPC)] \edef\Gin@codes{% \catcode`\noexpand\^^A\the\catcode`\^^A\relax diff --git a/macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.dtx b/macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.dtx index 906dd58152..e3d84d6ec6 100644 --- a/macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.dtx +++ b/macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.dtx @@ -86,7 +86,7 @@ % }^^A % } % -% \date{Version 0.95f, released 2021-06-29} +% \date{Version 0.95g, released 2021-07-21} % % \maketitle % \begin{documentation} @@ -133,14 +133,13 @@ % it is recommended for most options ---with the exception of a few mentioned below in % section~\ref{sec:pkg-options}---to set them in \cs{hypersetup}, % not as package option. -% \item This driver uses \pkg{l3color} for the colors. All colors +% \item This driver uses the \pkg{l3color} module for the colors. All colors % defined with \cs{color_set:nn} or \cs{color_set:nnn} will work. % Colors defined with \pkg{xcolor} will work if they don't use one of % the special color models not supported by \pkg{l3color} as % \pkg{pdfmanagement-firstaid} contains a patch for xcolor. % If the package \pkg{color} is used it is currently recommended to define -% colors after \pkg{hyperref}. This driver uses \pkg{l3color} for the colors, -% some special color models of \pkg{xcolor} won't work. +% colors after \pkg{hyperref}. % \item Load a color package or graphicx to get the right page sizes. % \item Report problems! Only known problem can be resolved. % \end{itemize} @@ -859,11 +858,11 @@ %^^A %% drivers are loaded in line 4745 in hyperref.sty in a \Hy@AtEndOfPackage command. %^^A %%%%%%%%%%%%%%%%%%%%%%%%%%%% %^^A %% list of new internal commands -%^^A %% __hyp_link_goto_begin:nw : start command for links to internal destination +%^^A %% @@_link_goto_begin:nw : start command for links to internal destination %^^A %% replaces \find@pdflink -%^^A %% __hyp_link_goto_end: -%^^A %% __hyp_destination:n : sets an anchor, replaces \new@pdflink -%^^A %% \__hyp_PageLabels_gpush: : puts pagelabels in the catalog, used on every storing +%^^A %% @@_link_goto_end: +%^^A %% @@_destination:n : sets an anchor, replaces \new@pdflink +%^^A %% \@@_PageLabels_gpush: : puts pagelabels in the catalog, used on every storing %^^A %% PDF String (text) %^^A %% *\@@_text_pdfstring:nnN : replaces Hy@pstringdef, converts #1 to pdfstring in encoding #2 %^^A %% and stores in N @@ -882,10 +881,10 @@ %^^A %% % helps to display key list messages %^^A %% \@@_clist_display:n %^^A %% -%^^A %% \__hyp_info_generate_addons: what did this do?? +%^^A %% \@@_info_generate_addons: what did this do?? %^^A %% -%^^A %% \g__hyp_AcroForm_CoFields_prop -%^^A %% \g__hyp_AcroForm_Fields_prop +%^^A %% \g_@@_AcroForm_CoFields_prop +%^^A %% \g_@@_AcroForm_Fields_prop %^^A %% %^^A %% \g_@@_dest_pdfstartpage_tl , %^^A %% \g_@@_dest_pdfstartview_tl , @@ -922,7 +921,7 @@ %<@@=hyp> % \end{macrocode} % \begin{macrocode} -\ProvidesFile{hgeneric-testphase.def}[2021-06-29 v0.95f % +\ProvidesFile{hgeneric-testphase.def}[2021-07-21 v0.95g % generic Hyperref driver for the LaTeX PDF management testphase bundle] \RequirePackage{etoolbox} %why? @@ -1244,10 +1243,10 @@ \let\protect\@unexpandable@protect \bool_if:NTF \l_@@_href_url_encode_bool { - \tl_set:Nn \l__hyp_text_enc_uri_print_tl {utf8/URI} + \tl_set:Nn \l_@@_text_enc_uri_print_tl {utf8/URI} } { - \tl_set:Nn \l__hyp_text_enc_uri_print_tl {utf8/string} + \tl_set:Nn \l_@@_text_enc_uri_print_tl {utf8/string} } \@ifnextchar\bgroup\Hy@href{\hyper@normalise\href@}% } @@ -1274,10 +1273,10 @@ \let\protect\@unexpandable@protect \bool_if:NTF \l_@@_href_url_encode_bool { - \tl_set:Nn \l__hyp_text_enc_uri_print_tl {utf8/URI} + \tl_set:Nn \l_@@_text_enc_uri_print_tl {utf8/URI} } { - \tl_set:Nn \l__hyp_text_enc_uri_print_tl {utf8/string} + \tl_set:Nn \l_@@_text_enc_uri_print_tl {utf8/string} } \hyper@normalise\@@_href_url_aux:nn} @@ -1319,7 +1318,7 @@ \cs_new_protected:Npn \@@_href_run_aux:nn #1 #2 { - \exp_args:Nnno\hyper@linklaunch{#2}{#1}{\l_@@_href_run_parameter_tl} + \exp_args:Nnno\hyper@linklaunch{#1}{#2}{\l_@@_href_run_parameter_tl} \group_end: \hook_use:n{cmd/hrefrun/after} } @@ -1336,10 +1335,10 @@ \let\protect \@unexpandable@protect \bool_if:NTF \l_@@_href_url_encode_bool { - \tl_set:Nn \l__hyp_text_enc_uri_print_tl {utf8/URI} + \tl_set:Nn \l_@@_text_enc_uri_print_tl {utf8/URI} } { - \tl_set:Nn \l__hyp_text_enc_uri_print_tl {utf8/string} + \tl_set:Nn \l_@@_text_enc_uri_print_tl {utf8/string} } \hyper@normalise\@@_href_url_aux:n } @@ -1959,17 +1958,27 @@ % xetex version. It is not quite clear if really all three % are needed for the backends supported by this driver, but changing the hyperref % code would be difficult. +% We add a hook. This allows e.g. the tagging code +% to create also a structured destination. +% We don't use the cmd hook, as we want the same hook for both start commands. +% We make the current dest name available so that the hook code can use it. % \begin{macro} % { % \hyper@anchor, % \hyper@anchorstart, -% \hyper@anchorend +% \hyper@anchorend, +% hyp/anchor, +% \l_hyp_current_dest_name_tl % } % \begin{macrocode} +\tl_new:N\l_hyp_current_dest_name_tl +\hook_new:n{hyp/anchor} \cs_new_protected:Npn \hyper@anchor #1 { \exp_args:NnV \@@_destination:nn {#1} \l_@@_dest_pdfview_tl + \tl_set:Nn \l_hyp_current_dest_name_tl {#1} + \hook_use:n{hyp/anchor} } \cs_new_protected:Npn \hyper@anchorstart #1 @@ -1977,6 +1986,8 @@ \Hy@activeanchortrue \exp_args:NnV \@@_destination:nn {#1} \l_@@_dest_pdfview_tl + \tl_set:Nn \l_hyp_current_dest_name_tl {#1} + \hook_use:n{hyp/anchor} } \cs_new_protected:Npn \hyper@anchorend @@ -2059,7 +2070,9 @@ % \end{function} % \pkg{hyperref} adds a group with \cs{Hy@colorlink}, we move this outside the link -% so that it groups the context hook too. +% so that it groups the context hook too. We store again the destination name in the +% public tl |\l_hyp_current_dest_name_tl| so that the hook code can make use of +% it % \begin{macrocode} \cs_new_protected:Npn \hyper@link #1 #2 #3 %#1 context, #2=destination name, #3 content @@ -2068,9 +2081,10 @@ { \Hy@VerboseLinkStart{#1}{#2} \group_begin: + \tl_set:Nn \l_hyp_current_dest_name_tl {#2} \hook_use:n {hyp/link/#1} \@@_link_goto_begin:nw {#2}#3\Hy@xspace@end - \__hyp_link_goto_end: + \@@_link_goto_end: \group_end: \Hy@VerboseLinkStop } @@ -2083,6 +2097,7 @@ { \Hy@VerboseLinkStart{#1}{#2}% only for debug \group_begin: + \tl_set:Nn \l_hyp_current_dest_name_tl {#2} \hook_use:n {hyp/link/#1} \@@_link_goto_begin:nw {#2} } @@ -2186,6 +2201,11 @@ \pdfdict_put:nno {l_hyp/annot/A/GoToR}{D}{\l_@@_dest_name_tmpa_tl} } \mode_leave_vertical: +% \end{macrocode} +% We use an extra object here, as ghostscript doesn't like the +% object reference in the dict +% \url{https://chat.stackexchange.com/transcript/message/57361080#57361080} +% \begin{macrocode} \pdf_object_unnamed_write:nx{dict}{\pdfdict_use:n {l_hyp/annot/A/GoToR}} \pdfannot_dict_put:nnx {link/GoToR}{A}{\pdf_object_ref_last:} \pdfannot_link:nxn %expansion?? @@ -4131,14 +4151,14 @@ % clearly faster than removing them from a sequence \def\HyField@AuxAddToFields#1 { - \prop_gput:Nnn \g__hyp_AcroForm_Fields_prop {#1}{F} + \prop_gput:Nnn \g_@@_AcroForm_Fields_prop {#1}{F} }% %fields with empty key get a value too -- lets hope that %this give the expected behaviour \def\HyField@AuxAddToCoFields #1 #2 { - \prop_gput:Nnn \g__hyp_AcroForm_CoFields_prop {a#1}{#2} + \prop_gput:Nnn \g_@@_AcroForm_CoFields_prop {a#1}{#2} } \Hy@AtBeginDocument @@ -4196,9 +4216,9 @@ \ExplSyntaxOff \ExplSyntaxOn \tl_new:N \l_@@_CheckmarkYes_tl -\tl_set:Nn \l_@@_CheckmarkYes_tl { __hyp_xform_CheckMarkYes } +\tl_set:Nn \l_@@_CheckmarkYes_tl { @@_xform_CheckMarkYes } \tl_new:N \l_@@_CheckmarkOff_tl -\tl_set:Nn \l_@@_CheckmarkOff_tl { __hyp_xform_CheckMarkOff } +\tl_set:Nn \l_@@_CheckmarkOff_tl { @@_xform_CheckMarkOff } \def\@Form[#1] { @@ -4207,14 +4227,14 @@ \pdf@ifdraftmode{} { \Hy@FormObjects - \prop_map_inline:Nn \g__hyp_AcroForm_Fields_prop + \prop_map_inline:Nn \g_@@_AcroForm_Fields_prop { \pdfmanagement_add:nnx { Catalog / AcroForm } { Fields }{##1} %\pdfmanagement_show:n { Catalog / AcroForm } } - \prop_if_empty:NF \g__hyp_AcroForm_CoFields_prop + \prop_if_empty:NF \g_@@_AcroForm_CoFields_prop { - \prop_map_inline:Nn \g__hyp_AcroForm_CoFields_prop + \prop_map_inline:Nn \g_@@_AcroForm_CoFields_prop { \seq_put_right:Nn \l_@@_tmpa_seq {##1} } @@ -4230,7 +4250,7 @@ \pdfmanagement_add:nnx { Catalog / AcroForm } { CO } { - \prop_item:Nn \g__hyp_AcroForm_CoFields_prop {##1} + \prop_item:Nn \g_@@_AcroForm_CoFields_prop {##1} } } } @@ -4262,7 +4282,7 @@ \char123 \group_end: } - {__hyp_xform_Ding} + {@@_xform_Ding} \MakeFieldObject { \group_begin: @@ -4274,7 +4294,7 @@ \phantom{\char123} \group_end: } - {__hyp_xform_DingOff} + {@@_xform_DingOff} \MakeFieldObject { \group_begin: @@ -4286,7 +4306,7 @@ \char51 \group_end: } - {__hyp_xform_CheckMarkYes} + {@@_xform_CheckMarkYes} \MakeFieldObject { \group_begin: @@ -4298,17 +4318,17 @@ \phantom{\char51} %perhaps xetex needs some small glyph .. \group_end: } - {__hyp_xform_CheckMarkOff} + {@@_xform_CheckMarkOff} \MakeFieldObject { \fbox{\textcolor{yellow}{\textsf{Submit}}} %color? } - {__hyp_xform_Submit} + {@@_xform_Submit} \MakeFieldObject { \fbox{\textcolor{yellow}{\textsf{SubmitP}}} %color? } - {__hyp_xform_SubmitP} + {@@_xform_SubmitP} } \ExplSyntaxOff \let\@endForm\ltx@empty @@ -4324,16 +4344,16 @@ %\zref@labelbyprops{HyAnn@\the\HyAnn@Count}{abspage}% %\zref@labelbylist {HyAnn@\the\HyAnn@Count} {l3pdf} %\zref@refused{HyAnn@\the\HyAnn@Count}% - \__hyp_ref_label:en {HyAnn@\the\HyAnn@Count}{abspage} - \__hyp_ref_check:en {HyAnn@\the\HyAnn@Count}{abspage} + \@@_ref_label:en {HyAnn@\the\HyAnn@Count}{abspage} + \@@_ref_check:en {HyAnn@\the\HyAnn@Count}{abspage} }% \def\Fld@pageobjref { - \__hyp_ref_if_exist:enT {HyAnn@\the\HyAnn@Count}{abspage} + \@@_ref_if_exist:enT {HyAnn@\the\HyAnn@Count}{abspage} { /P~\pdf_pageobject_ref:n { - \__hyp_ref_value:en{HyAnn@\the\HyAnn@Count}{abspage} + \@@_ref_value:en{HyAnn@\the\HyAnn@Count}{abspage} } } } @@ -4449,7 +4469,7 @@ \endgroup } \tl_new:N \l_@@_RadioYes_tl -\tl_set:Nn \l_@@_RadioYes_tl { __hyp_xform_Ding } +\tl_set:Nn \l_@@_RadioYes_tl { @@_xform_Ding } \def\@@Radio#1{% \Fld@listcount=0~% %\show\Fld@default @@ -4474,8 +4494,8 @@ << /N << - /\@currValue\c_space_tl \pdfxform_ref:o {__hyp_xform_Ding} - %/Off \c_space_tl \pdfxform_ref:n {__hyp_xform_DingOff} %hm + /\@currValue\c_space_tl \pdfxform_ref:o {@@_xform_Ding} + %/Off \c_space_tl \pdfxform_ref:n {@@_xform_DingOff} %hm >> >> } @@ -4569,8 +4589,8 @@ { \PDFForm@Submit /AP<< - /N~\pdfxform_ref:n {__hyp_xform_Submit}~ - /D~\pdfxform_ref:n {__hyp_xform_SubmitP} + /N~\pdfxform_ref:n {@@_xform_Submit}~ + /D~\pdfxform_ref:n {@@_xform_SubmitP} >> } \HyField@AddToFields diff --git a/macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.pdf b/macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.pdf Binary files differindex 7c6e6bbc3b..de4dd81f09 100644 --- a/macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.pdf +++ b/macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.pdf diff --git a/macros/latex/contrib/pdfmanagement-testphase/hyperxmp-patches-tmp-ltx.sty b/macros/latex/contrib/pdfmanagement-testphase/hyperxmp-patches-tmp-ltx.sty index a1d15ac92d..96e9d086a6 100644 --- a/macros/latex/contrib/pdfmanagement-testphase/hyperxmp-patches-tmp-ltx.sty +++ b/macros/latex/contrib/pdfmanagement-testphase/hyperxmp-patches-tmp-ltx.sty @@ -19,7 +19,7 @@ % % for those people who are interested. \NeedsTeXFormat{LaTeX2e}[2020/10/01] -\ProvidesExplPackage{hyperxmp-patches-tmp-ltx}{2021-06-29}{0.95f} +\ProvidesExplPackage{hyperxmp-patches-tmp-ltx}{2021-07-21}{0.95g} {Store hyperref metadata in XMP format / temporay patches to test pdfresource management ... UF} \cs_if_exist:NT \pdfmanagement_add:nnn diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.dtx index b877ce86fc..7b4aad8fe6 100644 --- a/macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.dtx +++ b/macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.dtx @@ -45,7 +45,7 @@ % }^^A % } % -% \date{Version 0.95f, released 2021-06-29} +% \date{Version 0.95g, released 2021-07-21} % % \maketitle % @@ -56,27 +56,27 @@ % \begin{macrocode} %<drivers>\ProvidesExplFile %<*dvipdfmx> - {l3backend-testphase-dvipdfmx.def}{2021-06-29}{} + {l3backend-testphase-dvipdfmx.def}{2021-07-21}{} {LaTeX~PDF~management~testphase~bundle~backend~support: dvipdfmx} %</dvipdfmx> %<*dvips> - {l3backend-testphase-dvips.def}{2021-06-29}{} + {l3backend-testphase-dvips.def}{2021-07-21}{} {LaTeX~PDF~management~testphase~bundle~backend~support: dvips} %</dvips> %<*dvisvgm> - {l3backend-testphase-dvisvgm.def}{2021-06-29}{} + {l3backend-testphase-dvisvgm.def}{2021-07-21}{} {LaTeX~PDF~management~testphase~bundle~backend~support: dvisvgm} %</dvisvgm> %<*luatex> - {l3backend-testphase-luatex.def}{2021-06-29}{} + {l3backend-testphase-luatex.def}{2021-07-21}{} {LaTeX~PDF~management~testphase~bundle~backend~support: PDF output (LuaTeX)} %</luatex> %<*pdftex> - {l3backend-testphase-pdftex.def}{2021-06-29}{} + {l3backend-testphase-pdftex.def}{2021-07-21}{} {LaTeX~PDF~management~testphase~bundle~backend~support: PDF output (pdfTeX)} %</pdftex> %<*xdvipdfmx> - {l3backend-testphase-xetex.def}{2021-06-29}{} + {l3backend-testphase-xetex.def}{2021-07-21}{} {LaTeX~PDF~management~testphase~bundle~backend~support: XeTeX} %</xdvipdfmx> % \end{macrocode} @@ -106,11 +106,10 @@ \cs_generate_variant:Nn \@@_backend_ref_value:nn {en} %</drivers> % \end{macrocode} +% avoid that destinations names are optimized with xelatex/dvipdfmx +% see https://tug.org/pipermail/dvipdfmx/2019-May/000002.html % \begin{macrocode} %<*dvipdfmx|xdvipdfmx> -% avoid that destinations names are optimized. -% is this still needed?? -% see https://tug.org/pipermail/dvipdfmx/2019-May/000002.html \__kernel_backend_literal:x { dvipdfmx:config~C~ 0x0010 } %</dvipdfmx|xdvipdfmx> % \end{macrocode} @@ -121,6 +120,7 @@ \prop_new:N \g_@@_tmpa_prop \tl_new:N \l_@@_tmpa_tl \box_new:N \l_@@_backend_tmpa_box +\box_new:N \l_@@_backend_tmpb_box %</drivers> % \end{macrocode} % \end{variable} @@ -201,20 +201,12 @@ { \g__kernel_pdfmanagement_thispage_shipout_code_tl } - \tl_gput_left:Nn\@kernel@after@shipout@lastpage - { - \g__kernel_pdfmanagement_lastpage_shipout_code_tl - } } { \hook_gput_code:nnn{shipout/background}{pdf} { \g__kernel_pdfmanagement_thispage_shipout_code_tl } - \hook_gput_code:nnn {shipout/lastpage} {pdf} - { - \g__kernel_pdfmanagement_lastpage_shipout_code_tl - } } %</drivers> @@ -561,21 +553,10 @@ % \subsection{\enquote{Page/Resources}: ExtGState, ColorSpace, Shading, Pattern} % Path: Page/Resources/ExtGState etc. The actual output of the resources is handled % together with the bdc/Properties. Here is only special code. -% \begin{macro}{\@@_backend_PageResources_gput:nnn} -% stores values for the page resources. -% \begin{arguments} -% \item name of the resource (ExtGState, ColorSpace, Shading, Pattern) -% \item a pdf name without slash -% \item value -% \end{arguments} -% \begin{macro}{\@@_backend_PageResources_obj_gpush:} -% This pushes out the objects. It is a no-op with xdvipdfmx and dvips. -% \begin{macrocode} -% backend commands the command to fill the register -% and to push the values. -% +% \begin{macro}{\c_@@_backend_PageResources_clist} % The names are quite often needed % a similar list is now in l3pdfmanagement. Perhaps it should be merged. +% \begin{macrocode} %<*drivers> \clist_const:Nn \c_@@_backend_PageResources_clist { @@ -585,9 +566,25 @@ Shading, } %</drivers> -% pdftex and luatex +% \end{macrocode} +% \end{macro} +% +% Now the backend commands the command to fill the register +% and to push the values. +% +% \begin{macro}{\@@_backend_PageResources_gput:nnn} +% stores values for the page resources. +% \begin{arguments} +% \item name of the resource (ExtGState, ColorSpace, Shading, Pattern) +% \item a pdf name without slash +% \item value +% \end{arguments} +% \begin{macro}{\@@_backend_PageResources_obj_gpush:} +% This pushes out the objects. It should be a no-op with xdvipdfmx and dvips +% as it currently issued in the end-of-run hook! +% create the backend objects: +% \begin{macrocode} %<*pdftex|luatex> - %create the backend objects: \clist_map_inline:Nn \c_@@_backend_PageResources_clist { \@@_backend_object_new:nn {@@/Page/Resources/#1} {dict} @@ -602,12 +599,14 @@ } } %</pdftex|luatex> +% \end{macrocode} +% values are only stored in a prop and will be output at end document. +% luatex must also trigger the lua side +% \begin{macrocode} %<*luatex> -%values are only stored in a prop and will be output at end document. \cs_new_protected:Npn \@@_backend_PageResources_gput:nnn #1 #2 #3 { \pdfdict_gput:nnn {g_@@_Core/Page/Resources/#1} { #2 }{ #3 } - % luatex must also trigger the lua side \tex_latelua:D{ltx.@@.Page.Resources.#1=true} \tex_latelua:D { @@ -621,8 +620,10 @@ \pdfdict_gput:nnn {g_@@_Core/Page/Resources/#1} { #2 }{ #3 } } %</pdftex> +% \end{macrocode} +% code for end of document code +% \begin{macrocode} %<*pdftex|luatex> -%code for end of document code \cs_new_protected:Npn \@@_backend_PageResources_obj_gpush: { \clist_map_inline:Nn \c_@@_backend_PageResources_clist @@ -637,15 +638,19 @@ } } %</pdftex|luatex> +% \end{macrocode} % xdvipdfmx % \special{pdf:pageresources<<#1>>} doesn't work correctly with object names ... % https://tug.org/pipermail/dvipdfmx/2019-August/000021.html, % so we use \special{pdf:put @resources} % this must be issued on every page! -%<*dvipdfmx|xdvipdfmx> -%objects should not only be created but also "initialized" +% objects should not only be created but also "initialized" % initialization should be done before anyone tries to write % so we add rules for the backend. +% The push command should not be used as it is +% in the wrong end document hook. If needed a new command must be added. +% \begin{macrocode} +%<*dvipdfmx|xdvipdfmx> %<xdvipdfmx>\hook_gset_rule:nnnn{shipout/firstpage}{l3backend-xetex}{after}{pdf} %<dvipdfmx>\hook_gset_rule:nnnn{shipout/firstpage}{l3backend-dvipdfmx}{after}{pdf} % @@ -673,8 +678,11 @@ \cs_new_protected:Npn \@@_backend_PageResources_obj_gpush: {} %</dvipdfmx|xdvipdfmx> +% \end{macrocode} +% dvips unneeded, or no-op. The push command should not be used as it is +% in the wrong end document hook. If needed a new command must be added. +% \begin{macrocode} %<*dvips> -% dvips unneeded, or no-op \cs_new_protected:Npn \@@_backend_PageResources:n #1 {} \cs_new_protected:Npn \@@_backend_PageResources_gput:nnn #1 #2 #3 { %only for the show command TEST!! @@ -682,8 +690,10 @@ } \cs_new_protected:Npn \@@_backend_PageResources_obj_gpush: {} %</dvips> +% \end{macrocode} +% dvipsvgm unneeded, or no-op +% \begin{macrocode} %<*dvisvgm> -% dvips unneeded, or no-op \cs_new_protected:Npn \@@_backend_PageResources:n #1 {} \cs_new_protected:Npn \@@_backend_PageResources_gput:nnn #1 #2 #3 { %only for the show command TEST!! @@ -725,23 +735,23 @@ % \cs_set_protected:Npn \@@_backend_bdc:nn #1 #2 % #1 eg. Span, #2: dict_content { - \__pdf_backend_pdfmark:x{/#1~<<#2>>~/BDC} + \@@_backend_pdfmark:x{/#1~<<#2>>~/BDC} } \cs_set_protected:Npn \@@_backend_bdcobject:nn #1 #2 % #1 eg. Span, #2: object name { - \__pdf_backend_pdfmark:x{/#1~\@@_backend_object_ref:n{#2}~/BDC} + \@@_backend_pdfmark:x{/#1~\@@_backend_object_ref:n{#2}~/BDC} } \cs_set_protected:Npn \@@_backend_bdcobject:n #1 % #1 eg. Span, { - \__pdf_backend_pdfmark:x{/#1~\@@_backend_object_last:~/BDC} + \@@_backend_pdfmark:x{/#1~\@@_backend_object_last:~/BDC} } \cs_set_protected:Npn \@@_backend_emc: { - \__pdf_backend_pdfmark:n{/EMC} % + \@@_backend_pdfmark:n{/EMC} % } \cs_set_protected:Npn \@@_backend_bmc:n #1 { - \__pdf_backend_pdfmark:n{/#1~/BMC} % + \@@_backend_pdfmark:n{/#1~/BMC} % } \cs_new_protected:Npn \@@_backend_PageResources_gpush:n #1 {} @@ -1099,7 +1109,7 @@ { \pdf_object_unnamed_write:nn {dict} { /Names [#1] } %n or x? - \__pdf_backend:x {put~@names~<</EmbeddedFiles~\pdf_object_ref_last: >>} + \@@_backend:x {put~@names~<</EmbeddedFiles~\pdf_object_ref_last: >>} } %</dvipdfmx|xdvipdfmx> @@ -1472,6 +1482,109 @@ \cs_new_protected:Npn \@@_backend_xform_use:n #1 {} \cs_new:Npn \@@_backend_xform_ref:n {} %</dvisvgm> +% \end{macrocode} +% The xform code for dvips is based on code from the attachfile2 package +% (in atfi-dvips), along with some ideas from pdfbase and has been corrected +% with the help of Alexander Grahn. +% Details like clipping and landscape will probably be corrected in the future. +% \begin{macrocode} +%<*dvips> +\cs_new_protected:Npn\@@_backend_xform_new:nnnn #1 #2 #3 #4 % #1 name, #2 attribute, #4 content + { + \int_gincr:N \g_@@_backend_object_int + \int_const:cn + { c_@@_backend_xform_ \tl_to_str:n {#1} _int } + { \g_@@_backend_object_int } + + \hbox_set:Nn \l_@@_backend_tmpa_box + { + \bool_set_true:N \l_@@_backend_xform_bool + \prop_gclear:c {\__kernel_pdfdict_name:n { g_@@_Core/Xform/Resources/Properties }} + #4 + } + %store the dimensions + \tl_const:cx + { c_@@_backend_xform_wd_ \tl_to_str:n {#1} _tl } + { \tex_the:D \box_wd:N \l_@@_backend_tmpa_box } + \tl_const:cx + { c_@@_backend_xform_ht_ \tl_to_str:n {#1} _tl } + { \tex_the:D \box_ht:N \l_@@_backend_tmpa_box } + \tl_const:cx + { c_@@_backend_xform_dp_ \tl_to_str:n {#1} _tl } + { \tex_the:D \box_dp:N \l_@@_backend_tmpa_box } + %mirror the box + \box_scale:Nnn \l_@@_backend_tmpa_box {1} {-1} + \hbox_set:Nn\l_@@_backend_tmpb_box + { + \__kernel_backend_postscript:x + { + gsave~currentpoint~translate~ + mark~ + /_objdef~{ pdf.obj \int_use:N\g_@@_backend_object_int }\c_space_tl~ + /BBox[ + currentpoint~\dim_to_decimal:n{\box_dp:N \l_@@_backend_tmpa_box}~72.27~div~VResolution~mul~add~ + currentpoint~ + exch~\dim_to_decimal:n{\box_wd:N \l_@@_backend_tmpa_box}~72.27~div~Resolution~mul~add~ + exch~\dim_to_decimal:n{\box_ht:N \l_@@_backend_tmpa_box}~72.27~div~VResolution~mul~sub~ + ] + \str_if_eq:eeF{#1}{} + { + product~(Distiller)~search~{pop~pop~pop~#2}{pop}ifelse~ + } + /BP~pdfmark~grestore~ + } + \box_use_drop:N\l_@@_backend_tmpa_box + \__kernel_backend_postscript:n + { + mark ~ /EP~pdfmark + } + \str_if_eq:eeF{#1}{} + { + \__kernel_backend_postscript:x + { + product~(Ghostscript)~search~ + { + pop~pop~pop~ + mark~ + { pdf.obj \int_use:c{c_@@_backend_xform_ \tl_to_str:n {#1} _int} } + ~<<#2>>~/PUT~pdfmark + }{pop}ifelse + } + } + } + \box_set_dp:Nn \l_@@_backend_tmpb_box { \c_zero_dim } + \box_set_ht:Nn \l_@@_backend_tmpb_box { \c_zero_dim } + \box_set_wd:Nn \l_@@_backend_tmpb_box { \c_zero_dim } + \hook_gput_code:nnn {begindocument/end}{pdfxform} + { + \mode_leave_vertical: + \box_use:N\l_@@_backend_tmpb_box + } + } + + +\cs_new_protected:Npn \@@_backend_xform_use:n #1 + { + \hbox_set:Nn \l_@@_backend_tmpa_box + { + \__kernel_backend_postscript:x + { + gsave~currentpoint~translate~1~-1~scale~ + mark~{ pdf.obj \int_use:c{c__pdf_backend_xform_ \tl_to_str:n {#1} _int }}~ + /SP~pdfmark ~ grestore + } + } + \box_set_wd:Nn \l_@@_backend_tmpa_box { \pdfxform_wd:n { #1 } } + \box_set_ht:Nn \l_@@_backend_tmpa_box { \pdfxform_ht:n { #1 } } + \box_set_dp:Nn \l_@@_backend_tmpa_box { \pdfxform_dp:n { #1 } } + \box_use_drop:N \l_@@_backend_tmpa_box + } +\cs_new:Npn \@@_backend_xform_ref:n #1 + { + { pdf.obj \int_use:c{c_@@_backend_xform_ \tl_to_str:n {#1} _int} } + } + +%</dvips> %<*drivers> %% all \prg_new_conditional:Npnn \@@_backend_xform_if_exist:n #1 { p , T , F , TF } diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.pdf Binary files differindex 581ef1f4b4..452b140f99 100644 --- a/macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.pdf +++ b/macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.pdf diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.dtx index 1eeeaeb9e7..4f4778699a 100644 --- a/macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.dtx +++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.dtx @@ -52,7 +52,7 @@ % }^^A % } % -% \date{Version 0.95f, released 2021-06-29} +% \date{Version 0.95g, released 2021-07-21} % % \maketitle % \begin{documentation} @@ -67,6 +67,33 @@ % and link annotations. Commands for other annotations like widgets will be added % later. % +% \subsection{dvips specialities} +% With most engines and backend the content of arguments like \Arg{annot spec} +% are dictionaries with keys and values which looks like the PDF. +% With dvips this is different. As it write at first a postscript file which is +% then interpreted along the rule of the pdfmark reference (and the rules of the postscript +% language) the handling is in some parts so different that it is difficult to hide +% this in abstraction like the one of this module. +% And there is the additional complication that the +% two postscript processor ghostscript (ps2pdf) and distiller handles some code differently too. +% +% For now the following differences have been spotted, it is yet not quite clear +% how to resolve them +% \begin{itemize} +% \item distiller doesn't like it if the action is provided by directly +% providing the |/A| key with some values. +% Instead it expects a keyword \texttt{/Action}, which it will +% then translate to |/A|. For |GoTo| links this has been resolved at the backend level, +% but for other link types this problem is open. +% \item ghostscript doesn't like object references as values in some places. +% The work around here (which is e.g. used by hyperref for GoToR link) is to +% write the whole dictionary first as an object and to use its reference, but this +% is something distiller doesn't like, sigh. +% \item How to escaping text and create unicode can be different. +% \end{itemize} +% +% +% % \subsection{General annotation commands} % % \begin{function}[added = 2019-09-05, updated = 2020-04-14] @@ -397,7 +424,7 @@ % \begin{macrocode} %<@@=pdfannot> %<*header> -\ProvidesExplPackage{l3pdfannot}{2021-06-29}{0.95f} +\ProvidesExplPackage{l3pdfannot}{2021-07-21}{0.95g} {PDF-annotations} \RequirePackage{l3pdfdict} %</header> diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.pdf Binary files differindex f759ec411e..88bc60c05d 100644 --- a/macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.pdf +++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.pdf diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.dtx index 635007c3c0..ef283dd664 100644 --- a/macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.dtx +++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.dtx @@ -53,7 +53,7 @@ % }^^A % } % -% \date{Version 0.95f, released 2021-06-29} +% \date{Version 0.95g, released 2021-07-21} % % \maketitle % \begin{documentation} @@ -212,7 +212,7 @@ % \begin{macrocode} %<@@=pdfdict> %<*header> -\ProvidesExplPackage{l3pdfdict}{2021-06-29}{0.95f} +\ProvidesExplPackage{l3pdfdict}{2021-07-21}{0.95g} {Tools for PDF dictionaries (LaTeX PDF management testphase bundle)} %</header> % \end{macrocode} diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.pdf Binary files differindex 5f5f8a8b8b..8df8e77e73 100644 --- a/macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.pdf +++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.pdf diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.dtx index 6677aeb34b..146214c7f1 100644 --- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.dtx +++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.dtx @@ -53,7 +53,7 @@ % }^^A % } % -% \date{Version 0.95f, released 2021-06-29} +% \date{Version 0.95g, released 2021-07-21} % % \maketitle % \begin{documentation} diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.pdf Binary files differindex ac54f8e89c..e1074881bc 100644 --- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.pdf +++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.pdf diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.dtx index c8a25060a2..32f2f76ffe 100644 --- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.dtx +++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.dtx @@ -68,7 +68,7 @@ % }^^A % } % -% \date{Version 0.95f, released 2021-06-29} +% \date{Version 0.95g, released 2021-07-21} % % \maketitle % \begin{documentation} diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.pdf Binary files differindex 232283b07e..722ab053e6 100644 --- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.pdf +++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.pdf diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.dtx index f58e9bff7d..f247ef5142 100644 --- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.dtx +++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.dtx @@ -53,7 +53,7 @@ % }^^A % } % -% \date{Version 0.95f, released 2021-06-29} +% \date{Version 0.95g, released 2021-07-21} % % \maketitle % \begin{documentation} diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.pdf Binary files differindex efe3b54e9b..bb9bd4816e 100644 --- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.pdf +++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.pdf diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.dtx index 3ae0998304..3d6ee2c6c2 100644 --- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.dtx +++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.dtx @@ -59,7 +59,7 @@ % }^^A % } % -% \date{Version 0.95f, released 2021-06-29} +% \date{Version 0.95g, released 2021-07-21} % % \maketitle % \begin{documentation} @@ -77,6 +77,8 @@ % itself % \item Standards like pdf/A disable features of form fields too % (as you typically can't change the PDF). +% \item The compilations involving postscript/pdfmark (dvips with ps2pdf or dvips +% with distiller) can require special setups. % \end{itemize} % \section{Pushbuttons} % Click me: @@ -89,7 +91,17 @@ % \pdffield_pushbutton:n{name=bear,appearance=pdffield/bear,width=23pt,height=30pt,depth=10pt} % \group_end: % \ExplSyntaxOff -% +%^^A ps2pdf doesn't like the I\'m, need to find out the right escape. +%^^A ps2pdf also requires an indirection (but distiller will probably require /Action +%^^A instead of /A) +%^^A \group_begin: +%^^A \tl_set:Nn\l_tmpa_tl{app.alert('Hello!~Im~Bär!',3,0);} +%^^A \regex_replace_once:nnN{ä}{\x5Cu00E4}\l_tmpa_tl{} +%^^A \pdf_object_unnamed_write:nx{stream}{{}{\exp_not:o{\l_tmpa_tl}}} +%^^A \pdf_object_unnamed_write:nx{dict}{/S/JavaScript /JS~\pdf_object_ref_last:} +%^^A \pdfannot_dict_put:nnx{widget}{A}{\pdf_object_ref_last:} +%^^A \pdffield_pushbutton:n{name=bear,appearance=pdffield/bear,width=23pt,height=30pt,depth=10pt} +%^^A \group_end:% % \bigskip % \subsection{Commands} % \begin{function}{\pdffield_push:n} diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.pdf Binary files differindex ae3b69e25c..599400bd4e 100644 --- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.pdf +++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.pdf diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.dtx index cf1570ef3a..3a451bcead 100644 --- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.dtx +++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.dtx @@ -87,7 +87,7 @@ % }^^A % } % -% \date{Version 0.95f, released 2021-06-29} +% \date{Version 0.95g, released 2021-07-21} % % \maketitle % \begin{documentation} diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.pdf Binary files differindex fd3d40f8fc..4543748a37 100644 --- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.pdf +++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.pdf diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.dtx index 0a8188961c..81330a6520 100644 --- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.dtx +++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.dtx @@ -53,7 +53,7 @@ % }^^A % } % -% \date{Version 0.95f, released 2021-06-29} +% \date{Version 0.95g, released 2021-07-21} % % \maketitle % \begin{documentation} diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.pdf Binary files differindex 25b086b773..168a072993 100644 --- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.pdf +++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.pdf diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield.dtx index cd9c5877ea..36e4415eef 100644 --- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield.dtx +++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield.dtx @@ -73,7 +73,7 @@ % }^^A % } % -% \date{Version 0.95f, released 2021-06-29} +% \date{Version 0.95g, released 2021-07-21} % % \maketitle % \begin{documentation} @@ -970,7 +970,7 @@ %<*package> %<@@=pdffield> \NeedsTeXFormat{LaTeX2e} -\ProvidesExplPackage{l3pdffield-testphase}{2021-06-29}{0.95f}% +\ProvidesExplPackage{l3pdffield-testphase}{2021-07-21}{0.95g}% {form fields} % \end{macrocode} % \subsection{hyperref specific command} diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield.pdf Binary files differindex 33d0035b06..b9d740e9f9 100644 --- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield.pdf +++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield.pdf diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffile.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdffile.dtx index b925844f52..0fadfbe46f 100644 --- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffile.dtx +++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffile.dtx @@ -53,7 +53,7 @@ % }^^A % } % -% \date{Version 0.95f, released 2021-06-29} +% \date{Version 0.95g, released 2021-07-21} % % \maketitle % \begin{documentation} @@ -400,7 +400,7 @@ % % \begin{macrocode} %<*header> -\ProvidesExplPackage{l3pdffile}{2021-06-29}{0.95f} +\ProvidesExplPackage{l3pdffile}{2021-07-21}{0.95g} {embedding and referencing files in PDF---LaTeX PDF management testphase bundle} \RequirePackage{l3pdftools} %temporarly!! %</header> diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffile.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdffile.pdf Binary files differindex d6515e96c2..faa18ada04 100644 --- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffile.pdf +++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffile.pdf diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.dtx index 15156e9204..0390980da5 100644 --- a/macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.dtx +++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.dtx @@ -61,7 +61,7 @@ % }^^A % } % -% \date{Version 0.95f, released 2021-06-29} +% \date{Version 0.95g, released 2021-07-21} % % \maketitle % \begin{documentation} @@ -557,7 +557,7 @@ %<@@=pdfmanagement> %<*header> % -\ProvidesExplPackage{l3pdfmanagement}{2021-06-29}{0.95f} +\ProvidesExplPackage{l3pdfmanagement}{2021-07-21}{0.95g} {Management of core PDF dictionaries (LaTeX PDF management testphase bundle)} %</header> % \end{macrocode} @@ -672,18 +672,11 @@ } } -\tl_gset:Nn \g__kernel_pdfmanagement_lastpage_shipout_code_tl - { - \bool_if:NT \g_@@_active_bool - { - \__pdf_backend_PageResources_obj_gpush: %ExtGState etc - } - } - \tl_gset:Nn \g__kernel_pdfmanagement_end_run_code_tl { \bool_if:NT \g_@@_active_bool { + \__pdf_backend_PageResources_obj_gpush: %ExtGState etc \@@_Pages_gpush: %pagesattr \@@_Info_gpush: %pdfinfo \@@_Catalog_gpush: diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.pdf Binary files differindex 757a38b292..f017471217 100644 --- a/macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.pdf +++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.pdf diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.dtx index 73163f820a..f590a2b897 100644 --- a/macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.dtx +++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.dtx @@ -53,7 +53,7 @@ % }^^A % } % -% \date{Version 0.95f, released 2021-06-29} +% \date{Version 0.95g, released 2021-07-21} % % \maketitle % \begin{documentation} @@ -343,7 +343,7 @@ % \begin{macrocode} %<@@=pdfmeta> %<*header> -\ProvidesExplPackage{l3pdfmeta}{2021-06-29}{0.95f} +\ProvidesExplPackage{l3pdfmeta}{2021-07-21}{0.95g} {PDF-Standards---LaTeX PDF management testphase bundle} %</header> % \end{macrocode} diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.pdf Binary files differindex 1c2d21346c..030b8f17d8 100644 --- a/macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.pdf +++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.pdf diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdftools.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdftools.dtx index 6dc8a4fc1f..2df7203e0f 100644 --- a/macros/latex/contrib/pdfmanagement-testphase/l3pdftools.dtx +++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdftools.dtx @@ -53,7 +53,7 @@ % }^^A % } % -% \date{Version 0.95f, released 2021-06-29} +% \date{Version 0.95g, released 2021-07-21} % % \maketitle % \begin{documentation} @@ -215,7 +215,7 @@ % % \begin{macrocode} %<*header> -\ProvidesExplPackage{l3pdftools}{2021-06-29}{0.95f} +\ProvidesExplPackage{l3pdftools}{2021-07-21}{0.95g} {candidate commands for l3pdf---LaTeX PDF management testphase bundle} %</header> % \end{macrocode} diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdftools.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdftools.pdf Binary files differindex aaa5a655ce..c322f0e976 100644 --- a/macros/latex/contrib/pdfmanagement-testphase/l3pdftools.pdf +++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdftools.pdf diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.dtx index 59d72672c6..eef4ae7ee0 100644 --- a/macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.dtx +++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.dtx @@ -52,7 +52,7 @@ % }^^A % } % -% \date{Version 0.95f, released 2021-06-29} +% \date{Version 0.95g, released 2021-07-21} % % \maketitle % \begin{documentation} @@ -61,8 +61,11 @@ % This module contains a number of commands to create \enquote{form XObjects}, % for which pdf\TeX{} introduced the short name \enquote{xforms}. % -% The status is still beta, so the style itself is currently named -% \pkg{l3pdfxform-beta}. Missing is for example code for the dvips route. +% The status is still beta. +% The dvips route is now better supported but there are open issus +% if landscape pages are involved or if the objects are larger than the page. +% With dvips the creation of a form involves typesetting and so can affect spacing. +% % Probably some of the function will also need to be enhanced by hooks. % % \begin{function}[added = 2019-08-05,updated=2021-02-14] @@ -120,7 +123,7 @@ % } % \begin{syntax} % \cs{pdfxform_if_exist_p:n} \Arg{name} -% \cs{pdfxform_if_exist:NTF} \meta{name} \Arg{true code} \Arg{false code} +% \cs{pdfxform_if_exist:nTF} \meta{name} \Arg{true code} \Arg{false code} % \end{syntax} % These command tests if an xform with name \Arg{name} has been already defined. % \end{function}% @@ -133,7 +136,7 @@ % \begin{macrocode} %<@@=pdf> %<*header> -\ProvidesExplPackage{l3pdfxform}{2021-06-29}{0.95f} +\ProvidesExplPackage{l3pdfxform}{2021-07-21}{0.95g} {command to create xforms (beta)---LaTeX PDF management testphase bundle} %</header> % \end{macrocode} @@ -195,6 +198,9 @@ } % \end{macrocode} % \end{macro} +% \begin{macro}[pTF]{\pdfxform_if_exist:n} +% The command is defined in the backend (to avoid timing problems). +% \end{macro} % \begin{macrocode} %</package> % \end{macrocode} diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.pdf Binary files differindex 2155b75584..7e6db80d8a 100644 --- a/macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.pdf +++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.pdf diff --git a/macros/latex/contrib/pdfmanagement-testphase/ltdocinit.dtx b/macros/latex/contrib/pdfmanagement-testphase/ltdocinit.dtx index 8a783b7697..0679203098 100644 --- a/macros/latex/contrib/pdfmanagement-testphase/ltdocinit.dtx +++ b/macros/latex/contrib/pdfmanagement-testphase/ltdocinit.dtx @@ -51,7 +51,7 @@ % }^^A % } % -% \date{Version 0.95f, released 2021-06-29} +% \date{Version 0.95g, released 2021-07-21} % % \maketitle % \begin{documentation} @@ -115,9 +115,24 @@ % are described in the documentation of \pkg{l3pdfmeta}. % \item[\texttt{pdfmanagement}] Boolean. This activates/deactivates % the core management code. By default the value is true. -% \item[firstaidoff] This accepts a comma lists of keysword and disable the patches +% \item[\texttt{firstaidoff}] This accepts a comma lists of keysword and disable the patches % related to them. More information can be found in the documentation of % \pkg{pdfmanagement-firstaid}. +% \item[\texttt{testphase}] This key is used to load testphase code. The values it accepts +% and their effect will change over time, when testphase packages are added or +% removed when the code is moved into the kernel. Currently the accepted values are +% \texttt{tagpdf}, this load the tagpdf package, \texttt{headings}, this loads +% code which reimplements heading commands, and \texttt{ptagging} this loads code +% to allow paragraph tagging to work with engine other than luatex. +% \item[\texttt{activate}] This key is used to enable some document wide functions. It is +% currently in an experimental state. The values and their behaviour are subject to change. +% Currently the only value is |tagging|, +% which will do |\tagpdfsetup{activate,paratagging,interwordspace}|. It requires that +% \pkg{tagpdf} has been loaded first with the |testphase| key. +% \item[\texttt{debug}] This key activates some debug options. Currently only the +% keys |para| (with the default and only value |show|), +% and |log| (with the values of \pkg{tagpdf}) and |uncompress| (which does the same +% as |uncompress| as main key) are known. % \end{description} % % \subsection{Container for document properties} @@ -167,7 +182,7 @@ % \begin{macrocode} %<@@=pdfmanagement> %<*header> -\ProvidesExplPackage{ltdocinit}{2021-06-29}{0.95f} +\ProvidesExplPackage{ltdocinit}{2021-07-21}{0.95g} {Initialize document metadata} %</header> % \end{macrocode} @@ -235,8 +250,9 @@ } } % \end{macrocode} -% Load more modules and the firstaid code. +% Load more modules, the testphase code and the firstaid code. % \begin{macrocode} + \g_@@_testphase_tl \RequirePackage{pdfmanagement-firstaid} } } @@ -296,6 +312,13 @@ \clist_new:N \g_@@_firstaidoff_clist % \end{macrocode} % \end{variable} +% \begin{variable}{\g_@@_testphase_tl} +% a tl to store the testphase loading code so that we can load them at +% the end of the command. +% \begin{macrocode} +\tl_new:N \g_@@_testphase_tl +% \end{macrocode} +% \end{variable} % \begin{macrocode} \keys_define:nn { document / metadata } { @@ -346,6 +369,78 @@ } ,pdfmanagement .bool_gset:N = \g_@@_active_bool ,firstaidoff .clist_gset:N = \g_@@_firstaidoff_clist + ,testphase .multichoice: + ,testphase / tagpdf .code:n = + { + \tl_gput_right:Nn\g_@@_testphase_tl + { + \RequirePackage{tagpdf} + \AddToDocumentProperties [document]{testphase/tagpdf}{loaded} + } + } + ,testphase / headings .code:n = + { + \tl_gput_right:Nn\g_@@_testphase_tl + { + \RequirePackage{headings-testphase} + \AddToDocumentProperties [document]{testphase/headings}{loaded} + } + } + ,testphase / ptagging .code:n = + { + \tl_gput_right:Nn\g_@@_testphase_tl + { + \AddToHook{class/after} + { + \RequirePackage{ptagging-testphase} + \AddToDocumentProperties [document]{testphase/ptagging}{loaded} + } + } + } + ,testphase / unknown .code:n = + { + \tl_gput_right:Nn\g_@@_testphase_tl + { + \AddToHook{class/after} + { + \RequirePackage{#1-testphase} + \AddToDocumentProperties [document]{testphase/#1}{loaded} + } + } + } + ,activate .multichoice: + ,activate / tagging .code:n = + { + \AddToHook{package/after/tagpdf} + { + \tagpdfsetup{activate,paratagging,interwordspace} + \AddToDocumentProperties [document]{tagging}{active} + \AddToDocumentProperties [document]{tagging/para}{active} + \AddToDocumentProperties [document]{tagging/interwordspace}{active} + } + } + ,debug .code:n = + { + \keys_set:nn { document / metadata / debug } {#1} + } + ,debug / para .code:n = + { + \AddToHook{package/after/tagpdf} + { + \tagpdfsetup{paratagging-show} + } + } + ,debug / log .code:n = + { + \AddToHook{package/after/tagpdf} + { + \tagpdfsetup{log=#1} + } + } + ,debug / uncompress .code:n = + { + \pdf_uncompress: + } } % \end{macrocode} % \begin{macrocode} diff --git a/macros/latex/contrib/pdfmanagement-testphase/ltdocinit.pdf b/macros/latex/contrib/pdfmanagement-testphase/ltdocinit.pdf Binary files differindex 68a7c4ed10..ce3ecd37bb 100644 --- a/macros/latex/contrib/pdfmanagement-testphase/ltdocinit.pdf +++ b/macros/latex/contrib/pdfmanagement-testphase/ltdocinit.pdf diff --git a/macros/latex/contrib/pdfmanagement-testphase/pdflscape-ltx.sty b/macros/latex/contrib/pdfmanagement-testphase/pdflscape-ltx.sty index 0755d24202..d123a70115 100644 --- a/macros/latex/contrib/pdfmanagement-testphase/pdflscape-ltx.sty +++ b/macros/latex/contrib/pdfmanagement-testphase/pdflscape-ltx.sty @@ -22,7 +22,7 @@ %% This work consists of the main source file pdflscape-ltx.sty %% \NeedsTeXFormat{LaTeX2e} -\ProvidesExplPackage{pdflscape-ltx}{2021-06-29}{0.95f} +\ProvidesExplPackage{pdflscape-ltx}{2021-07-21}{0.95g} {Display of landscape pages in PDF - adaption of pdflscape to the PDFmanagement bundle (testphase)} \DeclareOption*{\PassOptionsToPackage\CurrentOption{graphics}} diff --git a/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.dtx b/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.dtx index 1a0284984f..364304de2c 100644 --- a/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.dtx +++ b/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.dtx @@ -51,7 +51,7 @@ % }^^A % } % -% \date{Version 0.95f, released 2021-06-29} +% \date{Version 0.95g, released 2021-07-21} % % \maketitle % \begin{documentation} @@ -67,7 +67,7 @@ % |firstaidoff={name1,name2,...}|. % \begin{macrocode} %<*package> -\ProvidesExplPackage{pdfmanagement-firstaid}{2021-06-29}{0.95f} +\ProvidesExplPackage{pdfmanagement-firstaid}{2021-07-21}{0.95g} {LaTeX PDF management testphase bundle / firstaid-patches} %<@@=pdfmanagement> @@ -108,8 +108,6 @@ % This patch serves also as test to check if this change can be safely % added to \pkg{color} later. % \begin{macrocode} -\@ifundefined{color_set:nn}{ -\RequirePackage{l3color}}{} \bool_if:NT \g_@@_firstaid_color_bool { \declare@file@substitution{color.sty}{color-ltx.sty} @@ -127,8 +125,6 @@ % The |named| model is mapped to \cs{color_set:nn}. % % \begin{macrocode} -\@ifundefined{color_set:nn}{ -\RequirePackage{l3color}}{} \bool_if:NT \g_@@_firstaid_xcolor_bool { \AddToHook{package/after/xcolor} diff --git a/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.pdf b/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.pdf Binary files differindex d59ac10fb1..0aeab401dd 100644 --- a/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.pdf +++ b/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.pdf diff --git a/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.dtx b/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.dtx index 7ae7b5ca93..7d0b20ee02 100644 --- a/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.dtx +++ b/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.dtx @@ -51,7 +51,7 @@ % }^^A % } % -% \date{Version 0.95f, released 2021-06-29} +% \date{Version 0.95g, released 2021-07-21} % % \maketitle % \begin{documentation} @@ -384,7 +384,7 @@ % \begin{macrocode} %<@@=pdf> %<*package> -\ProvidesExplPackage{pdfmanagement-testphase}{2021-06-29}{0.95f} +\ProvidesExplPackage{pdfmanagement-testphase}{2021-07-21}{0.95g} {LaTeX PDF management testphase bundle} \providecommand\IfFormatAtLeastTF{\@ifl@t@r\fmtversion} \IfFormatAtLeastTF{2020-10-01}{}{ @@ -411,7 +411,7 @@ % to allow to set it in the document. % \begin{macrocode} %<*header> -\ProvidesExplFile{pdfmanagement-testphase.ltx}{2021-06-29}{0.95f} +\ProvidesExplFile{pdfmanagement-testphase.ltx}{2021-07-21}{0.95g} {PDF~management~code~(testphase)} %</header> %<*package> diff --git a/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.pdf b/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.pdf Binary files differindex 9e3207d30f..4928dea1fc 100644 --- a/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.pdf +++ b/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.pdf diff --git a/macros/latex/contrib/pdfmanagement-testphase/transparent-ltx.sty b/macros/latex/contrib/pdfmanagement-testphase/transparent-ltx.sty index ece85d4667..5151ea4ff9 100644 --- a/macros/latex/contrib/pdfmanagement-testphase/transparent-ltx.sty +++ b/macros/latex/contrib/pdfmanagement-testphase/transparent-ltx.sty @@ -3,7 +3,7 @@ %% a replacement for transparent sty from Heiko Oberdiek %% \NeedsTeXFormat{LaTeX2e}[2020/10/01] -\ProvidesExplPackage{transparent-ltx}{2021-06-29}{0.95f} +\ProvidesExplPackage{transparent-ltx}{2021-07-21}{0.95g} {Transparency with color stacks (replacement for transparent.sty from Heiko Oberdiek)}% \RequirePackage{l3opacity} diff --git a/macros/latex/contrib/pdfmanagement-testphase/xcolor-patches-tmp-ltx.sty b/macros/latex/contrib/pdfmanagement-testphase/xcolor-patches-tmp-ltx.sty index c9f37856f4..0861462d6b 100644 --- a/macros/latex/contrib/pdfmanagement-testphase/xcolor-patches-tmp-ltx.sty +++ b/macros/latex/contrib/pdfmanagement-testphase/xcolor-patches-tmp-ltx.sty @@ -1,6 +1,6 @@ %% LaTeX2e file `xcolor-patches.sty' %% -\ProvidesPackage{xcolor-patches-tmp-ltx}[2021-06-29 v0.95f patch xcolor for l3color] +\ProvidesPackage{xcolor-patches-tmp-ltx}[2021-07-21 v0.95g patch xcolor for l3color] \@ifundefined{color_set:nn}{\RequirePackage{l3color}}{} \ExplSyntaxOn @@ -8,7 +8,7 @@ % #2: model or models % #3: value: either numbers or a color name % #4 is the type: named or ps -\cs_gset_protected:Npn \@expl@xcolor@set@@nnnn #1 #2 #3 #4 +\cs_gset_protected:Npn \__pdfmanagement_firstaid_xcolor_set:nnnn #1 #2 #3 #4 { \str_case:nnF {#4} { @@ -40,12 +40,14 @@ } } } - \cs_generate_variant:Nn \color_set:nn {ne} - \cs_new_protected:Npn \@expl@xcolor@set@@ne #1 #2 - { - \exp_args:Nx \__color_if_defined:nT {#2} - { \color_set:ne {#1}{#2} } - } +\cs_generate_variant:Nn \__pdfmanagement_firstaid_xcolor_set:nnnn {nonn} +\cs_set_eq:NN \@expl@xcolor@set@@nonn \__pdfmanagement_firstaid_xcolor_set:nonn +\cs_generate_variant:Nn \color_set:nn {ne} +\cs_new_protected:Npn \@expl@xcolor@set@@ne #1 #2 + { + \exp_args:Nx \__color_if_defined:nT {#2} + { \color_set:ne {#1}{#2} } + } \ExplSyntaxOff %\pretocmd{\XC@col@rlet} {\@expl@color@set@@ne{#2}{#4}}{}{\fail} \def\XC@col@rlet[#1]#2[#3]#4% @@ -76,7 +78,7 @@ %\pretocmd{\XC@definec@lor}{\@expl@color@set@@nnn{#2}{#4}{#5}}{}{\fail} \def\XC@definec@lor[#1]#2[#3]#4#5% - {\@expl@xcolor@set@@nnnn{#2}{#4}{#5}{#1}% + {\@expl@xcolor@set@@nonn{#2}{#4}{#5}{#1}% \begingroup \XC@sdef\@@cls{#1}\XC@edef\@@nam{#2}\edef\colornameprefix{#3}% \XC@logdef\@@nam diff --git a/macros/latex/contrib/to-be-determined/to-be-determined.pdf b/macros/latex/contrib/to-be-determined/to-be-determined.pdf Binary files differindex 02529dfa3d..7046da7c95 100644 --- a/macros/latex/contrib/to-be-determined/to-be-determined.pdf +++ b/macros/latex/contrib/to-be-determined/to-be-determined.pdf diff --git a/macros/latex/contrib/to-be-determined/to-be-determined.sty b/macros/latex/contrib/to-be-determined/to-be-determined.sty index 7dcea97033..ffc106eb97 100644 --- a/macros/latex/contrib/to-be-determined/to-be-determined.sty +++ b/macros/latex/contrib/to-be-determined/to-be-determined.sty @@ -21,7 +21,7 @@ % SOFTWARE. \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{to-be-determined}[2021/07/15 0.1.0 Highlighting places requiring future work] +\ProvidesPackage{to-be-determined}[2021/07/21 0.1.1 Highlighting places requiring future work] \RequirePackage{xkeyval} \newif\iftbdhide @@ -37,9 +37,9 @@ \iftbdoff\else% \sethlcolor{yellow}% \iftbdhide% - \hl{TBD} + \hl{TBD}% \else% - \hl{#1} + \hl{#1}% \fi% \fi% }} diff --git a/macros/latex/contrib/to-be-determined/to-be-determined.tex b/macros/latex/contrib/to-be-determined/to-be-determined.tex index cdab462bd1..ccaf9c744a 100644 --- a/macros/latex/contrib/to-be-determined/to-be-determined.tex +++ b/macros/latex/contrib/to-be-determined/to-be-determined.tex @@ -27,7 +27,7 @@ \usepackage{ffcode} \title{\ff{to-be-determined}: \LaTeX{} Package \\ for highlighting places that require more work} \author{Yegor Bugayenko} -\date{0.1.0 2021/07/15} +\date{0.1.1 2021/07/21} \begin{document} \pagenumbering{gobble} \raggedbottom diff --git a/macros/latex/contrib/ut-thesis/README b/macros/latex/contrib/ut-thesis/README index d3c83c754b..5f65171d63 100644 --- a/macros/latex/contrib/ut-thesis/README +++ b/macros/latex/contrib/ut-thesis/README @@ -6,14 +6,18 @@ as of Fall 2020: Copyright (c) 1998-2013 Francois Pitt <fpitt@cs.utoronto.ca>, 2020-2021 Jesse Knight <jesse.knight@mail.utoronto.ca> +last updated at 23:30 (EST) on Tue 20 July 2021 This work may be distributed and/or modified under the conditions of -the LaTeX Project Public License, either version 1.3c of this license +the LaTeX Project Public Licence, either version 1.3c of this licence or (at your option) any later version. -The latest version of this license is in +The latest version of this licence is in http://www.latex-project.org/lppl.txt and version 1.3c or later is part of all distributions of LaTeX version 2005/12/01 or later. +Note that the output thesis document (e.g. PDF) +is not considered a "Compiled Work" +and is not covered by the licence. This work has the LPPL maintenance status "maintained". diff --git a/macros/latex/contrib/ut-thesis/ut-thesis.dtx b/macros/latex/contrib/ut-thesis/ut-thesis.dtx index e48e2e1c75..1478c5d25a 100644 --- a/macros/latex/contrib/ut-thesis/ut-thesis.dtx +++ b/macros/latex/contrib/ut-thesis/ut-thesis.dtx @@ -5,7 +5,7 @@ %<class>\NeedsTeXFormat{LaTeX2e}[1999/12/01] %<class>\ProvidesClass{ut-thesis} %<*class> -[2021/05/04 v3.0.3 University of Toronto thesis class] +[2021/07/20 v3.0.5 University of Toronto thesis class] %</class> % %<*driver> @@ -146,7 +146,7 @@ % \begin{macro}{[openany]} % These pages can open to the left or right. % \end{macro} -% +% % \paragraph{Widths:} % Four widths of margins are defined based on % the inner (left) and outer (right/top/bottom) dimensions: @@ -231,7 +231,7 @@ % % From the |book| class, the following commands are available to generate the frontmatter. % These should be used in the order they appear here, as needed. -% +% % \begin{macro}{\maketitle} % Creates the title page according to SGS requirements, % and adds a blank page following if using |[twoside]|. @@ -239,10 +239,10 @@ % % (The abstract page should appear here; % see \S~\ref{use:env:abs}). -% +% % (The dedication and acknowledgements should appear here, as needed; % see \S~\ref{use:env:ded-ackn}). -% +% % \begin{macro}{\tableofcontents} % Prints the table of contents, starting on a new page. % \end{macro} @@ -254,7 +254,7 @@ % \begin{macro}{\listoffigures} % Prints a table of figures, starting on a new page. % \end{macro} -% +% % \subsection{Environments}\label{use:env} % % \subsubsection{Abstract}\label{use:env:abs} @@ -269,7 +269,7 @@ % We do not provide tools for counting words. % \end{macro} % -% \subsubsection{Dedication \& Acknowledgments}\label{use:env:ded-ackn} +% \subsubsection{Dedication \& Acknowledgements}\label{use:env:ded-ackn} % % \begin{macro}{dedication} % The |dedication| environment formats text flush right and 2/3 down a new page. @@ -277,7 +277,7 @@ % \end{macro} % % \begin{macro}{acknowledgements} -% The |acknowledgments| environment creates a centered heading using |\section*{}|, +% The |acknowledgements| environment creates a centered heading using |\section*{}|, % and a new page after the text. % Not necessary for SGS requirements, so you're welcome to redefine this environment. % \end{macro} @@ -537,7 +537,7 @@ \clearpage} % \end{macrocode} % -% \subsubsection{Acknowledgments}\label{imp:front:ackn} +% \subsubsection{Acknowledgements}\label{imp:front:ackn} % % As described above. % @@ -545,7 +545,7 @@ \newenvironment*{acknowledgements}% {\thispagestyle{plain} \begin{center} - \section*{Acknowledgments} + \section*{Acknowledgements} \end{center} \begingroup}% {\endgroup\clearpage} diff --git a/macros/latex/contrib/ut-thesis/ut-thesis.ins b/macros/latex/contrib/ut-thesis/ut-thesis.ins index 6f92828b3f..db35055115 100644 --- a/macros/latex/contrib/ut-thesis/ut-thesis.ins +++ b/macros/latex/contrib/ut-thesis/ut-thesis.ins @@ -12,15 +12,18 @@ as of Fall 2020: Copyright (c) 1998-2013 Francois Pitt <fpitt@cs.utoronto.ca>, 2020-2021 Jesse Knight <jesse.knight@mail.utoronto.ca> -last updated at 14:30 (EST) on Thu 11 May 2021 +last updated at 23:30 (EST) on Tue 20 July 2021 This work may be distributed and/or modified under the conditions of -the LaTeX Project Public License, either version 1.3c of this license +the LaTeX Project Public Licence, either version 1.3c of this licence or (at your option) any later version. -The latest version of this license is in +The latest version of this licence is in http://www.latex-project.org/lppl.txt and version 1.3c or later is part of all distributions of LaTeX version 2005/12/01 or later. +Note that the output thesis document (e.g. PDF) +is not considered a "Compiled Work" +and is not covered by the licence. This work has the LPPL maintenance status "maintained". diff --git a/macros/latex/contrib/ut-thesis/ut-thesis.pdf b/macros/latex/contrib/ut-thesis/ut-thesis.pdf Binary files differindex 4fcbb633eb..877c314bb0 100644 --- a/macros/latex/contrib/ut-thesis/ut-thesis.pdf +++ b/macros/latex/contrib/ut-thesis/ut-thesis.pdf diff --git a/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl b/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl index f6b5ffdc3f..61ee92ce96 100644 --- a/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl +++ b/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl @@ -20,7 +20,6 @@ $mirrors = { 'https://mirrors.cqu.edu.cn/CTAN/' => 1, 'https://mirrors.dgut.edu.cn/CTAN/' => 1, 'https://mirrors.hit.edu.cn/CTAN/' => 1, - 'https://mirrors.nju.edu.cn/CTAN/' => 1, 'https://mirrors.sjtug.sjtu.edu.cn/ctan/' => 1, 'https://mirrors.sustech.edu.cn/CTAN/' => 1, 'https://mirrors.tuna.tsinghua.edu.cn/CTAN/' => 1, diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb b/systems/texlive/tlnet/tlpkg/texlive.tlpdb index f1e99044b8..4c331d5a36 100644 --- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb +++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb @@ -26,7 +26,7 @@ depend container_split_src_files/1 depend frozen/0 depend minrelease/2016 depend release/2021 -depend revision/60002 +depend revision/60010 name 00texlive.image category TLCore @@ -4429,7 +4429,7 @@ depend setting_available_architectures:aarch64-linux amd64-freebsd amd64-netbsd name 00texlive.installer category TLCore -revision 59995 +revision 60004 shortdesc TeX Live standalone installer package longdesc This package defines the files to go into the installer longdesc archives (install-tl-unx.tar.gz, install-tl.zip) built by the @@ -122262,7 +122262,7 @@ catalogue-topics font-doc name fontools category Package -revision 58747 +revision 60005 shortdesc Tools to simplify using fonts (especially TT/OTF ones) longdesc This package provides tools to simplify using OpenType fonts longdesc with LaTeX. By far the most important program in this bundle is @@ -122276,11 +122276,11 @@ longdesc - re-encode .afm files, ot2kpx - extract kerning pairs from longdesc OpenType fonts, splitttc - split an OpenType Collection file longdesc (ttc or otc) into individual fonts. depend fontools.ARCH -containersize 50108 -containerchecksum fed81ca7b52a51cd69be9ea8333ab7eb0210fab3517eb501d08ce933c7d926303a68b095654852de336b0fafa28a11b97517750418793dc61049c85ffb10ede0 -doccontainersize 129732 -doccontainerchecksum 7ee681471cfddf5dfd919057df7016ad097876c92890e68c4e5a01751210997a747192ccb38682a0565070bd90c471c27a6710bf5a09c7a205475ec01ecd0dc9 -docfiles size=56 +containersize 50492 +containerchecksum 627c119629856313bfa23a2023406195896f542f7234988dedca94f1c78c4df484a263330c0522d01e46eedd7de60ceff912ecbfab5309ff0a80635b152cca28 +doccontainersize 131536 +doccontainerchecksum 88c974b9c0e2995c6edfaf6e412a477bcc6e846c6087b6b83ed4c212a264fd4f2bd81164f941f59a7b40fc4dd10f3037345246d120f212c0a01c02cb628beb7d +docfiles size=58 texmf-dist/doc/man/man1/afm2afm.1 texmf-dist/doc/man/man1/afm2afm.man1.pdf texmf-dist/doc/man/man1/autoinst.1 @@ -122290,7 +122290,7 @@ docfiles size=56 texmf-dist/doc/support/fontools/GPLv2.txt texmf-dist/doc/support/fontools/README details="Bundle readme" texmf-dist/doc/support/fontools/splitttc -runfiles size=62 +runfiles size=63 texmf-dist/fonts/enc/dvips/fontools/fontools_lgr.enc texmf-dist/fonts/enc/dvips/fontools/fontools_ly1.enc texmf-dist/fonts/enc/dvips/fontools/fontools_oml.enc @@ -180018,27 +180018,32 @@ catalogue-version 0.30 name lipsum category Package -revision 58123 -shortdesc Easy access to the Lorem Ipsum dummy text -relocated 1 -longdesc This package gives you easy access to the Lorem Ipsum dummy -longdesc text; an option is available to separate the paragraphs of the -longdesc dummy text into TeX-paragraphs. All the paragraphs are taken -longdesc with permission from http://lipsum.com/. -containersize 75536 -containerchecksum 6d93dbb16d94f7aa199e59b85096583a9e8e7a07b107bbfe1e0be7615717c29d94ecfd308c4adf462062251adb03b171a332cd688425f6854ce442c390c47396 -doccontainersize 808520 -doccontainerchecksum 6d7e7f8037cebffac9a3725b5a7b32eefcb458ebd86cbc9b0380d05d2b1926c3a70e7032629ffd4bede5102c3a36d84e1b2bd21d2b7f9b3e9c642390822fbffa -docfiles size=200 +revision 60008 +shortdesc Easy access to the Lorem Ipsum and other dummy texts +relocated 1 +longdesc This package gives you easy access to 150 paragraphs of the +longdesc Lorem Ipsum dummy text provided by https://lipsum.com, plus a +longdesc growing list of other dummy texts in different languages. +containersize 125056 +containerchecksum ba8921ccd63f7ccbf05e6974ef2519d3bdc544e265bc2a61d47500b509b90ea1286aae2c9cf9030e10132064bc339ae44eea5bfc9e55fce1302d54543cdbfa94 +doccontainersize 747972 +doccontainerchecksum 6e8a64af4480a771a07c4420c276aee755d3fcd5640d2df4dc1e42ac9bcc5c0f044696ea0472832785a337a572bec52ff92e8fcd34ebd3ab4e3568a1cbbda714 +docfiles size=241 + RELOC/doc/latex/lipsum/CHANGELOG.md + RELOC/doc/latex/lipsum/DEPENDS.txt RELOC/doc/latex/lipsum/README.txt details="Readme" + RELOC/doc/latex/lipsum/lipsum-cicero.txt + RELOC/doc/latex/lipsum/lipsum-cs.txt + RELOC/doc/latex/lipsum/lipsum-la.txt RELOC/doc/latex/lipsum/lipsum.pdf details="Package documentation" -srccontainersize 86992 -srccontainerchecksum b2f55edabef986f5e792509c6db58f89f2bfc816cb07968e21f49308df4fb37836798f28d84a91b6020b6003b441e697800c2087b9e3549b2dee3cd1a393c5f2 -srcfiles size=77 +srccontainersize 16180 +srccontainerchecksum eb7b1529518aa77f347b7e250ecdb97a9610ec4c8527b074e4c4b0e8fa0a8fd1b1043106c86fe6d2beff056a53158b48baebf939aeb7692dc0892a49f80ffee5 +srcfiles size=15 RELOC/source/latex/lipsum/lipsum.dtx RELOC/source/latex/lipsum/lipsum.ins -runfiles size=65 +runfiles size=88 RELOC/tex/latex/lipsum/cicero.ltd.tex + RELOC/tex/latex/lipsum/lipsum-cs.ltd.tex RELOC/tex/latex/lipsum/lipsum.ltd.tex RELOC/tex/latex/lipsum/lipsum.sty catalogue-also blindtext kantlipsum @@ -180046,8 +180051,8 @@ catalogue-contact-bugs https://github.com/PhelypeOleinik/lipsum/issues catalogue-contact-repository https://github.com/PhelypeOleinik/lipsum catalogue-ctan /macros/latex/contrib/lipsum catalogue-license lppl1.3 -catalogue-topics macro-supp dummy-gen -catalogue-version 2.3 +catalogue-topics macro-supp dummy-gen multilingual expl3 +catalogue-version 2.4 name lisp-on-tex category Package @@ -299906,20 +299911,20 @@ binfiles arch=x86_64-solaris size=1 name texdimens category Package -revision 59939 +revision 60006 shortdesc Conversion of TeX dimensions to decimals relocated 1 longdesc Utilities and documentation related to TeX dimensional units, longdesc usable both with Plain (\input texdimens) and with LaTeX longdesc (\usepackage{texdimens}). -containersize 3708 -containerchecksum d19b6aecde3443f34fb3a3207882831e5187a346f20736bcf8366494cbf565f4b515bf1591e9f03e1e1e9437437e6ce8edbabc20c871b6e529d4cf382c44471e -doccontainersize 6052 -doccontainerchecksum ea6c8c1e23ca810dd371bd9bf423242857a3ead1827471312f2a5bcbd14c46b73b3d1d68633303535ff48c25e3961163a0c35de41744df3da919196c633184f2 +containersize 5508 +containerchecksum 40b96f5b580cfd4af3b3499db2d09326cf5c227cd2eb0283f029e8138b863957312b62b32e0abeeda6376bf8997f3f2b8e78d8a68972dfda03f2fd2eed29f1a9 +doccontainersize 5948 +doccontainerchecksum 46447b05457eac1548e5d78916000c721f91fab0f4247cd7c0ce6f62d608bb5bbb6fd192818283048e46f8882a36e2bdaa8df6b27718dc99805be0aad000a378 docfiles size=7 RELOC/doc/generic/texdimens/LICENSE.md RELOC/doc/generic/texdimens/README.md details="Readme" -runfiles size=4 +runfiles size=6 RELOC/tex/generic/texdimens/texdimens.sty RELOC/tex/generic/texdimens/texdimens.tex catalogue-contact-bugs https://github.com/jfbu/texdimens/issues @@ -299927,7 +299932,7 @@ catalogue-contact-repository https://github.com/jfbu/texdimens catalogue-ctan /macros/generic/texdimens catalogue-license lppl1.3c catalogue-topics units etex -catalogue-version 0.9delta +catalogue-version 0.9 name texdirflatten category Package @@ -301057,7 +301062,7 @@ docfiles size=376 name texlive-scripts category TLCore -revision 59995 +revision 60004 shortdesc TeX Live infrastructure programs longdesc Includes install-tl, tl-portable, rungs, etc.; not needed for longdesc tlmgr to run but still ours. Not included in tlcritical. @@ -301065,10 +301070,10 @@ depend texlive-scripts.ARCH depend texlive.infra execute addMap mathpple.map postaction shortcut type=menu name="TeX Live command-line" cmd=TEXDIR/tlpkg/installer/tl-cmd.bat -containersize 108048 -containerchecksum c5a86dc16bd18b7141a8f82ebcb0c2abdd2a3b6a15e9599dcdad01de75be173bc74c93d3d949344885bde3e1f57ad324914ada4994ba6d8d964c9b2fe78b0b8c -doccontainersize 398840 -doccontainerchecksum 0a19d97382d7852f25a3c0d78479601a8bc5c7c6c35afb4513fb5db1a3976dff35332d2f26a18ee613ad0ea231f079905cb1d4458db55d9f0926f38cabdf124e +containersize 108032 +containerchecksum d9a9366cec60480ed4995cb092c327a9712f860ac3dfd16c32438a9445296c000a83d8fcf2a8bff20e73e1ea4b3a25ca564a38c6c62a9d4a3fb55a2c0620fd78 +doccontainersize 398744 +doccontainerchecksum 51c14261a2a560aa53b8dbf5359da84b238fc61104193e9c2636634d31040a9c4570be2360d2e7739cffc5c13f3ad631d88111c3368b3b8c8b82404f0a334469 docfiles size=493 doc.html texmf-dist/doc/man/man1/fmtutil-sys.1 @@ -314403,7 +314408,7 @@ binfiles arch=x86_64-solaris size=1 name to-be-determined category Package -revision 59943 +revision 60009 shortdesc Highlight text passages that need further work relocated 1 longdesc This package provides a single command \tbd which highlights @@ -314413,10 +314418,10 @@ longdesc them disappear entirely with the option off. depend soul depend xcolor depend xkeyval -containersize 1488 -containerchecksum 4b2287b33b14f6e71933990857f0052f02d34dd6f5a90da3305db0269f83d54fb5e3b525c30cda731dba5c9e7d8f980b7eb32fee518b66f9dfb22b53371a4ad1 -doccontainersize 186296 -doccontainerchecksum d0e6c4e0033d1a6f87e253c5d9d1575155fcb875677d62c31e5fd7f6583c4ef236906d785177342dbb0a4bef9ce87b880b0a2a7c03188983e63f7623190fe7a0 +containersize 1484 +containerchecksum 3aa15ee7524ec80a3ad7ac54247e50bf649a52b3defeb9a0f8401f85d91427c872729e78b61a8b8146d8d26af84b0949164d261b548b75c4de6fbaead3dd8c39 +doccontainersize 186000 +doccontainerchecksum 7d0633b3dc30e1aab12da4547b44b60dd9516346e516f463aeafc7096aa873d912eabc25a73452d4823cbe5e98e4db065d0923a0bf77e47897d539511c3dad18 docfiles size=48 RELOC/doc/latex/to-be-determined/DEPENDS.txt RELOC/doc/latex/to-be-determined/README.md details="Readme" @@ -314429,7 +314434,7 @@ catalogue-contact-repository https://github.com/yegor256/to-be-determined catalogue-ctan /macros/latex/contrib/to-be-determined catalogue-license mit catalogue-topics editorial decoration cond-comp -catalogue-version 0.1.0 +catalogue-version 0.1.1 name tocbibind category Package @@ -325965,7 +325970,7 @@ catalogue-version 1.0 name ut-thesis category Package -revision 59078 +revision 60010 shortdesc University of Toronto thesis style relocated 1 longdesc This LaTeX document class implements the formatting @@ -325973,15 +325978,15 @@ longdesc requirements of the University of Toronto School of Graduate longdesc Studies (SGS), as of Fall 2020 ( longdesc https://www.sgs.utoronto.ca/academic-progress/program-completio longdesc n/formatting). For example usage, see the GitHub repository. -containersize 2720 -containerchecksum fd153742d545c726af9112674b880b5260d7c45f6bd49fa3624fd6651e0752110666bcb89fdf16d673ff3d94e4b35c1d9978f7d502657abb2dcbb461b94e76fe -doccontainersize 117040 -doccontainerchecksum 915ca737cbb016d6e0ade0de05a8b539d30609a800b0186e4eb9970db778d4223f7fade7022e9fc00c4f3bc8f2a73c70ae722c93eec7bf8943532756c0c8f9ce -docfiles size=30 +containersize 2776 +containerchecksum 6614302eafd2b061694ae762488925df0c0b3b09fc0846b17f8cd7ac7dcdc77dd200ee378e838eb927e8a80a2d0a1ef14a14707730a6434ec407fcbb62a5ea7c +doccontainersize 140680 +doccontainerchecksum 999421acb4e930dc13d2079e7a979afcbf4456c3a1c1dd96f7da488e4ed85ab8a20dae001bff8a365f71c922e2c9b23aff11a9f1076f975faa501b6e0016c964 +docfiles size=36 RELOC/doc/latex/ut-thesis/README details="Readme" RELOC/doc/latex/ut-thesis/ut-thesis.pdf details="Package documentation" -srccontainersize 6828 -srccontainerchecksum ca24051bb4f9e315ff7036f3a5c891a3b502a2ca6ecde88165665f6f302d332215b9cd6e0d50e8c8ad732a51268c50b7f33c5591be6b3b0b865041e1b968685a +srccontainersize 6864 +srccontainerchecksum b5b675974eb130326758139bf7c4ce4e132a08a2885d86deed26f52bce9e3974e853973ad23cb45d8d32cbe7b6855a665630839f17daade045c49178272d0978 srcfiles size=6 RELOC/source/latex/ut-thesis/ut-thesis.dtx RELOC/source/latex/ut-thesis/ut-thesis.ins @@ -325993,7 +325998,7 @@ catalogue-contact-repository https://github.com/jessexknight/ut-thesis catalogue-ctan /macros/latex/contrib/ut-thesis catalogue-license lppl1.3c catalogue-topics dissertation class std-conform -catalogue-version 3.0.3 +catalogue-version 3.0.5 name utexasthesis category Package @@ -340513,7 +340518,7 @@ catalogue-version 1.5 name xstring category Package -revision 49946 +revision 60007 shortdesc String manipulation for (La)TeX relocated 1 longdesc The package provides macros for manipulating strings -- testing @@ -340523,11 +340528,11 @@ longdesc position of, or number of recurrences of, a substring. The longdesc package works equally in Plain TeX and LaTeX (though e-TeX is longdesc always required). The strings to be processed may contain longdesc (expandable) macros. -containersize 11216 -containerchecksum 82254f103053d91eeea4c6230142de06138c392542cac63731c7b34fec5130984bbdebc29ac3b56998717dca11ad444c44f410215b6b89e6748029721a9daac6 -doccontainersize 656876 -doccontainerchecksum c0c17b82ad0d5aad95d312935e0214a7e5404a23b9a284a56ac92ec9ea936a9bfd3a68a5b01e29c131b7850a3fd3922ac87020166eaf0a7ed9d695dc80d0a931 -docfiles size=229 +containersize 11252 +containerchecksum d02190c624808e5c5814f2c2a8c8ce9f28197a165bc988c02d6eac6fa8a22e3e1bb5c3b41b9b3a3db38917377097a0f97e65ae41ddd9422a97501c6c7a2d2668 +doccontainersize 674940 +doccontainerchecksum dbd3711d0e6ced0346feb8af281779cb3669bb849d8a04ea9d184961f473aefd3910bfbc77cebd9d150a409489fa1db65581f162cc37bdc2b36482474b439e6c +docfiles size=236 RELOC/doc/generic/xstring/README details="Readme" RELOC/doc/generic/xstring/test_etex.pdf RELOC/doc/generic/xstring/test_etex.tex @@ -340545,7 +340550,7 @@ catalogue-contact-repository https://framagit.org/unbonpetit/xstring/tree/master catalogue-ctan /macros/generic/xstring catalogue-license lppl1.3c catalogue-topics string -catalogue-version 1.83 +catalogue-version 1.84 name xtab category Package diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 index 92c5924722..69927dcc80 100644 --- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 +++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 @@ -1 +1 @@ -80110806a94117e3fa9b55a8b1fbfbb4 texlive.tlpdb +c2894a2eeafbc003a50718073aeef4fb texlive.tlpdb diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 index ea7b08572c..0bab6fbf9d 100644 --- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 +++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 @@ -1 +1 @@ -bbd521083a78458efd299ee4fd657d17e3a7dfd4d325d46dccf59587bff5a4a80d5d5defbe212049d686b79abdfc4d190a5d6d969e938ef1873cbe4c0d91f3f5 texlive.tlpdb +efe502fd798197b549c9fc6b4aaa2725e235d7c12db5bff9e42994b5ac07f5c82fb35483be3b54792c2f84c46ea7cb3a96465870b29a992bccb97fe4dbb2eba6 texlive.tlpdb diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc index 439c978638..74d1c65223 100644 --- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc +++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc @@ -1,10 +1,10 @@ -----BEGIN PGP SIGNATURE----- -iQEcBAEBCgAGBQJg92HrAAoJEEzhh34ZQ4xwSoUH/0KgJKaeOPoJAE2CX0AFDhBE -cFFgQLsAqgSBairSelfvXPyjqT5JCilNGK80TF4BZ3Lxn2D9NHcB20sHnN0SiddB -aKTzip/Lz0hhvKssTFhf8ugBVgpWt/3veMGrUgXEoyQGtIXPDo8Vc6oLuibddeMm -JwBMNQ4EiKGftcW4oF5k9sXiSXzBUPHd0fUVxIexf60nb9f+8VVeJmPHGvZ9sy+h -YZjdb6HgFiVZivVnlXS8jmiVugMKK0bydCMh3Ff90wW8qGRvMMPptWCMVVqLM0b3 -AGJS56QSb+/O2CzkNA5Ug8TgXU3Hv56Nav7Je+uELhJVNR3AVu7hT8BxqklVXc4= -=Vz2D +iQEcBAEBCgAGBQJg+LMkAAoJEEzhh34ZQ4xwJuIH/joW5C4n7hc7S5HGP4aJAsyp +1gv9zRFBd2ZUYD7WttfrBcGovo6e2wfzHn0leAyUBJ+UhtATPcsBWNknmsZbc0om +e01oeLoK5VLQAoJV8wh8hnRi662qW8gUdUDQ+a0i0DbNh1ESPvzm5fWCEE7U0HVN +lb7rGOsWpSaj135pJmkwGFt4DreWX2u9Ag3WorKTPr4bnhHSmqdr3PQ6HlaJREky +r+U1oCM3R/2iFcd7SUK29i4Ji8/4sUilPcM5S9Z4MRcHsPi1CRiqzT0bulpVAO+F +goMNiwsJkASDEDVtH5vxtiTn04yHB2O+2SKUGD4EAn0bgERoEsoDU0DYw9LwsDE= +=NhJo -----END PGP SIGNATURE----- diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz Binary files differindex b93b7e4666..8cc26bfd81 100644 --- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz +++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz diff --git a/systems/win32/miktex/tm/packages/next/pr.ini b/systems/win32/miktex/tm/packages/next/pr.ini index 0f2c3a6f22..2008816e7d 100644 --- a/systems/win32/miktex/tm/packages/next/pr.ini +++ b/systems/win32/miktex/tm/packages/next/pr.ini @@ -1,13 +1,13 @@ [repository]
-date=1626812099
+date=1626898489
lastupd=miktex-arctrl-bin-2.9 miktex-arctrl-bin-x64-2.9 miktex-asymptote-bin-2.9 miktex-asymptote-bin-x64-2.9 miktex-autosp-bin-2.9 miktex-autosp-bin-x64-2.9 miktex-axohelp-bin-2.9 miktex-axohelp-bin-x64-2.9 miktex-bibarts-bin-2.9 miktex-bibarts-bin-x64-2.9 miktex-bibtex-bin-2.9 miktex-bibtex-bin-x64-2.9 miktex-bibtex8bit-bin-2.9 miktex-bibtex8bit-bin-x64-2.9 miktex-bzip2-bin-2.9 miktex-bzip2-bin-x64-2.9 miktex-cairo-bin-2.9 miktex-cairo-bin-x64-2.9 miktex-chktex-bin-2.9 miktex-chktex-bin-x64-2.9
-lstdigest=08d3c76ef6a69c1fefe31ede358225c7
+lstdigest=08e07b53e9bf147576931184fd48a38a
numpkg=4538
relstate=next
-version=7871
+version=7872
;;;;This configuration file is signed by a MiKTeX maintainer. The signature follows.
;;;;-----BEGIN MIKTEX SIGNATURE-----
-;;;; signature/miktex: HdjoSuqmZgJ43iS5h7eQLx2cr+2fe5zhuWgost2LcjWT4EInC9FU9OOd9dq8DnRCPcArMbLckIrMqPgLFUyIoswVlPuu1DwTkRI2S2hoZd2tI0jpOFgfEFL1IOzpW5KThKx/O7Jn/+hXS4fTeQSEgOvoNGMOOcVg4YygJbAxrBDQH7Np/I/49448LIP5c+LX7dZF19uQxA5SMtfGT3DIF1hCzOQrN7nYbfkGJj51BF77OYd+4qI6mUtOlJkmhTzOK7GvD1zMbotW56moohG6myZoXdHjQlDP3q0ERg+ziJNPiMinzvTgJ0qT2nsWiWaYmDbzM21tnDxre70X3L5IYw==
+;;;; signature/miktex: V6NrpAEFxeaqP97Yf2ed8rfM/2+CqjWaENVq31C9b6Jrq6EhnZKxYs9BvVuqSt05HMT5VaDIHimlkfoH9HqdxUXGwv2qqnPOqd2rWKZ9jFaOG74aQPVrap5KAtsiiTzlfwJnvjXkFfQc6du1Ctz2GHwJR0vnIcOb47PIh+KqM/DC1op8i6e1wcNJdFX6N5cSosDSlSrY7sATo784faLs/f8o6pcAo2oN0VcHJhDlowfP5FZBgAYHyk2ujSkjhMZ2tFCQ/9Pmed1ulTEEgyj2/FnHR97FD/aqe1b+M9ul9EJqdZHNnjDh/eP2nA3Ir5Pr5f0MaVrv+AYPQFL8BLNRTQ==
;;;;-----END MIKTEX SIGNATURE-----
diff --git a/systems/win32/miktex/tm/packages/pr.ini b/systems/win32/miktex/tm/packages/pr.ini index b32269fc6a..9830c65809 100644 --- a/systems/win32/miktex/tm/packages/pr.ini +++ b/systems/win32/miktex/tm/packages/pr.ini @@ -1,13 +1,13 @@ [repository]
-date=1626811894
+date=1626898287
lastupd=cjk-ko cjk-ko__doc cjk-ko__source easing easing__doc easing__source emoji emoji__doc latex-via-exemplos longdivision longdivision__doc longdivision__source lwarp lwarp__doc lwarp__source twemoji-colr twemoji-colr__doc miktex-runtime-bin-2.9 miktex-runtime-bin-x64-2.9 changes
-lstdigest=1f48289902e04e5c86532db67cf145fb
+lstdigest=7b9d28d87210fc8a97500aec02fb04d0
numpkg=4538
relstate=stable
-version=7871
+version=7872
;;;;This configuration file is signed by a MiKTeX maintainer. The signature follows.
;;;;-----BEGIN MIKTEX SIGNATURE-----
-;;;; signature/miktex: W14gSXLGLOKR6JZTZoj3Cf6J5SO0CtHIRyVw8bZCcVF8KKclzYldgKq+AV4Jy7at3LvSZkRjDMJ75Mr+vHwwsWclxWnZprI5DMyGH4RVaPIWkYtujRCFirfuaO0MzNbFReGhL8z4snf9fkqsMzCNzxuRYFkOMzrOCZuSCsq5RCbsIx5FXXY56TrxRPTTgP09Ia1vF8UuRQ2DMuzlWGJB5lhlAq+4+iST6QnRt5xqg9/9r+Fk2AkzfJ6qVGVCh85g7yQXXp2hS25WbVyfVVwLEjvJamxt5hSQGRZkn8zF31ET4jgXBZTXWF2pZtn/pMrxp9h5ry9NNaDWXc2qryt/jQ==
+;;;; signature/miktex: aKwVulWfiGecGTzQme0z8R86yscILXSGlpXmZNe5ksC1FdlLNKG+ClRa6hOWr1eLSSzSM8PGZgIOWJq+XYvQoA4/cetapHe/kF2uKDePYz2cndJHjZ7LSruNPpcj03i0WFRKnkpTVHSjoZQ/Dt5I9ah7ahN7/0zGi+HpTnsmkuVpt0Kao5zWDji7dqSvcpXZ7FJhJ+XEk964bUZVkjpqJJZacf/+K6JMKQDe4HH2bNcYuxBBTo8Zd5XIbvIW8JaGmhdvma5wsNtboM2W3f9ulJofX3czlnPrrdi+p6KW/x1UJNfpmwo9WRRdQ212Us3dRTcNopDU6C7dSfUJtaIz9g==
;;;;-----END MIKTEX SIGNATURE-----
@@ -2,4 +2,4 @@ # The source CTAN of this site's material: dante.ctan.org # The year-month-day-hour-minute of this site's material: -2021-07-21-02-02 +2021-07-22-02-02 |