From c43a0b49bea6195daa6423809f4339d538b5c8d9 Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Thu, 22 Jul 2021 03:01:06 +0000 Subject: CTAN sync 202107220301 --- FILES.byname | 654 +- FILES.byname.gz | Bin 2329752 -> 2329848 bytes FILES.last07days | 692 +-- fonts/utilities/fontools/bin/afm2afm | 4 +- fonts/utilities/fontools/bin/autoinst | 99 +- fonts/utilities/fontools/bin/ot2kpx | 4 +- fonts/utilities/fontools/bin/splitttc | 4 +- fonts/utilities/fontools/doc/afm2afm.pdf | Bin 27065 -> 27053 bytes fonts/utilities/fontools/doc/autoinst.pdf | Bin 69654 -> 69866 bytes fonts/utilities/fontools/doc/ot2kpx.pdf | Bin 27441 -> 27426 bytes fonts/utilities/fontools/doc/splitttc.pdf | Bin 20583 -> 20571 bytes macros/generic/texdimens/README.md | 258 +- macros/generic/texdimens/texdimens.sty | 2 +- macros/generic/texdimens/texdimens.tex | 308 +- macros/generic/xstring/README | 4 +- macros/generic/xstring/test_etex.pdf | Bin 99780 -> 99781 bytes macros/generic/xstring/test_latex.pdf | Bin 150611 -> 155263 bytes macros/generic/xstring/xstring-en.pdf | Bin 187648 -> 199536 bytes macros/generic/xstring/xstring-en.tex | 2 +- macros/generic/xstring/xstring-fr.pdf | Bin 201920 -> 215317 bytes macros/generic/xstring/xstring-fr.tex | 2 +- macros/generic/xstring/xstring.tex | 343 +- macros/latex/contrib/lipsum/CHANGELOG.md | 39 + macros/latex/contrib/lipsum/DEPENDS.txt | 1 + macros/latex/contrib/lipsum/lipsum-cicero.txt | 2219 +++++++ macros/latex/contrib/lipsum/lipsum-cs.txt | 1457 +++++ macros/latex/contrib/lipsum/lipsum-la.txt | 1520 +++++ macros/latex/contrib/lipsum/lipsum.dtx | 6391 ++++---------------- macros/latex/contrib/lipsum/lipsum.ins | 65 +- macros/latex/contrib/lipsum/lipsum.pdf | Bin 812071 -> 644963 bytes .../contrib/pdfmanagement-testphase/CHANGELOG.md | 16 + .../contrib/pdfmanagement-testphase/README.md | 2 +- .../contrib/pdfmanagement-testphase/color-ltx.sty | 2 +- .../pdfmanagement-testphase/hyperref-generic.dtx | 110 +- .../pdfmanagement-testphase/hyperref-generic.pdf | Bin 947374 -> 949513 bytes .../hyperxmp-patches-tmp-ltx.sty | 2 +- .../l3backend-testphase.dtx | 205 +- .../l3backend-testphase.pdf | Bin 588657 -> 594809 bytes .../contrib/pdfmanagement-testphase/l3pdfannot.dtx | 31 +- .../contrib/pdfmanagement-testphase/l3pdfannot.pdf | Bin 573839 -> 577451 bytes .../contrib/pdfmanagement-testphase/l3pdfdict.dtx | 4 +- .../contrib/pdfmanagement-testphase/l3pdfdict.pdf | Bin 527212 -> 527225 bytes .../pdfmanagement-testphase/l3pdffield-action.dtx | 2 +- .../pdfmanagement-testphase/l3pdffield-action.pdf | Bin 547968 -> 548003 bytes .../l3pdffield-checkbox.dtx | 2 +- .../l3pdffield-checkbox.pdf | Bin 531008 -> 531031 bytes .../pdfmanagement-testphase/l3pdffield-choice.dtx | 2 +- .../pdfmanagement-testphase/l3pdffield-choice.pdf | Bin 534217 -> 534245 bytes .../l3pdffield-pushbutton.dtx | 16 +- .../l3pdffield-pushbutton.pdf | Bin 526297 -> 526426 bytes .../l3pdffield-radiobutton.dtx | 2 +- .../l3pdffield-radiobutton.pdf | Bin 576394 -> 576432 bytes .../l3pdffield-textfield.dtx | 2 +- .../l3pdffield-textfield.pdf | Bin 505648 -> 505665 bytes .../contrib/pdfmanagement-testphase/l3pdffield.dtx | 4 +- .../contrib/pdfmanagement-testphase/l3pdffield.pdf | Bin 739355 -> 739384 bytes .../contrib/pdfmanagement-testphase/l3pdffile.dtx | 4 +- .../contrib/pdfmanagement-testphase/l3pdffile.pdf | Bin 553295 -> 553454 bytes .../pdfmanagement-testphase/l3pdfmanagement.dtx | 13 +- .../pdfmanagement-testphase/l3pdfmanagement.pdf | Bin 658998 -> 658859 bytes .../contrib/pdfmanagement-testphase/l3pdfmeta.dtx | 4 +- .../contrib/pdfmanagement-testphase/l3pdfmeta.pdf | Bin 663954 -> 664002 bytes .../contrib/pdfmanagement-testphase/l3pdftools.dtx | 4 +- .../contrib/pdfmanagement-testphase/l3pdftools.pdf | Bin 518377 -> 518408 bytes .../contrib/pdfmanagement-testphase/l3pdfxform.dtx | 16 +- .../contrib/pdfmanagement-testphase/l3pdfxform.pdf | Bin 435902 -> 418445 bytes .../contrib/pdfmanagement-testphase/ltdocinit.dtx | 103 +- .../contrib/pdfmanagement-testphase/ltdocinit.pdf | Bin 552844 -> 537047 bytes .../pdfmanagement-testphase/pdflscape-ltx.sty | 2 +- .../pdfmanagement-firstaid.dtx | 8 +- .../pdfmanagement-firstaid.pdf | Bin 422433 -> 421608 bytes .../pdfmanagement-testphase.dtx | 6 +- .../pdfmanagement-testphase.pdf | Bin 446514 -> 446478 bytes .../pdfmanagement-testphase/transparent-ltx.sty | 2 +- .../xcolor-patches-tmp-ltx.sty | 20 +- .../contrib/to-be-determined/to-be-determined.pdf | Bin 183512 -> 183126 bytes .../contrib/to-be-determined/to-be-determined.sty | 6 +- .../contrib/to-be-determined/to-be-determined.tex | 2 +- macros/latex/contrib/ut-thesis/README | 8 +- macros/latex/contrib/ut-thesis/ut-thesis.dtx | 20 +- macros/latex/contrib/ut-thesis/ut-thesis.ins | 9 +- macros/latex/contrib/ut-thesis/ut-thesis.pdf | Bin 116669 -> 142544 bytes .../texlive/tlnet/tlpkg/installer/ctan-mirrors.pl | 1 - systems/texlive/tlnet/tlpkg/texlive.tlpdb | 127 +- systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 | 2 +- systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 | 2 +- .../texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc | 14 +- systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz | Bin 2324392 -> 2321548 bytes systems/win32/miktex/tm/packages/next/pr.ini | 8 +- systems/win32/miktex/tm/packages/pr.ini | 8 +- timestamp | 2 +- 91 files changed, 8231 insertions(+), 6630 deletions(-) create mode 100644 macros/latex/contrib/lipsum/CHANGELOG.md create mode 100644 macros/latex/contrib/lipsum/DEPENDS.txt create mode 100644 macros/latex/contrib/lipsum/lipsum-cicero.txt create mode 100644 macros/latex/contrib/lipsum/lipsum-cs.txt create mode 100644 macros/latex/contrib/lipsum/lipsum-la.txt 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 index 464ddc6936..8af4b94791 100644 Binary files a/FILES.byname.gz and b/FILES.byname.gz differ 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 version 20210401. +This document describes B 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 version 20210401. +This document describes B version 20210721. =head1 RECENT CHANGES @@ -4009,6 +4038,26 @@ This document describes B 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 version 20210401. +This document describes B 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 version 20210401. +This document describes B version 20210721. =head1 RECENT CHANGES diff --git a/fonts/utilities/fontools/doc/afm2afm.pdf b/fonts/utilities/fontools/doc/afm2afm.pdf index 0c4610bbfa..5729170dfd 100644 Binary files a/fonts/utilities/fontools/doc/afm2afm.pdf and b/fonts/utilities/fontools/doc/afm2afm.pdf differ diff --git a/fonts/utilities/fontools/doc/autoinst.pdf b/fonts/utilities/fontools/doc/autoinst.pdf index 9d3defddd8..003afb51d0 100644 Binary files a/fonts/utilities/fontools/doc/autoinst.pdf and b/fonts/utilities/fontools/doc/autoinst.pdf differ diff --git a/fonts/utilities/fontools/doc/ot2kpx.pdf b/fonts/utilities/fontools/doc/ot2kpx.pdf index b335757e7b..f2187ab324 100644 Binary files a/fonts/utilities/fontools/doc/ot2kpx.pdf and b/fonts/utilities/fontools/doc/ot2kpx.pdf differ diff --git a/fonts/utilities/fontools/doc/splitttc.pdf b/fonts/utilities/fontools/doc/splitttc.pdf index 454684a60d..5c68b8c142 100644 Binary files a/fonts/utilities/fontools/doc/splitttc.pdf and b/fonts/utilities/fontools/doc/splitttc.pdf differ 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 `\texdiminup` in case of a negative input, they will +Apart from the `\texdimenup` 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 `\texdiminup{X}`, if used as `Duu` in a dimension + "up" macros `\texdimenup{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{X}` produces + close to) `\maxdimen` it turns out that `\texdimen{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{}` +`\texdimenpt{}` > Does `\the\dimexpr \relax` then removes the `pt`. -`\texdiminbp{}` +`\texdimenbp{}` -> 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{}` +`\texdimenbpdown{}` -> 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{}` +`\texdimenbpup{}` -> 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{}` +`\texdimennd{}` -> 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{}` +`\texdimennddown{}` -> 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{}` +`\texdimenndup{}` -> 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{}` +`\texdimendd{}` -> 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{}` +`\texdimendddown{}` -> 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{}` +`\texdimenddup{}` -> 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{}` +`\texdimenmm{}` -> 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{}` +`\texdimenmmdown{}` -> 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{}` +`\texdimenmmup{}` -> 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{}` +`\texdimenpc{}` -> 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{}` +`\texdimenpcdown{}` -> 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{}` +`\texdimenpcup{}` -> 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{}` +`\texdimennc{}` -> 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{}` +`\texdimenncdown{}` -> 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{}` +`\texdimenncup{}` -> 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{}` +`\texdimencc{}` -> 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{}` +`\texdimenccdown{}` -> 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{}` +`\texdimenccup{}` -> 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{}` +`\texdimencm{}` -> 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{}` +`\texdimencmdown{}` -> 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{}` +`\texdimencmup{}` -> 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{}` +`\texdimenin{}` -> 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{}` +`\texdimenindown{}` -> 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{}` +`\texdimeninup{}` -> 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{}` (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{}` (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{}in`. + +`\texdimenbothcminpt{}` (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{}` (new with `0.9dev`) + +> Same as `\texdimenbothcminpt`. + +`\texdimenbothcminsp{}` (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{}` (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{}` 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 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 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 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)= 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 index 4d2b8134b2..17cb0ae3ac 100644 Binary files a/macros/generic/xstring/test_etex.pdf and b/macros/generic/xstring/test_etex.pdf differ diff --git a/macros/generic/xstring/test_latex.pdf b/macros/generic/xstring/test_latex.pdf index 2642a17751..8a1ee001e8 100644 Binary files a/macros/generic/xstring/test_latex.pdf and b/macros/generic/xstring/test_latex.pdf differ diff --git a/macros/generic/xstring/xstring-en.pdf b/macros/generic/xstring/xstring-en.pdf index d7581cd5e1..7a9da7b093 100644 Binary files a/macros/generic/xstring/xstring-en.pdf and b/macros/generic/xstring/xstring-en.pdf differ 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 index a1f72f8635..0550b0393d 100644 Binary files a/macros/generic/xstring/xstring-fr.pdf and b/macros/generic/xstring/xstring-fr.pdf differ 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 utiliss 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{% dfinit quel est le dlimiteur 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'excution 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 dlimiteur 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 dveloppe 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 dfinit \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 dfinit \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 dfinit\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 rsultat #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 utilise dans les macros toiles pour : -% 1) dvelopper l'argument selon qu'on a choisit \fullexpandarg -% ou \normalexpandarg, et ceci l'aide de la macro \xs_def -% 2) Ensuite, on dtokenize ce dveloppement de faon 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 dveloppe #2 selon le mode de dveloppement - \long\edef#1{\detokenize\expandafter{#1}}% puis on dtokenize 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 dveloppe #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 : numro du 1er argument; #2 : nombre de lignes; #3 argument optionnel; #4 : dernier numro de l'argument devant tre dtokenis 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 dtokniser 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 numro de l'argument devant tre dtokenis +% #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 dfinit : + % 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 dfinit 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 dfinit 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 gnrique qui lit \xs_reserved_C us par us -% 3 sous-routines sont appeles des moments cl : -% \xs_atendofgroup (un groupe se finit, appel rcursif) -% \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 gnrique qui lit \xs_reserved_D en procdant des tests avec \IfBeginWith -% 1 sous-routine est appele : -% \xs_atoccurfound (une occurrence a t trouve) +% 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 aprs la #3me 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 aprs l'occurrence -% si l'occurrence n'existe pas ou qu'un des arguments est vide, toutes les chaines renvoyes 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 rcursif \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 trouve ? + \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 passs avec succs : 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 enlve les 1ere units 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 dcimale constitue 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 dcimaux 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 dcimaux : on fait le test + \fi% les 2 sont décimaux : on fait le test }% - {\let\xs_reserved_A\xs_execsecond}% un seul est dcimal + {\let\xs_reserved_A\xs_execsecond}% un seul est décimal }% - {\let\xs_reserved_A\xs_execsecond}% #1 n'est pas dcimal + {\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 {}{code>} - \long\def\xs_testcase##1##2##3\_nil{% lit les 2 premieres units 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 {}{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 excute 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 excute le code ## BUGfix dans 1.82 + {\xs_testopt{\xs_IfStringCase_i}{}}% s'il n'y a plus de cas, on exécute le code ## 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 premires 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 premires 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'units 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 ncessaire pour trouver une unit syntaxique derrire +% 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 concatne + \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 aprs 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 aprs l'unit syntaxique n#1 -% Le dbut 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 rcursif \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]{}{}\macroA\macroB -% \macroA reoit ce qui se trouve avant la n me occurrence dans -% \macroB reoit ce qui est aprs cette n me occurrence +% \macroA reçoit ce qui se trouve avant la n ème occurrence dans +% \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 rcursivit 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, units 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 units 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 units 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 units 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 ime US est atteinte ? - \edef\__temp{\def\noexpand\xs_reserved_B{\unexpanded\expandafter{\xs_reserved_A}}}% on capture l'US en cours qui est celle cherche + \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 rcursivit 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 diffrente 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 units 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 units 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 units syntaxiques sont diffrentes : 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 1re 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 rcursive + \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 ncessite plus LaTeX et est dsormais 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 dernire, la partie entire et la partie dcimale sont - rcuprables dans les compteurs \integerpart et \decimalpart. Ce - qu'il reste aprs qu'un caractre 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 accentues dans l'exemple : \tokenize\aa{} - - Amlioration du code de la plupart des macros. - - criture d'une routine \xs_newmacro dfinissant les macros. - - Suppression de tous les compteurs grace \numexpr. - - Nouvelles fonctionnalits 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 aprs l'occurrence teste + 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 aprs la dernire 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 dpend plus d'aucune autre + b) la macro ne dépend plus d'aucune autre ------------------------------------------------------------------------------ v1.2 23/8/2008 - - Amlioration 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 - - Amlioration du code, mise en place de rcursivits terminales dans - toutes les macros rcursives, 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 chane est gale plusieurs chaines donnes et - excute un code spcifique - - Cration de la macro publique \StrSplit - Coupe la chaine en 2 une position donne + 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 chanes et renvoie la position du 1er caractre diffrent. - 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 dveloppables. - - 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 aprs la nime occurrence d'une sous chaine. - - Code amlior 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 lexme de chaque argument est 1-dvelopp avant que la - macro ne soit appele. Si un argument comporte plus qu'1 lexme, - il faut passer par \scancs*[1] pour 1-dvelopper toutes les units + - 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 - dfaut dans \StrSubstitute et \StrDel - - Cohrence dans les nom des squences de contrles temporaires qui - sont dsormais : \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 - numrique 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 fonctionnalits dans la recherche de groupes par un - identificateur caractrisant leur imbrication. Implmentation 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 gnriques \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 - dtoknis tort dans les macros toiles. - - Dans \xs_newmacro, on doit choisir le numro du dernier argument devant - tre dtoknis dans le cas d'une macro toile (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 - indpendante 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 dpendant de - \StrExpand. Il n'y a plus de version toile et dsormais, \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 dsormais plus color, en esprant qu'il sera un peu - plus agrable 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 dsormais tre plac dans les arguments des - macros (comme par exemple des \if, \ifx ou autre, mme 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 reflte 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 dveloppait 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 dveloppant 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 rsultat. 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 tte 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 indsirable 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 dsormais + \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 dsormais conforme + - La date contenue dans \xstringdate est désormais conforme ------------------------------------------------------------------------------ v1.7c 13/10/2013 - - les macros impliques dans \IfStrCase et \IfStrEqCase sont dsormais \long + - les macros impliquées dans \IfStrCase et \IfStrEqCase sont désormais \long ------------------------------------------------------------------------------ v1.8 07/12/2018 - - affectations globales supprimes (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 indfinie - et doit tre remplace 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 modifie 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} % %<*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} % -%<*lipsum> -\ProvidesFile{lipsum.ltd.tex}% - [\lipsumdate\space v\lipsumversion\space - The Lorem ipsum dummy text] - -% -%<*cicero> -\ProvidesFile{cicero.ltd.tex}% - [\lipsumdate\space v\lipsumversion\space - Text of Cicero's speech] - -% % \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_@@____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} -% +\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} -% + 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} -% +\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} +% +% \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 index df4fe78450..4186c1880f 100644 Binary files a/macros/latex/contrib/lipsum/lipsum.pdf and b/macros/latex/contrib/lipsum/lipsum.pdf differ 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 index 7c6e6bbc3b..de4dd81f09 100644 Binary files a/macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.pdf and b/macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.pdf differ 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} %\ProvidesExplFile %<*dvipdfmx> - {l3backend-testphase-dvipdfmx.def}{2021-06-29}{} + {l3backend-testphase-dvipdfmx.def}{2021-07-21}{} {LaTeX~PDF~management~testphase~bundle~backend~support: dvipdfmx} % %<*dvips> - {l3backend-testphase-dvips.def}{2021-06-29}{} + {l3backend-testphase-dvips.def}{2021-07-21}{} {LaTeX~PDF~management~testphase~bundle~backend~support: dvips} % %<*dvisvgm> - {l3backend-testphase-dvisvgm.def}{2021-06-29}{} + {l3backend-testphase-dvisvgm.def}{2021-07-21}{} {LaTeX~PDF~management~testphase~bundle~backend~support: 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)} % %<*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)} % %<*xdvipdfmx> - {l3backend-testphase-xetex.def}{2021-06-29}{} + {l3backend-testphase-xetex.def}{2021-07-21}{} {LaTeX~PDF~management~testphase~bundle~backend~support: XeTeX} % % \end{macrocode} @@ -106,11 +106,10 @@ \cs_generate_variant:Nn \@@_backend_ref_value:nn {en} % % \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 } % % \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 % % \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 - } } % @@ -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, } % -% 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 @@ } } % +% \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 } } % +% \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 @@ } } % +% \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> %\hook_gset_rule:nnnn{shipout/firstpage}{l3backend-xetex}{after}{pdf} %\hook_gset_rule:nnnn{shipout/firstpage}{l3backend-dvipdfmx}{after}{pdf} % @@ -673,8 +678,11 @@ \cs_new_protected:Npn \@@_backend_PageResources_obj_gpush: {} % +% \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: {} % +% \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~<>} + \@@_backend:x {put~@names~<>} } % @@ -1472,6 +1482,109 @@ \cs_new_protected:Npn \@@_backend_xform_use:n #1 {} \cs_new:Npn \@@_backend_xform_ref:n {} % +% \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} } + } + +% %<*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 index 581ef1f4b4..452b140f99 100644 Binary files a/macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.pdf and b/macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.pdf differ 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} % diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.pdf index f759ec411e..88bc60c05d 100644 Binary files a/macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.pdf and b/macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.pdf differ 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)} % % \end{macrocode} diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.pdf index 5f5f8a8b8b..8df8e77e73 100644 Binary files a/macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.pdf and b/macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.pdf differ 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 index ac54f8e89c..e1074881bc 100644 Binary files a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.pdf and b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.pdf differ 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 index 232283b07e..722ab053e6 100644 Binary files a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.pdf and b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.pdf differ 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 index efe3b54e9b..bb9bd4816e 100644 Binary files a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.pdf and b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.pdf differ 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 index ae3b69e25c..599400bd4e 100644 Binary files a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.pdf and b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.pdf differ 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 index fd3d40f8fc..4543748a37 100644 Binary files a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.pdf and b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.pdf differ 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 index 25b086b773..168a072993 100644 Binary files a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.pdf and b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.pdf differ 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 index 33d0035b06..b9d740e9f9 100644 Binary files a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield.pdf and b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield.pdf differ 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!! % diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffile.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdffile.pdf index d6515e96c2..faa18ada04 100644 Binary files a/macros/latex/contrib/pdfmanagement-testphase/l3pdffile.pdf and b/macros/latex/contrib/pdfmanagement-testphase/l3pdffile.pdf differ 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)} % % \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 index 757a38b292..f017471217 100644 Binary files a/macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.pdf and b/macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.pdf differ 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} % % \end{macrocode} diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.pdf index 1c2d21346c..030b8f17d8 100644 Binary files a/macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.pdf and b/macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.pdf differ 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} % % \end{macrocode} diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdftools.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdftools.pdf index aaa5a655ce..c322f0e976 100644 Binary files a/macros/latex/contrib/pdfmanagement-testphase/l3pdftools.pdf and b/macros/latex/contrib/pdfmanagement-testphase/l3pdftools.pdf differ 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} % % \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} % % \end{macrocode} diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.pdf index 2155b75584..7e6db80d8a 100644 Binary files a/macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.pdf and b/macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.pdf differ 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} % % \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 index 68a7c4ed10..ce3ecd37bb 100644 Binary files a/macros/latex/contrib/pdfmanagement-testphase/ltdocinit.pdf and b/macros/latex/contrib/pdfmanagement-testphase/ltdocinit.pdf differ 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 index d59ac10fb1..0aeab401dd 100644 Binary files a/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.pdf and b/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.pdf differ 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)} % %<*package> diff --git a/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.pdf b/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.pdf index 9e3207d30f..4928dea1fc 100644 Binary files a/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.pdf and b/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.pdf differ 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 index 02529dfa3d..7046da7c95 100644 Binary files a/macros/latex/contrib/to-be-determined/to-be-determined.pdf and b/macros/latex/contrib/to-be-determined/to-be-determined.pdf differ 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 , 2020-2021 Jesse Knight +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 @@ %\NeedsTeXFormat{LaTeX2e}[1999/12/01] %\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] % % %<*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 , 2020-2021 Jesse Knight -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 index 4fcbb633eb..877c314bb0 100644 Binary files a/macros/latex/contrib/ut-thesis/ut-thesis.pdf and b/macros/latex/contrib/ut-thesis/ut-thesis.pdf differ 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 index b93b7e4666..8cc26bfd81 100644 Binary files a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz and b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz differ 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----- diff --git a/timestamp b/timestamp index 9145a149ca..9203921bee 100644 --- a/timestamp +++ b/timestamp @@ -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 -- cgit v1.2.3