From 030fdc382a68376892a5e93b64b489c66f2837d5 Mon Sep 17 00:00:00 2001 From: David Hendriks <davidhendriks93@gmail.com> Date: Thu, 9 Apr 2020 15:44:20 +0100 Subject: [PATCH] removed doc files from being tracked for now --- .../utils/custom_logging_functions.py | 16 +- .../doctrees/custom_logging_functions.doctree | Bin 19960 -> 0 bytes docs/build/doctrees/environment.pickle | Bin 20543 -> 0 bytes docs/build/doctrees/examples.doctree | Bin 11766 -> 0 bytes docs/build/doctrees/functions.doctree | Bin 14397 -> 0 bytes docs/build/doctrees/index.doctree | Bin 4934 -> 0 bytes docs/build/doctrees/modules.doctree | Bin 2800 -> 0 bytes docs/build/doctrees/readme_link.doctree | Bin 13329 -> 0 bytes docs/build/doctrees/stellar_types.doctree | Bin 2711 -> 0 bytes docs/build/latex/LICRcyr2utf8.xdy | 101 - docs/build/latex/LICRlatin2utf8.xdy | 239 --- docs/build/latex/LatinRules.xdy | 607 ------ docs/build/latex/Makefile | 68 - docs/build/latex/binary_c-python.aux | 77 - docs/build/latex/binary_c-python.fdb_latexmk | 171 -- docs/build/latex/binary_c-python.fls | 302 --- docs/build/latex/binary_c-python.idx | 22 - docs/build/latex/binary_c-python.ilg | 7 - docs/build/latex/binary_c-python.ind | 69 - docs/build/latex/binary_c-python.log | 1275 ----------- docs/build/latex/binary_c-python.out | 12 - docs/build/latex/binary_c-python.pdf | Bin 120267 -> 0 bytes docs/build/latex/binary_c-python.tex | 425 ---- docs/build/latex/binary_c-python.toc | 13 - docs/build/latex/footnotehyper-sphinx.sty | 269 --- docs/build/latex/latexmkjarc | 22 - docs/build/latex/latexmkrc | 9 - docs/build/latex/make.bat | 31 - docs/build/latex/python.ist | 16 - docs/build/latex/sphinx.sty | 1859 ----------------- docs/build/latex/sphinx.xdy | 228 -- docs/build/latex/sphinxcyrillic.sty | 53 - docs/build/latex/sphinxhighlight.sty | 105 - docs/build/latex/sphinxhowto.cls | 91 - docs/build/latex/sphinxmanual.cls | 117 -- docs/build/latex/sphinxmessages.sty | 21 - docs/build/latex/sphinxmulticell.sty | 317 --- docs/source/conf.py | 3 + docs/source/index.rst | 4 +- 39 files changed, 13 insertions(+), 6536 deletions(-) delete mode 100644 docs/build/doctrees/custom_logging_functions.doctree delete mode 100644 docs/build/doctrees/environment.pickle delete mode 100644 docs/build/doctrees/examples.doctree delete mode 100644 docs/build/doctrees/functions.doctree delete mode 100644 docs/build/doctrees/index.doctree delete mode 100644 docs/build/doctrees/modules.doctree delete mode 100644 docs/build/doctrees/readme_link.doctree delete mode 100644 docs/build/doctrees/stellar_types.doctree delete mode 100644 docs/build/latex/LICRcyr2utf8.xdy delete mode 100644 docs/build/latex/LICRlatin2utf8.xdy delete mode 100644 docs/build/latex/LatinRules.xdy delete mode 100644 docs/build/latex/Makefile delete mode 100644 docs/build/latex/binary_c-python.aux delete mode 100644 docs/build/latex/binary_c-python.fdb_latexmk delete mode 100644 docs/build/latex/binary_c-python.fls delete mode 100644 docs/build/latex/binary_c-python.idx delete mode 100644 docs/build/latex/binary_c-python.ilg delete mode 100644 docs/build/latex/binary_c-python.ind delete mode 100644 docs/build/latex/binary_c-python.log delete mode 100644 docs/build/latex/binary_c-python.out delete mode 100644 docs/build/latex/binary_c-python.pdf delete mode 100644 docs/build/latex/binary_c-python.tex delete mode 100644 docs/build/latex/binary_c-python.toc delete mode 100644 docs/build/latex/footnotehyper-sphinx.sty delete mode 100644 docs/build/latex/latexmkjarc delete mode 100644 docs/build/latex/latexmkrc delete mode 100644 docs/build/latex/make.bat delete mode 100644 docs/build/latex/python.ist delete mode 100644 docs/build/latex/sphinx.sty delete mode 100644 docs/build/latex/sphinx.xdy delete mode 100644 docs/build/latex/sphinxcyrillic.sty delete mode 100644 docs/build/latex/sphinxhighlight.sty delete mode 100644 docs/build/latex/sphinxhowto.cls delete mode 100644 docs/build/latex/sphinxmanual.cls delete mode 100644 docs/build/latex/sphinxmessages.sty delete mode 100644 docs/build/latex/sphinxmulticell.sty diff --git a/binarycpython/utils/custom_logging_functions.py b/binarycpython/utils/custom_logging_functions.py index 18cad734f..c937f9d73 100644 --- a/binarycpython/utils/custom_logging_functions.py +++ b/binarycpython/utils/custom_logging_functions.py @@ -20,14 +20,14 @@ def autogen_C_logging_code(logging_dict, verbose=0): and items which are lists of parameters that will be put in that logging line Example:: - {'MY_STELLAR_DATA': - [ - 'model.time', - 'star[0].mass', - 'model.probability', - 'model.dt' - ] - } + {'MY_STELLAR_DATA': + [ + 'model.time', + 'star[0].mass', + 'model.probability', + 'model.dt' + ] + } """ # Check if the input is of the correct form diff --git a/docs/build/doctrees/custom_logging_functions.doctree b/docs/build/doctrees/custom_logging_functions.doctree deleted file mode 100644 index 51691515c5cda16b0701d87c78b4209978bfac9d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19960 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 Qo+xPIOlgsWkTzES7h+C!D*ylh diff --git a/docs/build/doctrees/environment.pickle b/docs/build/doctrees/environment.pickle deleted file mode 100644 index af9c1bd9a7743809206f0e5640562eb559cfa9ab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20543 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 W(Z_l!K&j(2f%-@Os}<>X`Tqf5z@Fa# diff --git a/docs/build/doctrees/examples.doctree b/docs/build/doctrees/examples.doctree deleted file mode 100644 index b163b3acd03758a10b43bf8eedd6b4f480f69ec3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11766 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 CmJ%EQ diff --git a/docs/build/doctrees/functions.doctree b/docs/build/doctrees/functions.doctree deleted file mode 100644 index 1f2b6c8e18c62bd9a4b992211104c9a29a4f823b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14397 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 diff --git a/docs/build/doctrees/index.doctree b/docs/build/doctrees/index.doctree deleted file mode 100644 index c7b1ab2268d1229e141199d9e82dbc5aeee8c451..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4934 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 diff --git a/docs/build/doctrees/modules.doctree b/docs/build/doctrees/modules.doctree deleted file mode 100644 index b33b192d57623a291830309bcb0ceceb8d1d03e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2800 zcmZ`*O>Y}F5Or+p%eG|4iHjnM(H2EeCxxsQ=po3Z=%t4m@TEy_0YNP(k?}6M<%cC7 z0<?z~F~CECvOlr^qmR3*wPc_M78ZxY8P3dmGyHA$pMUqZs=qK|I`dBE_FQSkZ4CV+ zD7bR*@A%^P_#vK!fuRely~%hCThPda%$eaTzKdcj^eoSu)T-4N9nlrNckv9H9VcDR z*S5mrsZ`Y5WTd=tLMu`^k4YcuyKne1IsPB5KVo$uI5-a7lHv+3iX-tr?1XM}!OO6l zOU2`*pVF{LoilRk9Rf>%>_}#D>Cnq^YAuBL-BGltfAyI!?-o;<T^T-0IzIFqou{oR zM&gOsPaeh7@Y6)-f=?K|mTXcQ{T_+1lR7?<5u>$hSK~U|39@S^^<5{0W<KZk+*pM1 z>|)zbk%E4vi&A^V){<7|GaTAdNVPntj5WpTIh{Gf*Arapic`cZK0{K!!1pD-=lH(D z_ayWhzsLg;Xk-=r*=6`N^VaEt<a$1rYEEWeRfV<j&v+RI>q{OEq{?#7_)H=K<mgO% zFMi;mU(hAvr4#XD7ip$tg$xvBp6hA64P7A_19EP|urbgI`pOqmZa9k<TVb!ljnyi@ ziML+75Z{WY;w6%_i~NsK+l>IjVUvgP!qBqhCerno)A_IO>Xz&P9tpb0^#;^MCk(CQ zc}@*+HzgvgfO&FXdI!WV?7qE!pLOS9uq^V|wxo$Y{nBvD%{7ndPCswn>0;ogyp5}+ zK!codO%%E+XuH2jB)Teeaxj2{of@oF@_?|-#BE%3MIrGroqZ5SnKy}Iq@~uuN>WoS z^euM|P(j;x*!Gc`(aLe)H*|lYxknCHjYNz9qd8aHP^V486r-S~qeY3ue(i?9_7#?U z&C;73t04+Z5+&0v+;tLiZ(=x}fn-WMzP5Ss0ObM|fhV$@X;VZ<MixjfNmFnOlTT|2 z&v}A?B@5{USv3ZDYz{P?;xZf<UTWh=&aZhMFSf&;pn1FOgok`7kt;`?w=1Pi=rBI@ zbGREVs8NYlu*+!y$-o(aA_WychLKdIcZ91<Gib#y@NPDKHMSDJpKWduZj3fWP{nd! z9lZ~+WiEz8?cJu8PGu#A(|bGjOo+e2s5W|cfzI1EKaO9)`R2yGli?@@V38$({NxqN zhdEVqPv;!zW<dQm2p=99o@v7fx&y!gH>vMjhHj?S3^5`dk`d5jCYMok!-#sP$(<-{ zOCV~<d{L4Xb;xQZkN})fG*1Q(D+yAoY^wd8sI=TOO~6KI9r0zUEhp<ID~M!{TuUo! zd>#@eEuH2mkmi=X6&u9MaDZSe@K2j2H*D0%swsw1$xDKm(AHE|#e0w>QwrA!*x_^G zTxnlVCX2=5ydDwf+RP`6Ur(TECo!C)6UkyaK^!lTWmokQUXGuC^BvMMGBb>u4L3=0 z=jPeUjnf*VUUE09+z40Xa4~Rn3jDLww)^1}Xevlctky26o7ipmq`Hk%=wvB!fHvib z0mb`xDYQ$l?#SLKN0&s%xybPWqr16I@IJ5w1(|;J;I75VN7cGsVghBf9xLHA6BIN- zeQQpkVyXEMoWAlU=16+LRKud-IwlJwQq55675R@-JFtGbsdvONZy5M^17Cu32Wux; zuIUxw1(i9$oJG4%?}U$GhpX%Ks0jVK4S;t*kyK0q*N!-9=G;{eiidCnR5<i&<OUNm zy*<M5hO~ZWKn!cMcG1Nmy-*<UC1L$ryccsD21!tlqz_TNzqH~r{GW?`8;0wps!k6x zi8hqn!(uH-bXw`v*Ibv>dUy??V8vADZS^bF$M=M-_F%)}VCA(sbi837ZPB>YhfnU? sYIgAO0ohx%5ngxT2wr9ueWW(na(Y9&--@e}?6K5l8b+qk=cniY0W8f{IsgCw diff --git a/docs/build/doctrees/readme_link.doctree b/docs/build/doctrees/readme_link.doctree deleted file mode 100644 index b6fc2602ddd43ca15f71a830fadc20040307b4c3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13329 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 K?a65;E$!cZHLElL diff --git a/docs/build/doctrees/stellar_types.doctree b/docs/build/doctrees/stellar_types.doctree deleted file mode 100644 index 5b36e720dead5cc220180fb2cc5ecf2e6b57ebf4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2711 zcmbVOOOM+&5Z;%)_CCCu$L5l3VH9n#Y2bAaJp?%vNPzURfYC$RQwxF?X_H-vR7q;r zJ_KkF1rmU_vOlB$u^%N_wp`>=0RqI~a2_AOnbGeDfBU1I^6>+vlfuc=UMtPG4Zarz z8CNd+6`ubQ-iIsSH}u}>!X!NS9cUy%rp#~^ehFg7A6lL`sa2ydI-)BMe+gIE>^SLC zzOm&mtmA1)&CkRwb8d&3W(73j0q7sR<BRCoKd#l<T7QNzBGLJj8Q;w*B6C5Ui(Rqr zyLH?Xe~?PW!=#u}e?*-#a#}d#8}r+j%pw<mn55KN2=U!fG^@UPtjO1kDNSw-pGBR* zA38dZTR{xOQ*j(Uif8_ZvCtVGGkPc4I5+xN;A6*Asi;|!gcz+|vl`_~C$t&^bUUtM z9k(*SHWtZT-s}}qe`a$b)#92mR$o>}D#jNZ@K(r+&ybcF0@2U$eu4KZyjL+rU}I#N z*cHH$Y7XrEla|ZjRdpxNaSPSgsI?zNcj5vq#Mff9k+%6CX;+{mH3%gSx6;p-uOc=G zTFr-gHr$Hj@@BV~@+RM_Pek0%X;hMKRFjUc@M-qjbfYWWVy=DUx?f$fcv0O5Z5*!* ztqwHA6EEV~T|Y<)6NyP0LY}N76)}C!a_5jGYVbi*lry81<BA2}{fVXpE^bwoVleUj zIal0Jr%k|uQ4reEEXU%wazkMI7R#f0S(p^7Q>POWi5z#~t`kYI4F2H^)KuE>jm?`~ ze;Ny16&YE~w8;V_gLoe~Npuz)g@wtdm4v6fl#qMr1X-06Jk|&5`kMF?!*gvMN%<X5 z!_A&Q5;Sd=9shtYB(QSS6?Uc6@g2se#T@Pi_tYq01r5V#21(x;n(&xZ_}~Xp<%J_$ zC7MAi_<rGLqn9Hq@%^m5Nw_iE5J447xdF~G)WijUrVH1$(kZP3f4Q}@WkTHgL1lCu zK<CGI-;Z9xd3$5)q(6@dSfC_;Pl|+sKTWBc7j(`6H^X`leb+xSJkf>`#&eJZZemGK zd^gc*h8zKhWF$wQk_%L;AJD>SvKIM02}Yf=BFjm`I-pt#BnW2|O{2lHQUYj|jd#Bm z<(3yrlSLN!bj}yKww!F9EGd#Wawn~<_<2T{v~-%rMCvFHSJfb1_!A^!!GBuL5>TdA zBQu$n{mKt=o)hH6QAbIc?@5$QDO^Wl`=M|yx39+I`}_Ors;69QGaoa4H-@Gi2Y(Sy zM2qnRaXbUc4yg7ZAAR}Fw}53}W@yqaH&L>7^K9kDX^pulxto=4gv(O6=sP+E|Ctlv zrsprgri?U&)z~FAkJtOrKPjV;%5oDk2WcZl3@kpz*lm`mx^uf!jxLChbCKc&M-NgR z>3w1|iemb$K<!$bd{nNhB}sKcYXmP7K~W~S->Rl?W3l-VoW3n`1QY)T%86aq`bUsN zCsNID)vMxv7~6p@rft1*o=rJJJucx(aPDC3B1tv9B|M`tB^X+Um(%rw-{<Nsj$+@d z+5qYfEW#|4;I$);nmI>X!Mu6^M_`4+XaF`W4&L`@R4r*WoFRs_S+nS35$8JOhf!F4 zi?`y9_5CO)Cjqv_+ldv!I56K}gulj5NVf`L-D>L}nsv8-P5;yIJJMpRgb%UZ|Fa&8 z;ya8A%&5YjZjzvk>ok#Qa4|8&T1jG|uJkGZHYJrFU;!1fsZJYSm8y@ogpGE;WwF2V zS{{1XvX6#qT<q`{+qUYR9p6J6Y19Vz+d}o>PsyS~RR)`G(Gnjw;_|YOSZrW*t;eBS HOt1e1*X=WW diff --git a/docs/build/latex/LICRcyr2utf8.xdy b/docs/build/latex/LICRcyr2utf8.xdy deleted file mode 100644 index a9ca1c82c..000000000 --- a/docs/build/latex/LICRcyr2utf8.xdy +++ /dev/null @@ -1,101 +0,0 @@ -;; -*- coding: utf-8; mode: Lisp; -*- -;; style file for xindy -;; filename: LICRcyr2utf8.xdy -;; description: style file for xindy which maps back LaTeX Internal -;; Character Representation of Cyrillic to utf-8 -;; usage: for use with pdflatex produced .idx files. -;; Contributed by the Sphinx team, July 2018. -(merge-rule "\IeC {\'\CYRG }" "Ѓ" :string) -(merge-rule "\IeC {\'\CYRK }" "ÐŒ" :string) -(merge-rule "\IeC {\'\cyrg }" "Ñ“" :string) -(merge-rule "\IeC {\'\cyrk }" "Ñœ" :string) -(merge-rule "\IeC {\CYRA }" "Ð" :string) -(merge-rule "\IeC {\CYRB }" "Б" :string) -(merge-rule "\IeC {\CYRC }" "Ц" :string) -(merge-rule "\IeC {\CYRCH }" "Ч" :string) -(merge-rule "\IeC {\CYRD }" "Д" :string) -(merge-rule "\IeC {\CYRDJE }" "Ђ" :string) -(merge-rule "\IeC {\CYRDZE }" "Ð…" :string) -(merge-rule "\IeC {\CYRDZHE }" "Ð" :string) -(merge-rule "\IeC {\CYRE }" "Е" :string) -(merge-rule "\IeC {\CYREREV }" "Ð" :string) -(merge-rule "\IeC {\CYRERY }" "Ы" :string) -(merge-rule "\IeC {\CYRF }" "Ф" :string) -(merge-rule "\IeC {\CYRG }" "Г" :string) -(merge-rule "\IeC {\CYRGUP }" "Ò" :string) -(merge-rule "\IeC {\CYRH }" "Ð¥" :string) -(merge-rule "\IeC {\CYRHRDSN }" "Ъ" :string) -(merge-rule "\IeC {\CYRI }" "И" :string) -(merge-rule "\IeC {\CYRIE }" "Є" :string) -(merge-rule "\IeC {\CYRII }" "І" :string) -(merge-rule "\IeC {\CYRISHRT }" "Й" :string) -(merge-rule "\IeC {\CYRJE }" "Ј" :string) -(merge-rule "\IeC {\CYRK }" "К" :string) -(merge-rule "\IeC {\CYRL }" "Л" :string) -(merge-rule "\IeC {\CYRLJE }" "Љ" :string) -(merge-rule "\IeC {\CYRM }" "Ðœ" :string) -(merge-rule "\IeC {\CYRN }" "Ð" :string) -(merge-rule "\IeC {\CYRNJE }" "Њ" :string) -(merge-rule "\IeC {\CYRO }" "О" :string) -(merge-rule "\IeC {\CYRP }" "П" :string) -(merge-rule "\IeC {\CYRR }" "Ð " :string) -(merge-rule "\IeC {\CYRS }" "С" :string) -(merge-rule "\IeC {\CYRSFTSN }" "Ь" :string) -(merge-rule "\IeC {\CYRSH }" "Ш" :string) -(merge-rule "\IeC {\CYRSHCH }" "Щ" :string) -(merge-rule "\IeC {\CYRT }" "Т" :string) -(merge-rule "\IeC {\CYRTSHE }" "Ћ" :string) -(merge-rule "\IeC {\CYRU }" "У" :string) -(merge-rule "\IeC {\CYRUSHRT }" "ÐŽ" :string) -(merge-rule "\IeC {\CYRV }" "Ð’" :string) -(merge-rule "\IeC {\CYRYA }" "Я" :string) -(merge-rule "\IeC {\CYRYI }" "Ї" :string) -(merge-rule "\IeC {\CYRYO }" "Ð" :string) -(merge-rule "\IeC {\CYRYU }" "Ю" :string) -(merge-rule "\IeC {\CYRZ }" "З" :string) -(merge-rule "\IeC {\CYRZH }" "Ж" :string) -(merge-rule "\IeC {\cyra }" "а" :string) -(merge-rule "\IeC {\cyrb }" "б" :string) -(merge-rule "\IeC {\cyrc }" "ц" :string) -(merge-rule "\IeC {\cyrch }" "ч" :string) -(merge-rule "\IeC {\cyrd }" "д" :string) -(merge-rule "\IeC {\cyrdje }" "Ñ’" :string) -(merge-rule "\IeC {\cyrdze }" "Ñ•" :string) -(merge-rule "\IeC {\cyrdzhe }" "ÑŸ" :string) -(merge-rule "\IeC {\cyre }" "е" :string) -(merge-rule "\IeC {\cyrerev }" "Ñ" :string) -(merge-rule "\IeC {\cyrery }" "Ñ‹" :string) -(merge-rule "\IeC {\cyrf }" "Ñ„" :string) -(merge-rule "\IeC {\cyrg }" "г" :string) -(merge-rule "\IeC {\cyrgup }" "Ò‘" :string) -(merge-rule "\IeC {\cyrh }" "Ñ…" :string) -(merge-rule "\IeC {\cyrhrdsn }" "ÑŠ" :string) -(merge-rule "\IeC {\cyri }" "и" :string) -(merge-rule "\IeC {\cyrie }" "Ñ”" :string) -(merge-rule "\IeC {\cyrii }" "Ñ–" :string) -(merge-rule "\IeC {\cyrishrt }" "й" :string) -(merge-rule "\IeC {\cyrje }" "ј" :string) -(merge-rule "\IeC {\cyrk }" "к" :string) -(merge-rule "\IeC {\cyrl }" "л" :string) -(merge-rule "\IeC {\cyrlje }" "Ñ™" :string) -(merge-rule "\IeC {\cyrm }" "м" :string) -(merge-rule "\IeC {\cyrn }" "н" :string) -(merge-rule "\IeC {\cyrnje }" "Ñš" :string) -(merge-rule "\IeC {\cyro }" "о" :string) -(merge-rule "\IeC {\cyrp }" "п" :string) -(merge-rule "\IeC {\cyrr }" "Ñ€" :string) -(merge-rule "\IeC {\cyrs }" "Ñ" :string) -(merge-rule "\IeC {\cyrsftsn }" "ÑŒ" :string) -(merge-rule "\IeC {\cyrsh }" "ш" :string) -(merge-rule "\IeC {\cyrshch }" "щ" :string) -(merge-rule "\IeC {\cyrt }" "Ñ‚" :string) -(merge-rule "\IeC {\cyrtshe }" "Ñ›" :string) -(merge-rule "\IeC {\cyru }" "у" :string) -(merge-rule "\IeC {\cyrushrt }" "Ñž" :string) -(merge-rule "\IeC {\cyrv }" "в" :string) -(merge-rule "\IeC {\cyrya }" "Ñ" :string) -(merge-rule "\IeC {\cyryi }" "Ñ—" :string) -(merge-rule "\IeC {\cyryo }" "Ñ‘" :string) -(merge-rule "\IeC {\cyryu }" "ÑŽ" :string) -(merge-rule "\IeC {\cyrz }" "з" :string) -(merge-rule "\IeC {\cyrzh }" "ж" :string) diff --git a/docs/build/latex/LICRlatin2utf8.xdy b/docs/build/latex/LICRlatin2utf8.xdy deleted file mode 100644 index 31c80f97c..000000000 --- a/docs/build/latex/LICRlatin2utf8.xdy +++ /dev/null @@ -1,239 +0,0 @@ -;; style file for xindy -;; filename: LICRlatin2utf8.xdy -;; description: style file for xindy which maps back LaTeX Internal -;; Character Representation of letters (as arising in .idx index -;; file) to UTF-8 encoding for correct sorting by xindy. -;; usage: for use with the pdflatex engine, -;; *not* for use with xelatex or lualatex. -;; -;; This is based upon xindy's distributed file tex/inputenc/utf8.xdy. -;; The modifications include: -;; -;; - Updates for compatibility with current LaTeX macro encoding. -;; -;; - Systematic usage of the \IeC {...} mark-up, because mark-up in -;; tex/inputenc/utf8.xdy was using it on seemingly random basis, and -;; Sphinx coercing of xindy usability for both Latin and Cyrillic scripts -;; with pdflatex requires its systematic presence here. -;; -;; - Support for some extra letters: Ÿ, ÅŠ, Å‹, Å’, Å“, IJ, ij, È· and ẞ. -;; -;; Indeed Sphinx needs to support for pdflatex engine all Unicode letters -;; available in TeX T1 font encoding. The above letters are found in -;; that encoding but not in the Latin1, 2, 3 charsets which are those -;; covered by original tex/inputenc/utf8.xdy. -;; -;; - There is a problem that È· is not supported out-of-the box by LaTeX -;; with inputenc, one must add explicitely -;; \DeclareUnicodeCharacter{0237}{\j} -;; to preamble of LaTeX document. However this character is not supported -;; by the TeX "times" font used by default by Sphinx for pdflatex engine. -;; -;; **Update**: since LaTeX 2018/12/01, the \j as well as \SS, \k{} and -;; \.{} need no extra user declaration anymore. -;; -;; - ẞ needs \DeclareUnicodeCharacter{1E9E}{\SS} (but ß needs no extra set-up). -;; -;; - U+02DB (Ë›) and U+02D9 (Ë™) are also not supported by inputenc -;; out of the box and require -;; \DeclareUnicodeCharacter{02DB}{\k{}} -;; \DeclareUnicodeCharacter{02D9}{\.{}} -;; to be added to preamble. -;; -;; - U+0127 ħ and U+0126 Ħ are absent from TeX T1+TS1 font encodings. -;; -;; - Characters ÅŠ and Å‹ are not supported by TeX font "times" used by -;; default by Sphinx for pdflatex engine but they are supported by -;; some TeX fonts, in particular by the default LaTeX font for T1 -;; encoding. -;; -;; - " and ~ must be escaped as ~" and resp. ~~ in xindy merge rules. -;; -;; Contributed by the Sphinx team, July 2018. -;; -;; See sphinx.xdy for superior figures, as they are escaped by LaTeX writer. -(merge-rule "\IeC {\textonesuperior }" "¹" :string) -(merge-rule "\IeC {\texttwosuperior }" "²" :string) -(merge-rule "\IeC {\textthreesuperior }" "³" :string) -(merge-rule "\IeC {\'a}" "á" :string) -(merge-rule "\IeC {\'A}" "Ã" :string) -(merge-rule "\IeC {\`a}" "à " :string) -(merge-rule "\IeC {\`A}" "À" :string) -(merge-rule "\IeC {\^a}" "â" :string) -(merge-rule "\IeC {\^A}" "Â" :string) -(merge-rule "\IeC {\~"a}" "ä" :string) -(merge-rule "\IeC {\~"A}" "Ä" :string) -(merge-rule "\IeC {\~~a}" "ã" :string) -(merge-rule "\IeC {\~~A}" "Ã" :string) -(merge-rule "\IeC {\c c}" "ç" :string) -(merge-rule "\IeC {\c C}" "Ç" :string) -(merge-rule "\IeC {\'c}" "ć" :string) -(merge-rule "\IeC {\'C}" "Ć" :string) -(merge-rule "\IeC {\^c}" "ĉ" :string) -(merge-rule "\IeC {\^C}" "Ĉ" :string) -(merge-rule "\IeC {\.c}" "Ä‹" :string) -(merge-rule "\IeC {\.C}" "ÄŠ" :string) -(merge-rule "\IeC {\c s}" "ÅŸ" :string) -(merge-rule "\IeC {\c S}" "Åž" :string) -(merge-rule "\IeC {\c t}" "Å£" :string) -(merge-rule "\IeC {\c T}" "Å¢" :string) -(merge-rule "\IeC {\-}" "Â" :string); soft hyphen -(merge-rule "\IeC {\textdiv }" "÷" :string) -(merge-rule "\IeC {\'e}" "é" :string) -(merge-rule "\IeC {\'E}" "É" :string) -(merge-rule "\IeC {\`e}" "è" :string) -(merge-rule "\IeC {\`E}" "È" :string) -(merge-rule "\IeC {\^e}" "ê" :string) -(merge-rule "\IeC {\^E}" "Ê" :string) -(merge-rule "\IeC {\~"e}" "ë" :string) -(merge-rule "\IeC {\~"E}" "Ë" :string) -(merge-rule "\IeC {\^g}" "Ä" :string) -(merge-rule "\IeC {\^G}" "Äœ" :string) -(merge-rule "\IeC {\.g}" "Ä¡" :string) -(merge-rule "\IeC {\.G}" "Ä " :string) -(merge-rule "\IeC {\^h}" "Ä¥" :string) -(merge-rule "\IeC {\^H}" "Ĥ" :string) -(merge-rule "\IeC {\H o}" "Å‘" :string) -(merge-rule "\IeC {\H O}" "Å" :string) -(merge-rule "\IeC {\textacutedbl }" "Ë" :string) -(merge-rule "\IeC {\H u}" "ű" :string) -(merge-rule "\IeC {\H U}" "Å°" :string) -(merge-rule "\IeC {\ae }" "æ" :string) -(merge-rule "\IeC {\AE }" "Æ" :string) -(merge-rule "\IeC {\textcopyright }" "©" :string) -(merge-rule "\IeC {\c \ }" "¸" :string) -(merge-rule "\IeC {\dh }" "ð" :string) -(merge-rule "\IeC {\DH }" "Ã" :string) -(merge-rule "\IeC {\dj }" "Ä‘" :string) -(merge-rule "\IeC {\DJ }" "Ä" :string) -(merge-rule "\IeC {\guillemotleft }" "«" :string) -(merge-rule "\IeC {\guillemotright }" "»" :string) -(merge-rule "\IeC {\'\i }" "Ã" :string) -(merge-rule "\IeC {\`\i }" "ì" :string) -(merge-rule "\IeC {\^\i }" "î" :string) -(merge-rule "\IeC {\~"\i }" "ï" :string) -(merge-rule "\IeC {\i }" "ı" :string) -(merge-rule "\IeC {\^\j }" "ĵ" :string) -(merge-rule "\IeC {\k {}}" "Ë›" :string) -(merge-rule "\IeC {\l }" "Å‚" :string) -(merge-rule "\IeC {\L }" "Å" :string) -(merge-rule "\IeC {\nobreakspace }" " " :string) -(merge-rule "\IeC {\o }" "ø" :string) -(merge-rule "\IeC {\O }" "Ø" :string) -(merge-rule "\IeC {\textsterling }" "£" :string) -(merge-rule "\IeC {\textparagraph }" "¶" :string) -(merge-rule "\IeC {\ss }" "ß" :string) -(merge-rule "\IeC {\textsection }" "§" :string) -(merge-rule "\IeC {\textbrokenbar }" "¦" :string) -(merge-rule "\IeC {\textcent }" "¢" :string) -(merge-rule "\IeC {\textcurrency }" "¤" :string) -(merge-rule "\IeC {\textdegree }" "°" :string) -(merge-rule "\IeC {\textexclamdown }" "¡" :string) -(merge-rule "\IeC {\texthbar }" "ħ" :string) -(merge-rule "\IeC {\textHbar }" "Ħ" :string) -(merge-rule "\IeC {\textonehalf }" "½" :string) -(merge-rule "\IeC {\textonequarter }" "¼" :string) -(merge-rule "\IeC {\textordfeminine }" "ª" :string) -(merge-rule "\IeC {\textordmasculine }" "º" :string) -(merge-rule "\IeC {\textperiodcentered }" "·" :string) -(merge-rule "\IeC {\textquestiondown }" "¿" :string) -(merge-rule "\IeC {\textregistered }" "®" :string) -(merge-rule "\IeC {\textthreequarters }" "¾" :string) -(merge-rule "\IeC {\textyen }" "Â¥" :string) -(merge-rule "\IeC {\th }" "þ" :string) -(merge-rule "\IeC {\TH }" "Þ" :string) -(merge-rule "\IeC {\'I}" "Ã" :string) -(merge-rule "\IeC {\`I}" "ÃŒ" :string) -(merge-rule "\IeC {\^I}" "ÃŽ" :string) -(merge-rule "\IeC {\~"I}" "Ã" :string) -(merge-rule "\IeC {\.I}" "Ä°" :string) -(merge-rule "\IeC {\^J}" "Ä´" :string) -(merge-rule "\IeC {\k a}" "Ä…" :string) -(merge-rule "\IeC {\k A}" "Ä„" :string) -(merge-rule "\IeC {\k e}" "Ä™" :string) -(merge-rule "\IeC {\k E}" "Ę" :string) -(merge-rule "\IeC {\'l}" "ĺ" :string) -(merge-rule "\IeC {\'L}" "Ĺ" :string) -(merge-rule "\IeC {\textlnot }" "¬" :string) -(merge-rule "\IeC {\textmu }" "µ" :string) -(merge-rule "\IeC {\'n}" "Å„" :string) -(merge-rule "\IeC {\'N}" "Ń" :string) -(merge-rule "\IeC {\~~n}" "ñ" :string) -(merge-rule "\IeC {\~~N}" "Ñ" :string) -(merge-rule "\IeC {\'o}" "ó" :string) -(merge-rule "\IeC {\'O}" "Ó" :string) -(merge-rule "\IeC {\`o}" "ò" :string) -(merge-rule "\IeC {\`O}" "Ã’" :string) -(merge-rule "\IeC {\^o}" "ô" :string) -(merge-rule "\IeC {\^O}" "Ô" :string) -(merge-rule "\IeC {\~"o}" "ö" :string) -(merge-rule "\IeC {\~"O}" "Ö" :string) -(merge-rule "\IeC {\~~o}" "õ" :string) -(merge-rule "\IeC {\~~O}" "Õ" :string) -(merge-rule "\IeC {\textpm }" "±" :string) -(merge-rule "\IeC {\r a}" "Ã¥" :string) -(merge-rule "\IeC {\r A}" "Ã…" :string) -(merge-rule "\IeC {\'r}" "Å•" :string) -(merge-rule "\IeC {\'R}" "Å”" :string) -(merge-rule "\IeC {\r u}" "ů" :string) -(merge-rule "\IeC {\r U}" "Å®" :string) -(merge-rule "\IeC {\'s}" "Å›" :string) -(merge-rule "\IeC {\'S}" "Åš" :string) -(merge-rule "\IeC {\^s}" "Å" :string) -(merge-rule "\IeC {\^S}" "Åœ" :string) -(merge-rule "\IeC {\textasciidieresis }" "¨" :string) -(merge-rule "\IeC {\textasciimacron }" "¯" :string) -(merge-rule "\IeC {\.{}}" "Ë™" :string) -(merge-rule "\IeC {\textasciiacute }" "´" :string) -(merge-rule "\IeC {\texttimes }" "×" :string) -(merge-rule "\IeC {\u a}" "ă" :string) -(merge-rule "\IeC {\u A}" "Ä‚" :string) -(merge-rule "\IeC {\u g}" "ÄŸ" :string) -(merge-rule "\IeC {\u G}" "Äž" :string) -(merge-rule "\IeC {\textasciibreve }" "˘" :string) -(merge-rule "\IeC {\'u}" "ú" :string) -(merge-rule "\IeC {\'U}" "Ú" :string) -(merge-rule "\IeC {\`u}" "ù" :string) -(merge-rule "\IeC {\`U}" "Ù" :string) -(merge-rule "\IeC {\^u}" "û" :string) -(merge-rule "\IeC {\^U}" "Û" :string) -(merge-rule "\IeC {\~"u}" "ü" :string) -(merge-rule "\IeC {\~"U}" "Ãœ" :string) -(merge-rule "\IeC {\u u}" "Å" :string) -(merge-rule "\IeC {\u U}" "Ŭ" :string) -(merge-rule "\IeC {\v c}" "Ä" :string) -(merge-rule "\IeC {\v C}" "ÄŒ" :string) -(merge-rule "\IeC {\v d}" "Ä" :string) -(merge-rule "\IeC {\v D}" "ÄŽ" :string) -(merge-rule "\IeC {\v e}" "Ä›" :string) -(merge-rule "\IeC {\v E}" "Äš" :string) -(merge-rule "\IeC {\v l}" "ľ" :string) -(merge-rule "\IeC {\v L}" "Ľ" :string) -(merge-rule "\IeC {\v n}" "ň" :string) -(merge-rule "\IeC {\v N}" "Ň" :string) -(merge-rule "\IeC {\v r}" "Å™" :string) -(merge-rule "\IeC {\v R}" "Ř" :string) -(merge-rule "\IeC {\v s}" "Å¡" :string) -(merge-rule "\IeC {\v S}" "Å " :string) -(merge-rule "\IeC {\textasciicaron }" "ˇ" :string) -(merge-rule "\IeC {\v t}" "Å¥" :string) -(merge-rule "\IeC {\v T}" "Ť" :string) -(merge-rule "\IeC {\v z}" "ž" :string) -(merge-rule "\IeC {\v Z}" "Ž" :string) -(merge-rule "\IeC {\'y}" "ý" :string) -(merge-rule "\IeC {\'Y}" "Ã" :string) -(merge-rule "\IeC {\~"y}" "ÿ" :string) -(merge-rule "\IeC {\'z}" "ź" :string) -(merge-rule "\IeC {\'Z}" "Ź" :string) -(merge-rule "\IeC {\.z}" "ż" :string) -(merge-rule "\IeC {\.Z}" "Å»" :string) -;; letters not in Latin1, 2, 3 but available in TeX T1 font encoding -(merge-rule "\IeC {\~"Y}" "Ÿ" :string) -(merge-rule "\IeC {\NG }" "ÅŠ" :string) -(merge-rule "\IeC {\ng }" "Å‹" :string) -(merge-rule "\IeC {\OE }" "Å’" :string) -(merge-rule "\IeC {\oe }" "Å“" :string) -(merge-rule "\IeC {\IJ }" "IJ" :string) -(merge-rule "\IeC {\ij }" "ij" :string) -(merge-rule "\IeC {\j }" "È·" :string) -(merge-rule "\IeC {\SS }" "ẞ" :string) diff --git a/docs/build/latex/LatinRules.xdy b/docs/build/latex/LatinRules.xdy deleted file mode 100644 index 99f14a2ee..000000000 --- a/docs/build/latex/LatinRules.xdy +++ /dev/null @@ -1,607 +0,0 @@ -;; style file for xindy -;; filename: LatinRules.xdy -;; -;; It is based upon xindy's files lang/general/utf8.xdy and -;; lang/general/utf8-lang.xdy which implement -;; "a general sorting order for Western European languages" -;; -;; The aim for Sphinx is to be able to index in a Cyrillic document -;; also terms using the Latin alphabets, inclusive of letters -;; with diacritics. To this effect the xindy rules from lang/general -;; got manually re-coded to avoid collisions with the encoding -;; done by xindy for sorting words in Cyrillic languages, which was -;; observed not to use bytes with octal encoding 0o266 or higher. -;; -;; So here we use only 0o266 or higher bytes. -;; (ÅŠ, Å‹, IJ, and ij are absent from -;; lang/general/utf8.xdy and not included here) -;; Contributed by the Sphinx team, 2018. - -(define-letter-group "A" :prefixes ("¶")) -(define-letter-group "B" :after "A" :prefixes ("·")) -(define-letter-group "C" :after "B" :prefixes ("¸")) -(define-letter-group "D" :after "C" :prefixes ("¹")) -(define-letter-group "E" :after "D" :prefixes ("º")) -(define-letter-group "F" :after "E" :prefixes ("»")) -(define-letter-group "G" :after "F" :prefixes ("¼")) -(define-letter-group "H" :after "G" :prefixes ("½")) -(define-letter-group "I" :after "H" :prefixes ("¾")) -(define-letter-group "J" :after "I" :prefixes ("¿")) -(define-letter-group "K" :after "J" :prefixes ("À")) -(define-letter-group "L" :after "K" :prefixes ("Á")) -(define-letter-group "M" :after "L" :prefixes ("Â")) -(define-letter-group "N" :after "M" :prefixes ("Ã")) -(define-letter-group "O" :after "N" :prefixes ("Ä")) -(define-letter-group "P" :after "O" :prefixes ("È")) -(define-letter-group "Q" :after "P" :prefixes ("Ê")) -(define-letter-group "R" :after "Q" :prefixes ("Ë")) -(define-letter-group "S" :after "R" :prefixes ("Ð")) -(define-letter-group "T" :after "S" :prefixes ("Ú")) -(define-letter-group "U" :after "T" :prefixes ("à")) -(define-letter-group "V" :after "U" :prefixes ("å")) -(define-letter-group "W" :after "V" :prefixes ("æ")) -(define-letter-group "X" :after "W" :prefixes ("ë")) -(define-letter-group "Y" :after "X" :prefixes ("í")) -(define-letter-group "Z" :after "Y" :prefixes ("ð")) - -(define-rule-set "sphinx-xy-alphabetize" - - :rules (("À" "¶" :string) - ("Ä‚" "¶" :string) - ("â" "¶" :string) - ("Ä" "¶" :string) - ("à " "¶" :string) - ("Ã…" "¶" :string) - ("Ã" "¶" :string) - ("Ã" "¶" :string) - ("á" "¶" :string) - ("ã" "¶" :string) - ("Â" "¶" :string) - ("ă" "¶" :string) - ("Ã¥" "¶" :string) - ("Ä…" "¶" :string) - ("ä" "¶" :string) - ("Ä„" "¶" :string) - ("æ" "¶º" :string) - ("Æ" "¶º" :string) - ("ć" "¸" :string) - ("ĉ" "¸" :string) - ("ç" "¸" :string) - ("ÄŒ" "¸" :string) - ("Ä" "¸" :string) - ("Ĉ" "¸" :string) - ("Ç" "¸" :string) - ("Ć" "¸" :string) - ("Ä" "¹" :string) - ("Ä" "¹" :string) - ("ÄŽ" "¹" :string) - ("Ä‘" "¹" :string) - ("ê" "º" :string) - ("Ę" "º" :string) - ("Äš" "º" :string) - ("ë" "º" :string) - ("Ä›" "º" :string) - ("é" "º" :string) - ("È" "º" :string) - ("Ë" "º" :string) - ("É" "º" :string) - ("è" "º" :string) - ("Ê" "º" :string) - ("Ä™" "º" :string) - ("Ä" "¼" :string) - ("ÄŸ" "¼" :string) - ("Äž" "¼" :string) - ("Äœ" "¼" :string) - ("Ä¥" "½" :string) - ("Ĥ" "½" :string) - ("Ã" "¾" :string) - ("Ã" "¾" :string) - ("ï" "¾" :string) - ("ÃŽ" "¾" :string) - ("î" "¾" :string) - ("ı" "¾" :string) - ("Ä°" "¾" :string) - ("Ã" "¾" :string) - ("ÃŒ" "¾" :string) - ("ì" "¾" :string) - ("Ä´" "¿" :string) - ("ĵ" "¿" :string) - ("Å‚" "Á" :string) - ("Å" "Á" :string) - ("ľ" "Á" :string) - ("Ľ" "Á" :string) - ("Å„" "Ã" :string) - ("Ń" "Ã" :string) - ("ñ" "Ã" :string) - ("ň" "Ã" :string) - ("Ñ" "Ã" :string) - ("Ň" "Ã" :string) - ("Õ" "Ä" :string) - ("Å" "Ä" :string) - ("ó" "Ä" :string) - ("ö" "Ä" :string) - ("ô" "Ä" :string) - ("Å‘" "Ä" :string) - ("Ø" "Ä" :string) - ("Ö" "Ä" :string) - ("õ" "Ä" :string) - ("Ô" "Ä" :string) - ("ø" "Ä" :string) - ("Ó" "Ä" :string) - ("Ã’" "Ä" :string) - ("ò" "Ä" :string) - ("Å“" "ĺ" :string) - ("Å’" "ĺ" :string) - ("Ř" "Ë" :string) - ("Å™" "Ë" :string) - ("Å”" "Ë" :string) - ("Å•" "Ë" :string) - ("Å" "Ð" :string) - ("Åš" "Ð" :string) - ("È™" "Ð" :string) - ("ÅŸ" "Ð" :string) - ("Åœ" "Ð" :string) - ("Å›" "Ð" :string) - ("Ș" "Ð" :string) - ("Å¡" "Ð" :string) - ("Åž" "Ð" :string) - ("Å " "Ð" :string) - ("ß" "ÐÐ" :string) - ("Èš" "Ú" :string) - ("Ť" "Ú" :string) - ("È›" "Ú" :string) - ("Å¥" "Ú" :string) - ("û" "à" :string) - ("Å" "à" :string) - ("ů" "à" :string) - ("ű" "à" :string) - ("ù" "à" :string) - ("Ŭ" "à" :string) - ("Ù" "à" :string) - ("Å°" "à" :string) - ("Ãœ" "à" :string) - ("Å®" "à" :string) - ("ú" "à" :string) - ("Ú" "à" :string) - ("Û" "à" :string) - ("ü" "à" :string) - ("ÿ" "í" :string) - ("Ã" "í" :string) - ("Ÿ" "í" :string) - ("ý" "í" :string) - ("Å»" "ð" :string) - ("Ž" "ð" :string) - ("Ź" "ð" :string) - ("ž" "ð" :string) - ("ż" "ð" :string) - ("ź" "ð" :string) - ("a" "¶" :string) - ("A" "¶" :string) - ("b" "·" :string) - ("B" "·" :string) - ("c" "¸" :string) - ("C" "¸" :string) - ("d" "¹" :string) - ("D" "¹" :string) - ("e" "º" :string) - ("E" "º" :string) - ("F" "»" :string) - ("f" "»" :string) - ("G" "¼" :string) - ("g" "¼" :string) - ("H" "½" :string) - ("h" "½" :string) - ("i" "¾" :string) - ("I" "¾" :string) - ("J" "¿" :string) - ("j" "¿" :string) - ("K" "À" :string) - ("k" "À" :string) - ("L" "Á" :string) - ("l" "Á" :string) - ("M" "Â" :string) - ("m" "Â" :string) - ("n" "Ã" :string) - ("N" "Ã" :string) - ("O" "Ä" :string) - ("o" "Ä" :string) - ("p" "È" :string) - ("P" "È" :string) - ("Q" "Ê" :string) - ("q" "Ê" :string) - ("r" "Ë" :string) - ("R" "Ë" :string) - ("S" "Ð" :string) - ("s" "Ð" :string) - ("t" "Ú" :string) - ("T" "Ú" :string) - ("u" "à" :string) - ("U" "à" :string) - ("v" "å" :string) - ("V" "å" :string) - ("W" "æ" :string) - ("w" "æ" :string) - ("x" "ë" :string) - ("X" "ë" :string) - ("Y" "í" :string) - ("y" "í" :string) - ("z" "ð" :string) - ("Z" "ð" :string) - )) - -(define-rule-set "sphinx-xy-resolve-diacritics" - - :rules (("Ĥ" "£" :string) - ("ó" "£" :string) - ("ľ" "£" :string) - ("Ř" "£" :string) - ("Ä" "£" :string) - ("Ä" "£" :string) - ("Äš" "£" :string) - ("Ä¥" "£" :string) - ("ÄŒ" "£" :string) - ("Ä´" "£" :string) - ("Ä›" "£" :string) - ("ž" "£" :string) - ("ÄŽ" "£" :string) - ("Å™" "£" :string) - ("Ž" "£" :string) - ("ı" "£" :string) - ("Ť" "£" :string) - ("á" "£" :string) - ("Ä" "£" :string) - ("Ã" "£" :string) - ("ň" "£" :string) - ("Å " "£" :string) - ("Ň" "£" :string) - ("ĵ" "£" :string) - ("Å¥" "£" :string) - ("Ó" "£" :string) - ("ý" "£" :string) - ("Äœ" "£" :string) - ("Ú" "£" :string) - ("Ľ" "£" :string) - ("Å¡" "£" :string) - ("Ã" "£" :string) - ("ú" "£" :string) - ("Åš" "¤" :string) - ("ć" "¤" :string) - ("Å" "¤" :string) - ("Å‚" "¤" :string) - ("Å„" "¤" :string) - ("À" "¤" :string) - ("Ź" "¤" :string) - ("à " "¤" :string) - ("Ń" "¤" :string) - ("Ä" "¤" :string) - ("ÿ" "¤" :string) - ("Å›" "¤" :string) - ("Äž" "¤" :string) - ("ÄŸ" "¤" :string) - ("Ù" "¤" :string) - ("Ä°" "¤" :string) - ("Ä‘" "¤" :string) - ("ù" "¤" :string) - ("Èš" "¤" :string) - ("é" "¤" :string) - ("Å•" "¤" :string) - ("Ć" "¤" :string) - ("È›" "¤" :string) - ("ò" "¤" :string) - ("ź" "¤" :string) - ("Ã’" "¤" :string) - ("Ÿ" "¤" :string) - ("Å”" "¤" :string) - ("É" "¤" :string) - ("ĉ" "¥" :string) - ("ô" "¥" :string) - ("Ã" "¥" :string) - ("Å" "¥" :string) - ("Å»" "¥" :string) - ("Ä‚" "¥" :string) - ("Åœ" "¥" :string) - ("ñ" "¥" :string) - ("Å" "¥" :string) - ("Ã" "¥" :string) - ("È" "¥" :string) - ("Ô" "¥" :string) - ("Ŭ" "¥" :string) - ("ż" "¥" :string) - ("Ñ" "¥" :string) - ("è" "¥" :string) - ("Ĉ" "¥" :string) - ("ă" "¥" :string) - ("â" "¦" :string) - ("û" "¦" :string) - ("ê" "¦" :string) - ("Õ" "¦" :string) - ("õ" "¦" :string) - ("È™" "¦" :string) - ("ç" "¦" :string) - ("Â" "¦" :string) - ("Ê" "¦" :string) - ("Û" "¦" :string) - ("Ç" "¦" :string) - ("ì" "¦" :string) - ("ÃŒ" "¦" :string) - ("Ș" "¦" :string) - ("ö" "§" :string) - ("Ö" "§" :string) - ("ÅŸ" "§" :string) - ("ů" "§" :string) - ("ë" "§" :string) - ("ã" "§" :string) - ("î" "§" :string) - ("ÃŽ" "§" :string) - ("Ã" "§" :string) - ("Åž" "§" :string) - ("Å®" "§" :string) - ("Ë" "§" :string) - ("ï" "¨" :string) - ("Å" "¨" :string) - ("Ã" "¨" :string) - ("Ę" "¨" :string) - ("Å‘" "¨" :string) - ("Ãœ" "¨" :string) - ("Ã…" "¨" :string) - ("ü" "¨" :string) - ("Ä™" "¨" :string) - ("Ã¥" "¨" :string) - ("Ä" "©" :string) - ("ű" "©" :string) - ("Ø" "©" :string) - ("ø" "©" :string) - ("Å°" "©" :string) - ("ä" "©" :string) - ("Ä„" "ª" :string) - ("Ä…" "ª" :string) - ("Å“" "ÿ" :string) - ("ß" "ÿ" :string) - ("Æ" "ÿ" :string) - ("Å’" "ÿ" :string) - ("æ" "ÿ" :string) - ("e" "¢" :string) - ("t" "¢" :string) - ("L" "¢" :string) - ("Y" "¢" :string) - ("J" "¢" :string) - ("a" "¢" :string) - ("p" "¢" :string) - ("u" "¢" :string) - ("j" "¢" :string) - ("b" "¢" :string) - ("G" "¢" :string) - ("U" "¢" :string) - ("F" "¢" :string) - ("H" "¢" :string) - ("i" "¢" :string) - ("z" "¢" :string) - ("c" "¢" :string) - ("l" "¢" :string) - ("A" "¢" :string) - ("Q" "¢" :string) - ("w" "¢" :string) - ("D" "¢" :string) - ("R" "¢" :string) - ("d" "¢" :string) - ("s" "¢" :string) - ("r" "¢" :string) - ("k" "¢" :string) - ("v" "¢" :string) - ("m" "¢" :string) - ("P" "¢" :string) - ("y" "¢" :string) - ("K" "¢" :string) - ("q" "¢" :string) - ("S" "¢" :string) - ("I" "¢" :string) - ("C" "¢" :string) - ("M" "¢" :string) - ("Z" "¢" :string) - ("T" "¢" :string) - ("W" "¢" :string) - ("B" "¢" :string) - ("h" "¢" :string) - ("x" "¢" :string) - ("X" "¢" :string) - ("f" "¢" :string) - ("E" "¢" :string) - ("V" "¢" :string) - ("N" "¢" :string) - ("O" "¢" :string) - ("o" "¢" :string) - ("g" "¢" :string) - ("n" "¢" :string) - )) - -(define-rule-set "sphinx-xy-resolve-case" - - :rules (("Ú" "8" :string) - ("Ÿ" "8" :string) - ("Ç" "8" :string) - ("Ĉ" "8" :string) - ("Å”" "8" :string) - ("Ľ" "8" :string) - ("Å®" "8" :string) - ("Ã" "8" :string) - ("É" "8" :string) - ("Ë" "8" :string) - ("Ș" "8" :string) - ("ÃŒ" "8" :string) - ("Ê" "8" :string) - ("Ň" "8" :string) - ("Ä„" "8" :string) - ("Å " "8" :string) - ("Û" "8" :string) - ("Åž" "8" :string) - ("Ć" "8" :string) - ("Ã’" "8" :string) - ("Äœ" "8" :string) - ("Ñ" "8" :string) - ("Ó" "8" :string) - ("ÃŽ" "8" :string) - ("Ã" "8" :string) - ("Ã" "8" :string) - ("Èš" "8" :string) - ("Ã…" "8" :string) - ("Äž" "8" :string) - ("Ãœ" "8" :string) - ("È" "8" :string) - ("Ô" "8" :string) - ("Ä°" "8" :string) - ("Å°" "8" :string) - ("Ù" "8" :string) - ("Ŭ" "8" :string) - ("Â" "8" :string) - ("Ť" "8" :string) - ("Ń" "8" :string) - ("ÄŽ" "8" :string) - ("Ź" "8" :string) - ("Ž" "8" :string) - ("Ä" "8" :string) - ("Åœ" "8" :string) - ("ÄŒ" "8" :string) - ("Ä´" "8" :string) - ("Ö" "8" :string) - ("Ø" "8" :string) - ("Å»" "8" :string) - ("Å" "8" :string) - ("Ä‚" "8" :string) - ("Äš" "8" :string) - ("Å" "8" :string) - ("Õ" "8" :string) - ("Ę" "8" :string) - ("Ã" "8" :string) - ("À" "8" :string) - ("Ĥ" "8" :string) - ("Ä" "8" :string) - ("Åš" "8" :string) - ("Ř" "8" :string) - ("Ã" "8" :string) - ("Å’" "89" :string) - ("Æ" "89" :string) - ("ì" "9" :string) - ("è" "9" :string) - ("Ä…" "9" :string) - ("Å¡" "9" :string) - ("ú" "9" :string) - ("Ã¥" "9" :string) - ("ă" "9" :string) - ("Ä™" "9" :string) - ("ü" "9" :string) - ("ź" "9" :string) - ("ò" "9" :string) - ("Å¥" "9" :string) - ("È›" "9" :string) - ("ĵ" "9" :string) - ("Å•" "9" :string) - ("ż" "9" :string) - ("ä" "9" :string) - ("ý" "9" :string) - ("ù" "9" :string) - ("á" "9" :string) - ("é" "9" :string) - ("Ä" "9" :string) - ("ň" "9" :string) - ("Å›" "9" :string) - ("ø" "9" :string) - ("Ã" "9" :string) - ("Ä‘" "9" :string) - ("ı" "9" :string) - ("ÄŸ" "9" :string) - ("î" "9" :string) - ("ã" "9" :string) - ("à " "9" :string) - ("Å™" "9" :string) - ("Å‘" "9" :string) - ("ů" "9" :string) - ("È™" "9" :string) - ("ÿ" "9" :string) - ("ë" "9" :string) - ("Å" "9" :string) - ("ç" "9" :string) - ("ű" "9" :string) - ("ñ" "9" :string) - ("õ" "9" :string) - ("Ä›" "9" :string) - ("ÅŸ" "9" :string) - ("ž" "9" :string) - ("Ä" "9" :string) - ("Å" "9" :string) - ("Å„" "9" :string) - ("û" "9" :string) - ("Å‚" "9" :string) - ("Ä" "9" :string) - ("Ä¥" "9" :string) - ("ê" "9" :string) - ("ô" "9" :string) - ("ĉ" "9" :string) - ("â" "9" :string) - ("ć" "9" :string) - ("ï" "9" :string) - ("ö" "9" :string) - ("ľ" "9" :string) - ("ó" "9" :string) - ("æ" "99" :string) - ("ß" "99" :string) - ("Å“" "99" :string) - ("N" "8" :string) - ("V" "8" :string) - ("O" "8" :string) - ("X" "8" :string) - ("E" "8" :string) - ("P" "8" :string) - ("K" "8" :string) - ("T" "8" :string) - ("Z" "8" :string) - ("M" "8" :string) - ("C" "8" :string) - ("I" "8" :string) - ("S" "8" :string) - ("B" "8" :string) - ("W" "8" :string) - ("D" "8" :string) - ("R" "8" :string) - ("H" "8" :string) - ("F" "8" :string) - ("Q" "8" :string) - ("A" "8" :string) - ("G" "8" :string) - ("U" "8" :string) - ("J" "8" :string) - ("Y" "8" :string) - ("L" "8" :string) - ("o" "9" :string) - ("n" "9" :string) - ("g" "9" :string) - ("x" "9" :string) - ("f" "9" :string) - ("y" "9" :string) - ("q" "9" :string) - ("h" "9" :string) - ("w" "9" :string) - ("s" "9" :string) - ("d" "9" :string) - ("v" "9" :string) - ("k" "9" :string) - ("r" "9" :string) - ("m" "9" :string) - ("z" "9" :string) - ("c" "9" :string) - ("i" "9" :string) - ("l" "9" :string) - ("b" "9" :string) - ("j" "9" :string) - ("a" "9" :string) - ("p" "9" :string) - ("u" "9" :string) - ("t" "9" :string) - ("e" "9" :string) - )) - -(use-rule-set :run 0 - :rule-set ("sphinx-xy-alphabetize")) -(use-rule-set :run 1 - :rule-set ("sphinx-xy-resolve-diacritics")) -(use-rule-set :run 2 - :rule-set ("sphinx-xy-resolve-case")) diff --git a/docs/build/latex/Makefile b/docs/build/latex/Makefile deleted file mode 100644 index c561680ad..000000000 --- a/docs/build/latex/Makefile +++ /dev/null @@ -1,68 +0,0 @@ -# Makefile for Sphinx LaTeX output - -ALLDOCS = $(basename $(wildcard *.tex)) -ALLPDF = $(addsuffix .pdf,$(ALLDOCS)) -ALLDVI = $(addsuffix .dvi,$(ALLDOCS)) -ALLXDV = -ALLPS = $(addsuffix .ps,$(ALLDOCS)) -ALLIMGS = $(wildcard *.png *.gif *.jpg *.jpeg) - -# Prefix for archive names -ARCHIVEPREFIX = -# Additional LaTeX options (passed via variables in latexmkrc/latexmkjarc file) -export LATEXOPTS = -# Additional latexmk options -LATEXMKOPTS = -# format: pdf or dvi (used only by archive targets) -FMT = pdf - -LATEX = latexmk -dvi -PDFLATEX = latexmk -pdf -dvi- -ps- - - -%.png %.gif %.jpg %.jpeg: FORCE_MAKE - extractbb '$@' - -%.dvi: %.tex FORCE_MAKE - $(LATEX) $(LATEXMKOPTS) '$<' - -%.ps: %.dvi - dvips '$<' - -%.pdf: %.tex FORCE_MAKE - $(PDFLATEX) $(LATEXMKOPTS) '$<' - -all: $(ALLPDF) - -all-dvi: $(ALLDVI) - -all-ps: $(ALLPS) - -all-pdf: $(ALLPDF) - -zip: all-$(FMT) - mkdir $(ARCHIVEPREFIX)docs-$(FMT) - cp $(ALLPDF) $(ARCHIVEPREFIX)docs-$(FMT) - zip -q -r -9 $(ARCHIVEPREFIX)docs-$(FMT).zip $(ARCHIVEPREFIX)docs-$(FMT) - rm -r $(ARCHIVEPREFIX)docs-$(FMT) - -tar: all-$(FMT) - mkdir $(ARCHIVEPREFIX)docs-$(FMT) - cp $(ALLPDF) $(ARCHIVEPREFIX)docs-$(FMT) - tar cf $(ARCHIVEPREFIX)docs-$(FMT).tar $(ARCHIVEPREFIX)docs-$(FMT) - rm -r $(ARCHIVEPREFIX)docs-$(FMT) - -gz: tar - gzip -9 < $(ARCHIVEPREFIX)docs-$(FMT).tar > $(ARCHIVEPREFIX)docs-$(FMT).tar.gz - -bz2: tar - bzip2 -9 -k $(ARCHIVEPREFIX)docs-$(FMT).tar - -xz: tar - xz -9 -k $(ARCHIVEPREFIX)docs-$(FMT).tar - -clean: - rm -f *.log *.ind *.aux *.toc *.syn *.idx *.out *.ilg *.pla *.ps *.tar *.tar.gz *.tar.bz2 *.tar.xz $(ALLPDF) $(ALLDVI) $(ALLXDV) *.fls *.fdb_latexmk - -.PHONY: all all-pdf all-dvi all-ps clean zip tar gz bz2 xz -.PHONY: FORCE_MAKE \ No newline at end of file diff --git a/docs/build/latex/binary_c-python.aux b/docs/build/latex/binary_c-python.aux deleted file mode 100644 index 96fc9ad26..000000000 --- a/docs/build/latex/binary_c-python.aux +++ /dev/null @@ -1,77 +0,0 @@ -\relax -\providecommand\hyper@newdestlabel[2]{} -\providecommand\HyperFirstAtBeginDocument{\AtBeginDocument} -\HyperFirstAtBeginDocument{\ifx\hyper@anchor\@undefined -\global\let\oldcontentsline\contentsline -\gdef\contentsline#1#2#3#4{\oldcontentsline{#1}{#2}{#3}} -\global\let\oldnewlabel\newlabel -\gdef\newlabel#1#2{\newlabelxx{#1}#2} -\gdef\newlabelxx#1#2#3#4#5#6{\oldnewlabel{#1}{{#2}{#3}}} -\AtEndDocument{\ifx\hyper@anchor\@undefined -\let\contentsline\oldcontentsline -\let\newlabel\oldnewlabel -\fi} -\fi} -\global\let\hyper@last\relax -\gdef\HyperFirstAtBeginDocument#1{#1} -\providecommand\HyField@AuxAddToFields[1]{} -\providecommand\HyField@AuxAddToCoFields[2]{} -\babel@aux{english}{} -\newlabel{index::doc}{{}{1}{}{section*.2}{}} -\@writefile{toc}{\contentsline {chapter}{\numberline {1}Python module for binary\_c}{1}{chapter.1}} -\@writefile{lof}{\addvspace {10\p@ }} -\@writefile{lot}{\addvspace {10\p@ }} -\newlabel{readme_link:python-module-for-binary-c}{{1}{1}{Python module for binary\_c}{chapter.1}{}} -\newlabel{readme_link::doc}{{1}{1}{Python module for binary\_c}{chapter.1}{}} -\@writefile{toc}{\contentsline {section}{\numberline {1.1}Requirements}{1}{section.1.1}} -\newlabel{readme_link:requirements}{{1.1}{1}{Requirements}{section.1.1}{}} -\@writefile{toc}{\contentsline {section}{\numberline {1.2}Environment variables}{1}{section.1.2}} -\newlabel{readme_link:environment-variables}{{1.2}{1}{Environment variables}{section.1.2}{}} -\@writefile{toc}{\contentsline {section}{\numberline {1.3}Build instructions}{1}{section.1.3}} -\newlabel{readme_link:build-instructions}{{1.3}{1}{Build instructions}{section.1.3}{}} -\@writefile{toc}{\contentsline {section}{\numberline {1.4}Usage notes}{2}{section.1.4}} -\newlabel{readme_link:usage-notes}{{1.4}{2}{Usage notes}{section.1.4}{}} -\@writefile{toc}{\contentsline {chapter}{\numberline {2}examples}{3}{chapter.2}} -\@writefile{lof}{\addvspace {10\p@ }} -\@writefile{lot}{\addvspace {10\p@ }} -\newlabel{examples:examples}{{2}{3}{examples}{chapter.2}{}} -\newlabel{examples::doc}{{2}{3}{examples}{chapter.2}{}} -\newlabel{examples:module-examples.examples}{{2}{3}{examples}{section*.3}{}} -\newlabel{examples:examples.examples.run_example_binary}{{2}{3}{examples}{section*.4}{}} -\newlabel{examples:examples.examples.run_example_binary_with_custom_logging}{{2}{3}{examples}{section*.5}{}} -\newlabel{examples:examples.examples.run_example_binary_with_run_system}{{2}{3}{examples}{section*.6}{}} -\newlabel{examples:examples.examples.run_example_binary_with_writing_logfile}{{2}{3}{examples}{section*.7}{}} -\@writefile{toc}{\contentsline {chapter}{\numberline {3}binaryc\_python\_utils}{5}{chapter.3}} -\@writefile{lof}{\addvspace {10\p@ }} -\@writefile{lot}{\addvspace {10\p@ }} -\newlabel{modules:binaryc-python-utils}{{3}{5}{binaryc\_python\_utils}{chapter.3}{}} -\newlabel{modules::doc}{{3}{5}{binaryc\_python\_utils}{chapter.3}{}} -\@writefile{toc}{\contentsline {section}{\numberline {3.1}custom\_logging\_functions module}{5}{section.3.1}} -\newlabel{custom_logging_functions:module-custom_logging_functions}{{3.1}{5}{custom\_logging\_functions module}{section.3.1}{}} -\newlabel{custom_logging_functions:custom-logging-functions-module}{{3.1}{5}{custom\_logging\_functions module}{section.3.1}{}} -\newlabel{custom_logging_functions::doc}{{3.1}{5}{custom\_logging\_functions module}{section.3.1}{}} -\newlabel{custom_logging_functions:custom_logging_functions.autogen_C_logging_code}{{3.1}{5}{custom\_logging\_functions module}{section*.8}{}} -\newlabel{custom_logging_functions:custom_logging_functions.binary_c_log_code}{{3.1}{5}{custom\_logging\_functions module}{section*.9}{}} -\newlabel{custom_logging_functions:custom_logging_functions.binary_c_write_log_code}{{3.1}{5}{custom\_logging\_functions module}{section*.10}{}} -\newlabel{custom_logging_functions:custom_logging_functions.compile_shared_lib}{{3.1}{5}{custom\_logging\_functions module}{section*.11}{}} -\newlabel{custom_logging_functions:custom_logging_functions.create_and_load_logging_function}{{3.1}{5}{custom\_logging\_functions module}{section*.12}{}} -\newlabel{custom_logging_functions:custom_logging_functions.from_binary_c_config}{{3.1}{5}{custom\_logging\_functions module}{section*.13}{}} -\newlabel{custom_logging_functions:custom_logging_functions.return_compilation_dict}{{3.1}{5}{custom\_logging\_functions module}{section*.14}{}} -\newlabel{custom_logging_functions:custom_logging_functions.temp_custom_logging_dir}{{3.1}{5}{custom\_logging\_functions module}{section*.15}{}} -\@writefile{toc}{\contentsline {section}{\numberline {3.2}functions module}{6}{section.3.2}} -\newlabel{functions:module-functions}{{3.2}{6}{functions module}{section.3.2}{}} -\newlabel{functions:functions-module}{{3.2}{6}{functions module}{section.3.2}{}} -\newlabel{functions::doc}{{3.2}{6}{functions module}{section.3.2}{}} -\newlabel{functions:functions.create_arg_string}{{3.2}{6}{functions module}{section*.16}{}} -\newlabel{functions:functions.get_arg_keys}{{3.2}{6}{functions module}{section*.17}{}} -\newlabel{functions:functions.get_defaults}{{3.2}{6}{functions module}{section*.18}{}} -\newlabel{functions:functions.load_logfile}{{3.2}{6}{functions module}{section*.19}{}} -\newlabel{functions:functions.parse_output}{{3.2}{6}{functions module}{section*.20}{}} -\newlabel{functions:functions.run_system}{{3.2}{6}{functions module}{section*.21}{}} -\newlabel{functions:functions.run_system_with_log}{{3.2}{6}{functions module}{section*.22}{}} -\@writefile{toc}{\contentsline {chapter}{\numberline {4}Indices and tables}{7}{chapter.4}} -\@writefile{lof}{\addvspace {10\p@ }} -\@writefile{lot}{\addvspace {10\p@ }} -\newlabel{index:indices-and-tables}{{4}{7}{Indices and tables}{chapter.4}{}} -\@writefile{toc}{\contentsline {chapter}{Python Module Index}{9}{section*.23}} -\@writefile{toc}{\contentsline {chapter}{Index}{11}{section*.24}} diff --git a/docs/build/latex/binary_c-python.fdb_latexmk b/docs/build/latex/binary_c-python.fdb_latexmk deleted file mode 100644 index a69f6da07..000000000 --- a/docs/build/latex/binary_c-python.fdb_latexmk +++ /dev/null @@ -1,171 +0,0 @@ -# Fdb version 3 -["makeindex binary_c-python.idx"] 1575117139 "binary_c-python.idx" "binary_c-python.ind" "binary_c-python" 1575117141 - "binary_c-python.idx" 1575117141 3346 4a417840373ca46b9739462736a4bb14 "" - (generated) - "binary_c-python.ind" -["pdflatex"] 1575117140 "binary_c-python.tex" "binary_c-python.pdf" "binary_c-python" 1575117141 - "/etc/texmf/web2c/texmf.cnf" 1571601231 475 c0e671620eb5563b2130f56340a5fde8 "" - "/usr/share/texlive/texmf-dist/fonts/enc/dvips/base/8r.enc" 1480098666 4850 80dc9bab7f31fb78a000ccfed0e27cab "" - "/usr/share/texlive/texmf-dist/fonts/map/fontname/texfonts.map" 1511824771 3332 103109f5612ad95229751940c61aada0 "" - "/usr/share/texlive/texmf-dist/fonts/tfm/adobe/courier/pcrb8r.tfm" 1480098688 1292 3059476c50a24578715759f22652f3d0 "" - "/usr/share/texlive/texmf-dist/fonts/tfm/adobe/courier/pcrb8t.tfm" 1480098688 1384 87406e4336af44af883a035f17f319d9 "" - "/usr/share/texlive/texmf-dist/fonts/tfm/adobe/courier/pcrr8c.tfm" 1480098688 1268 8bd405dc5751cfed76cb6fb2db78cb50 "" - "/usr/share/texlive/texmf-dist/fonts/tfm/adobe/courier/pcrr8r.tfm" 1480098688 1292 bd42be2f344128bff6d35d98474adfe3 "" - "/usr/share/texlive/texmf-dist/fonts/tfm/adobe/courier/pcrr8t.tfm" 1480098688 1384 4632f5e54900a7dadbb83f555bc61e56 "" - "/usr/share/texlive/texmf-dist/fonts/tfm/adobe/helvetic/phvb8r.tfm" 1480098688 4484 b828043cbd581d289d955903c1339981 "" - "/usr/share/texlive/texmf-dist/fonts/tfm/adobe/helvetic/phvb8t.tfm" 1480098688 6628 34c39492c0adc454c1c199922bba8363 "" - "/usr/share/texlive/texmf-dist/fonts/tfm/adobe/helvetic/phvbo8t.tfm" 1480098688 6880 fe6c7967f27585f6fa9876f3af14edd2 "" - "/usr/share/texlive/texmf-dist/fonts/tfm/adobe/helvetic/phvr8r.tfm" 1480098688 4712 9ef4d7d106579d4b136e1529e1a4533c "" - "/usr/share/texlive/texmf-dist/fonts/tfm/adobe/helvetic/phvr8t.tfm" 1480098688 7040 b2bd27e2bfe6f6948cbc3239cae7444f "" - "/usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/ptmb8r.tfm" 1480098689 4524 6bce29db5bc272ba5f332261583fee9c "" - "/usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/ptmb8t.tfm" 1480098689 6880 f19b8995b61c334d78fc734065f6b4d4 "" - "/usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/ptmr8c.tfm" 1480098689 1352 fa28a7e6d323c65ce7d13d5342ff6be2 "" - "/usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/ptmr8r.tfm" 1480098689 4408 25b74d011a4c66b7f212c0cc3c90061b "" - "/usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/ptmr8t.tfm" 1480098689 6672 e3ab9e37e925f3045c9005e6d1473d56 "" - "/usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/ptmri8r.tfm" 1480098689 4640 532ca3305aad10cc01d769f3f91f1029 "" - "/usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/ptmri8t.tfm" 1480098689 6944 94c55ad86e6ea2826f78ba2240d50df9 "" - "/usr/share/texlive/texmf-dist/fonts/tfm/jknappen/ec/ecrm1000.tfm" 1480098696 3584 adb004a0c8e7c46ee66cad73671f37b4 "" - "/usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/cmextra/cmex7.tfm" 1480098698 1004 54797486969f23fa377b128694d548df "" - "/usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam10.tfm" 1480098698 916 f87d7c45f9c908e672703b83b72241a3 "" - "/usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam5.tfm" 1480098698 924 9904cf1d39e9767e7a3622f2a125a565 "" - "/usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam7.tfm" 1480098698 928 2dc8d444221b7a635bb58038579b861a "" - "/usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm10.tfm" 1480098698 908 2921f8a10601f252058503cc6570e581 "" - "/usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm5.tfm" 1480098698 940 75ac932a52f80982a9f8ea75d03a34cf "" - "/usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm7.tfm" 1480098698 940 228d6584342e91276bf566bcf9716b83 "" - "/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmex10.tfm" 1480098701 992 662f679a0b3d2d53c1b94050fdaa3f50 "" - "/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmmi12.tfm" 1480098701 1524 4414a8315f39513458b80dfc63bff03a "" - "/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr12.tfm" 1480098701 1288 655e228510b4c2a1abe905c368440826 "" - "/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr17.tfm" 1480098701 1292 296a67155bdbfc32aa9c636f21e91433 "" - "/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmsy10.tfm" 1480098701 1124 6c73e740cf17375f03eec0ee63599741 "" - "/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi5.pfb" 1480098733 37912 77d683123f92148345f3fc36a38d9ab1 "" - "/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy5.pfb" 1480098733 32915 7bf7720c61a5b3a7ff25b0964421c9b6 "" - "/usr/share/texlive/texmf-dist/fonts/type1/urw/courier/ucrb8a.pfb" 1480098746 50493 4ed1f7e9eba8f1f3e1ec25195460190d "" - "/usr/share/texlive/texmf-dist/fonts/type1/urw/courier/ucrr8a.pfb" 1480098746 45758 19968a0990191524e34e1994d4a31cb6 "" - "/usr/share/texlive/texmf-dist/fonts/type1/urw/helvetic/uhvb8a.pfb" 1480098746 35941 f27169cc74234d5bd5e4cca5abafaabb "" - "/usr/share/texlive/texmf-dist/fonts/type1/urw/helvetic/uhvr8a.pfb" 1480098746 44648 23115b2a545ebfe2c526c3ca99db8b95 "" - "/usr/share/texlive/texmf-dist/fonts/type1/urw/times/utmb8a.pfb" 1480098746 44729 811d6c62865936705a31c797a1d5dada "" - "/usr/share/texlive/texmf-dist/fonts/type1/urw/times/utmr8a.pfb" 1480098746 46026 6dab18b61c907687b520c72847215a68 "" - "/usr/share/texlive/texmf-dist/fonts/type1/urw/times/utmri8a.pfb" 1480098746 45458 a3faba884469519614ca56ba5f6b1de1 "" - "/usr/share/texlive/texmf-dist/fonts/vf/adobe/courier/pcrb8t.vf" 1480098757 2184 5d20c8b00cd914e50251116c274e2d0b "" - "/usr/share/texlive/texmf-dist/fonts/vf/adobe/courier/pcrr8c.vf" 1480098757 3552 6a7911d0b338a7c32cbfc3a9e985ccca "" - "/usr/share/texlive/texmf-dist/fonts/vf/adobe/courier/pcrr8t.vf" 1480098757 2184 8475af1b9cfa983db5f46f5ed4b8f9f7 "" - "/usr/share/texlive/texmf-dist/fonts/vf/adobe/helvetic/phvb8t.vf" 1480098757 2340 0efed6a948c3c37d870e4e7ddb85c7c3 "" - "/usr/share/texlive/texmf-dist/fonts/vf/adobe/helvetic/phvr8t.vf" 1480098757 2344 44ff28c9ef2fc97180cd884f900fee71 "" - "/usr/share/texlive/texmf-dist/fonts/vf/adobe/times/ptmb8t.vf" 1480098758 2340 df9c920cc5688ebbf16a93f45ce7bdd3 "" - "/usr/share/texlive/texmf-dist/fonts/vf/adobe/times/ptmr8c.vf" 1480098758 3556 8a9a6dcbcd146ef985683f677f4758a6 "" - "/usr/share/texlive/texmf-dist/fonts/vf/adobe/times/ptmr8t.vf" 1480098758 2348 91706c542228501c410c266421fbe30c "" - "/usr/share/texlive/texmf-dist/fonts/vf/adobe/times/ptmri8t.vf" 1480098758 2328 6cd7df782b09b29cfc4d93e55b6b9a59 "" - "/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii" 1480098806 71627 94eb9990bed73c364d7f53f960cc8c5b "" - "/usr/share/texlive/texmf-dist/tex/generic/babel-english/english.ldf" 1496785618 7008 9ff5fdcc865b01beca2b0fe4a46231d4 "" - "/usr/share/texlive/texmf-dist/tex/generic/babel/babel.def" 1518644053 67244 2dce3d67c354c8d92f638d0f8682fb73 "" - "/usr/share/texlive/texmf-dist/tex/generic/babel/babel.sty" 1518644053 15861 065fe343082d0cd2428cf984d6b2ef66 "" - "/usr/share/texlive/texmf-dist/tex/generic/babel/switch.def" 1518644053 12523 d80bc74bf5e02fe4304443a6de8d01be "" - "/usr/share/texlive/texmf-dist/tex/generic/babel/txtbabel.def" 1518644053 7434 1b3955075683beb1c883a0fcf92ed2d5 "" - "/usr/share/texlive/texmf-dist/tex/generic/ifxetex/ifxetex.sty" 1480098815 1458 43ab4710dc82f3edeabecd0d099626b2 "" - "/usr/share/texlive/texmf-dist/tex/generic/oberdiek/etexcmds.sty" 1480098815 7612 729a8cc22a1ee0029997c7f74717ae05 "" - "/usr/share/texlive/texmf-dist/tex/generic/oberdiek/gettitlestring.sty" 1480098815 8237 3b62ef1f7e2c23a328c814b3893bc11f "" - "/usr/share/texlive/texmf-dist/tex/generic/oberdiek/hobsub-generic.sty" 1517006633 185082 6c11d4e30ed78e2a12957b7e77030856 "" - "/usr/share/texlive/texmf-dist/tex/generic/oberdiek/hobsub-hyperref.sty" 1480098815 70864 bcd5b216757bd619ae692a151d90085d "" - "/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifluatex.sty" 1480098815 7324 2310d1247db0114eb4726807c8837a0e "" - "/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty" 1490564930 1251 d170e11a3246c3392bc7f59595af42cb "" - "/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifvtex.sty" 1480098815 6797 90b7f83b0ad46826bc16058b1e3d48df "" - "/usr/share/texlive/texmf-dist/tex/generic/oberdiek/infwarerr.sty" 1480098815 8253 473e0e41f9adadb1977e8631b8f72ea6 "" - "/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty" 1480098815 14040 ac8866aac45982ac84021584b0abb252 "" - "/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ltxcmds.sty" 1480098815 18425 5b3c0c59d76fac78978b5558e83c1f36 "" - "/usr/share/texlive/texmf-dist/tex/latex/amsfonts/amsfonts.sty" 1480098820 5949 3f3fd50a8cc94c3d4cbf4fc66cd3df1c "" - "/usr/share/texlive/texmf-dist/tex/latex/amsfonts/amssymb.sty" 1480098820 13829 94730e64147574077f8ecfea9bb69af4 "" - "/usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsa.fd" 1480098820 961 6518c6525a34feb5e8250ffa91731cff "" - "/usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsb.fd" 1480098820 961 d02606146ba5601b5645f987c92e6193 "" - "/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsbsy.sty" 1480098820 2210 5c54ab129b848a5071554186d0168766 "" - "/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsgen.sty" 1480098820 4160 c115536cf8d4ff25aa8c1c9bc4ecb79a "" - "/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsmath.sty" 1504905757 84352 897a476d96a0681047a5b0f91178a3d2 "" - "/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsopn.sty" 1480098820 4115 318a66090112f3aa3f415aeb6fe8540f "" - "/usr/share/texlive/texmf-dist/tex/latex/amsmath/amstext.sty" 1480098820 2431 fe3078ec12fc30287f568596f8e0b948 "" - "/usr/share/texlive/texmf-dist/tex/latex/base/alltt.sty" 1480098821 3140 977eaf314c97ac67b8675753fb15f67f "" - "/usr/share/texlive/texmf-dist/tex/latex/base/fontenc.sty" 1492297155 4571 13977df0eda144b93597fc709035ad1f "" - "/usr/share/texlive/texmf-dist/tex/latex/base/inputenc.sty" 1480098821 4732 d63eda807ac82cca2ca8488efd31a966 "" - "/usr/share/texlive/texmf-dist/tex/latex/base/makeidx.sty" 1480098821 1940 c559b92ca91f1b2a0e60d836d4973f41 "" - "/usr/share/texlive/texmf-dist/tex/latex/base/omsenc.dfu" 1487721667 2004 ac51aeac484f08c01026120d62677eca "" - "/usr/share/texlive/texmf-dist/tex/latex/base/ot1enc.dfu" 1487721667 3181 1cb3e9ad01f4a01127b2ffd821bfeec7 "" - "/usr/share/texlive/texmf-dist/tex/latex/base/report.cls" 1480098821 22880 e7be6f7dd8c05d5108bf3a7d8cabe59a "" - "/usr/share/texlive/texmf-dist/tex/latex/base/size10.clo" 1480098821 8292 e897c12e1e886ce77fe26afc5d470886 "" - "/usr/share/texlive/texmf-dist/tex/latex/base/t1enc.def" 1492297155 10006 a90ba4035cf778f32f424e297d92e235 "" - "/usr/share/texlive/texmf-dist/tex/latex/base/t1enc.dfu" 1487721667 11255 9d97362866549d3d3c994b5f28d1b9b5 "" - "/usr/share/texlive/texmf-dist/tex/latex/base/textcomp.sty" 1492297155 16154 f2c73e20ca771d534a8516c62c6b0eae "" - "/usr/share/texlive/texmf-dist/tex/latex/base/ts1cmr.fd" 1480098821 2217 d274654bda1292013bdf48d5f720a495 "" - "/usr/share/texlive/texmf-dist/tex/latex/base/ts1enc.def" 1480098821 7767 aa88823823f5e767d79ea1166ab1ae74 "" - "/usr/share/texlive/texmf-dist/tex/latex/base/ts1enc.dfu" 1487721667 4919 76510afd60e8282294f944c2f9f5103b "" - "/usr/share/texlive/texmf-dist/tex/latex/base/utf8.def" 1487721667 7784 325a2a09984cb5c4ff230f9867145ad3 "" - "/usr/share/texlive/texmf-dist/tex/latex/capt-of/capt-of.sty" 1480098823 1311 063f8536a047a2d9cb1803321f793f37 "" - "/usr/share/texlive/texmf-dist/tex/latex/carlisle/remreset.sty" 1480098823 1096 6a75275ca00e32428c6f059d2f618ea7 "" - "/usr/share/texlive/texmf-dist/tex/latex/cmap/cmap.sty" 1480098825 2883 427a7f7cb58418a0394dbd85c80668f6 "" - "/usr/share/texlive/texmf-dist/tex/latex/cmap/ot1.cmap" 1480098825 1207 4e0d96772f0d338847cbfb4eca683c81 "" - "/usr/share/texlive/texmf-dist/tex/latex/cmap/t1.cmap" 1480098825 1938 beaa4a8467aa0074076e0e19f2992e29 "" - "/usr/share/texlive/texmf-dist/tex/latex/fancyhdr/fancyhdr.sty" 1498861448 10663 d7fcc0dc4f35e8998b8cfeef8407d37d "" - "/usr/share/texlive/texmf-dist/tex/latex/fancyvrb/fancyvrb.sty" 1480098827 45360 a0833d32f1b541964596b02870342d5a "" - "/usr/share/texlive/texmf-dist/tex/latex/float/float.sty" 1480098828 6749 16d2656a1984957e674b149555f1ea1d "" - "/usr/share/texlive/texmf-dist/tex/latex/fncychap/fncychap.sty" 1480098828 19488 fdd52eb173b3197d748e1ec25acb042f "" - "/usr/share/texlive/texmf-dist/tex/latex/framed/framed.sty" 1480098829 22449 7ec15c16d0d66790f28e90343c5434a3 "" - "/usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty" 1480098829 40502 e003406220954b0716679d7928aedd8a "" - "/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/color.cfg" 1480098830 1213 620bba36b25224fa9b7e1ccb4ecb76fd "" - "/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg" 1480098830 1224 978390e9c2234eab29404bc21b268d1e "" - "/usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def" 1515537368 17334 520b9b85ad8a2a48eda3f643e27a5179 "" - "/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty" 1498427532 15275 7d676729b1bedd3e7f3c6717affb366c "" - "/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty" 1498427532 9066 649f2ccf62888e3d8c3e57256b70b8e1 "" - "/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty" 1480098830 2594 d18d5e19aa8239cf867fa670c556d2e9 "" - "/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty" 1480098830 3980 0a268fbfda01e381fa95821ab13b6aee "" - "/usr/share/texlive/texmf-dist/tex/latex/hyperref/hpdftex.def" 1518041854 51699 9069fc983fff0db91d59a15af144ad62 "" - "/usr/share/texlive/texmf-dist/tex/latex/hyperref/hyperref.sty" 1518041854 234088 2c849389d62d41c593d9f5176c4116ab "" - "/usr/share/texlive/texmf-dist/tex/latex/hyperref/nameref.sty" 1480098831 12949 81e4e808884a8f0e276b69410e234656 "" - "/usr/share/texlive/texmf-dist/tex/latex/hyperref/pd1enc.def" 1518041854 14098 4e70bf396c7c265bd8b0e5cab3fd3d4d "" - "/usr/share/texlive/texmf-dist/tex/latex/hyperref/puenc.def" 1518041854 122411 10b605a58a28bbe5d61db37da4a85beb "" - "/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg" 1480098833 678 4792914a8f45be57bb98413425e4c7af "" - "/usr/share/texlive/texmf-dist/tex/latex/latexconfig/hyperref.cfg" 1480098833 235 6031e5765137be07eed51a510b2b8fb7 "" - "/usr/share/texlive/texmf-dist/tex/latex/mmap/oml.cmap" 1480098835 1866 c1c12138091b4a8edd4a24a940e6f792 "" - "/usr/share/texlive/texmf-dist/tex/latex/mmap/oms.cmap" 1480098835 2370 3b1f71b14b974f07cef532db09ae9ee0 "" - "/usr/share/texlive/texmf-dist/tex/latex/mmap/omx.cmap" 1480098835 3001 252c8ca42b06a22cb1a11c0e47790c6e "" - "/usr/share/texlive/texmf-dist/tex/latex/needspace/needspace.sty" 1480098835 852 0e34dbb72efc69fa07602405ad95585e "" - "/usr/share/texlive/texmf-dist/tex/latex/oberdiek/auxhook.sty" 1480098836 3834 4363110eb0ef1eb2b71c8fcbcdb6c357 "" - "/usr/share/texlive/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty" 1480098836 12095 5337833c991d80788a43d3ce26bd1c46 "" - "/usr/share/texlive/texmf-dist/tex/latex/oberdiek/grfext.sty" 1480098836 7075 2fe3d848bba95f139de11ded085e74aa "" - "/usr/share/texlive/texmf-dist/tex/latex/oberdiek/hypcap.sty" 1480098836 3720 63669daeb0b67d5fbec899824e2f1491 "" - "/usr/share/texlive/texmf-dist/tex/latex/oberdiek/kvoptions.sty" 1480098836 22417 1d9df1eb66848aa31b18a593099cf45c "" - "/usr/share/texlive/texmf-dist/tex/latex/oberdiek/rerunfilecheck.sty" 1480098836 9581 023642318cef9f4677efe364de1e2a27 "" - "/usr/share/texlive/texmf-dist/tex/latex/parskip/parskip.sty" 1480098836 2763 02a40cc5a32805c41d919cfbdba7e99a "" - "/usr/share/texlive/texmf-dist/tex/latex/psnfss/t1pcr.fd" 1480098837 798 d5895e9edc628f2be019beb2c0ec66df "" - "/usr/share/texlive/texmf-dist/tex/latex/psnfss/t1phv.fd" 1480098837 1488 9a55ac1cde6b4798a7f56844bb75a553 "" - "/usr/share/texlive/texmf-dist/tex/latex/psnfss/t1ptm.fd" 1480098837 774 61d7da1e9f9e74989b196d147e623736 "" - "/usr/share/texlive/texmf-dist/tex/latex/psnfss/times.sty" 1480098837 857 6c716f26c5eadfb81029fcd6ce2d45e6 "" - "/usr/share/texlive/texmf-dist/tex/latex/psnfss/ts1pcr.fd" 1480098837 643 92c451bb86386a4e36a174603ddb5a13 "" - "/usr/share/texlive/texmf-dist/tex/latex/psnfss/ts1ptm.fd" 1480098837 619 96f56dc5d1ef1fe1121f1cfeec70ee0c "" - "/usr/share/texlive/texmf-dist/tex/latex/tabulary/tabulary.sty" 1480098840 13791 8c83287d79183c3bf58fd70871e8a70b "" - "/usr/share/texlive/texmf-dist/tex/latex/titlesec/titlesec.sty" 1480098841 37387 afa86533e532701faf233f3f592c61e0 "" - "/usr/share/texlive/texmf-dist/tex/latex/tools/array.sty" 1485129666 12396 d41f82b039f900e95f351e54ae740f31 "" - "/usr/share/texlive/texmf-dist/tex/latex/tools/longtable.sty" 1480098841 12083 80916157594a8e4354985aaefae4f367 "" - "/usr/share/texlive/texmf-dist/tex/latex/upquote/upquote.sty" 1480098842 1048 517e01cde97c1c0baf72e69d43aa5a2e "" - "/usr/share/texlive/texmf-dist/tex/latex/url/url.sty" 1480098842 12796 8edb7d69a20b857904dd0ea757c14ec9 "" - "/usr/share/texlive/texmf-dist/tex/latex/varwidth/varwidth.sty" 1480098842 10894 d359a13923460b2a73d4312d613554c8 "" - "/usr/share/texlive/texmf-dist/tex/latex/wrapfig/wrapfig.sty" 1480098843 26220 3701aebf80ccdef248c0c20dd062fea9 "" - "/usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty" 1480098843 55589 34128738f682d033422ca125f82e5d62 "" - "/usr/share/texlive/texmf-dist/web2c/texmf.cnf" 1520210507 32485 c64754543d8ac501bea6e75e209ea521 "" - "/usr/share/texmf/web2c/texmf.cnf" 1520210507 32485 c64754543d8ac501bea6e75e209ea521 "" - "/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map" 1571933265 2700761 ac0584cc9514ab21918550a6948c4ee2 "" - "/var/lib/texmf/web2c/pdftex/pdflatex.fmt" 1571933283 4127049 2405b3f44d10220df7960de22302550a "" - "binary_c-python.aux" 1575117141 5820 eacd7ef866ecb8baa74fce7ea7af6d89 "" - "binary_c-python.ind" 1575117140 2623 3885127cd31914a296ce59f4e552f591 "makeindex binary_c-python.idx" - "binary_c-python.out" 1575117141 1665 5c9b17ad2ee3f041ed56f5d003f32d4e "" - "binary_c-python.tex" 1575117139 20167 b9f3361bfc64d5959989bf25da9b4b9d "" - "binary_c-python.toc" 1575117141 892 eefcba194004854157f3cfa9e5b68d78 "" - "footnotehyper-sphinx.sty" 1573642027 8888 1bbd7bdeae8c8bed1d10d551bddb1cc9 "" - "sphinx.sty" 1573642027 77684 8fb97306ac83d50d8517c97072345a1d "" - "sphinxhighlight.sty" 1575117138 8137 38a433148fcb7611515a989ff1750dd5 "" - "sphinxmanual.cls" 1573642027 3764 e7c0a8da02dc45450256dd4cfdafb426 "" - "sphinxmessages.sty" 1575117139 731 4c7a75a0ce6092b44bece19aa46febe9 "" - "sphinxmulticell.sty" 1573642027 14618 0defbdc8536ad2e67f1eac6a1431bc55 "" - (generated) - "binary_c-python.out" - "binary_c-python.toc" - "binary_c-python.pdf" - "binary_c-python.idx" - "binary_c-python.log" - "binary_c-python.aux" diff --git a/docs/build/latex/binary_c-python.fls b/docs/build/latex/binary_c-python.fls deleted file mode 100644 index c6c887ab6..000000000 --- a/docs/build/latex/binary_c-python.fls +++ /dev/null @@ -1,302 +0,0 @@ -PWD /home/david/projects/binary_c_root/binary_c-python/docs/build/latex -INPUT /etc/texmf/web2c/texmf.cnf -INPUT /usr/share/texmf/web2c/texmf.cnf -INPUT /usr/share/texlive/texmf-dist/web2c/texmf.cnf -INPUT /var/lib/texmf/web2c/pdftex/pdflatex.fmt -INPUT binary_c-python.tex -OUTPUT binary_c-python.log -INPUT sphinxmanual.cls -INPUT sphinxmanual.cls -INPUT /usr/share/texlive/texmf-dist/tex/latex/base/report.cls -INPUT /usr/share/texlive/texmf-dist/tex/latex/base/report.cls -INPUT /usr/share/texlive/texmf-dist/tex/latex/base/size10.clo -INPUT /usr/share/texlive/texmf-dist/tex/latex/base/size10.clo -INPUT /usr/share/texlive/texmf-dist/tex/latex/base/inputenc.sty -INPUT /usr/share/texlive/texmf-dist/tex/latex/base/inputenc.sty -INPUT /usr/share/texlive/texmf-dist/tex/latex/base/utf8.def -INPUT /usr/share/texlive/texmf-dist/tex/latex/base/utf8.def -INPUT /usr/share/texlive/texmf-dist/tex/latex/base/t1enc.dfu -INPUT /usr/share/texlive/texmf-dist/tex/latex/base/t1enc.dfu -INPUT /usr/share/texlive/texmf-dist/tex/latex/base/ot1enc.dfu -INPUT /usr/share/texlive/texmf-dist/tex/latex/base/ot1enc.dfu -INPUT /usr/share/texlive/texmf-dist/tex/latex/base/omsenc.dfu -INPUT /usr/share/texlive/texmf-dist/tex/latex/base/omsenc.dfu -INPUT /usr/share/texlive/texmf-dist/tex/latex/cmap/cmap.sty -INPUT /usr/share/texlive/texmf-dist/tex/latex/cmap/cmap.sty -INPUT /usr/share/texlive/texmf-dist/tex/latex/base/fontenc.sty -INPUT /usr/share/texlive/texmf-dist/tex/latex/base/fontenc.sty -INPUT /usr/share/texlive/texmf-dist/tex/latex/base/t1enc.def -INPUT /usr/share/texlive/texmf-dist/tex/latex/base/t1enc.def -INPUT /usr/share/texlive/texmf-dist/fonts/map/fontname/texfonts.map -INPUT /usr/share/texlive/texmf-dist/fonts/tfm/jknappen/ec/ecrm1000.tfm -INPUT /usr/share/texlive/texmf-dist/tex/latex/cmap/t1.cmap -OUTPUT binary_c-python.pdf -INPUT /usr/share/texlive/texmf-dist/tex/latex/cmap/t1.cmap -INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsmath.sty -INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsmath.sty -INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amstext.sty -INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amstext.sty -INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsgen.sty -INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsgen.sty -INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsbsy.sty -INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsbsy.sty -INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsopn.sty -INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsopn.sty -INPUT /usr/share/texlive/texmf-dist/tex/latex/amsfonts/amssymb.sty -INPUT /usr/share/texlive/texmf-dist/tex/latex/amsfonts/amssymb.sty -INPUT /usr/share/texlive/texmf-dist/tex/latex/amsfonts/amsfonts.sty -INPUT /usr/share/texlive/texmf-dist/tex/latex/amsfonts/amsfonts.sty -INPUT /usr/share/texlive/texmf-dist/tex/generic/babel/babel.sty -INPUT /usr/share/texlive/texmf-dist/tex/generic/babel/babel.sty -INPUT /usr/share/texlive/texmf-dist/tex/generic/babel/switch.def -INPUT /usr/share/texlive/texmf-dist/tex/generic/babel-english/english.ldf -INPUT /usr/share/texlive/texmf-dist/tex/generic/babel-english/english.ldf -INPUT /usr/share/texlive/texmf-dist/tex/generic/babel-english/english.ldf -INPUT /usr/share/texlive/texmf-dist/tex/generic/babel/babel.def -INPUT /usr/share/texlive/texmf-dist/tex/generic/babel/txtbabel.def -INPUT /usr/share/texlive/texmf-dist/tex/latex/psnfss/times.sty -INPUT /usr/share/texlive/texmf-dist/tex/latex/psnfss/times.sty -INPUT /usr/share/texlive/texmf-dist/tex/latex/fncychap/fncychap.sty -INPUT /usr/share/texlive/texmf-dist/tex/latex/fncychap/fncychap.sty -INPUT sphinx.sty -INPUT sphinx.sty -INPUT /usr/share/texlive/texmf-dist/tex/generic/oberdiek/ltxcmds.sty -INPUT /usr/share/texlive/texmf-dist/tex/generic/oberdiek/ltxcmds.sty -INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty -INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty -INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty -INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty -INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty -INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty -INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty -INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty -INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg -INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg -INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def -INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def -INPUT /usr/share/texlive/texmf-dist/tex/latex/fancyhdr/fancyhdr.sty -INPUT /usr/share/texlive/texmf-dist/tex/latex/fancyhdr/fancyhdr.sty -INPUT /usr/share/texlive/texmf-dist/tex/latex/base/textcomp.sty -INPUT /usr/share/texlive/texmf-dist/tex/latex/base/textcomp.sty -INPUT /usr/share/texlive/texmf-dist/tex/latex/base/ts1enc.def -INPUT /usr/share/texlive/texmf-dist/tex/latex/base/ts1enc.def -INPUT /usr/share/texlive/texmf-dist/tex/latex/base/ts1enc.dfu -INPUT /usr/share/texlive/texmf-dist/tex/latex/base/ts1enc.dfu -INPUT /usr/share/texlive/texmf-dist/tex/latex/titlesec/titlesec.sty -INPUT /usr/share/texlive/texmf-dist/tex/latex/titlesec/titlesec.sty -INPUT /usr/share/texlive/texmf-dist/tex/latex/tabulary/tabulary.sty -INPUT /usr/share/texlive/texmf-dist/tex/latex/tabulary/tabulary.sty -INPUT /usr/share/texlive/texmf-dist/tex/latex/tools/array.sty -INPUT /usr/share/texlive/texmf-dist/tex/latex/tools/array.sty -INPUT /usr/share/texlive/texmf-dist/tex/latex/tools/longtable.sty -INPUT /usr/share/texlive/texmf-dist/tex/latex/tools/longtable.sty -INPUT /usr/share/texlive/texmf-dist/tex/latex/varwidth/varwidth.sty -INPUT /usr/share/texlive/texmf-dist/tex/latex/varwidth/varwidth.sty -INPUT sphinxmulticell.sty -INPUT sphinxmulticell.sty -INPUT /usr/share/texlive/texmf-dist/tex/latex/base/makeidx.sty -INPUT /usr/share/texlive/texmf-dist/tex/latex/base/makeidx.sty -INPUT /usr/share/texlive/texmf-dist/tex/latex/framed/framed.sty -INPUT /usr/share/texlive/texmf-dist/tex/latex/framed/framed.sty -INPUT /usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty -INPUT /usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty -INPUT /usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty -INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/color.cfg -INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/color.cfg -INPUT /usr/share/texlive/texmf-dist/tex/latex/fancyvrb/fancyvrb.sty -INPUT /usr/share/texlive/texmf-dist/tex/latex/fancyvrb/fancyvrb.sty -INPUT footnotehyper-sphinx.sty -INPUT footnotehyper-sphinx.sty -INPUT /usr/share/texlive/texmf-dist/tex/latex/float/float.sty -INPUT /usr/share/texlive/texmf-dist/tex/latex/float/float.sty -INPUT /usr/share/texlive/texmf-dist/tex/latex/wrapfig/wrapfig.sty -INPUT /usr/share/texlive/texmf-dist/tex/latex/wrapfig/wrapfig.sty -INPUT /usr/share/texlive/texmf-dist/tex/latex/parskip/parskip.sty -INPUT /usr/share/texlive/texmf-dist/tex/latex/parskip/parskip.sty -INPUT /usr/share/texlive/texmf-dist/tex/latex/base/alltt.sty -INPUT /usr/share/texlive/texmf-dist/tex/latex/base/alltt.sty -INPUT /usr/share/texlive/texmf-dist/tex/latex/upquote/upquote.sty -INPUT /usr/share/texlive/texmf-dist/tex/latex/upquote/upquote.sty -INPUT /usr/share/texlive/texmf-dist/tex/latex/capt-of/capt-of.sty -INPUT /usr/share/texlive/texmf-dist/tex/latex/capt-of/capt-of.sty -INPUT /usr/share/texlive/texmf-dist/tex/latex/needspace/needspace.sty -INPUT /usr/share/texlive/texmf-dist/tex/latex/needspace/needspace.sty -INPUT /usr/share/texlive/texmf-dist/tex/latex/carlisle/remreset.sty -INPUT /usr/share/texlive/texmf-dist/tex/latex/carlisle/remreset.sty -INPUT sphinxhighlight.sty -INPUT sphinxhighlight.sty -INPUT /usr/share/texlive/texmf-dist/tex/latex/oberdiek/kvoptions.sty -INPUT /usr/share/texlive/texmf-dist/tex/latex/oberdiek/kvoptions.sty -INPUT /usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty -INPUT /usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty -INPUT /usr/share/texlive/texmf-dist/tex/generic/oberdiek/infwarerr.sty -INPUT /usr/share/texlive/texmf-dist/tex/generic/oberdiek/infwarerr.sty -INPUT /usr/share/texlive/texmf-dist/tex/generic/oberdiek/etexcmds.sty -INPUT /usr/share/texlive/texmf-dist/tex/generic/oberdiek/etexcmds.sty -INPUT /usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifluatex.sty -INPUT /usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifluatex.sty -INPUT /usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty -INPUT /usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty -INPUT /usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty -INPUT /usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty -INPUT /usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifvtex.sty -INPUT /usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifvtex.sty -INPUT /usr/share/texlive/texmf-dist/tex/generic/ifxetex/ifxetex.sty -INPUT /usr/share/texlive/texmf-dist/tex/generic/ifxetex/ifxetex.sty -INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/hyperref.sty -INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/hyperref.sty -INPUT /usr/share/texlive/texmf-dist/tex/generic/oberdiek/hobsub-hyperref.sty -INPUT /usr/share/texlive/texmf-dist/tex/generic/oberdiek/hobsub-hyperref.sty -INPUT /usr/share/texlive/texmf-dist/tex/generic/oberdiek/hobsub-hyperref.sty -INPUT /usr/share/texlive/texmf-dist/tex/generic/oberdiek/hobsub-generic.sty -INPUT /usr/share/texlive/texmf-dist/tex/generic/oberdiek/hobsub-generic.sty -INPUT /usr/share/texlive/texmf-dist/tex/latex/oberdiek/auxhook.sty -INPUT /usr/share/texlive/texmf-dist/tex/latex/oberdiek/auxhook.sty -INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/pd1enc.def -INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/pd1enc.def -INPUT /usr/share/texlive/texmf-dist/tex/latex/latexconfig/hyperref.cfg -INPUT /usr/share/texlive/texmf-dist/tex/latex/latexconfig/hyperref.cfg -INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/puenc.def -INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/puenc.def -INPUT /usr/share/texlive/texmf-dist/tex/latex/url/url.sty -INPUT /usr/share/texlive/texmf-dist/tex/latex/url/url.sty -INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/hpdftex.def -INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/hpdftex.def -INPUT /usr/share/texlive/texmf-dist/tex/latex/oberdiek/rerunfilecheck.sty -INPUT /usr/share/texlive/texmf-dist/tex/latex/oberdiek/rerunfilecheck.sty -INPUT /usr/share/texlive/texmf-dist/tex/latex/oberdiek/hypcap.sty -INPUT /usr/share/texlive/texmf-dist/tex/latex/oberdiek/hypcap.sty -INPUT sphinxmessages.sty -INPUT sphinxmessages.sty -OUTPUT binary_c-python.idx -INPUT binary_c-python.aux -INPUT binary_c-python.aux -OUTPUT binary_c-python.aux -INPUT /usr/share/texlive/texmf-dist/tex/latex/base/ts1cmr.fd -INPUT /usr/share/texlive/texmf-dist/tex/latex/base/ts1cmr.fd -INPUT /usr/share/texlive/texmf-dist/tex/latex/psnfss/t1ptm.fd -INPUT /usr/share/texlive/texmf-dist/tex/latex/psnfss/t1ptm.fd -INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/ptmr8t.tfm -INPUT /usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii -INPUT /usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii -INPUT /usr/share/texlive/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty -INPUT /usr/share/texlive/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty -INPUT /usr/share/texlive/texmf-dist/tex/latex/oberdiek/grfext.sty -INPUT /usr/share/texlive/texmf-dist/tex/latex/oberdiek/grfext.sty -INPUT /usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg -INPUT /usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg -INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/nameref.sty -INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/nameref.sty -INPUT /usr/share/texlive/texmf-dist/tex/generic/oberdiek/gettitlestring.sty -INPUT /usr/share/texlive/texmf-dist/tex/generic/oberdiek/gettitlestring.sty -INPUT binary_c-python.out -INPUT binary_c-python.out -INPUT binary_c-python.out -INPUT binary_c-python.out -INPUT ./binary_c-python.out -INPUT ./binary_c-python.out -OUTPUT binary_c-python.out -INPUT /usr/share/texlive/texmf-dist/tex/latex/psnfss/t1phv.fd -INPUT /usr/share/texlive/texmf-dist/tex/latex/psnfss/t1phv.fd -INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/helvetic/phvr8t.tfm -INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/helvetic/phvb8t.tfm -INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/helvetic/phvb8t.tfm -INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/helvetic/phvbo8t.tfm -INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/helvetic/phvbo8t.tfm -INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/helvetic/phvb8t.tfm -INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr17.tfm -INPUT /usr/share/texlive/texmf-dist/tex/latex/cmap/ot1.cmap -INPUT /usr/share/texlive/texmf-dist/tex/latex/cmap/ot1.cmap -INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr12.tfm -INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmmi12.tfm -INPUT /usr/share/texlive/texmf-dist/tex/latex/mmap/oml.cmap -INPUT /usr/share/texlive/texmf-dist/tex/latex/mmap/oml.cmap -INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmmi12.tfm -INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmsy10.tfm -INPUT /usr/share/texlive/texmf-dist/tex/latex/mmap/oms.cmap -INPUT /usr/share/texlive/texmf-dist/tex/latex/mmap/oms.cmap -INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmsy10.tfm -INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmex10.tfm -INPUT /usr/share/texlive/texmf-dist/tex/latex/mmap/omx.cmap -INPUT /usr/share/texlive/texmf-dist/tex/latex/mmap/omx.cmap -INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmex10.tfm -INPUT /usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsa.fd -INPUT /usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsa.fd -INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam10.tfm -INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam10.tfm -INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam10.tfm -INPUT /usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsb.fd -INPUT /usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsb.fd -INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm10.tfm -INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm10.tfm -INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm10.tfm -INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/helvetic/phvb8t.tfm -INPUT /usr/share/texlive/texmf-dist/fonts/vf/adobe/helvetic/phvb8t.vf -INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/helvetic/phvb8r.tfm -INPUT /var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map -INPUT /usr/share/texlive/texmf-dist/fonts/vf/adobe/helvetic/phvb8t.vf -INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/helvetic/phvb8r.tfm -INPUT /usr/share/texlive/texmf-dist/fonts/vf/adobe/helvetic/phvb8t.vf -INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/helvetic/phvb8r.tfm -INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/ptmr8t.tfm -INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/helvetic/phvr8t.tfm -INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/helvetic/phvb8t.tfm -INPUT binary_c-python.toc -INPUT binary_c-python.toc -INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/ptmb8t.tfm -INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/cmextra/cmex7.tfm -INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/cmextra/cmex7.tfm -INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam7.tfm -INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam5.tfm -INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm7.tfm -INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm5.tfm -OUTPUT binary_c-python.toc -INPUT /usr/share/texlive/texmf-dist/fonts/vf/adobe/helvetic/phvb8t.vf -INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/helvetic/phvb8r.tfm -INPUT /usr/share/texlive/texmf-dist/fonts/vf/adobe/times/ptmb8t.vf -INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/ptmb8r.tfm -INPUT /usr/share/texlive/texmf-dist/fonts/vf/adobe/times/ptmr8t.vf -INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/ptmr8r.tfm -INPUT /usr/share/texlive/texmf-dist/fonts/vf/adobe/helvetic/phvb8t.vf -INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/helvetic/phvb8r.tfm -INPUT /usr/share/texlive/texmf-dist/tex/latex/psnfss/ts1ptm.fd -INPUT /usr/share/texlive/texmf-dist/tex/latex/psnfss/ts1ptm.fd -INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/ptmr8c.tfm -INPUT /usr/share/texlive/texmf-dist/tex/latex/psnfss/t1pcr.fd -INPUT /usr/share/texlive/texmf-dist/tex/latex/psnfss/t1pcr.fd -INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/courier/pcrr8t.tfm -INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/ptmr8t.tfm -INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/courier/pcrr8t.tfm -INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/courier/pcrr8t.tfm -INPUT /usr/share/texlive/texmf-dist/fonts/vf/adobe/times/ptmr8c.vf -INPUT /usr/share/texlive/texmf-dist/fonts/vf/adobe/courier/pcrr8t.vf -INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/courier/pcrr8r.tfm -INPUT /usr/share/texlive/texmf-dist/fonts/vf/adobe/courier/pcrr8t.vf -INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/courier/pcrr8r.tfm -INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/courier/pcrb8t.tfm -INPUT /usr/share/texlive/texmf-dist/fonts/vf/adobe/courier/pcrb8t.vf -INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/courier/pcrb8r.tfm -INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/ptmri8t.tfm -INPUT /usr/share/texlive/texmf-dist/tex/latex/psnfss/ts1pcr.fd -INPUT /usr/share/texlive/texmf-dist/tex/latex/psnfss/ts1pcr.fd -INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/courier/pcrr8c.tfm -INPUT /usr/share/texlive/texmf-dist/fonts/vf/adobe/times/ptmri8t.vf -INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/ptmri8r.tfm -INPUT /usr/share/texlive/texmf-dist/fonts/vf/adobe/courier/pcrr8c.vf -INPUT /usr/share/texlive/texmf-dist/fonts/vf/adobe/helvetic/phvr8t.vf -INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/helvetic/phvr8r.tfm -INPUT binary_c-python.ind -INPUT binary_c-python.ind -INPUT binary_c-python.aux -INPUT ./binary_c-python.out -INPUT ./binary_c-python.out -INPUT /usr/share/texlive/texmf-dist/fonts/enc/dvips/base/8r.enc -INPUT /usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi5.pfb -INPUT /usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy5.pfb -INPUT /usr/share/texlive/texmf-dist/fonts/type1/urw/courier/ucrb8a.pfb -INPUT /usr/share/texlive/texmf-dist/fonts/type1/urw/courier/ucrr8a.pfb -INPUT /usr/share/texlive/texmf-dist/fonts/type1/urw/helvetic/uhvb8a.pfb -INPUT /usr/share/texlive/texmf-dist/fonts/type1/urw/helvetic/uhvr8a.pfb -INPUT /usr/share/texlive/texmf-dist/fonts/type1/urw/times/utmb8a.pfb -INPUT /usr/share/texlive/texmf-dist/fonts/type1/urw/times/utmr8a.pfb -INPUT /usr/share/texlive/texmf-dist/fonts/type1/urw/times/utmri8a.pfb diff --git a/docs/build/latex/binary_c-python.idx b/docs/build/latex/binary_c-python.idx deleted file mode 100644 index 652dedc05..000000000 --- a/docs/build/latex/binary_c-python.idx +++ /dev/null @@ -1,22 +0,0 @@ -\indexentry{examples.examples (module)@\spxentry{examples.examples}\spxextra{module}|hyperpage}{3} -\indexentry{run\_example\_binary() (in module examples.examples)@\spxentry{run\_example\_binary()}\spxextra{in module examples.examples}|hyperpage}{3} -\indexentry{run\_example\_binary\_with\_custom\_logging() (in module examples.examples)@\spxentry{run\_example\_binary\_with\_custom\_logging()}\spxextra{in module examples.examples}|hyperpage}{3} -\indexentry{run\_example\_binary\_with\_run\_system() (in module examples.examples)@\spxentry{run\_example\_binary\_with\_run\_system()}\spxextra{in module examples.examples}|hyperpage}{3} -\indexentry{run\_example\_binary\_with\_writing\_logfile() (in module examples.examples)@\spxentry{run\_example\_binary\_with\_writing\_logfile()}\spxextra{in module examples.examples}|hyperpage}{3} -\indexentry{custom\_logging\_functions (module)@\spxentry{custom\_logging\_functions}\spxextra{module}|hyperpage}{5} -\indexentry{autogen\_C\_logging\_code() (in module custom\_logging\_functions)@\spxentry{autogen\_C\_logging\_code()}\spxextra{in module custom\_logging\_functions}|hyperpage}{5} -\indexentry{binary\_c\_log\_code() (in module custom\_logging\_functions)@\spxentry{binary\_c\_log\_code()}\spxextra{in module custom\_logging\_functions}|hyperpage}{5} -\indexentry{binary\_c\_write\_log\_code() (in module custom\_logging\_functions)@\spxentry{binary\_c\_write\_log\_code()}\spxextra{in module custom\_logging\_functions}|hyperpage}{5} -\indexentry{compile\_shared\_lib() (in module custom\_logging\_functions)@\spxentry{compile\_shared\_lib()}\spxextra{in module custom\_logging\_functions}|hyperpage}{5} -\indexentry{create\_and\_load\_logging\_function() (in module custom\_logging\_functions)@\spxentry{create\_and\_load\_logging\_function()}\spxextra{in module custom\_logging\_functions}|hyperpage}{5} -\indexentry{from\_binary\_c\_config() (in module custom\_logging\_functions)@\spxentry{from\_binary\_c\_config()}\spxextra{in module custom\_logging\_functions}|hyperpage}{5} -\indexentry{return\_compilation\_dict() (in module custom\_logging\_functions)@\spxentry{return\_compilation\_dict()}\spxextra{in module custom\_logging\_functions}|hyperpage}{5} -\indexentry{temp\_custom\_logging\_dir() (in module custom\_logging\_functions)@\spxentry{temp\_custom\_logging\_dir()}\spxextra{in module custom\_logging\_functions}|hyperpage}{5} -\indexentry{functions (module)@\spxentry{functions}\spxextra{module}|hyperpage}{6} -\indexentry{create\_arg\_string() (in module functions)@\spxentry{create\_arg\_string()}\spxextra{in module functions}|hyperpage}{6} -\indexentry{get\_arg\_keys() (in module functions)@\spxentry{get\_arg\_keys()}\spxextra{in module functions}|hyperpage}{6} -\indexentry{get\_defaults() (in module functions)@\spxentry{get\_defaults()}\spxextra{in module functions}|hyperpage}{6} -\indexentry{load\_logfile() (in module functions)@\spxentry{load\_logfile()}\spxextra{in module functions}|hyperpage}{6} -\indexentry{parse\_output() (in module functions)@\spxentry{parse\_output()}\spxextra{in module functions}|hyperpage}{6} -\indexentry{run\_system() (in module functions)@\spxentry{run\_system()}\spxextra{in module functions}|hyperpage}{6} -\indexentry{run\_system\_with\_log() (in module functions)@\spxentry{run\_system\_with\_log()}\spxextra{in module functions}|hyperpage}{6} diff --git a/docs/build/latex/binary_c-python.ilg b/docs/build/latex/binary_c-python.ilg deleted file mode 100644 index e01c8ef12..000000000 --- a/docs/build/latex/binary_c-python.ilg +++ /dev/null @@ -1,7 +0,0 @@ -This is makeindex, version 2.15 [TeX Live 2017] (kpathsea + Thai support). -Scanning style file ./python.ist.......done (7 attributes redefined, 0 ignored). -Scanning input file binary_c-python.idx....done (22 entries accepted, 0 rejected). -Sorting entries....done (98 comparisons). -Generating output file binary_c-python.ind....done (69 lines written, 0 warnings). -Output written in binary_c-python.ind. -Transcript written in binary_c-python.ilg. diff --git a/docs/build/latex/binary_c-python.ind b/docs/build/latex/binary_c-python.ind deleted file mode 100644 index 0f84763e6..000000000 --- a/docs/build/latex/binary_c-python.ind +++ /dev/null @@ -1,69 +0,0 @@ -\begin{sphinxtheindex} -\let\bigletter\sphinxstyleindexlettergroup -\let\spxpagem \sphinxstyleindexpagemain -\let\spxentry \sphinxstyleindexentry -\let\spxextra \sphinxstyleindexextra - - \bigletter A - \item \spxentry{autogen\_C\_logging\_code()}\spxextra{in module custom\_logging\_functions}, - \hyperpage{5} - - \indexspace - \bigletter B - \item \spxentry{binary\_c\_log\_code()}\spxextra{in module custom\_logging\_functions}, - \hyperpage{5} - \item \spxentry{binary\_c\_write\_log\_code()}\spxextra{in module custom\_logging\_functions}, - \hyperpage{5} - - \indexspace - \bigletter C - \item \spxentry{compile\_shared\_lib()}\spxextra{in module custom\_logging\_functions}, - \hyperpage{5} - \item \spxentry{create\_and\_load\_logging\_function()}\spxextra{in module custom\_logging\_functions}, - \hyperpage{5} - \item \spxentry{create\_arg\_string()}\spxextra{in module functions}, \hyperpage{6} - \item \spxentry{custom\_logging\_functions}\spxextra{module}, \hyperpage{5} - - \indexspace - \bigletter E - \item \spxentry{examples.examples}\spxextra{module}, \hyperpage{3} - - \indexspace - \bigletter F - \item \spxentry{from\_binary\_c\_config()}\spxextra{in module custom\_logging\_functions}, - \hyperpage{5} - \item \spxentry{functions}\spxextra{module}, \hyperpage{6} - - \indexspace - \bigletter G - \item \spxentry{get\_arg\_keys()}\spxextra{in module functions}, \hyperpage{6} - \item \spxentry{get\_defaults()}\spxextra{in module functions}, \hyperpage{6} - - \indexspace - \bigletter L - \item \spxentry{load\_logfile()}\spxextra{in module functions}, \hyperpage{6} - - \indexspace - \bigletter P - \item \spxentry{parse\_output()}\spxextra{in module functions}, \hyperpage{6} - - \indexspace - \bigletter R - \item \spxentry{return\_compilation\_dict()}\spxextra{in module custom\_logging\_functions}, - \hyperpage{5} - \item \spxentry{run\_example\_binary()}\spxextra{in module examples.examples}, \hyperpage{3} - \item \spxentry{run\_example\_binary\_with\_custom\_logging()}\spxextra{in module examples.examples}, - \hyperpage{3} - \item \spxentry{run\_example\_binary\_with\_run\_system()}\spxextra{in module examples.examples}, - \hyperpage{3} - \item \spxentry{run\_example\_binary\_with\_writing\_logfile()}\spxextra{in module examples.examples}, - \hyperpage{3} - \item \spxentry{run\_system()}\spxextra{in module functions}, \hyperpage{6} - \item \spxentry{run\_system\_with\_log()}\spxextra{in module functions}, \hyperpage{6} - - \indexspace - \bigletter T - \item \spxentry{temp\_custom\_logging\_dir()}\spxextra{in module custom\_logging\_functions}, - \hyperpage{5} - -\end{sphinxtheindex} diff --git a/docs/build/latex/binary_c-python.log b/docs/build/latex/binary_c-python.log deleted file mode 100644 index 02bc754f0..000000000 --- a/docs/build/latex/binary_c-python.log +++ /dev/null @@ -1,1275 +0,0 @@ -This is pdfTeX, Version 3.14159265-2.6-1.40.18 (TeX Live 2017/Debian) (preloaded format=pdflatex 2019.10.24) 30 NOV 2019 12:32 -entering extended mode - restricted \write18 enabled. - %&-line parsing enabled. -**binary_c-python.tex -(./binary_c-python.tex -LaTeX2e <2017-04-15> -Babel <3.18> and hyphenation patterns for 84 language(s) loaded. -(./sphinxmanual.cls -Document Class: sphinxmanual 2018/12/23 v2.0 Document class (Sphinx manual) -(/usr/share/texlive/texmf-dist/tex/latex/base/report.cls -Document Class: report 2014/09/29 v1.4h Standard LaTeX document class -(/usr/share/texlive/texmf-dist/tex/latex/base/size10.clo -File: size10.clo 2014/09/29 v1.4h Standard LaTeX file (size option) -) -\c@part=\count79 -\c@chapter=\count80 -\c@section=\count81 -\c@subsection=\count82 -\c@subsubsection=\count83 -\c@paragraph=\count84 -\c@subparagraph=\count85 -\c@figure=\count86 -\c@table=\count87 -\abovecaptionskip=\skip41 -\belowcaptionskip=\skip42 -\bibindent=\dimen102 -)) -(/usr/share/texlive/texmf-dist/tex/latex/base/inputenc.sty -Package: inputenc 2015/03/17 v1.2c Input encoding file -\inpenc@prehook=\toks14 -\inpenc@posthook=\toks15 - -(/usr/share/texlive/texmf-dist/tex/latex/base/utf8.def -File: utf8.def 2017/01/28 v1.1t UTF-8 support for inputenc -Now handling font encoding OML ... -... no UTF-8 mapping file for font encoding OML -Now handling font encoding T1 ... -... processing UTF-8 mapping file for font encoding T1 - -(/usr/share/texlive/texmf-dist/tex/latex/base/t1enc.dfu -File: t1enc.dfu 2017/01/28 v1.1t UTF-8 support for inputenc - defining Unicode char U+00A0 (decimal 160) - defining Unicode char U+00A1 (decimal 161) - defining Unicode char U+00A3 (decimal 163) - defining Unicode char U+00AB (decimal 171) - defining Unicode char U+00AD (decimal 173) - defining Unicode char U+00BB (decimal 187) - defining Unicode char U+00BF (decimal 191) - defining Unicode char U+00C0 (decimal 192) - defining Unicode char U+00C1 (decimal 193) - defining Unicode char U+00C2 (decimal 194) - defining Unicode char U+00C3 (decimal 195) - defining Unicode char U+00C4 (decimal 196) - defining Unicode char U+00C5 (decimal 197) - defining Unicode char U+00C6 (decimal 198) - defining Unicode char U+00C7 (decimal 199) - defining Unicode char U+00C8 (decimal 200) - defining Unicode char U+00C9 (decimal 201) - defining Unicode char U+00CA (decimal 202) - defining Unicode char U+00CB (decimal 203) - defining Unicode char U+00CC (decimal 204) - defining Unicode char U+00CD (decimal 205) - defining Unicode char U+00CE (decimal 206) - defining Unicode char U+00CF (decimal 207) - defining Unicode char U+00D0 (decimal 208) - defining Unicode char U+00D1 (decimal 209) - defining Unicode char U+00D2 (decimal 210) - defining Unicode char U+00D3 (decimal 211) - defining Unicode char U+00D4 (decimal 212) - defining Unicode char U+00D5 (decimal 213) - defining Unicode char U+00D6 (decimal 214) - defining Unicode char U+00D8 (decimal 216) - defining Unicode char U+00D9 (decimal 217) - defining Unicode char U+00DA (decimal 218) - defining Unicode char U+00DB (decimal 219) - defining Unicode char U+00DC (decimal 220) - defining Unicode char U+00DD (decimal 221) - defining Unicode char U+00DE (decimal 222) - defining Unicode char U+00DF (decimal 223) - defining Unicode char U+00E0 (decimal 224) - defining Unicode char U+00E1 (decimal 225) - defining Unicode char U+00E2 (decimal 226) - defining Unicode char U+00E3 (decimal 227) - defining Unicode char U+00E4 (decimal 228) - defining Unicode char U+00E5 (decimal 229) - defining Unicode char U+00E6 (decimal 230) - defining Unicode char U+00E7 (decimal 231) - defining Unicode char U+00E8 (decimal 232) - defining Unicode char U+00E9 (decimal 233) - defining Unicode char U+00EA (decimal 234) - defining Unicode char U+00EB (decimal 235) - defining Unicode char U+00EC (decimal 236) - defining Unicode char U+00ED (decimal 237) - defining Unicode char U+00EE (decimal 238) - defining Unicode char U+00EF (decimal 239) - defining Unicode char U+00F0 (decimal 240) - defining Unicode char U+00F1 (decimal 241) - defining Unicode char U+00F2 (decimal 242) - defining Unicode char U+00F3 (decimal 243) - defining Unicode char U+00F4 (decimal 244) - defining Unicode char U+00F5 (decimal 245) - defining Unicode char U+00F6 (decimal 246) - defining Unicode char U+00F8 (decimal 248) - defining Unicode char U+00F9 (decimal 249) - defining Unicode char U+00FA (decimal 250) - defining Unicode char U+00FB (decimal 251) - defining Unicode char U+00FC (decimal 252) - defining Unicode char U+00FD (decimal 253) - defining Unicode char U+00FE (decimal 254) - defining Unicode char U+00FF (decimal 255) - defining Unicode char U+0100 (decimal 256) - defining Unicode char U+0101 (decimal 257) - defining Unicode char U+0102 (decimal 258) - defining Unicode char U+0103 (decimal 259) - defining Unicode char U+0104 (decimal 260) - defining Unicode char U+0105 (decimal 261) - defining Unicode char U+0106 (decimal 262) - defining Unicode char U+0107 (decimal 263) - defining Unicode char U+0108 (decimal 264) - defining Unicode char U+0109 (decimal 265) - defining Unicode char U+010A (decimal 266) - defining Unicode char U+010B (decimal 267) - defining Unicode char U+010C (decimal 268) - defining Unicode char U+010D (decimal 269) - defining Unicode char U+010E (decimal 270) - defining Unicode char U+010F (decimal 271) - defining Unicode char U+0110 (decimal 272) - defining Unicode char U+0111 (decimal 273) - defining Unicode char U+0112 (decimal 274) - defining Unicode char U+0113 (decimal 275) - defining Unicode char U+0114 (decimal 276) - defining Unicode char U+0115 (decimal 277) - defining Unicode char U+0116 (decimal 278) - defining Unicode char U+0117 (decimal 279) - defining Unicode char U+0118 (decimal 280) - defining Unicode char U+0119 (decimal 281) - defining Unicode char U+011A (decimal 282) - defining Unicode char U+011B (decimal 283) - defining Unicode char U+011C (decimal 284) - defining Unicode char U+011D (decimal 285) - defining Unicode char U+011E (decimal 286) - defining Unicode char U+011F (decimal 287) - defining Unicode char U+0120 (decimal 288) - defining Unicode char U+0121 (decimal 289) - defining Unicode char U+0122 (decimal 290) - defining Unicode char U+0123 (decimal 291) - defining Unicode char U+0124 (decimal 292) - defining Unicode char U+0125 (decimal 293) - defining Unicode char U+0128 (decimal 296) - defining Unicode char U+0129 (decimal 297) - defining Unicode char U+012A (decimal 298) - defining Unicode char U+012B (decimal 299) - defining Unicode char U+012C (decimal 300) - defining Unicode char U+012D (decimal 301) - defining Unicode char U+012E (decimal 302) - defining Unicode char U+012F (decimal 303) - defining Unicode char U+0130 (decimal 304) - defining Unicode char U+0131 (decimal 305) - defining Unicode char U+0132 (decimal 306) - defining Unicode char U+0133 (decimal 307) - defining Unicode char U+0134 (decimal 308) - defining Unicode char U+0135 (decimal 309) - defining Unicode char U+0136 (decimal 310) - defining Unicode char U+0137 (decimal 311) - defining Unicode char U+0139 (decimal 313) - defining Unicode char U+013A (decimal 314) - defining Unicode char U+013B (decimal 315) - defining Unicode char U+013C (decimal 316) - defining Unicode char U+013D (decimal 317) - defining Unicode char U+013E (decimal 318) - defining Unicode char U+0141 (decimal 321) - defining Unicode char U+0142 (decimal 322) - defining Unicode char U+0143 (decimal 323) - defining Unicode char U+0144 (decimal 324) - defining Unicode char U+0145 (decimal 325) - defining Unicode char U+0146 (decimal 326) - defining Unicode char U+0147 (decimal 327) - defining Unicode char U+0148 (decimal 328) - defining Unicode char U+014A (decimal 330) - defining Unicode char U+014B (decimal 331) - defining Unicode char U+014C (decimal 332) - defining Unicode char U+014D (decimal 333) - defining Unicode char U+014E (decimal 334) - defining Unicode char U+014F (decimal 335) - defining Unicode char U+0150 (decimal 336) - defining Unicode char U+0151 (decimal 337) - defining Unicode char U+0152 (decimal 338) - defining Unicode char U+0153 (decimal 339) - defining Unicode char U+0154 (decimal 340) - defining Unicode char U+0155 (decimal 341) - defining Unicode char U+0156 (decimal 342) - defining Unicode char U+0157 (decimal 343) - defining Unicode char U+0158 (decimal 344) - defining Unicode char U+0159 (decimal 345) - defining Unicode char U+015A (decimal 346) - defining Unicode char U+015B (decimal 347) - defining Unicode char U+015C (decimal 348) - defining Unicode char U+015D (decimal 349) - defining Unicode char U+015E (decimal 350) - defining Unicode char U+015F (decimal 351) - defining Unicode char U+0160 (decimal 352) - defining Unicode char U+0161 (decimal 353) - defining Unicode char U+0162 (decimal 354) - defining Unicode char U+0163 (decimal 355) - defining Unicode char U+0164 (decimal 356) - defining Unicode char U+0165 (decimal 357) - defining Unicode char U+0168 (decimal 360) - defining Unicode char U+0169 (decimal 361) - defining Unicode char U+016A (decimal 362) - defining Unicode char U+016B (decimal 363) - defining Unicode char U+016C (decimal 364) - defining Unicode char U+016D (decimal 365) - defining Unicode char U+016E (decimal 366) - defining Unicode char U+016F (decimal 367) - defining Unicode char U+0170 (decimal 368) - defining Unicode char U+0171 (decimal 369) - defining Unicode char U+0172 (decimal 370) - defining Unicode char U+0173 (decimal 371) - defining Unicode char U+0174 (decimal 372) - defining Unicode char U+0175 (decimal 373) - defining Unicode char U+0176 (decimal 374) - defining Unicode char U+0177 (decimal 375) - defining Unicode char U+0178 (decimal 376) - defining Unicode char U+0179 (decimal 377) - defining Unicode char U+017A (decimal 378) - defining Unicode char U+017B (decimal 379) - defining Unicode char U+017C (decimal 380) - defining Unicode char U+017D (decimal 381) - defining Unicode char U+017E (decimal 382) - defining Unicode char U+01CD (decimal 461) - defining Unicode char U+01CE (decimal 462) - defining Unicode char U+01CF (decimal 463) - defining Unicode char U+01D0 (decimal 464) - defining Unicode char U+01D1 (decimal 465) - defining Unicode char U+01D2 (decimal 466) - defining Unicode char U+01D3 (decimal 467) - defining Unicode char U+01D4 (decimal 468) - defining Unicode char U+01E2 (decimal 482) - defining Unicode char U+01E3 (decimal 483) - defining Unicode char U+01E6 (decimal 486) - defining Unicode char U+01E7 (decimal 487) - defining Unicode char U+01E8 (decimal 488) - defining Unicode char U+01E9 (decimal 489) - defining Unicode char U+01EA (decimal 490) - defining Unicode char U+01EB (decimal 491) - defining Unicode char U+01F0 (decimal 496) - defining Unicode char U+01F4 (decimal 500) - defining Unicode char U+01F5 (decimal 501) - defining Unicode char U+0218 (decimal 536) - defining Unicode char U+0219 (decimal 537) - defining Unicode char U+021A (decimal 538) - defining Unicode char U+021B (decimal 539) - defining Unicode char U+0232 (decimal 562) - defining Unicode char U+0233 (decimal 563) - defining Unicode char U+1E02 (decimal 7682) - defining Unicode char U+1E03 (decimal 7683) - defining Unicode char U+200C (decimal 8204) - defining Unicode char U+2010 (decimal 8208) - defining Unicode char U+2011 (decimal 8209) - defining Unicode char U+2012 (decimal 8210) - defining Unicode char U+2013 (decimal 8211) - defining Unicode char U+2014 (decimal 8212) - defining Unicode char U+2015 (decimal 8213) - defining Unicode char U+2018 (decimal 8216) - defining Unicode char U+2019 (decimal 8217) - defining Unicode char U+201A (decimal 8218) - defining Unicode char U+201C (decimal 8220) - defining Unicode char U+201D (decimal 8221) - defining Unicode char U+201E (decimal 8222) - defining Unicode char U+2030 (decimal 8240) - defining Unicode char U+2031 (decimal 8241) - defining Unicode char U+2039 (decimal 8249) - defining Unicode char U+203A (decimal 8250) - defining Unicode char U+2423 (decimal 9251) - defining Unicode char U+1E20 (decimal 7712) - defining Unicode char U+1E21 (decimal 7713) -) -Now handling font encoding OT1 ... -... processing UTF-8 mapping file for font encoding OT1 - -(/usr/share/texlive/texmf-dist/tex/latex/base/ot1enc.dfu -File: ot1enc.dfu 2017/01/28 v1.1t UTF-8 support for inputenc - defining Unicode char U+00A0 (decimal 160) - defining Unicode char U+00A1 (decimal 161) - defining Unicode char U+00A3 (decimal 163) - defining Unicode char U+00AD (decimal 173) - defining Unicode char U+00B8 (decimal 184) - defining Unicode char U+00BF (decimal 191) - defining Unicode char U+00C5 (decimal 197) - defining Unicode char U+00C6 (decimal 198) - defining Unicode char U+00D8 (decimal 216) - defining Unicode char U+00DF (decimal 223) - defining Unicode char U+00E6 (decimal 230) - defining Unicode char U+00EC (decimal 236) - defining Unicode char U+00ED (decimal 237) - defining Unicode char U+00EE (decimal 238) - defining Unicode char U+00EF (decimal 239) - defining Unicode char U+00F8 (decimal 248) - defining Unicode char U+0131 (decimal 305) - defining Unicode char U+0141 (decimal 321) - defining Unicode char U+0142 (decimal 322) - defining Unicode char U+0152 (decimal 338) - defining Unicode char U+0153 (decimal 339) - defining Unicode char U+0174 (decimal 372) - defining Unicode char U+0175 (decimal 373) - defining Unicode char U+0176 (decimal 374) - defining Unicode char U+0177 (decimal 375) - defining Unicode char U+0218 (decimal 536) - defining Unicode char U+0219 (decimal 537) - defining Unicode char U+021A (decimal 538) - defining Unicode char U+021B (decimal 539) - defining Unicode char U+2013 (decimal 8211) - defining Unicode char U+2014 (decimal 8212) - defining Unicode char U+2018 (decimal 8216) - defining Unicode char U+2019 (decimal 8217) - defining Unicode char U+201C (decimal 8220) - defining Unicode char U+201D (decimal 8221) -) -Now handling font encoding OMS ... -... processing UTF-8 mapping file for font encoding OMS - -(/usr/share/texlive/texmf-dist/tex/latex/base/omsenc.dfu -File: omsenc.dfu 2017/01/28 v1.1t UTF-8 support for inputenc - defining Unicode char U+00A7 (decimal 167) - defining Unicode char U+00B6 (decimal 182) - defining Unicode char U+00B7 (decimal 183) - defining Unicode char U+2020 (decimal 8224) - defining Unicode char U+2021 (decimal 8225) - defining Unicode char U+2022 (decimal 8226) -) -Now handling font encoding OMX ... -... no UTF-8 mapping file for font encoding OMX -Now handling font encoding U ... -... no UTF-8 mapping file for font encoding U - defining Unicode char U+00A9 (decimal 169) - defining Unicode char U+00AA (decimal 170) - defining Unicode char U+00AE (decimal 174) - defining Unicode char U+00BA (decimal 186) - defining Unicode char U+02C6 (decimal 710) - defining Unicode char U+02DC (decimal 732) - defining Unicode char U+200C (decimal 8204) - defining Unicode char U+2026 (decimal 8230) - defining Unicode char U+2122 (decimal 8482) - defining Unicode char U+2423 (decimal 9251) -)) - defining Unicode char U+00A0 (decimal 160) - defining Unicode char U+2500 (decimal 9472) - defining Unicode char U+2502 (decimal 9474) - defining Unicode char U+2514 (decimal 9492) - defining Unicode char U+251C (decimal 9500) - defining Unicode char U+2572 (decimal 9586) - -(/usr/share/texlive/texmf-dist/tex/latex/cmap/cmap.sty -Package: cmap 2008/03/06 v1.0h CMap support: searchable PDF -) -(/usr/share/texlive/texmf-dist/tex/latex/base/fontenc.sty -Package: fontenc 2017/04/05 v2.0i Standard LaTeX package - -(/usr/share/texlive/texmf-dist/tex/latex/base/t1enc.def -File: t1enc.def 2017/04/05 v2.0i Standard LaTeX file -LaTeX Font Info: Redeclaring font encoding T1 on input line 48. -)<<t1.cmap>>) -(/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsmath.sty -Package: amsmath 2017/09/02 v2.17a AMS math features -\@mathmargin=\skip43 - -For additional information on amsmath, use the `?' option. -(/usr/share/texlive/texmf-dist/tex/latex/amsmath/amstext.sty -Package: amstext 2000/06/29 v2.01 AMS text - -(/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsgen.sty -File: amsgen.sty 1999/11/30 v2.0 generic functions -\@emptytoks=\toks16 -\ex@=\dimen103 -)) -(/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsbsy.sty -Package: amsbsy 1999/11/29 v1.2d Bold Symbols -\pmbraise@=\dimen104 -) -(/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsopn.sty -Package: amsopn 2016/03/08 v2.02 operator names -) -\inf@bad=\count88 -LaTeX Info: Redefining \frac on input line 213. -\uproot@=\count89 -\leftroot@=\count90 -LaTeX Info: Redefining \overline on input line 375. -\classnum@=\count91 -\DOTSCASE@=\count92 -LaTeX Info: Redefining \ldots on input line 472. -LaTeX Info: Redefining \dots on input line 475. -LaTeX Info: Redefining \cdots on input line 596. -\Mathstrutbox@=\box26 -\strutbox@=\box27 -\big@size=\dimen105 -LaTeX Font Info: Redeclaring font encoding OML on input line 712. -LaTeX Font Info: Redeclaring font encoding OMS on input line 713. -\macc@depth=\count93 -\c@MaxMatrixCols=\count94 -\dotsspace@=\muskip10 -\c@parentequation=\count95 -\dspbrk@lvl=\count96 -\tag@help=\toks17 -\row@=\count97 -\column@=\count98 -\maxfields@=\count99 -\andhelp@=\toks18 -\eqnshift@=\dimen106 -\alignsep@=\dimen107 -\tagshift@=\dimen108 -\tagwidth@=\dimen109 -\totwidth@=\dimen110 -\lineht@=\dimen111 -\@envbody=\toks19 -\multlinegap=\skip44 -\multlinetaggap=\skip45 -\mathdisplay@stack=\toks20 -LaTeX Info: Redefining \[ on input line 2817. -LaTeX Info: Redefining \] on input line 2818. -) -(/usr/share/texlive/texmf-dist/tex/latex/amsfonts/amssymb.sty -Package: amssymb 2013/01/14 v3.01 AMS font symbols - -(/usr/share/texlive/texmf-dist/tex/latex/amsfonts/amsfonts.sty -Package: amsfonts 2013/01/14 v3.01 Basic AMSFonts support -\symAMSa=\mathgroup4 -\symAMSb=\mathgroup5 -LaTeX Font Info: Overwriting math alphabet `\mathfrak' in version `bold' -(Font) U/euf/m/n --> U/euf/b/n on input line 106. -)) -(/usr/share/texlive/texmf-dist/tex/generic/babel/babel.sty -Package: babel 2018/02/14 3.18 The Babel package - -(/usr/share/texlive/texmf-dist/tex/generic/babel/switch.def -File: switch.def 2018/02/14 3.18 Babel switching mechanism -) -(/usr/share/texlive/texmf-dist/tex/generic/babel-english/english.ldf -Language: english 2017/06/06 v3.3r English support from the babel system - -(/usr/share/texlive/texmf-dist/tex/generic/babel/babel.def -File: babel.def 2018/02/14 3.18 Babel common definitions -\babel@savecnt=\count100 -\U@D=\dimen112 - -(/usr/share/texlive/texmf-dist/tex/generic/babel/txtbabel.def) -\bbl@dirlevel=\count101 -) -\l@canadian = a dialect from \language\l@american -\l@australian = a dialect from \language\l@british -\l@newzealand = a dialect from \language\l@british -)) -(/usr/share/texlive/texmf-dist/tex/latex/psnfss/times.sty -Package: times 2005/04/12 PSNFSS-v9.2a (SPQR) -) -(/usr/share/texlive/texmf-dist/tex/latex/fncychap/fncychap.sty -Package: fncychap 2007/07/30 v1.34 LaTeX package (Revised chapters) -\RW=\skip46 -\mylen=\skip47 -\myhi=\skip48 -\px=\skip49 -\py=\skip50 -\pyy=\skip51 -\pxx=\skip52 -\c@AlphaCnt=\count102 -\c@AlphaDecCnt=\count103 -) (./sphinx.sty -Package: sphinx 2019/09/02 v2.2.1 LaTeX package (Sphinx markup) - -(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ltxcmds.sty -Package: ltxcmds 2016/05/16 v1.23 LaTeX kernel commands for general use (HO) -) -(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty -Package: graphicx 2017/06/01 v1.1a Enhanced LaTeX Graphics (DPC,SPQR) - -(/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty -Package: keyval 2014/10/28 v1.15 key=value parser (DPC) -\KV@toks@=\toks21 -) -(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty -Package: graphics 2017/06/25 v1.2c Standard LaTeX Graphics (DPC,SPQR) - -(/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty -Package: trig 2016/01/03 v1.10 sin cos tan (DPC) -) -(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg -File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration -) -Package graphics Info: Driver file: pdftex.def on input line 99. - -(/usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def -File: pdftex.def 2018/01/08 v1.0l Graphics/color driver for pdftex -)) -\Gin@req@height=\dimen113 -\Gin@req@width=\dimen114 -) -(/usr/share/texlive/texmf-dist/tex/latex/fancyhdr/fancyhdr.sty -Package: fancyhdr 2017/06/30 v3.9a Extensive control of page headers and footer -s -\f@nch@headwidth=\skip53 -\f@nch@O@elh=\skip54 -\f@nch@O@erh=\skip55 -\f@nch@O@olh=\skip56 -\f@nch@O@orh=\skip57 -\f@nch@O@elf=\skip58 -\f@nch@O@erf=\skip59 -\f@nch@O@olf=\skip60 -\f@nch@O@orf=\skip61 -) -(/usr/share/texlive/texmf-dist/tex/latex/base/textcomp.sty -Package: textcomp 2017/04/05 v2.0i Standard LaTeX package -Package textcomp Info: Sub-encoding information: -(textcomp) 5 = only ISO-Adobe without \textcurrency -(textcomp) 4 = 5 + \texteuro -(textcomp) 3 = 4 + \textohm -(textcomp) 2 = 3 + \textestimated + \textcurrency -(textcomp) 1 = TS1 - \textcircled - \t -(textcomp) 0 = TS1 (full) -(textcomp) Font families with sub-encoding setting implement -(textcomp) only a restricted character set as indicated. -(textcomp) Family '?' is the default used for unknown fonts. -(textcomp) See the documentation for details. -Package textcomp Info: Setting ? sub-encoding to TS1/1 on input line 79. - -(/usr/share/texlive/texmf-dist/tex/latex/base/ts1enc.def -File: ts1enc.def 2001/06/05 v3.0e (jk/car/fm) Standard LaTeX file -Now handling font encoding TS1 ... -... processing UTF-8 mapping file for font encoding TS1 - -(/usr/share/texlive/texmf-dist/tex/latex/base/ts1enc.dfu -File: ts1enc.dfu 2017/01/28 v1.1t UTF-8 support for inputenc - defining Unicode char U+00A2 (decimal 162) - defining Unicode char U+00A3 (decimal 163) - defining Unicode char U+00A4 (decimal 164) - defining Unicode char U+00A5 (decimal 165) - defining Unicode char U+00A6 (decimal 166) - defining Unicode char U+00A7 (decimal 167) - defining Unicode char U+00A8 (decimal 168) - defining Unicode char U+00A9 (decimal 169) - defining Unicode char U+00AA (decimal 170) - defining Unicode char U+00AC (decimal 172) - defining Unicode char U+00AE (decimal 174) - defining Unicode char U+00AF (decimal 175) - defining Unicode char U+00B0 (decimal 176) - defining Unicode char U+00B1 (decimal 177) - defining Unicode char U+00B2 (decimal 178) - defining Unicode char U+00B3 (decimal 179) - defining Unicode char U+00B4 (decimal 180) - defining Unicode char U+00B5 (decimal 181) - defining Unicode char U+00B6 (decimal 182) - defining Unicode char U+00B7 (decimal 183) - defining Unicode char U+00B9 (decimal 185) - defining Unicode char U+00BA (decimal 186) - defining Unicode char U+00BC (decimal 188) - defining Unicode char U+00BD (decimal 189) - defining Unicode char U+00BE (decimal 190) - defining Unicode char U+00D7 (decimal 215) - defining Unicode char U+00F7 (decimal 247) - defining Unicode char U+0192 (decimal 402) - defining Unicode char U+02C7 (decimal 711) - defining Unicode char U+02D8 (decimal 728) - defining Unicode char U+02DD (decimal 733) - defining Unicode char U+0E3F (decimal 3647) - defining Unicode char U+2016 (decimal 8214) - defining Unicode char U+2020 (decimal 8224) - defining Unicode char U+2021 (decimal 8225) - defining Unicode char U+2022 (decimal 8226) - defining Unicode char U+2030 (decimal 8240) - defining Unicode char U+2031 (decimal 8241) - defining Unicode char U+203B (decimal 8251) - defining Unicode char U+203D (decimal 8253) - defining Unicode char U+2044 (decimal 8260) - defining Unicode char U+204E (decimal 8270) - defining Unicode char U+2052 (decimal 8274) - defining Unicode char U+20A1 (decimal 8353) - defining Unicode char U+20A4 (decimal 8356) - defining Unicode char U+20A6 (decimal 8358) - defining Unicode char U+20A9 (decimal 8361) - defining Unicode char U+20AB (decimal 8363) - defining Unicode char U+20AC (decimal 8364) - defining Unicode char U+20B1 (decimal 8369) - defining Unicode char U+2103 (decimal 8451) - defining Unicode char U+2116 (decimal 8470) - defining Unicode char U+2117 (decimal 8471) - defining Unicode char U+211E (decimal 8478) - defining Unicode char U+2120 (decimal 8480) - defining Unicode char U+2122 (decimal 8482) - defining Unicode char U+2126 (decimal 8486) - defining Unicode char U+2127 (decimal 8487) - defining Unicode char U+212E (decimal 8494) - defining Unicode char U+2190 (decimal 8592) - defining Unicode char U+2191 (decimal 8593) - defining Unicode char U+2192 (decimal 8594) - defining Unicode char U+2193 (decimal 8595) - defining Unicode char U+2329 (decimal 9001) - defining Unicode char U+232A (decimal 9002) - defining Unicode char U+2422 (decimal 9250) - defining Unicode char U+25E6 (decimal 9702) - defining Unicode char U+25EF (decimal 9711) - defining Unicode char U+266A (decimal 9834) -)) -LaTeX Info: Redefining \oldstylenums on input line 334. -Package textcomp Info: Setting cmr sub-encoding to TS1/0 on input line 349. -Package textcomp Info: Setting cmss sub-encoding to TS1/0 on input line 350. -Package textcomp Info: Setting cmtt sub-encoding to TS1/0 on input line 351. -Package textcomp Info: Setting cmvtt sub-encoding to TS1/0 on input line 352. -Package textcomp Info: Setting cmbr sub-encoding to TS1/0 on input line 353. -Package textcomp Info: Setting cmtl sub-encoding to TS1/0 on input line 354. -Package textcomp Info: Setting ccr sub-encoding to TS1/0 on input line 355. -Package textcomp Info: Setting ptm sub-encoding to TS1/4 on input line 356. -Package textcomp Info: Setting pcr sub-encoding to TS1/4 on input line 357. -Package textcomp Info: Setting phv sub-encoding to TS1/4 on input line 358. -Package textcomp Info: Setting ppl sub-encoding to TS1/3 on input line 359. -Package textcomp Info: Setting pag sub-encoding to TS1/4 on input line 360. -Package textcomp Info: Setting pbk sub-encoding to TS1/4 on input line 361. -Package textcomp Info: Setting pnc sub-encoding to TS1/4 on input line 362. -Package textcomp Info: Setting pzc sub-encoding to TS1/4 on input line 363. -Package textcomp Info: Setting bch sub-encoding to TS1/4 on input line 364. -Package textcomp Info: Setting put sub-encoding to TS1/5 on input line 365. -Package textcomp Info: Setting uag sub-encoding to TS1/5 on input line 366. -Package textcomp Info: Setting ugq sub-encoding to TS1/5 on input line 367. -Package textcomp Info: Setting ul8 sub-encoding to TS1/4 on input line 368. -Package textcomp Info: Setting ul9 sub-encoding to TS1/4 on input line 369. -Package textcomp Info: Setting augie sub-encoding to TS1/5 on input line 370. -Package textcomp Info: Setting dayrom sub-encoding to TS1/3 on input line 371. -Package textcomp Info: Setting dayroms sub-encoding to TS1/3 on input line 372. - -Package textcomp Info: Setting pxr sub-encoding to TS1/0 on input line 373. -Package textcomp Info: Setting pxss sub-encoding to TS1/0 on input line 374. -Package textcomp Info: Setting pxtt sub-encoding to TS1/0 on input line 375. -Package textcomp Info: Setting txr sub-encoding to TS1/0 on input line 376. -Package textcomp Info: Setting txss sub-encoding to TS1/0 on input line 377. -Package textcomp Info: Setting txtt sub-encoding to TS1/0 on input line 378. -Package textcomp Info: Setting lmr sub-encoding to TS1/0 on input line 379. -Package textcomp Info: Setting lmdh sub-encoding to TS1/0 on input line 380. -Package textcomp Info: Setting lmss sub-encoding to TS1/0 on input line 381. -Package textcomp Info: Setting lmssq sub-encoding to TS1/0 on input line 382. -Package textcomp Info: Setting lmvtt sub-encoding to TS1/0 on input line 383. -Package textcomp Info: Setting lmtt sub-encoding to TS1/0 on input line 384. -Package textcomp Info: Setting qhv sub-encoding to TS1/0 on input line 385. -Package textcomp Info: Setting qag sub-encoding to TS1/0 on input line 386. -Package textcomp Info: Setting qbk sub-encoding to TS1/0 on input line 387. -Package textcomp Info: Setting qcr sub-encoding to TS1/0 on input line 388. -Package textcomp Info: Setting qcs sub-encoding to TS1/0 on input line 389. -Package textcomp Info: Setting qpl sub-encoding to TS1/0 on input line 390. -Package textcomp Info: Setting qtm sub-encoding to TS1/0 on input line 391. -Package textcomp Info: Setting qzc sub-encoding to TS1/0 on input line 392. -Package textcomp Info: Setting qhvc sub-encoding to TS1/0 on input line 393. -Package textcomp Info: Setting futs sub-encoding to TS1/4 on input line 394. -Package textcomp Info: Setting futx sub-encoding to TS1/4 on input line 395. -Package textcomp Info: Setting futj sub-encoding to TS1/4 on input line 396. -Package textcomp Info: Setting hlh sub-encoding to TS1/3 on input line 397. -Package textcomp Info: Setting hls sub-encoding to TS1/3 on input line 398. -Package textcomp Info: Setting hlst sub-encoding to TS1/3 on input line 399. -Package textcomp Info: Setting hlct sub-encoding to TS1/5 on input line 400. -Package textcomp Info: Setting hlx sub-encoding to TS1/5 on input line 401. -Package textcomp Info: Setting hlce sub-encoding to TS1/5 on input line 402. -Package textcomp Info: Setting hlcn sub-encoding to TS1/5 on input line 403. -Package textcomp Info: Setting hlcw sub-encoding to TS1/5 on input line 404. -Package textcomp Info: Setting hlcf sub-encoding to TS1/5 on input line 405. -Package textcomp Info: Setting pplx sub-encoding to TS1/3 on input line 406. -Package textcomp Info: Setting pplj sub-encoding to TS1/3 on input line 407. -Package textcomp Info: Setting ptmx sub-encoding to TS1/4 on input line 408. -Package textcomp Info: Setting ptmj sub-encoding to TS1/4 on input line 409. -) -(/usr/share/texlive/texmf-dist/tex/latex/titlesec/titlesec.sty -Package: titlesec 2016/03/21 v2.10.2 Sectioning titles -\ttl@box=\box28 -\beforetitleunit=\skip62 -\aftertitleunit=\skip63 -\ttl@plus=\dimen115 -\ttl@minus=\dimen116 -\ttl@toksa=\toks22 -\titlewidth=\dimen117 -\titlewidthlast=\dimen118 -\titlewidthfirst=\dimen119 -) -(/usr/share/texlive/texmf-dist/tex/latex/tabulary/tabulary.sty -Package: tabulary 2014/06/11 v0.10 tabulary package (DPC) - -(/usr/share/texlive/texmf-dist/tex/latex/tools/array.sty -Package: array 2016/10/06 v2.4d Tabular extension package (FMi) -\col@sep=\dimen120 -\extrarowheight=\dimen121 -\NC@list=\toks23 -\extratabsurround=\skip64 -\backup@length=\skip65 -) -\TY@count=\count104 -\TY@linewidth=\dimen122 -\tymin=\dimen123 -\tymax=\dimen124 -\TY@tablewidth=\dimen125 -) -(/usr/share/texlive/texmf-dist/tex/latex/tools/longtable.sty -Package: longtable 2014/10/28 v4.11 Multi-page Table package (DPC) -\LTleft=\skip66 -\LTright=\skip67 -\LTpre=\skip68 -\LTpost=\skip69 -\LTchunksize=\count105 -\LTcapwidth=\dimen126 -\LT@head=\box29 -\LT@firsthead=\box30 -\LT@foot=\box31 -\LT@lastfoot=\box32 -\LT@cols=\count106 -\LT@rows=\count107 -\c@LT@tables=\count108 -\c@LT@chunks=\count109 -\LT@p@ftn=\toks24 -) -(/usr/share/texlive/texmf-dist/tex/latex/varwidth/varwidth.sty -Package: varwidth 2009/03/30 ver 0.92; Variable-width minipages -\@vwid@box=\box33 -\sift@deathcycles=\count110 -\@vwid@loff=\dimen127 -\@vwid@roff=\dimen128 -) -(./sphinxmulticell.sty -Package: sphinxmulticell 2017/02/23 v1.6 better span rows and columns of a tabl -e (Sphinx team) -\sphinx@TY@tablewidth=\dimen129 -) -(/usr/share/texlive/texmf-dist/tex/latex/base/makeidx.sty -Package: makeidx 2014/09/29 v1.0m Standard LaTeX package -) -(/usr/share/texlive/texmf-dist/tex/latex/framed/framed.sty -Package: framed 2011/10/22 v 0.96: framed or shaded text with page breaks -\OuterFrameSep=\skip70 -\fb@frw=\dimen130 -\fb@frh=\dimen131 -\FrameRule=\dimen132 -\FrameSep=\dimen133 -) -(/usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty -Package: xcolor 2016/05/11 v2.12 LaTeX color extensions (UK) - -(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/color.cfg -File: color.cfg 2016/01/02 v1.6 sample color configuration -) -Package xcolor Info: Driver file: pdftex.def on input line 225. -Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1348. -Package xcolor Info: Model `hsb' substituted by `rgb' on input line 1352. -Package xcolor Info: Model `RGB' extended on input line 1364. -Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1366. -Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1367. -Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1368. -Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1369. -Package xcolor Info: Model `Gray' substituted by `gray' on input line 1370. -Package xcolor Info: Model `wave' substituted by `hsb' on input line 1371. -) -(/usr/share/texlive/texmf-dist/tex/latex/fancyvrb/fancyvrb.sty -Package: fancyvrb 2008/02/07 - -Style option: `fancyvrb' v2.7a, with DG/SPQR fixes, and firstline=lastline fix -<2008/02/07> (tvz) -\FV@CodeLineNo=\count111 -\FV@InFile=\read1 -\FV@TabBox=\box34 -\c@FancyVerbLine=\count112 -\FV@StepNumber=\count113 -\FV@OutFile=\write3 -) (./footnotehyper-sphinx.sty -Package: footnotehyper-sphinx 2017/10/27 v1.7 hyperref aware footnote.sty for s -phinx (JFB) -\FNH@notes=\box35 -\FNH@width=\dimen134 -) -(/usr/share/texlive/texmf-dist/tex/latex/float/float.sty -Package: float 2001/11/08 v1.3d Float enhancements (AL) -\c@float@type=\count114 -\float@exts=\toks25 -\float@box=\box36 -\@float@everytoks=\toks26 -\@floatcapt=\box37 -) -(/usr/share/texlive/texmf-dist/tex/latex/wrapfig/wrapfig.sty -\wrapoverhang=\dimen135 -\WF@size=\dimen136 -\c@WF@wrappedlines=\count115 -\WF@box=\box38 -\WF@everypar=\toks27 -Package: wrapfig 2003/01/31 v 3.6 -) -(/usr/share/texlive/texmf-dist/tex/latex/parskip/parskip.sty -Package: parskip 2001/04/09 non-zero parskip adjustments -) -(/usr/share/texlive/texmf-dist/tex/latex/base/alltt.sty -Package: alltt 1997/06/16 v2.0g defines alltt environment -) -(/usr/share/texlive/texmf-dist/tex/latex/upquote/upquote.sty -Package: upquote 2012/04/19 v1.3 upright-quote and grave-accent glyphs in verba -tim -) -(/usr/share/texlive/texmf-dist/tex/latex/capt-of/capt-of.sty -Package: capt-of 2009/12/29 v0.2 standard captions outside of floats -) -(/usr/share/texlive/texmf-dist/tex/latex/needspace/needspace.sty -Package: needspace 2010/09/12 v1.3d reserve vertical space -) -(/usr/share/texlive/texmf-dist/tex/latex/carlisle/remreset.sty) -(./sphinxhighlight.sty -Package: sphinxhighlight 2016/05/29 stylesheet for highlighting with pygments -) -(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/kvoptions.sty -Package: kvoptions 2016/05/16 v3.12 Key value format for package options (HO) - -(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty -Package: kvsetkeys 2016/05/16 v1.17 Key value parser (HO) - -(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/infwarerr.sty -Package: infwarerr 2016/05/16 v1.4 Providing info/warning/error messages (HO) -) -(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/etexcmds.sty -Package: etexcmds 2016/05/16 v1.6 Avoid name clashes with e-TeX commands (HO) - -(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifluatex.sty -Package: ifluatex 2016/05/16 v1.4 Provides the ifluatex switch (HO) -Package ifluatex Info: LuaTeX not detected. -) -Package etexcmds Info: Could not find \expanded. -(etexcmds) That can mean that you are not using pdfTeX 1.50 or -(etexcmds) that some package has redefined \expanded. -(etexcmds) In the latter case, load this package earlier. -))) -\sphinxverbatimsep=\dimen137 -\sphinxverbatimborder=\dimen138 -\sphinxshadowsep=\dimen139 -\sphinxshadowsize=\dimen140 -\sphinxshadowrule=\dimen141 -\spx@notice@border=\dimen142 -\spx@image@maxheight=\dimen143 -\spx@image@box=\dimen144 -\c@literalblock=\count116 -\sphinxcontinuationbox=\box39 -\sphinxvisiblespacebox=\box40 -\sphinxVerbatim@TitleBox=\box41 -\py@argswidth=\skip71 -\lineblockindentation=\skip72 -\DUlineblockindent=\skip73 -) -(/usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty -Package: geometry 2010/09/12 v5.6 Page Geometry - -(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty -Package: ifpdf 2017/03/15 v3.2 Provides the ifpdf switch -) -(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifvtex.sty -Package: ifvtex 2016/05/16 v1.6 Detect VTeX and its facilities (HO) -Package ifvtex Info: VTeX not detected. -) -(/usr/share/texlive/texmf-dist/tex/generic/ifxetex/ifxetex.sty -Package: ifxetex 2010/09/12 v0.6 Provides ifxetex conditional -) -\Gm@cnth=\count117 -\Gm@cntv=\count118 -\c@Gm@tempcnt=\count119 -\Gm@bindingoffset=\dimen145 -\Gm@wd@mp=\dimen146 -\Gm@odd@mp=\dimen147 -\Gm@even@mp=\dimen148 -\Gm@layoutwidth=\dimen149 -\Gm@layoutheight=\dimen150 -\Gm@layouthoffset=\dimen151 -\Gm@layoutvoffset=\dimen152 -\Gm@dimlist=\toks28 -) -(/usr/share/texlive/texmf-dist/tex/latex/hyperref/hyperref.sty -Package: hyperref 2018/02/06 v6.86b Hypertext links for LaTeX - -(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/hobsub-hyperref.sty -Package: hobsub-hyperref 2016/05/16 v1.14 Bundle oberdiek, subset hyperref (HO) - - -(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/hobsub-generic.sty -Package: hobsub-generic 2016/05/16 v1.14 Bundle oberdiek, subset generic (HO) -Package: hobsub 2016/05/16 v1.14 Construct package bundles (HO) -Package hobsub Info: Skipping package `infwarerr' (already loaded). -Package hobsub Info: Skipping package `ltxcmds' (already loaded). -Package hobsub Info: Skipping package `ifluatex' (already loaded). -Package hobsub Info: Skipping package `ifvtex' (already loaded). -Package: intcalc 2016/05/16 v1.2 Expandable calculations with integers (HO) -Package hobsub Info: Skipping package `ifpdf' (already loaded). -Package hobsub Info: Skipping package `etexcmds' (already loaded). -Package hobsub Info: Skipping package `kvsetkeys' (already loaded). -Package: kvdefinekeys 2016/05/16 v1.4 Define keys (HO) -Package: pdftexcmds 2018/01/21 v0.26 Utility functions of pdfTeX for LuaTeX (HO -) -Package pdftexcmds Info: LuaTeX not detected. -Package pdftexcmds Info: \pdf@primitive is available. -Package pdftexcmds Info: \pdf@ifprimitive is available. -Package pdftexcmds Info: \pdfdraftmode found. -Package: pdfescape 2016/05/16 v1.14 Implements pdfTeX's escape features (HO) -Package: bigintcalc 2016/05/16 v1.4 Expandable calculations on big integers (HO -) -Package: bitset 2016/05/16 v1.2 Handle bit-vector datatype (HO) -Package: uniquecounter 2016/05/16 v1.3 Provide unlimited unique counter (HO) -) -Package hobsub Info: Skipping package `hobsub' (already loaded). -Package: letltxmacro 2016/05/16 v1.5 Let assignment for LaTeX macros (HO) -Package: hopatch 2016/05/16 v1.3 Wrapper for package hooks (HO) -Package: xcolor-patch 2016/05/16 xcolor patch -Package: atveryend 2016/05/16 v1.9 Hooks at the very end of document (HO) -Package atveryend Info: \enddocument detected (standard20110627). -Package: atbegshi 2016/06/09 v1.18 At begin shipout hook (HO) -Package: refcount 2016/05/16 v3.5 Data extraction from label references (HO) -Package: hycolor 2016/05/16 v1.8 Color options for hyperref/bookmark (HO) -) -(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/auxhook.sty -Package: auxhook 2016/05/16 v1.4 Hooks for auxiliary files (HO) -) -\@linkdim=\dimen153 -\Hy@linkcounter=\count120 -\Hy@pagecounter=\count121 - -(/usr/share/texlive/texmf-dist/tex/latex/hyperref/pd1enc.def -File: pd1enc.def 2018/02/06 v6.86b Hyperref: PDFDocEncoding definition (HO) -Now handling font encoding PD1 ... -... no UTF-8 mapping file for font encoding PD1 -) -\Hy@SavedSpaceFactor=\count122 - -(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/hyperref.cfg -File: hyperref.cfg 2002/06/06 v1.2 hyperref configuration of TeXLive -) -Package hyperref Info: Option `unicode' set `true' on input line 4383. - -(/usr/share/texlive/texmf-dist/tex/latex/hyperref/puenc.def -File: puenc.def 2018/02/06 v6.86b Hyperref: PDF Unicode definition (HO) -Now handling font encoding PU ... -... no UTF-8 mapping file for font encoding PU -) -Package hyperref Info: Option `colorlinks' set `true' on input line 4383. -Package hyperref Info: Option `breaklinks' set `true' on input line 4383. -Package hyperref Info: Hyper figures OFF on input line 4509. -Package hyperref Info: Link nesting OFF on input line 4514. -Package hyperref Info: Hyper index ON on input line 4517. -Package hyperref Info: Plain pages OFF on input line 4524. -Package hyperref Info: Backreferencing OFF on input line 4529. -Package hyperref Info: Implicit mode ON; LaTeX internals redefined. -Package hyperref Info: Bookmarks ON on input line 4762. -\c@Hy@tempcnt=\count123 - -(/usr/share/texlive/texmf-dist/tex/latex/url/url.sty -\Urlmuskip=\muskip11 -Package: url 2013/09/16 ver 3.4 Verb mode for urls, etc. -) -LaTeX Info: Redefining \url on input line 5115. -\XeTeXLinkMargin=\dimen154 -\Fld@menulength=\count124 -\Field@Width=\dimen155 -\Fld@charsize=\dimen156 -Package hyperref Info: Hyper figures OFF on input line 6369. -Package hyperref Info: Link nesting OFF on input line 6374. -Package hyperref Info: Hyper index ON on input line 6377. -Package hyperref Info: backreferencing OFF on input line 6384. -Package hyperref Info: Link coloring ON on input line 6387. -Package hyperref Info: Link coloring with OCG OFF on input line 6394. -Package hyperref Info: PDF/A mode OFF on input line 6399. -LaTeX Info: Redefining \ref on input line 6439. -LaTeX Info: Redefining \pageref on input line 6443. -\Hy@abspage=\count125 -\c@Item=\count126 -\c@Hfootnote=\count127 -) -Package hyperref Info: Driver (autodetected): hpdftex. - -(/usr/share/texlive/texmf-dist/tex/latex/hyperref/hpdftex.def -File: hpdftex.def 2018/02/06 v6.86b Hyperref driver for pdfTeX -\Fld@listcount=\count128 -\c@bookmark@seq@number=\count129 - -(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/rerunfilecheck.sty -Package: rerunfilecheck 2016/05/16 v1.8 Rerun checks for auxiliary files (HO) -Package uniquecounter Info: New unique counter `rerunfilecheck' on input line 2 -82. -) -\Hy@SectionHShift=\skip74 -) -(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/hypcap.sty -Package: hypcap 2016/05/16 v1.12 Adjusting the anchors of captions (HO) -) -(./sphinxmessages.sty -Package: sphinxmessages 2019/01/04 v2.0 Localized LaTeX macros (Sphinx team) -) -\@indexfile=\write4 -\openout4 = `binary_c-python.idx'. - - -Writing index file binary_c-python.idx -(./binary_c-python.aux) -\openout1 = `binary_c-python.aux'. - -LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 81. -LaTeX Font Info: ... okay on input line 81. -LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 81. -LaTeX Font Info: ... okay on input line 81. -LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 81. -LaTeX Font Info: ... okay on input line 81. -LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 81. -LaTeX Font Info: ... okay on input line 81. -LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 81. -LaTeX Font Info: ... okay on input line 81. -LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 81. -LaTeX Font Info: ... okay on input line 81. -LaTeX Font Info: Checking defaults for TS1/cmr/m/n on input line 81. -LaTeX Font Info: Try loading font information for TS1+cmr on input line 81. - (/usr/share/texlive/texmf-dist/tex/latex/base/ts1cmr.fd -File: ts1cmr.fd 2014/09/29 v2.5h Standard LaTeX font definitions -) -LaTeX Font Info: ... okay on input line 81. -LaTeX Font Info: Checking defaults for PD1/pdf/m/n on input line 81. -LaTeX Font Info: ... okay on input line 81. -LaTeX Font Info: Checking defaults for PU/pdf/m/n on input line 81. -LaTeX Font Info: ... okay on input line 81. -LaTeX Font Info: Try loading font information for T1+ptm on input line 81. - (/usr/share/texlive/texmf-dist/tex/latex/psnfss/t1ptm.fd -File: t1ptm.fd 2001/06/04 font definitions for T1/ptm. -) -(/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii -[Loading MPS to PDF converter (version 2006.09.02).] -\scratchcounter=\count130 -\scratchdimen=\dimen157 -\scratchbox=\box42 -\nofMPsegments=\count131 -\nofMParguments=\count132 -\everyMPshowfont=\toks29 -\MPscratchCnt=\count133 -\MPscratchDim=\dimen158 -\MPnumerator=\count134 -\makeMPintoPDFobject=\count135 -\everyMPtoPDFconversion=\toks30 -) (/usr/share/texlive/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty -Package: epstopdf-base 2016/05/15 v2.6 Base part for package epstopdf - -(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/grfext.sty -Package: grfext 2016/05/16 v1.2 Manage graphics extensions (HO) -) -Package epstopdf-base Info: Redefining graphics rule for `.eps' on input line 4 -38. -Package grfext Info: Graphics extension search list: -(grfext) [.pdf,.png,.jpg,.mps,.jpeg,.jbig2,.jb2,.PDF,.PNG,.JPG,.JPE -G,.JBIG2,.JB2,.eps] -(grfext) \AppendGraphicsExtensions on input line 456. - -(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg -File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv -e -)) -*geometry* driver: auto-detecting -*geometry* detected driver: pdftex -*geometry* verbose mode - [ preamble ] result: -* driver: pdftex -* paper: letterpaper -* layout: <same size as paper> -* layoutoffset:(h,v)=(0.0pt,0.0pt) -* modes: twoside -* h-part:(L,W,R)=(72.26999pt, 469.75502pt, 72.26999pt) -* v-part:(T,H,B)=(72.26999pt, 650.43001pt, 72.26999pt) -* \paperwidth=614.295pt -* \paperheight=794.96999pt -* \textwidth=469.75502pt -* \textheight=650.43001pt -* \oddsidemargin=0.0pt -* \evensidemargin=0.0pt -* \topmargin=-37.0pt -* \headheight=12.0pt -* \headsep=25.0pt -* \topskip=10.0pt -* \footskip=30.0pt -* \marginparwidth=36.135pt -* \marginparsep=11.0pt -* \columnsep=10.0pt -* \skip\footins=9.0pt plus 4.0pt minus 2.0pt -* \hoffset=0.0pt -* \voffset=0.0pt -* \mag=1000 -* \@twocolumnfalse -* \@twosidetrue -* \@mparswitchtrue -* \@reversemarginfalse -* (1in=72.27pt=25.4mm, 1cm=28.453pt) - -\AtBeginShipoutBox=\box43 -Package hyperref Info: Link coloring ON on input line 81. -(/usr/share/texlive/texmf-dist/tex/latex/hyperref/nameref.sty -Package: nameref 2016/05/21 v2.44 Cross-referencing by name of section - -(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/gettitlestring.sty -Package: gettitlestring 2016/05/16 v1.5 Cleanup title references (HO) -) -\c@section@level=\count136 -) -LaTeX Info: Redefining \ref on input line 81. -LaTeX Info: Redefining \pageref on input line 81. -LaTeX Info: Redefining \nameref on input line 81. - -(./binary_c-python.out) (./binary_c-python.out) -\@outlinefile=\write5 -\openout5 = `binary_c-python.out'. - -Package hyperref Info: Option `pageanchor' set `false' on input line 84. -LaTeX Font Info: Try loading font information for T1+phv on input line 84. - -(/usr/share/texlive/texmf-dist/tex/latex/psnfss/t1phv.fd -File: t1phv.fd 2001/06/04 scalable font definitions for T1/phv. -) -LaTeX Font Info: Font shape `T1/phv/bx/n' in size <10> not available -(Font) Font shape `T1/phv/b/n' tried instead on input line 84. -LaTeX Font Info: Font shape `T1/phv/bx/n' in size <24.88> not available -(Font) Font shape `T1/phv/b/n' tried instead on input line 84. -LaTeX Font Info: Font shape `T1/phv/bx/it' in size <10> not available -(Font) Font shape `T1/phv/b/it' tried instead on input line 84. -LaTeX Font Info: Font shape `T1/phv/b/it' in size <10> not available -(Font) Font shape `T1/phv/b/sl' tried instead on input line 84. -LaTeX Font Info: Font shape `T1/phv/bx/it' in size <17.28> not available -(Font) Font shape `T1/phv/b/it' tried instead on input line 84. -LaTeX Font Info: Font shape `T1/phv/b/it' in size <17.28> not available -(Font) Font shape `T1/phv/b/sl' tried instead on input line 84. -LaTeX Font Info: Font shape `T1/phv/bx/n' in size <17.28> not available -(Font) Font shape `T1/phv/b/n' tried instead on input line 84. -<<ot1.cmap>><<oml.cmap>><<oms.cmap>><<omx.cmap>> -LaTeX Font Info: Try loading font information for U+msa on input line 84. - -(/usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsa.fd -File: umsa.fd 2013/01/14 v3.01 AMS symbols A -) -LaTeX Font Info: Try loading font information for U+msb on input line 84. - -(/usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsb.fd -File: umsb.fd 2013/01/14 v3.01 AMS symbols B -) -LaTeX Font Info: Font shape `T1/phv/bx/n' in size <12> not available -(Font) Font shape `T1/phv/b/n' tried instead on input line 84. - [1 - -{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] [2 - - -] -LaTeX Font Info: Font shape `T1/phv/bx/n' in size <14.4> not available -(Font) Font shape `T1/phv/b/n' tried instead on input line 86. - (./binary_c-python.toc -LaTeX Font Info: Font shape `T1/ptm/bx/n' in size <10> not available -(Font) Font shape `T1/ptm/b/n' tried instead on input line 2. -) -\tf@toc=\write6 -\openout6 = `binary_c-python.toc'. - - [1 - -] [2 - -] -Chapter 1. -LaTeX Font Info: Try loading font information for TS1+ptm on input line 106. - -(/usr/share/texlive/texmf-dist/tex/latex/psnfss/ts1ptm.fd -File: ts1ptm.fd 2001/06/04 font definitions for TS1/ptm. -) -LaTeX Font Info: Try loading font information for T1+pcr on input line 123. - -(/usr/share/texlive/texmf-dist/tex/latex/psnfss/t1pcr.fd -File: t1pcr.fd 2001/06/04 font definitions for T1/pcr. -) [1 - -] [2] -Chapter 2. -LaTeX Font Info: Font shape `T1/pcr/bx/n' in size <10> not available -(Font) Font shape `T1/pcr/b/n' tried instead on input line 175. -[3 - -] [4 - -] -Chapter 3. -LaTeX Font Info: Try loading font information for TS1+pcr on input line 229. - -(/usr/share/texlive/texmf-dist/tex/latex/psnfss/ts1pcr.fd -File: ts1pcr.fd 2001/06/04 font definitions for TS1/pcr. -) [5] [6] -Chapter 4. -[7 - -] [8 - -] [9 - - -] (./binary_c-python.ind [10 - - -] -Underfull \hbox (badness 10000) in paragraph at lines 8--10 -[]\T1/pcr/m/n/10 autogen_C_logging_code() \T1/ptm/m/n/10 (\T1/ptm/m/it/10 in mo -d-ule cus- - [] - - -Underfull \hbox (badness 10000) in paragraph at lines 13--15 -[]\T1/pcr/m/n/10 binary_c_log_code() \T1/ptm/m/n/10 (\T1/ptm/m/it/10 in mod-ule - cus- - [] - - -Underfull \hbox (badness 10000) in paragraph at lines 20--22 -[]\T1/pcr/m/n/10 compile_shared_lib() \T1/ptm/m/n/10 (\T1/ptm/m/it/10 in mod-ul -e cus- - [] - - -Underfull \hbox (badness 10000) in paragraph at lines 22--24 -[]\T1/pcr/m/n/10 create_and_load_logging_function() \T1/ptm/m/n/10 (\T1/ptm/m/i -t/10 in - [] - - -Underfull \hbox (badness 10000) in paragraph at lines 33--35 -[]\T1/pcr/m/n/10 from_binary_c_config() \T1/ptm/m/n/10 (\T1/ptm/m/it/10 in mod- -ule cus- - [] - - -Underfull \hbox (badness 10000) in paragraph at lines 54--55 -[]\T1/pcr/m/n/10 run_example_binary() \T1/ptm/m/n/10 (\T1/ptm/m/it/10 in mod-ul -e ex-am- - [] - - -Overfull \hbox (10.1225pt too wide) in paragraph at lines 55--57 -[]\T1/pcr/m/n/10 run_example_binary_with_custom_logging() - [] - - -Overfull \hbox (16.1225pt too wide) in paragraph at lines 59--61 -[]\T1/pcr/m/n/10 run_example_binary_with_writing_logfile() - [] - -[11 - -]) -Package atveryend Info: Empty hook `BeforeClearDocument' on input line 425. -Package atveryend Info: Empty hook `AfterLastShipout' on input line 425. - (./binary_c-python.aux) -Package atveryend Info: Executing hook `AtVeryEndDocument' on input line 425. -Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 425. -Package rerunfilecheck Info: File `binary_c-python.out' has not changed. -(rerunfilecheck) Checksum: 5C9B17AD2EE3F041ED56F5D003F32D4E;1665. -Package atveryend Info: Empty hook `AtVeryVeryEnd' on input line 425. - ) -Here is how much of TeX's memory you used: - 13700 strings out of 492982 - 190638 string characters out of 6134895 - 286539 words of memory out of 5000000 - 16908 multiletter control sequences out of 15000+600000 - 45314 words of font info for 67 fonts, out of 8000000 for 9000 - 1142 hyphenation exceptions out of 8191 - 37i,11n,45p,484b,536s stack positions out of 5000i,500n,10000p,200000b,80000s -{/usr/share/texlive/texmf-dist/fonts/enc/dvips/base/8r.enc}</usr/share/texliv -e/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi5.pfb></usr/share/texlive/texmf --dist/fonts/type1/public/amsfonts/cm/cmsy5.pfb></usr/share/texlive/texmf-dist/f -onts/type1/urw/courier/ucrb8a.pfb></usr/share/texlive/texmf-dist/fonts/type1/ur -w/courier/ucrr8a.pfb></usr/share/texlive/texmf-dist/fonts/type1/urw/helvetic/uh -vb8a.pfb></usr/share/texlive/texmf-dist/fonts/type1/urw/helvetic/uhvr8a.pfb></u -sr/share/texlive/texmf-dist/fonts/type1/urw/times/utmb8a.pfb></usr/share/texliv -e/texmf-dist/fonts/type1/urw/times/utmr8a.pfb></usr/share/texlive/texmf-dist/fo -nts/type1/urw/times/utmri8a.pfb> -Output written on binary_c-python.pdf (15 pages, 120267 bytes). -PDF statistics: - 236 PDF objects out of 1000 (max. 8388607) - 202 compressed objects within 3 object streams - 48 named destinations out of 1000 (max. 500000) - 117 words of extra memory for PDF output out of 10000 (max. 10000000) - diff --git a/docs/build/latex/binary_c-python.out b/docs/build/latex/binary_c-python.out deleted file mode 100644 index c41880e1e..000000000 --- a/docs/build/latex/binary_c-python.out +++ /dev/null @@ -1,12 +0,0 @@ -\BOOKMARK [0][-]{chapter.1}{\376\377\000P\000y\000t\000h\000o\000n\000\040\000m\000o\000d\000u\000l\000e\000\040\000f\000o\000r\000\040\000b\000i\000n\000a\000r\000y\000\137\000c}{}% 1 -\BOOKMARK [1][-]{section.1.1}{\376\377\000R\000e\000q\000u\000i\000r\000e\000m\000e\000n\000t\000s}{chapter.1}% 2 -\BOOKMARK [1][-]{section.1.2}{\376\377\000E\000n\000v\000i\000r\000o\000n\000m\000e\000n\000t\000\040\000v\000a\000r\000i\000a\000b\000l\000e\000s}{chapter.1}% 3 -\BOOKMARK [1][-]{section.1.3}{\376\377\000B\000u\000i\000l\000d\000\040\000i\000n\000s\000t\000r\000u\000c\000t\000i\000o\000n\000s}{chapter.1}% 4 -\BOOKMARK [1][-]{section.1.4}{\376\377\000U\000s\000a\000g\000e\000\040\000n\000o\000t\000e\000s}{chapter.1}% 5 -\BOOKMARK [0][-]{chapter.2}{\376\377\000e\000x\000a\000m\000p\000l\000e\000s}{}% 6 -\BOOKMARK [0][-]{chapter.3}{\376\377\000b\000i\000n\000a\000r\000y\000c\000\137\000p\000y\000t\000h\000o\000n\000\137\000u\000t\000i\000l\000s}{}% 7 -\BOOKMARK [1][-]{section.3.1}{\376\377\000c\000u\000s\000t\000o\000m\000\137\000l\000o\000g\000g\000i\000n\000g\000\137\000f\000u\000n\000c\000t\000i\000o\000n\000s\000\040\000m\000o\000d\000u\000l\000e}{chapter.3}% 8 -\BOOKMARK [1][-]{section.3.2}{\376\377\000f\000u\000n\000c\000t\000i\000o\000n\000s\000\040\000m\000o\000d\000u\000l\000e}{chapter.3}% 9 -\BOOKMARK [0][-]{chapter.4}{\376\377\000I\000n\000d\000i\000c\000e\000s\000\040\000a\000n\000d\000\040\000t\000a\000b\000l\000e\000s}{}% 10 -\BOOKMARK [0][-]{section*.23}{\376\377\000P\000y\000t\000h\000o\000n\000\040\000M\000o\000d\000u\000l\000e\000\040\000I\000n\000d\000e\000x}{}% 11 -\BOOKMARK [0][-]{section*.24}{\376\377\000I\000n\000d\000e\000x}{}% 12 diff --git a/docs/build/latex/binary_c-python.pdf b/docs/build/latex/binary_c-python.pdf deleted file mode 100644 index ad0282f4c8acd748588ba73f0d7ba39ae906b28f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 120267 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 diff --git a/docs/build/latex/binary_c-python.tex b/docs/build/latex/binary_c-python.tex deleted file mode 100644 index ef3f2b52f..000000000 --- a/docs/build/latex/binary_c-python.tex +++ /dev/null @@ -1,425 +0,0 @@ -%% Generated by Sphinx. -\def\sphinxdocclass{report} -\documentclass[letterpaper,10pt,english]{sphinxmanual} -\ifdefined\pdfpxdimen - \let\sphinxpxdimen\pdfpxdimen\else\newdimen\sphinxpxdimen -\fi \sphinxpxdimen=.75bp\relax - -\PassOptionsToPackage{warn}{textcomp} -\usepackage[utf8]{inputenc} -\ifdefined\DeclareUnicodeCharacter -% support both utf8 and utf8x syntaxes - \ifdefined\DeclareUnicodeCharacterAsOptional - \def\sphinxDUC#1{\DeclareUnicodeCharacter{"#1}} - \else - \let\sphinxDUC\DeclareUnicodeCharacter - \fi - \sphinxDUC{00A0}{\nobreakspace} - \sphinxDUC{2500}{\sphinxunichar{2500}} - \sphinxDUC{2502}{\sphinxunichar{2502}} - \sphinxDUC{2514}{\sphinxunichar{2514}} - \sphinxDUC{251C}{\sphinxunichar{251C}} - \sphinxDUC{2572}{\textbackslash} -\fi -\usepackage{cmap} -\usepackage[T1]{fontenc} -\usepackage{amsmath,amssymb,amstext} -\usepackage{babel} - - - -\usepackage{times} -\expandafter\ifx\csname T@LGR\endcsname\relax -\else -% LGR was declared as font encoding - \substitutefont{LGR}{\rmdefault}{cmr} - \substitutefont{LGR}{\sfdefault}{cmss} - \substitutefont{LGR}{\ttdefault}{cmtt} -\fi -\expandafter\ifx\csname T@X2\endcsname\relax - \expandafter\ifx\csname T@T2A\endcsname\relax - \else - % T2A was declared as font encoding - \substitutefont{T2A}{\rmdefault}{cmr} - \substitutefont{T2A}{\sfdefault}{cmss} - \substitutefont{T2A}{\ttdefault}{cmtt} - \fi -\else -% X2 was declared as font encoding - \substitutefont{X2}{\rmdefault}{cmr} - \substitutefont{X2}{\sfdefault}{cmss} - \substitutefont{X2}{\ttdefault}{cmtt} -\fi - - -\usepackage[Bjarne]{fncychap} -\usepackage{sphinx} - -\fvset{fontsize=\small} -\usepackage{geometry} - -% Include hyperref last. -\usepackage{hyperref} -% Fix anchor placement for figures with captions. -\usepackage{hypcap}% it must be loaded after hyperref. -% Set up styles of URL: it should be placed after hyperref. -\urlstyle{same} -\addto\captionsenglish{\renewcommand{\contentsname}{Contents:}} - -\usepackage{sphinxmessages} -\setcounter{tocdepth}{3} -\setcounter{secnumdepth}{3} - - -\title{binary\_c-python} -\date{Nov 30, 2019} -\release{} -\author{Jeff Andrews, Robert Izzard, David Hendriks} -\newcommand{\sphinxlogo}{\vbox{}} -\renewcommand{\releasename}{} -\makeindex -\begin{document} - -\pagestyle{empty} -\sphinxmaketitle -\pagestyle{plain} -\sphinxtableofcontents -\pagestyle{normal} -\phantomsection\label{\detokenize{index::doc}} - - - -\chapter{Python module for binary\_c} -\label{\detokenize{readme_link:python-module-for-binary-c}}\label{\detokenize{readme_link::doc}} -Based on a original work by Jeff Andrews (can be found in old\_solution/ directory) -updated and extended for Python3 by Robert Izzard, David hendriks - -Warning : THIS CODE IS EXPERIMENTAL! - -\sphinxhref{mailto:r.izzard@surrey.ac.uk}{r.izzard@surrey.ac.uk} -\sphinxurl{http://personal.ph.surrey.ac.uk/~ri0005/binary\_c.html} -09/06/2019 - - -\section{Requirements} -\label{\detokenize{readme_link:requirements}}\begin{itemize} -\item {} -Python3 - -\item {} -binary\_c version 2.1+ - -\item {} -requirements.txt (no?) - -\end{itemize} - - -\section{Environment variables} -\label{\detokenize{readme_link:environment-variables}} -Before compilation you should set the following environment variables: -\begin{itemize} -\item {} -required: \sphinxcode{\sphinxupquote{BINARY\_C}} should point to the root directory of your binary\_c installation - -\item {} -recommended: \sphinxcode{\sphinxupquote{LD\_LIBRARY\_PATH}} should include \$BINARY\_C/src and whatever directories are required to run binary\_c (e.g. locations of libgsl, libmemoize, librinterpolate, etc.) - -\item {} -recommended: \sphinxcode{\sphinxupquote{LIBRARY\_PATH}} should include whatever directories are required to build binary\_c (e.g. locations of libgsl, libmemoize, librinterpolate, etc.) - -\end{itemize} - - -\section{Build instructions} -\label{\detokenize{readme_link:build-instructions}} -To build the module, make sure you have built binary\_c (with \sphinxcode{\sphinxupquote{make}} in the binary\_c root directory), its shared library (with \sphinxcode{\sphinxupquote{make libbinary\_c.so}} in the binary\_c root directory), and set environment variables as described above, then run the following code in t: - -\begin{sphinxVerbatim}[commandchars=\\\{\}] -\PYG{n}{make} \PYG{n}{clean} -\PYG{n}{make} -\end{sphinxVerbatim} - -Then to test the Python module: - -\begin{sphinxVerbatim}[commandchars=\\\{\}] -\PYG{n}{python3} \PYG{p}{.}\PYG{o}{/}\PYG{n}{python\PYGZus{}API\PYGZus{}test}\PYG{p}{.}\PYG{n}{py} -\end{sphinxVerbatim} - -You will require whatever libraries with which binary\_c was compiled, as well as the compiler with which Python was built (usually gcc, which is easily installed on most systems). - -If you want to be able to import the binary\_c module correctly for child directories (or anywhere for that matter), execute or put the following code in your .bashrc/.zshrc: - -\begin{sphinxVerbatim}[commandchars=\\\{\}] -export LD\PYGZus{}LIBRARY\PYGZus{}PATH=\PYGZlt{}full path to directory containing libbinary\PYGZus{}c\PYGZus{}api.so\PYGZgt{}:\PYGZdl{}LD\PYGZus{}LIBRARY\PYGZus{}PATH -export PYTHONPATH=\PYGZlt{}full path to directory containing libbinary\PYGZus{}c\PYGZus{}api.so\PYGZgt{}:\PYGZdl{}PYTHONPATH -\end{sphinxVerbatim} - - -\section{Usage notes} -\label{\detokenize{readme_link:usage-notes}} -When running a jupyter notebook and importing binary\_c, it might happen that the module binary\_c cannot be found. I experienced this when I executed Jupyter Notebook from a virtual environment which didnt use the same python (version/binary/shim) as the one I built this library with. Make sure jupyter does use the same underlying python version/binary/shim. That resolved the issue for me. - -Also: I figured that having binaryc output the log like “ t=10e4 …†(i.e. printing the parameter names as well as their values) would be useful because in that way one can easily have python read that out automatically instead of having to manually copy the list of parameter names. - -See examples/ dir for some working examples - - -\chapter{examples} -\label{\detokenize{examples:examples}}\label{\detokenize{examples::doc}} -This chapter serves to document several of the example usages - -\phantomsection\label{\detokenize{examples:module-examples.examples}}\index{examples.examples (module)@\spxentry{examples.examples}\spxextra{module}}\index{run\_example\_binary() (in module examples.examples)@\spxentry{run\_example\_binary()}\spxextra{in module examples.examples}} - -\begin{fulllineitems} -\phantomsection\label{\detokenize{examples:examples.examples.run_example_binary}}\pysiglinewithargsret{\sphinxcode{\sphinxupquote{examples.examples.}}\sphinxbfcode{\sphinxupquote{run\_example\_binary}}}{}{} -Function to run a binary system. Very basic approach which directly adresses the run\_binary(..) python-c wrapper function. - -\end{fulllineitems} - -\index{run\_example\_binary\_with\_custom\_logging() (in module examples.examples)@\spxentry{run\_example\_binary\_with\_custom\_logging()}\spxextra{in module examples.examples}} - -\begin{fulllineitems} -\phantomsection\label{\detokenize{examples:examples.examples.run_example_binary_with_custom_logging}}\pysiglinewithargsret{\sphinxcode{\sphinxupquote{examples.examples.}}\sphinxbfcode{\sphinxupquote{run\_example\_binary\_with\_custom\_logging}}}{}{} -Function that will use a automatically generated piece of logging code. Compile it, load it -into memory and run a binary system. See run\_system on how several things are done in the background here. - -\end{fulllineitems} - -\index{run\_example\_binary\_with\_run\_system() (in module examples.examples)@\spxentry{run\_example\_binary\_with\_run\_system()}\spxextra{in module examples.examples}} - -\begin{fulllineitems} -\phantomsection\label{\detokenize{examples:examples.examples.run_example_binary_with_run_system}}\pysiglinewithargsret{\sphinxcode{\sphinxupquote{examples.examples.}}\sphinxbfcode{\sphinxupquote{run\_example\_binary\_with\_run\_system}}}{}{} -This function serves as an example on the function run\_system and parse\_output. -There is more functionality with this method and several tasks are done behind the scene. - -Requires pandas, numpy to run. - -run\_system: mostly just makes passing arguments to the function easier. It also loads all the necessary defaults in the background -parse\_output: Takes the raw output of binary\_c and selects those lines that start with the given header. -Note, if you dont use the custom\_logging functionality binary\_c should be configured to have output that starts with that given header - -The parsing of the output only works correctly if either all of the values are described inline like {\color{red}\bfseries{}{}`}mass=\textless{}number\textgreater{}’ or none of them are. - -\end{fulllineitems} - -\index{run\_example\_binary\_with\_writing\_logfile() (in module examples.examples)@\spxentry{run\_example\_binary\_with\_writing\_logfile()}\spxextra{in module examples.examples}} - -\begin{fulllineitems} -\phantomsection\label{\detokenize{examples:examples.examples.run_example_binary_with_writing_logfile}}\pysiglinewithargsret{\sphinxcode{\sphinxupquote{examples.examples.}}\sphinxbfcode{\sphinxupquote{run\_example\_binary\_with\_writing\_logfile}}}{}{} -Same as above but when giving the log\_filename argument the log filename will be written - -\end{fulllineitems} - - - -\chapter{binaryc\_python\_utils} -\label{\detokenize{modules:binaryc-python-utils}}\label{\detokenize{modules::doc}} - -\section{custom\_logging\_functions module} -\label{\detokenize{custom_logging_functions:module-custom_logging_functions}}\label{\detokenize{custom_logging_functions:custom-logging-functions-module}}\label{\detokenize{custom_logging_functions::doc}}\index{custom\_logging\_functions (module)@\spxentry{custom\_logging\_functions}\spxextra{module}}\index{autogen\_C\_logging\_code() (in module custom\_logging\_functions)@\spxentry{autogen\_C\_logging\_code()}\spxextra{in module custom\_logging\_functions}} - -\begin{fulllineitems} -\phantomsection\label{\detokenize{custom_logging_functions:custom_logging_functions.autogen_C_logging_code}}\pysiglinewithargsret{\sphinxcode{\sphinxupquote{custom\_logging\_functions.}}\sphinxbfcode{\sphinxupquote{autogen\_C\_logging\_code}}}{\emph{logging\_dict}}{} -Function that autogenerates PRINTF statements for binaryc. intput is a dictionary where the key is the header of that logging line and items which are lists of parameters that will be put in that logging line - -Example: - -\begin{sphinxVerbatim}[commandchars=\\\{\}] -\PYG{p}{\PYGZob{}}\PYG{l+s+s1}{\PYGZsq{}}\PYG{l+s+s1}{MY\PYGZus{}STELLAR\PYGZus{}DATA}\PYG{l+s+s1}{\PYGZsq{}}\PYG{p}{:} - \PYG{p}{[} - \PYG{l+s+s1}{\PYGZsq{}}\PYG{l+s+s1}{model.time}\PYG{l+s+s1}{\PYGZsq{}}\PYG{p}{,} - \PYG{l+s+s1}{\PYGZsq{}}\PYG{l+s+s1}{star[0].mass}\PYG{l+s+s1}{\PYGZsq{}}\PYG{p}{,} - \PYG{l+s+s1}{\PYGZsq{}}\PYG{l+s+s1}{model.probability}\PYG{l+s+s1}{\PYGZsq{}}\PYG{p}{,} - \PYG{l+s+s1}{\PYGZsq{}}\PYG{l+s+s1}{model.dt}\PYG{l+s+s1}{\PYGZsq{}} - \PYG{p}{]} -\PYG{p}{\PYGZcb{}} -\end{sphinxVerbatim} - -\end{fulllineitems} - -\index{binary\_c\_log\_code() (in module custom\_logging\_functions)@\spxentry{binary\_c\_log\_code()}\spxextra{in module custom\_logging\_functions}} - -\begin{fulllineitems} -\phantomsection\label{\detokenize{custom_logging_functions:custom_logging_functions.binary_c_log_code}}\pysiglinewithargsret{\sphinxcode{\sphinxupquote{custom\_logging\_functions.}}\sphinxbfcode{\sphinxupquote{binary\_c\_log\_code}}}{\emph{code}}{} -Function to construct the code to construct the custom logging function - -\end{fulllineitems} - -\index{binary\_c\_write\_log\_code() (in module custom\_logging\_functions)@\spxentry{binary\_c\_write\_log\_code()}\spxextra{in module custom\_logging\_functions}} - -\begin{fulllineitems} -\phantomsection\label{\detokenize{custom_logging_functions:custom_logging_functions.binary_c_write_log_code}}\pysiglinewithargsret{\sphinxcode{\sphinxupquote{custom\_logging\_functions.}}\sphinxbfcode{\sphinxupquote{binary\_c\_write\_log\_code}}}{\emph{code}, \emph{filename}}{} -Function to write the generated logging code to a file - -\end{fulllineitems} - -\index{compile\_shared\_lib() (in module custom\_logging\_functions)@\spxentry{compile\_shared\_lib()}\spxextra{in module custom\_logging\_functions}} - -\begin{fulllineitems} -\phantomsection\label{\detokenize{custom_logging_functions:custom_logging_functions.compile_shared_lib}}\pysiglinewithargsret{\sphinxcode{\sphinxupquote{custom\_logging\_functions.}}\sphinxbfcode{\sphinxupquote{compile\_shared\_lib}}}{\emph{code}, \emph{sourcefile\_name}, \emph{outfile\_name}, \emph{verbose=False}}{} -Function to write the custom logging code to a file and then compile it. - -\end{fulllineitems} - -\index{create\_and\_load\_logging\_function() (in module custom\_logging\_functions)@\spxentry{create\_and\_load\_logging\_function()}\spxextra{in module custom\_logging\_functions}} - -\begin{fulllineitems} -\phantomsection\label{\detokenize{custom_logging_functions:custom_logging_functions.create_and_load_logging_function}}\pysiglinewithargsret{\sphinxcode{\sphinxupquote{custom\_logging\_functions.}}\sphinxbfcode{\sphinxupquote{create\_and\_load\_logging\_function}}}{\emph{custom\_logging\_code}}{} -Function to automatically compile the shared library with the given custom logging code and load it with ctypes -\begin{description} -\item[{returns:}] \leavevmode -memory adress of the custom logging function in a int type. - -\end{description} - -\end{fulllineitems} - -\index{from\_binary\_c\_config() (in module custom\_logging\_functions)@\spxentry{from\_binary\_c\_config()}\spxextra{in module custom\_logging\_functions}} - -\begin{fulllineitems} -\phantomsection\label{\detokenize{custom_logging_functions:custom_logging_functions.from_binary_c_config}}\pysiglinewithargsret{\sphinxcode{\sphinxupquote{custom\_logging\_functions.}}\sphinxbfcode{\sphinxupquote{from\_binary\_c\_config}}}{\emph{config\_file}, \emph{flag}}{} -Function to run the binaryc\_config command with flags - -\end{fulllineitems} - -\index{return\_compilation\_dict() (in module custom\_logging\_functions)@\spxentry{return\_compilation\_dict()}\spxextra{in module custom\_logging\_functions}} - -\begin{fulllineitems} -\phantomsection\label{\detokenize{custom_logging_functions:custom_logging_functions.return_compilation_dict}}\pysiglinewithargsret{\sphinxcode{\sphinxupquote{custom\_logging\_functions.}}\sphinxbfcode{\sphinxupquote{return\_compilation\_dict}}}{\emph{verbose=False}}{} -Function to build the compile command for the shared library - -inspired by binary\_c\_inline\_config command in perl - -TODO: this function still has some cleaning up to do wrt default values for the compile command -\# \sphinxurl{https://developers.redhat.com/blog/2018/03/21/compiler-and-linker-flags-gcc/} -\begin{description} -\item[{returns:}] \leavevmode\begin{itemize} -\item {} -string containing the command to build the shared library - -\end{itemize} - -\end{description} - -\end{fulllineitems} - -\index{temp\_custom\_logging\_dir() (in module custom\_logging\_functions)@\spxentry{temp\_custom\_logging\_dir()}\spxextra{in module custom\_logging\_functions}} - -\begin{fulllineitems} -\phantomsection\label{\detokenize{custom_logging_functions:custom_logging_functions.temp_custom_logging_dir}}\pysiglinewithargsret{\sphinxcode{\sphinxupquote{custom\_logging\_functions.}}\sphinxbfcode{\sphinxupquote{temp\_custom\_logging\_dir}}}{}{} -Function to return the path the custom logging library shared object and script will be written to. - -Makes use of os.makedirs exist\_ok which requires python 3.2+ - -\end{fulllineitems} - - - -\section{functions module} -\label{\detokenize{functions:module-functions}}\label{\detokenize{functions:functions-module}}\label{\detokenize{functions::doc}}\index{functions (module)@\spxentry{functions}\spxextra{module}}\index{create\_arg\_string() (in module functions)@\spxentry{create\_arg\_string()}\spxextra{in module functions}} - -\begin{fulllineitems} -\phantomsection\label{\detokenize{functions:functions.create_arg_string}}\pysiglinewithargsret{\sphinxcode{\sphinxupquote{functions.}}\sphinxbfcode{\sphinxupquote{create\_arg\_string}}}{\emph{arg\_dict}}{} -Function that creates the arg string - -\end{fulllineitems} - -\index{get\_arg\_keys() (in module functions)@\spxentry{get\_arg\_keys()}\spxextra{in module functions}} - -\begin{fulllineitems} -\phantomsection\label{\detokenize{functions:functions.get_arg_keys}}\pysiglinewithargsret{\sphinxcode{\sphinxupquote{functions.}}\sphinxbfcode{\sphinxupquote{get\_arg\_keys}}}{}{} -Function that return the list of possible keys to give in the arg string - -\end{fulllineitems} - -\index{get\_defaults() (in module functions)@\spxentry{get\_defaults()}\spxextra{in module functions}} - -\begin{fulllineitems} -\phantomsection\label{\detokenize{functions:functions.get_defaults}}\pysiglinewithargsret{\sphinxcode{\sphinxupquote{functions.}}\sphinxbfcode{\sphinxupquote{get\_defaults}}}{}{} -Function that calls the binaryc get args function and cast it into a dictionary -All the values are strings - -\end{fulllineitems} - -\index{load\_logfile() (in module functions)@\spxentry{load\_logfile()}\spxextra{in module functions}} - -\begin{fulllineitems} -\phantomsection\label{\detokenize{functions:functions.load_logfile}}\pysiglinewithargsret{\sphinxcode{\sphinxupquote{functions.}}\sphinxbfcode{\sphinxupquote{load\_logfile}}}{\emph{logfile}}{} -\end{fulllineitems} - -\index{parse\_output() (in module functions)@\spxentry{parse\_output()}\spxextra{in module functions}} - -\begin{fulllineitems} -\phantomsection\label{\detokenize{functions:functions.parse_output}}\pysiglinewithargsret{\sphinxcode{\sphinxupquote{functions.}}\sphinxbfcode{\sphinxupquote{parse\_output}}}{\emph{output}, \emph{selected\_header}}{} -Function that parses output of binary\_c: - -This function works in two cases: -if the caught line contains output like ‘example\_header time=12.32 mass=0.94 ..’ -or if the line contains output like ‘example\_header 12.32 0.94’ - -You can give a ‘selected\_header’ to catch any line that starts with that. -Then the values will be put into a dictionary. - -TODO: Think about exporting to numpy array or pandas instead of a defaultdict - -\end{fulllineitems} - -\index{run\_system() (in module functions)@\spxentry{run\_system()}\spxextra{in module functions}} - -\begin{fulllineitems} -\phantomsection\label{\detokenize{functions:functions.run_system}}\pysiglinewithargsret{\sphinxcode{\sphinxupquote{functions.}}\sphinxbfcode{\sphinxupquote{run\_system}}}{\emph{**kwargs}}{} -Wrapper to run a system with settings - -This function determines which underlying python-c api function will be called based upon the arguments that are passed via kwargs. -\begin{itemize} -\item {} -if custom\_logging\_code or custom\_logging\_dict is included in the kwargs then it will - -\item {} -if - -\end{itemize} - -\end{fulllineitems} - -\index{run\_system\_with\_log() (in module functions)@\spxentry{run\_system\_with\_log()}\spxextra{in module functions}} - -\begin{fulllineitems} -\phantomsection\label{\detokenize{functions:functions.run_system_with_log}}\pysiglinewithargsret{\sphinxcode{\sphinxupquote{functions.}}\sphinxbfcode{\sphinxupquote{run\_system\_with\_log}}}{\emph{**kwargs}}{} -Wrapper to run a system with settings AND logs the files to a designated place defined by the log\_filename parameter. - -\end{fulllineitems} - - - -\chapter{Indices and tables} -\label{\detokenize{index:indices-and-tables}}\begin{itemize} -\item {} -\DUrole{xref,std,std-ref}{genindex} - -\item {} -\DUrole{xref,std,std-ref}{modindex} - -\item {} -\DUrole{xref,std,std-ref}{search} - -\end{itemize} - - -\renewcommand{\indexname}{Python Module Index} -\begin{sphinxtheindex} -\let\bigletter\sphinxstyleindexlettergroup -\bigletter{c} -\item\relax\sphinxstyleindexentry{custom\_logging\_functions}\sphinxstyleindexpageref{custom_logging_functions:\detokenize{module-custom_logging_functions}} -\indexspace -\bigletter{e} -\item\relax\sphinxstyleindexentry{examples.examples}\sphinxstyleindexpageref{examples:\detokenize{module-examples.examples}} -\indexspace -\bigletter{f} -\item\relax\sphinxstyleindexentry{functions}\sphinxstyleindexpageref{functions:\detokenize{module-functions}} -\end{sphinxtheindex} - -\renewcommand{\indexname}{Index} -\printindex -\end{document} \ No newline at end of file diff --git a/docs/build/latex/binary_c-python.toc b/docs/build/latex/binary_c-python.toc deleted file mode 100644 index 9362bd2e2..000000000 --- a/docs/build/latex/binary_c-python.toc +++ /dev/null @@ -1,13 +0,0 @@ -\babel@toc {english}{} -\contentsline {chapter}{\numberline {1}Python module for binary\_c}{1}{chapter.1} -\contentsline {section}{\numberline {1.1}Requirements}{1}{section.1.1} -\contentsline {section}{\numberline {1.2}Environment variables}{1}{section.1.2} -\contentsline {section}{\numberline {1.3}Build instructions}{1}{section.1.3} -\contentsline {section}{\numberline {1.4}Usage notes}{2}{section.1.4} -\contentsline {chapter}{\numberline {2}examples}{3}{chapter.2} -\contentsline {chapter}{\numberline {3}binaryc\_python\_utils}{5}{chapter.3} -\contentsline {section}{\numberline {3.1}custom\_logging\_functions module}{5}{section.3.1} -\contentsline {section}{\numberline {3.2}functions module}{6}{section.3.2} -\contentsline {chapter}{\numberline {4}Indices and tables}{7}{chapter.4} -\contentsline {chapter}{Python Module Index}{9}{section*.23} -\contentsline {chapter}{Index}{11}{section*.24} diff --git a/docs/build/latex/footnotehyper-sphinx.sty b/docs/build/latex/footnotehyper-sphinx.sty deleted file mode 100644 index b6692cfb8..000000000 --- a/docs/build/latex/footnotehyper-sphinx.sty +++ /dev/null @@ -1,269 +0,0 @@ -\NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{footnotehyper-sphinx}% - [2017/10/27 v1.7 hyperref aware footnote.sty for sphinx (JFB)] -%% -%% Package: footnotehyper-sphinx -%% Version: based on footnotehyper.sty 2017/03/07 v1.0 -%% as available at https://www.ctan.org/pkg/footnotehyper -%% License: the one applying to Sphinx -%% -%% Refer to the PDF documentation at https://www.ctan.org/pkg/footnotehyper for -%% the code comments. -%% -%% Differences: -%% 1. a partial tabulary compatibility layer added (enough for Sphinx mark-up), -%% 2. use of \spx@opt@BeforeFootnote from sphinx.sty, -%% 3. use of \sphinxunactivateextrasandspace from sphinx.sty, -%% 4. macro definition \sphinxfootnotemark, -%% 5. macro definition \sphinxlongtablepatch -%% 6. replaced an \undefined by \@undefined -\DeclareOption*{\PackageWarning{footnotehyper-sphinx}{Option `\CurrentOption' is unknown}}% -\ProcessOptions\relax -\newbox\FNH@notes -\newdimen\FNH@width -\let\FNH@colwidth\columnwidth -\newif\ifFNH@savingnotes -\AtBeginDocument {% - \let\FNH@latex@footnote \footnote - \let\FNH@latex@footnotetext\footnotetext - \let\FNH@H@@footnotetext \@footnotetext - \newenvironment{savenotes} - {\FNH@savenotes\ignorespaces}{\FNH@spewnotes\ignorespacesafterend}% - \let\spewnotes \FNH@spewnotes - \let\footnote \FNH@footnote - \let\footnotetext \FNH@footnotetext - \let\endfootnote \FNH@endfntext - \let\endfootnotetext\FNH@endfntext - \@ifpackageloaded{hyperref} - {\ifHy@hyperfootnotes - \let\FNH@H@@footnotetext\H@@footnotetext - \else - \let\FNH@hyper@fntext\FNH@nohyp@fntext - \fi}% - {\let\FNH@hyper@fntext\FNH@nohyp@fntext}% -}% -\def\FNH@hyper@fntext{\FNH@fntext\FNH@hyper@fntext@i}% -\def\FNH@nohyp@fntext{\FNH@fntext\FNH@nohyp@fntext@i}% -\def\FNH@fntext #1{% - \ifx\ifmeasuring@\@undefined - \expandafter\@secondoftwo\else\expandafter\@firstofone\fi -% these two lines modified for Sphinx (tabulary compatibility): - {\ifmeasuring@\expandafter\@gobbletwo\else\expandafter\@firstofone\fi}% - {\ifx\equation$\expandafter\@gobbletwo\fi #1}%$ -}% -\long\def\FNH@hyper@fntext@i#1{% - \global\setbox\FNH@notes\vbox - {\unvbox\FNH@notes - \FNH@startnote - \@makefntext - {\rule\z@\footnotesep\ignorespaces - \ifHy@nesting\expandafter\ltx@firstoftwo - \else\expandafter\ltx@secondoftwo - \fi - {\expandafter\hyper@@anchor\expandafter{\Hy@footnote@currentHref}{#1}}% - {\Hy@raisedlink - {\expandafter\hyper@@anchor\expandafter{\Hy@footnote@currentHref}% - {\relax}}% - \let\@currentHref\Hy@footnote@currentHref - \let\@currentlabelname\@empty - #1}% - \@finalstrut\strutbox - }% - \FNH@endnote - }% -}% -\long\def\FNH@nohyp@fntext@i#1{% - \global\setbox\FNH@notes\vbox - {\unvbox\FNH@notes - \FNH@startnote - \@makefntext{\rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox}% - \FNH@endnote - }% -}% -\def\FNH@startnote{% - \hsize\FNH@colwidth - \interlinepenalty\interfootnotelinepenalty - \reset@font\footnotesize - \floatingpenalty\@MM - \@parboxrestore - \protected@edef\@currentlabel{\csname p@\@mpfn\endcsname\@thefnmark}% - \color@begingroup -}% -\def\FNH@endnote{\color@endgroup}% -\def\FNH@savenotes{% - \begingroup - \ifFNH@savingnotes\else - \FNH@savingnotestrue - \let\@footnotetext \FNH@hyper@fntext - \let\@mpfootnotetext \FNH@hyper@fntext - \let\H@@mpfootnotetext\FNH@nohyp@fntext - \FNH@width\columnwidth - \let\FNH@colwidth\FNH@width - \global\setbox\FNH@notes\box\voidb@x - \let\FNH@thempfn\thempfn - \let\FNH@mpfn\@mpfn - \ifx\@minipagerestore\relax\let\@minipagerestore\@empty\fi - \expandafter\def\expandafter\@minipagerestore\expandafter{% - \@minipagerestore - \let\thempfn\FNH@thempfn - \let\@mpfn\FNH@mpfn - }% - \fi -}% -\def\FNH@spewnotes {% - \endgroup - \ifFNH@savingnotes\else - \ifvoid\FNH@notes\else - \begingroup - \let\@makefntext\@empty - \let\@finalstrut\@gobble - \let\rule\@gobbletwo - \FNH@H@@footnotetext{\unvbox\FNH@notes}% - \endgroup - \fi - \fi -}% -\def\FNH@footnote@envname {footnote}% -\def\FNH@footnotetext@envname{footnotetext}% -\def\FNH@footnote{% -% this line added for Sphinx: - \spx@opt@BeforeFootnote - \ifx\@currenvir\FNH@footnote@envname - \expandafter\FNH@footnoteenv - \else - \expandafter\FNH@latex@footnote - \fi -}% -\def\FNH@footnoteenv{% -% this line added for Sphinx (footnotes in parsed literal blocks): - \catcode13=5 \sphinxunactivateextrasandspace - \@ifnextchar[% - \FNH@footnoteenv@i %] - {\stepcounter\@mpfn - \protected@xdef\@thefnmark{\thempfn}% - \@footnotemark - \def\FNH@endfntext@fntext{\@footnotetext}% - \FNH@startfntext}% -}% -\def\FNH@footnoteenv@i[#1]{% - \begingroup - \csname c@\@mpfn\endcsname #1\relax - \unrestored@protected@xdef\@thefnmark{\thempfn}% - \endgroup - \@footnotemark - \def\FNH@endfntext@fntext{\@footnotetext}% - \FNH@startfntext -}% -\def\FNH@footnotetext{% - \ifx\@currenvir\FNH@footnotetext@envname - \expandafter\FNH@footnotetextenv - \else - \expandafter\FNH@latex@footnotetext - \fi -}% -\def\FNH@footnotetextenv{% - \@ifnextchar[% - \FNH@footnotetextenv@i %] - {\protected@xdef\@thefnmark{\thempfn}% - \def\FNH@endfntext@fntext{\@footnotetext}% - \FNH@startfntext}% -}% -\def\FNH@footnotetextenv@i[#1]{% - \begingroup - \csname c@\@mpfn\endcsname #1\relax - \unrestored@protected@xdef\@thefnmark{\thempfn}% - \endgroup - \ifFNH@savingnotes - \def\FNH@endfntext@fntext{\FNH@nohyp@fntext}% - \else - \def\FNH@endfntext@fntext{\FNH@H@@footnotetext}% - \fi - \FNH@startfntext -}% -\def\FNH@startfntext{% - \setbox\z@\vbox\bgroup - \FNH@startnote - \FNH@prefntext - \rule\z@\footnotesep\ignorespaces -}% -\def\FNH@endfntext {% - \@finalstrut\strutbox - \FNH@postfntext - \FNH@endnote - \egroup - \begingroup - \let\@makefntext\@empty\let\@finalstrut\@gobble\let\rule\@gobbletwo - \FNH@endfntext@fntext {\unvbox\z@}% - \endgroup -}% -\AtBeginDocument{% - \let\FNH@@makefntext\@makefntext - \ifx\@makefntextFB\@undefined - \expandafter\@gobble\else\expandafter\@firstofone\fi - {\ifFBFrenchFootnotes \let\FNH@@makefntext\@makefntextFB \else - \let\FNH@@makefntext\@makefntextORI\fi}% - \expandafter\FNH@check@a\FNH@@makefntext{1.2!3?4,}% - \FNH@@@1.2!3?4,\FNH@@@\relax -}% -\long\def\FNH@check@a #11.2!3?4,#2\FNH@@@#3{% - \ifx\relax#3\expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi - \FNH@bad@makefntext@alert - {\def\FNH@prefntext{#1}\def\FNH@postfntext{#2}\FNH@check@b}% -}% -\def\FNH@check@b #1\relax{% - \expandafter\expandafter\expandafter\FNH@check@c - \expandafter\meaning\expandafter\FNH@prefntext - \meaning\FNH@postfntext1.2!3?4,\FNH@check@c\relax -}% -\def\FNH@check@c #11.2!3?4,#2#3\relax{% - \ifx\FNH@check@c#2\expandafter\@gobble\fi\FNH@bad@makefntext@alert -}% -% slight reformulation for Sphinx -\def\FNH@bad@makefntext@alert{% - \PackageWarningNoLine{footnotehyper-sphinx}% - {Footnotes will be sub-optimal, sorry. This is due to the document class or^^J - some package modifying macro \string\@makefntext.^^J - You can try to report this incompatibility at^^J - https://github.com/sphinx-doc/sphinx with this info:}% - \typeout{\meaning\@makefntext}% - \let\FNH@prefntext\@empty\let\FNH@postfntext\@empty -}% -% this macro from original footnote.sty is not used anymore by Sphinx -% but for simplicity sake let's just keep it as is -\def\makesavenoteenv{\@ifnextchar[\FNH@msne@ii\FNH@msne@i}%] -\def\FNH@msne@i #1{% - \expandafter\let\csname FNH$#1\expandafter\endcsname %$ - \csname #1\endcsname - \expandafter\let\csname endFNH$#1\expandafter\endcsname %$ - \csname end#1\endcsname - \FNH@msne@ii[#1]{FNH$#1}%$ -}% -\def\FNH@msne@ii[#1]#2{% - \expandafter\edef\csname#1\endcsname{% - \noexpand\savenotes - \expandafter\noexpand\csname#2\endcsname - }% - \expandafter\edef\csname end#1\endcsname{% - \expandafter\noexpand\csname end#2\endcsname - \noexpand\expandafter - \noexpand\spewnotes - \noexpand\if@endpe\noexpand\@endpetrue\noexpand\fi - }% -}% -% end of footnotehyper 2017/02/16 v0.99 -% some extras for Sphinx : -% \sphinxfootnotemark: usable in section titles and silently removed from TOCs. -\def\sphinxfootnotemark [#1]% - {\ifx\thepage\relax\else\protect\spx@opt@BeforeFootnote - \protect\footnotemark[#1]\fi}% -\AtBeginDocument{% - % let hyperref less complain - \pdfstringdefDisableCommands{\def\sphinxfootnotemark [#1]{}}% - % to obtain hyperlinked footnotes in longtable environment we must replace - % hyperref's patch of longtable's patch of \@footnotetext by our own - \let\LT@p@ftntext\FNH@hyper@fntext - % this *requires* longtable to be used always wrapped in savenotes environment -}% -\endinput -%% -%% End of file `footnotehyper-sphinx.sty'. diff --git a/docs/build/latex/latexmkjarc b/docs/build/latex/latexmkjarc deleted file mode 100644 index 5b315d6c9..000000000 --- a/docs/build/latex/latexmkjarc +++ /dev/null @@ -1,22 +0,0 @@ -$latex = 'platex ' . $ENV{'LATEXOPTS'} . ' -kanji=utf8 %O %S'; -$dvipdf = 'dvipdfmx %O -o %D %S'; -$makeindex = 'internal mendex %S %B %D'; -sub mendex { - my ($source, $basename, $destination) = @_; - my $dictfile = $basename . ".dic"; - unlink($destination); - system("mendex", "-U", "-f", "-d", $dictfile, "-s", "python.ist", $source); - if ($? > 0) { - print("mendex exited with error code $? (ignored)\n"); - } - if (!-e $destination) { - # create an empty .ind file if nothing - open(FH, ">" . $destination); - close(FH); - } - return 0; -} -add_cus_dep( "glo", "gls", 0, "makeglo" ); -sub makeglo { - return system( "mendex -J -f -s gglo.ist -o '$_[0].gls' '$_[0].glo'" ); -} diff --git a/docs/build/latex/latexmkrc b/docs/build/latex/latexmkrc deleted file mode 100644 index bba17fa6b..000000000 --- a/docs/build/latex/latexmkrc +++ /dev/null @@ -1,9 +0,0 @@ -$latex = 'latex ' . $ENV{'LATEXOPTS'} . ' %O %S'; -$pdflatex = 'pdflatex ' . $ENV{'LATEXOPTS'} . ' %O %S'; -$lualatex = 'lualatex ' . $ENV{'LATEXOPTS'} . ' %O %S'; -$xelatex = 'xelatex --no-pdf ' . $ENV{'LATEXOPTS'} . ' %O %S'; -$makeindex = 'makeindex -s python.ist %O -o %D %S'; -add_cus_dep( "glo", "gls", 0, "makeglo" ); -sub makeglo { - return system( "makeindex -s gglo.ist -o '$_[0].gls' '$_[0].glo'" ); -} \ No newline at end of file diff --git a/docs/build/latex/make.bat b/docs/build/latex/make.bat deleted file mode 100644 index 94bda2139..000000000 --- a/docs/build/latex/make.bat +++ /dev/null @@ -1,31 +0,0 @@ -@ECHO OFF - -REM Command file for Sphinx documentation - -pushd %~dp0 - -set PDFLATEX=latexmk -pdf -dvi- -ps- - -set "LATEXOPTS= " - -if "%1" == "" goto all-pdf - -if "%1" == "all-pdf" ( - :all-pdf - for %%i in (*.tex) do ( - %PDFLATEX% %LATEXMKOPTS% %%i - ) - goto end -) - -if "%1" == "all-pdf-ja" ( - goto all-pdf -) - -if "%1" == "clean" ( - del /q /s *.dvi *.log *.ind *.aux *.toc *.syn *.idx *.out *.ilg *.pla *.ps *.tar *.tar.gz *.tar.bz2 *.tar.xz *.fls *.fdb_latexmk - goto end -) - -:end -popd \ No newline at end of file diff --git a/docs/build/latex/python.ist b/docs/build/latex/python.ist deleted file mode 100644 index 70536a668..000000000 --- a/docs/build/latex/python.ist +++ /dev/null @@ -1,16 +0,0 @@ -line_max 100 -headings_flag 1 -heading_prefix " \\bigletter " - -preamble "\\begin{sphinxtheindex} -\\let\\bigletter\\sphinxstyleindexlettergroup -\\let\\spxpagem \\sphinxstyleindexpagemain -\\let\\spxentry \\sphinxstyleindexentry -\\let\\spxextra \\sphinxstyleindexextra - -" - -postamble "\n\n\\end{sphinxtheindex}\n" - -symhead_positive "{\\sphinxsymbolsname}" -numhead_positive "{\\sphinxnumbersname}" diff --git a/docs/build/latex/sphinx.sty b/docs/build/latex/sphinx.sty deleted file mode 100644 index c18e87a9b..000000000 --- a/docs/build/latex/sphinx.sty +++ /dev/null @@ -1,1859 +0,0 @@ -% -% sphinx.sty -% -% Adapted from the old python.sty, mostly written by Fred Drake, -% by Georg Brandl. -% - -\NeedsTeXFormat{LaTeX2e}[1995/12/01] -\ProvidesPackage{sphinx}[2019/09/02 v2.2.1 LaTeX package (Sphinx markup)] - -% provides \ltx@ifundefined -% (many packages load ltxcmds: graphicx does for pdftex and lualatex but -% not xelatex, and anyhow kvoptions does, but it may be needed in future to -% use \sphinxdeprecationwarning earlier, and it needs \ltx@ifundefined) -\RequirePackage{ltxcmds} - -%% for deprecation warnings -\newcommand\sphinxdeprecationwarning[4]{% #1 the deprecated macro or name, -% #2 = when deprecated, #3 = when removed, #4 = additional info - \edef\spx@tempa{\detokenize{#1}}% - \ltx@ifundefined{sphinx_depr_\spx@tempa}{% - \global\expandafter\let\csname sphinx_depr_\spx@tempa\endcsname\spx@tempa - \expandafter\AtEndDocument\expandafter{\expandafter\let\expandafter - \sphinxdeprecatedmacro\csname sphinx_depr_\spx@tempa\endcsname - \PackageWarningNoLine{sphinx}{^^J**** SPHINX DEPRECATION WARNING:^^J - \sphinxdeprecatedmacro^^J - \@spaces- is deprecated at Sphinx #2^^J - \@spaces- and removed at Sphinx #3.^^J - #4^^J****}}% - }{% warning already emitted (at end of latex log), don't repeat - }} - - -%% PACKAGES -% -% we delay handling of options to after having loaded packages, because -% of the need to use \definecolor. -\RequirePackage{graphicx} -\@ifclassloaded{memoir}{}{\RequirePackage{fancyhdr}} -% for \text macro and \iffirstchoice@ conditional even if amsmath not loaded -\RequirePackage{amstext} -\RequirePackage{textcomp}% "warn" option issued from template -\RequirePackage{titlesec} -\@ifpackagelater{titlesec}{2016/03/15}% - {\@ifpackagelater{titlesec}{2016/03/21}% - {}% - {\newif\ifsphinx@ttlpatch@ok - \IfFileExists{etoolbox.sty}{% - \RequirePackage{etoolbox}% - \patchcmd{\ttlh@hang}{\parindent\z@}{\parindent\z@\leavevmode}% - {\sphinx@ttlpatch@oktrue}{}% - \ifsphinx@ttlpatch@ok - \patchcmd{\ttlh@hang}{\noindent}{}{}{\sphinx@ttlpatch@okfalse}% - \fi - }{}% - \ifsphinx@ttlpatch@ok - \typeout{^^J Package Sphinx Info: ^^J - **** titlesec 2.10.1 successfully patched for bugfix ****^^J}% - \else - \AtEndDocument{\PackageWarningNoLine{sphinx}{^^J% -******** titlesec 2.10.1 has a bug, (section numbers disappear) ......|^^J% -******** and Sphinx could not patch it, perhaps because your local ...|^^J% -******** copy is already fixed without a changed release date. .......|^^J% -******** If not, you must update titlesec! ...........................|}}% - \fi - }% - }{} -\RequirePackage{tabulary} -% tabulary has a bug with its re-definition of \multicolumn in its first pass -% which is not \long. But now Sphinx does not use LaTeX's \multicolumn but its -% own macro. Hence we don't even need to patch tabulary. See sphinxmulticell.sty -% X or S (Sphinx) may have meanings if some table package is loaded hence -% \X was chosen to avoid possibility of conflict -\newcolumntype{\X}[2]{p{\dimexpr - (\linewidth-\arrayrulewidth)*#1/#2-\tw@\tabcolsep-\arrayrulewidth\relax}} -\newcolumntype{\Y}[1]{p{\dimexpr - #1\dimexpr\linewidth-\arrayrulewidth\relax-\tw@\tabcolsep-\arrayrulewidth\relax}} -% using here T (for Tabulary) feels less of a problem than the X could be -\newcolumntype{T}{J}% -% For tables allowing pagebreaks -\RequirePackage{longtable} -% User interface to set-up whitespace before and after tables: -\newcommand*\sphinxtablepre {0pt}% -\newcommand*\sphinxtablepost{\medskipamount}% -% Space from caption baseline to top of table or frame of literal-block -\newcommand*\sphinxbelowcaptionspace{.5\sphinxbaselineskip}% -% as one can not use \baselineskip from inside longtable (it is zero there) -% we need \sphinxbaselineskip, which defaults to \baselineskip -\def\sphinxbaselineskip{\baselineskip}% -% The following is to ensure that, whether tabular(y) or longtable: -% - if a caption is on top of table: -% a) the space between its last baseline and the top rule of table is -% exactly \sphinxbelowcaptionspace -% b) the space from last baseline of previous text to first baseline of -% caption is exactly \parskip+\baselineskip+ height of a strut. -% c) the caption text will wrap at width \LTcapwidth (4in) -% - make sure this works also if "caption" package is loaded by user -% (with its width or margin option taking place of \LTcapwidth role) -% TODO: obtain same for caption of literal block: a) & c) DONE, b) TO BE DONE -% -% To modify space below such top caption, adjust \sphinxbelowcaptionspace -% To add or remove space above such top caption, adjust \sphinxtablepre: -% notice that \abovecaptionskip, \belowcaptionskip, \LTpre are **ignored** -% A. Table with longtable -\def\sphinxatlongtablestart - {\par - \vskip\parskip - \vskip\dimexpr\sphinxtablepre\relax % adjust vertical position - \vbox{}% get correct baseline from above - \LTpre\z@skip\LTpost\z@skip % set to zero longtable's own skips - \edef\sphinxbaselineskip{\dimexpr\the\dimexpr\baselineskip\relax\relax}% - }% -% Compatibility with caption package -\def\sphinxthelongtablecaptionisattop{% - \spx@ifcaptionpackage{\noalign{\vskip-\belowcaptionskip}}{}% -}% -% Achieves exactly \sphinxbelowcaptionspace below longtable caption -\def\sphinxlongtablecapskipadjust - {\dimexpr-\dp\strutbox - -\spx@ifcaptionpackage{\abovecaptionskip}{\sphinxbaselineskip}% - +\sphinxbelowcaptionspace\relax}% -\def\sphinxatlongtableend{\prevdepth\z@\vskip\sphinxtablepost\relax}% -% B. Table with tabular or tabulary -\def\sphinxattablestart{\par\vskip\dimexpr\sphinxtablepre\relax}% -\let\sphinxattableend\sphinxatlongtableend -% This is used by tabular and tabulary templates -\newcommand*\sphinxcapstartof[1]{% - \vskip\parskip - \vbox{}% force baselineskip for good positioning by capstart of hyperanchor - % hyperref puts the anchor 6pt above this baseline; in case of caption - % this baseline will be \ht\strutbox above first baseline of caption - \def\@captype{#1}% - \capstart -% move back vertically, as tabular (or its caption) will compensate - \vskip-\baselineskip\vskip-\parskip -}% -\def\sphinxthecaptionisattop{% locate it after \sphinxcapstartof - \spx@ifcaptionpackage - {\caption@setposition{t}% - \vskip\baselineskip\vskip\parskip % undo those from \sphinxcapstartof - \vskip-\belowcaptionskip % anticipate caption package skip - % caption package uses a \vbox, not a \vtop, so "single line" case - % gives different result from "multi-line" without this: - \nointerlineskip - }% - {}% -}% -\def\sphinxthecaptionisatbottom{% (not finalized; for template usage) - \spx@ifcaptionpackage{\caption@setposition{b}}{}% -}% -% The aim of \sphinxcaption is to apply to tabular(y) the maximal width -% of caption as done by longtable -\def\sphinxtablecapwidth{\LTcapwidth}% -\newcommand\sphinxcaption{\@dblarg\spx@caption}% -\long\def\spx@caption[#1]#2{% - \noindent\hb@xt@\linewidth{\hss - \vtop{\@tempdima\dimexpr\sphinxtablecapwidth\relax -% don't exceed linewidth for the caption width - \ifdim\@tempdima>\linewidth\hsize\linewidth\else\hsize\@tempdima\fi -% longtable ignores \abovecaptionskip/\belowcaptionskip, so do the same here - \abovecaptionskip\sphinxabovecaptionskip % \z@skip - \belowcaptionskip\sphinxbelowcaptionskip % \z@skip - \caption[{#1}]% - {\strut\ignorespaces#2\ifhmode\unskip\@finalstrut\strutbox\fi}% - }\hss}% - \par\prevdepth\dp\strutbox -}% -\def\sphinxabovecaptionskip{\z@skip}% Do not use! Flagged for removal -\def\sphinxbelowcaptionskip{\z@skip}% Do not use! Flagged for removal -% This wrapper of \abovecaptionskip is used in sphinxVerbatim for top -% caption, and with another value in sphinxVerbatimintable -% TODO: To unify space above caption of a code-block with the one above -% caption of a table/longtable, \abovecaptionskip must not be used -% This auxiliary will get renamed and receive a different meaning -% in future. -\def\spx@abovecaptionskip{\abovecaptionskip}% -% Achieve \sphinxbelowcaptionspace below a caption located above a tabular -% or a tabulary -\newcommand\sphinxaftertopcaption -{% - \spx@ifcaptionpackage - {\par\prevdepth\dp\strutbox\nobreak\vskip-\abovecaptionskip}{\nobreak}% - \vskip\dimexpr\sphinxbelowcaptionspace\relax - \vskip-\baselineskip\vskip-\parskip -}% -% varwidth is crucial for our handling of general contents in merged cells -\RequirePackage{varwidth} -% but addition of a compatibility patch with hyperref is needed -% (tested with varwidth v 0.92 Mar 2009) -\AtBeginDocument {% - \let\@@vwid@Hy@raisedlink\Hy@raisedlink - \long\def\@vwid@Hy@raisedlink#1{\@vwid@wrap{\@@vwid@Hy@raisedlink{#1}}}% - \edef\@vwid@setup{% - \let\noexpand\Hy@raisedlink\noexpand\@vwid@Hy@raisedlink % HYPERREF ! - \unexpanded\expandafter{\@vwid@setup}}% -}% -% Homemade package to handle merged cells -\RequirePackage{sphinxmulticell} -\RequirePackage{makeidx} -% For framing code-blocks and warning type notices, and shadowing topics -\RequirePackage{framed} -% The xcolor package draws better fcolorboxes around verbatim code -\IfFileExists{xcolor.sty}{ - \RequirePackage{xcolor} -}{ - \RequirePackage{color} -} -% For highlighted code. -\RequirePackage{fancyvrb} -\define@key{FV}{hllines}{\def\sphinx@verbatim@checkifhl##1{\in@{, ##1,}{#1}}} -% sphinxVerbatim must be usable by third party without requiring hllines set-up -\def\sphinxresetverbatimhllines{\def\sphinx@verbatim@checkifhl##1{\in@false}} -\sphinxresetverbatimhllines -% For hyperlinked footnotes in tables; also for gathering footnotes from -% topic and warning blocks. Also to allow code-blocks in footnotes. -\RequirePackage{footnotehyper-sphinx} -% For the H specifier. Do not \restylefloat{figure}, it breaks Sphinx code -% for allowing figures in tables. -\RequirePackage{float} -% For floating figures in the text. Better to load after float. -\RequirePackage{wrapfig} -% Separate paragraphs by space by default. -\IfFileExists{parskip-2001-04-09.sty}% since September 2018 TeXLive update -% new parskip.sty, but let it rollback to old one. -% hopefully TeX installation not broken and LaTeX kernel not too old - {\RequirePackage{parskip}[=v1]} -% standard one from 1989. Admittedly \section of article/book gives possibly -% anomalous spacing, but we can't require September 2018 release for some time. - {\RequirePackage{parskip}} -% For parsed-literal blocks. -\RequirePackage{alltt} -% Display "real" single quotes in literal blocks. -\RequirePackage{upquote} -% control caption around literal-block -\RequirePackage{capt-of} -\RequirePackage{needspace} -% LaTeX 2018-04-01 and later provides \@removefromreset -\ltx@ifundefined{@removefromreset} - {\RequirePackage{remreset}} - {}% avoid warning -% to make pdf with correct encoded bookmarks in Japanese -% this should precede the hyperref package -\ifx\kanjiskip\@undefined -% for non-Japanese: make sure bookmarks are ok also with lualatex - \PassOptionsToPackage{pdfencoding=unicode}{hyperref} -\else - \RequirePackage{atbegshi} - \ifx\ucs\@undefined - \ifnum 42146=\euc"A4A2 - \AtBeginShipoutFirst{\special{pdf:tounicode EUC-UCS2}} - \else - \AtBeginShipoutFirst{\special{pdf:tounicode 90ms-RKSJ-UCS2}} - \fi - \else - \AtBeginShipoutFirst{\special{pdf:tounicode UTF8-UCS2}} - \fi -\fi - -\ifx\@jsc@uplatextrue\@undefined\else - \PassOptionsToPackage{setpagesize=false}{hyperref} -\fi - -% These options can be overriden inside 'hyperref' key -% or by later use of \hypersetup. -\PassOptionsToPackage{colorlinks,breaklinks,% - linkcolor=InnerLinkColor,filecolor=OuterLinkColor,% - menucolor=OuterLinkColor,urlcolor=OuterLinkColor,% - citecolor=InnerLinkColor}{hyperref} - -% stylesheet for highlighting with pygments -\RequirePackage{sphinxhighlight} -% fix baseline increase from Pygments latex formatter in case of error tokens -% and keep \fboxsep's scope local via added braces -\def\PYG@tok@err{% - \def\PYG@bc##1{{\setlength{\fboxsep}{-\fboxrule}% - \fcolorbox[rgb]{1.00,0.00,0.00}{1,1,1}{\strut ##1}}}% -} -\def\PYG@tok@cs{% - \def\PYG@tc##1{\textcolor[rgb]{0.25,0.50,0.56}{##1}}% - \def\PYG@bc##1{{\setlength{\fboxsep}{0pt}% - \colorbox[rgb]{1.00,0.94,0.94}{\strut ##1}}}% -}% - - -%% OPTIONS -% -% Handle options via "kvoptions" (later loaded by hyperref anyhow) -\RequirePackage{kvoptions} -\SetupKeyvalOptions{prefix=spx@opt@} % use \spx@opt@ prefix - -% Sphinx legacy text layout: 1in margins on all four sides -\ifx\@jsc@uplatextrue\@undefined -\DeclareStringOption[1in]{hmargin} -\DeclareStringOption[1in]{vmargin} -\DeclareStringOption[.5in]{marginpar} -\else -% Japanese standard document classes handle \mag in a special way -\DeclareStringOption[\inv@mag in]{hmargin} -\DeclareStringOption[\inv@mag in]{vmargin} -\DeclareStringOption[.5\dimexpr\inv@mag in\relax]{marginpar} -\fi - -\DeclareStringOption[0]{maxlistdepth}% \newcommand*\spx@opt@maxlistdepth{0} -\DeclareStringOption[-1]{numfigreset} -\DeclareBoolOption[false]{nonumfigreset} -\DeclareBoolOption[false]{mathnumfig} -% \DeclareBoolOption[false]{usespart}% not used -% dimensions, we declare the \dimen registers here. -\newdimen\sphinxverbatimsep -\newdimen\sphinxverbatimborder -\newdimen\sphinxshadowsep -\newdimen\sphinxshadowsize -\newdimen\sphinxshadowrule -% \DeclareStringOption is not convenient for the handling of these dimensions -% because we want to assign the values to the corresponding registers. Even if -% we added the code to the key handler it would be too late for the initial -% set-up and we would need to do initial assignments explicitely. We end up -% using \define@key directly. -% verbatim -\sphinxverbatimsep=\fboxsep - \define@key{sphinx}{verbatimsep}{\sphinxverbatimsep\dimexpr #1\relax} -\sphinxverbatimborder=\fboxrule - \define@key{sphinx}{verbatimborder}{\sphinxverbatimborder\dimexpr #1\relax} -% topic boxes -\sphinxshadowsep =5pt - \define@key{sphinx}{shadowsep}{\sphinxshadowsep\dimexpr #1\relax} -\sphinxshadowsize=4pt - \define@key{sphinx}{shadowsize}{\sphinxshadowsize\dimexpr #1\relax} -\sphinxshadowrule=\fboxrule - \define@key{sphinx}{shadowrule}{\sphinxshadowrule\dimexpr #1\relax} -% verbatim -\DeclareBoolOption[true]{verbatimwithframe} -\DeclareBoolOption[true]{verbatimwrapslines} -\DeclareBoolOption[true]{verbatimhintsturnover} -\DeclareBoolOption[true]{inlineliteralwraps} -\DeclareStringOption[t]{literalblockcappos} -\DeclareStringOption[r]{verbatimcontinuedalign} -\DeclareStringOption[r]{verbatimcontinuesalign} -% parsed literal -\DeclareBoolOption[true]{parsedliteralwraps} -% \textvisiblespace for compatibility with fontspec+XeTeX/LuaTeX -\DeclareStringOption[\textcolor{red}{\textvisiblespace}]{verbatimvisiblespace} -\DeclareStringOption % must use braces to hide the brackets - [{\makebox[2\fontcharwd\font`\x][r]{\textcolor{red}{\tiny$\m@th\hookrightarrow$}}}]% - {verbatimcontinued} -% notices/admonitions -% the dimensions for notices/admonitions are kept as macros and assigned to -% \spx@notice@border at time of use, hence \DeclareStringOption is ok for this -\newdimen\spx@notice@border -\DeclareStringOption[0.5pt]{noteborder} -\DeclareStringOption[0.5pt]{hintborder} -\DeclareStringOption[0.5pt]{importantborder} -\DeclareStringOption[0.5pt]{tipborder} -\DeclareStringOption[1pt]{warningborder} -\DeclareStringOption[1pt]{cautionborder} -\DeclareStringOption[1pt]{attentionborder} -\DeclareStringOption[1pt]{dangerborder} -\DeclareStringOption[1pt]{errorborder} -% footnotes -\DeclareStringOption[\mbox{ }]{AtStartFootnote} -% we need a public macro name for direct use in latex file -\newcommand*{\sphinxAtStartFootnote}{\spx@opt@AtStartFootnote} -% no such need for this one, as it is used inside other macros -\DeclareStringOption[\leavevmode\unskip]{BeforeFootnote} -% some font styling. -\DeclareStringOption[\sffamily\bfseries]{HeaderFamily} -% colours -% same problems as for dimensions: we want the key handler to use \definecolor. -% first, some colours with no prefix, for backwards compatibility -\newcommand*{\sphinxDeclareColorOption}[2]{% - \definecolor{#1}#2% - \define@key{sphinx}{#1}{\definecolor{#1}##1}% -}% -\sphinxDeclareColorOption{TitleColor}{{rgb}{0.126,0.263,0.361}} -\sphinxDeclareColorOption{InnerLinkColor}{{rgb}{0.208,0.374,0.486}} -\sphinxDeclareColorOption{OuterLinkColor}{{rgb}{0.216,0.439,0.388}} -\sphinxDeclareColorOption{VerbatimColor}{{rgb}{1,1,1}} -\sphinxDeclareColorOption{VerbatimBorderColor}{{rgb}{0,0,0}} -% now the colours defined with "sphinx" prefix in their names -\newcommand*{\sphinxDeclareSphinxColorOption}[2]{% - % set the initial default - \definecolor{sphinx#1}#2% - % set the key handler. The "value" ##1 must be acceptable by \definecolor. - \define@key{sphinx}{#1}{\definecolor{sphinx#1}##1}% -}% -% Default color chosen to be as in minted.sty LaTeX package! -\sphinxDeclareSphinxColorOption{VerbatimHighlightColor}{{rgb}{0.878,1,1}} -% admonition boxes, "light" style -\sphinxDeclareSphinxColorOption{noteBorderColor}{{rgb}{0,0,0}} -\sphinxDeclareSphinxColorOption{hintBorderColor}{{rgb}{0,0,0}} -\sphinxDeclareSphinxColorOption{importantBorderColor}{{rgb}{0,0,0}} -\sphinxDeclareSphinxColorOption{tipBorderColor}{{rgb}{0,0,0}} -% admonition boxes, "heavy" style -\sphinxDeclareSphinxColorOption{warningBorderColor}{{rgb}{0,0,0}} -\sphinxDeclareSphinxColorOption{cautionBorderColor}{{rgb}{0,0,0}} -\sphinxDeclareSphinxColorOption{attentionBorderColor}{{rgb}{0,0,0}} -\sphinxDeclareSphinxColorOption{dangerBorderColor}{{rgb}{0,0,0}} -\sphinxDeclareSphinxColorOption{errorBorderColor}{{rgb}{0,0,0}} -\sphinxDeclareSphinxColorOption{warningBgColor}{{rgb}{1,1,1}} -\sphinxDeclareSphinxColorOption{cautionBgColor}{{rgb}{1,1,1}} -\sphinxDeclareSphinxColorOption{attentionBgColor}{{rgb}{1,1,1}} -\sphinxDeclareSphinxColorOption{dangerBgColor}{{rgb}{1,1,1}} -\sphinxDeclareSphinxColorOption{errorBgColor}{{rgb}{1,1,1}} - -\DeclareDefaultOption{\@unknownoptionerror} -\ProcessKeyvalOptions* -% don't allow use of maxlistdepth via \sphinxsetup. -\DisableKeyvalOption{sphinx}{maxlistdepth} -\DisableKeyvalOption{sphinx}{numfigreset} -\DisableKeyvalOption{sphinx}{nonumfigreset} -\DisableKeyvalOption{sphinx}{mathnumfig} -% user interface: options can be changed midway in a document! -\newcommand\sphinxsetup[1]{\setkeys{sphinx}{#1}} - - -%% ALPHANUMERIC LIST ITEMS -\newcommand\sphinxsetlistlabels[5] -{% #1 = style, #2 = enum, #3 = enumnext, #4 = prefix, #5 = suffix - % #2 and #3 are counters used by enumerate environement e.g. enumi, enumii. - % #1 is a macro such as \arabic or \alph - % prefix and suffix are strings (by default empty and a dot). - \@namedef{the#2}{#1{#2}}% - \@namedef{label#2}{#4\@nameuse{the#2}#5}% - \@namedef{p@#3}{\@nameuse{p@#2}#4\@nameuse{the#2}#5}% -}% - - -%% MAXLISTDEPTH -% -% remove LaTeX's cap on nesting depth if 'maxlistdepth' key used. -% This is a hack, which works with the standard classes: it assumes \@toodeep -% is always used in "true" branches: "\if ... \@toodeep \else .. \fi." - -% will force use the "false" branch (if there is one) -\def\spx@toodeep@hack{\fi\iffalse} - -% do nothing if 'maxlistdepth' key not used or if package enumitem loaded. -\ifnum\spx@opt@maxlistdepth=\z@\expandafter\@gobbletwo\fi -\AtBeginDocument{% -\@ifpackageloaded{enumitem}{\remove@to@nnil}{}% - \let\spx@toodeepORI\@toodeep - \def\@toodeep{% - \ifnum\@listdepth<\spx@opt@maxlistdepth\relax - \expandafter\spx@toodeep@hack - \else - \expandafter\spx@toodeepORI - \fi}% -% define all missing \@list... macros - \count@\@ne - \loop - \ltx@ifundefined{@list\romannumeral\the\count@} - {\iffalse}{\iftrue\advance\count@\@ne}% - \repeat - \loop - \ifnum\count@>\spx@opt@maxlistdepth\relax\else - \expandafter\let - \csname @list\romannumeral\the\count@\expandafter\endcsname - \csname @list\romannumeral\the\numexpr\count@-\@ne\endcsname - % workaround 2.6--3.2d babel-french issue (fixed in 3.2e; no change needed) - \ltx@ifundefined{leftmargin\romannumeral\the\count@} - {\expandafter\let - \csname leftmargin\romannumeral\the\count@\expandafter\endcsname - \csname leftmargin\romannumeral\the\numexpr\count@-\@ne\endcsname}{}% - \advance\count@\@ne - \repeat -% define all missing enum... counters and \labelenum... macros and \p@enum.. - \count@\@ne - \loop - \ltx@ifundefined{c@enum\romannumeral\the\count@} - {\iffalse}{\iftrue\advance\count@\@ne}% - \repeat - \loop - \ifnum\count@>\spx@opt@maxlistdepth\relax\else - \newcounter{enum\romannumeral\the\count@}% - \expandafter\def - \csname labelenum\romannumeral\the\count@\expandafter\endcsname - \expandafter - {\csname theenum\romannumeral\the\numexpr\count@\endcsname.}% - \expandafter\def - \csname p@enum\romannumeral\the\count@\expandafter\endcsname - \expandafter - {\csname p@enum\romannumeral\the\numexpr\count@-\@ne\expandafter - \endcsname\csname theenum\romannumeral\the\numexpr\count@-\@ne\endcsname.}% - \advance\count@\@ne - \repeat -% define all missing labelitem... macros - \count@\@ne - \loop - \ltx@ifundefined{labelitem\romannumeral\the\count@} - {\iffalse}{\iftrue\advance\count@\@ne}% - \repeat - \loop - \ifnum\count@>\spx@opt@maxlistdepth\relax\else - \expandafter\let - \csname labelitem\romannumeral\the\count@\expandafter\endcsname - \csname labelitem\romannumeral\the\numexpr\count@-\@ne\endcsname - \advance\count@\@ne - \repeat - \PackageInfo{sphinx}{maximal list depth extended to \spx@opt@maxlistdepth}% -\@gobble\@nnil -} - - -%% INDEX, BIBLIOGRAPHY, APPENDIX, TABLE OF CONTENTS -% -% fix the double index and bibliography on the table of contents -% in jsclasses (Japanese standard document classes) -\ifx\@jsc@uplatextrue\@undefined\else - \renewenvironment{sphinxtheindex} - {\cleardoublepage\phantomsection - \begin{theindex}} - {\end{theindex}} - - \renewenvironment{sphinxthebibliography}[1] - {\cleardoublepage% \phantomsection % not needed here since TeXLive 2010's hyperref - \begin{thebibliography}{#1}} - {\end{thebibliography}} -\fi - -% disable \@chappos in Appendix in pTeX -\ifx\kanjiskip\@undefined\else - \let\py@OldAppendix=\appendix - \renewcommand{\appendix}{ - \py@OldAppendix - \gdef\@chappos{} - } -\fi - -% make commands known to non-Sphinx document classes -\providecommand*{\sphinxmaketitle}{\maketitle} -\providecommand*{\sphinxtableofcontents}{\tableofcontents} -\ltx@ifundefined{sphinxthebibliography} - {\newenvironment - {sphinxthebibliography}{\begin{thebibliography}}{\end{thebibliography}}% - } - {}% else clause of \ltx@ifundefined -\ltx@ifundefined{sphinxtheindex} - {\newenvironment{sphinxtheindex}{\begin{theindex}}{\end{theindex}}}% - {}% else clause of \ltx@ifundefined - -% for usage with xindy: this string gets internationalized in preamble -\newcommand*{\sphinxnonalphabeticalgroupname}{} -% redefined in preamble, headings for makeindex produced index -\newcommand*{\sphinxsymbolsname}{} -\newcommand*{\sphinxnumbersname}{} - -%% COLOR (general) -% -% FIXME: \normalcolor should probably be used in place of \py@NormalColor -% elsewhere, and \py@NormalColor should never be defined. \normalcolor -% switches to the colour from last \color call in preamble. -\def\py@NormalColor{\color{black}} -% FIXME: it is probably better to use \color{TitleColor}, as TitleColor -% can be customized from 'sphinxsetup', and drop usage of \py@TitleColor -\def\py@TitleColor{\color{TitleColor}} -% FIXME: this line should be dropped, as "9" is default anyhow. -\ifdefined\pdfcompresslevel\pdfcompresslevel = 9 \fi - - -%% PAGE STYLING -% -% Style parameters and macros used by most documents here -\raggedbottom -\sloppy -\hbadness = 5000 % don't print trivial gripes - -% Use \pagestyle{normal} as the primary pagestyle for text. -% Redefine the 'normal' header/footer style when using "fancyhdr" package: -\@ifpackageloaded{fancyhdr}{% - \ltx@ifundefined{c@chapter} - {% no \chapter, "howto" (non-Japanese) docclass - \fancypagestyle{plain}{ - \fancyhf{} - \fancyfoot[C]{{\py@HeaderFamily\thepage}} - \renewcommand{\headrulewidth}{0pt} - \renewcommand{\footrulewidth}{0pt} - } - % Same as 'plain', this way we can use it in template - % FIXME: shouldn't this have a running header with Name and Release like 'manual'? - \fancypagestyle{normal}{ - \fancyhf{} - \fancyfoot[C]{{\py@HeaderFamily\thepage}} - \renewcommand{\headrulewidth}{0pt} - \renewcommand{\footrulewidth}{0pt} - } - }% - {% classes with \chapter command - \fancypagestyle{normal}{ - \fancyhf{} - % FIXME: this presupposes "twoside". - % If "oneside" class option, there are warnings in LaTeX log. - \fancyfoot[LE,RO]{{\py@HeaderFamily\thepage}} - \fancyfoot[LO]{{\py@HeaderFamily\nouppercase{\rightmark}}} - \fancyfoot[RE]{{\py@HeaderFamily\nouppercase{\leftmark}}} - \fancyhead[LE,RO]{{\py@HeaderFamily \@title\sphinxheadercomma\py@release}} - \renewcommand{\headrulewidth}{0.4pt} - \renewcommand{\footrulewidth}{0.4pt} - % define chaptermark with \@chappos when \@chappos is available for Japanese - \ltx@ifundefined{@chappos}{} - {\def\chaptermark##1{\markboth{\@chapapp\space\thechapter\space\@chappos\space ##1}{}}} - } - % Update the plain style so we get the page number & footer line, - % but not a chapter or section title. This is to keep the first - % page of a chapter `clean.' - \fancypagestyle{plain}{ - \fancyhf{} - \fancyfoot[LE,RO]{{\py@HeaderFamily\thepage}} - \renewcommand{\headrulewidth}{0pt} - \renewcommand{\footrulewidth}{0.4pt} - } - } - } - {% no fancyhdr: memoir class - % Provide default for 'normal' style simply as an alias of 'plain' style - % This way we can use \pagestyle{normal} in LaTeX template - \def\ps@normal{\ps@plain} - % Users of memoir class are invited to redefine 'normal' style in preamble - } - -% geometry -\ifx\kanjiskip\@undefined - \PassOptionsToPackage{% - hmargin={\unexpanded{\spx@opt@hmargin}},% - vmargin={\unexpanded{\spx@opt@vmargin}},% - marginpar=\unexpanded{\spx@opt@marginpar}} - {geometry} -\else - % set text width for Japanese documents to be integer multiple of 1zw - % and text height to be integer multiple of \baselineskip - % the execution is delayed to \sphinxsetup then geometry.sty - \normalsize\normalfont - \newcommand*\sphinxtextwidthja[1]{% - \if@twocolumn\tw@\fi - \dimexpr - \numexpr\dimexpr\paperwidth-\tw@\dimexpr#1\relax\relax/ - \dimexpr\if@twocolumn\tw@\else\@ne\fi zw\relax - zw\relax}% - \newcommand*\sphinxmarginparwidthja[1]{% - \dimexpr\numexpr\dimexpr#1\relax/\dimexpr1zw\relax zw\relax}% - \newcommand*\sphinxtextlinesja[1]{% - \numexpr\@ne+\dimexpr\paperheight-\topskip-\tw@\dimexpr#1\relax\relax/ - \baselineskip\relax}% - \ifx\@jsc@uplatextrue\@undefined\else - % the way we found in order for the papersize special written by - % geometry in the dvi file to be correct in case of jsbook class - \ifnum\mag=\@m\else % do nothing special if nomag class option or 10pt - \PassOptionsToPackage{truedimen}{geometry}% - \fi - \fi - \PassOptionsToPackage{% - hmarginratio={1:1},% - textwidth=\unexpanded{\sphinxtextwidthja{\spx@opt@hmargin}},% - vmarginratio={1:1},% - lines=\unexpanded{\sphinxtextlinesja{\spx@opt@vmargin}},% - marginpar=\unexpanded{\sphinxmarginparwidthja{\spx@opt@marginpar}},% - footskip=2\baselineskip,% - }{geometry}% - \AtBeginDocument - {% update a dimension used by the jsclasses - \ifx\@jsc@uplatextrue\@undefined\else\fullwidth\textwidth\fi - % for some reason, jreport normalizes all dimensions with \@settopoint - \@ifclassloaded{jreport} - {\@settopoint\textwidth\@settopoint\textheight\@settopoint\marginparwidth} - {}% <-- "false" clause of \@ifclassloaded - }% -\fi - -% fix fncychap's bug which uses prematurely the \textwidth value -\@ifpackagewith{fncychap}{Bjornstrup} - {\AtBeginDocument{\mylen\textwidth\advance\mylen-2\myhi}}% - {}% <-- "false" clause of \@ifpackagewith - - -%% TITLES -% -% Since Sphinx 1.5, users should use HeaderFamily key to 'sphinxsetup' rather -% than defining their own \py@HeaderFamily command (which is still possible). -% Memo: \py@HeaderFamily is also used by \maketitle as defined in -% sphinxmanual.cls/sphinxhowto.cls -\newcommand{\py@HeaderFamily}{\spx@opt@HeaderFamily} - -% This sets up the fancy chapter headings that make the documents look -% at least a little better than the usual LaTeX output. -\@ifpackagewith{fncychap}{Bjarne}{ - \ChNameVar {\raggedleft\normalsize \py@HeaderFamily} - \ChNumVar {\raggedleft\Large \py@HeaderFamily} - \ChTitleVar{\raggedleft\Large \py@HeaderFamily} - % This creates (numbered) chapter heads without the leading \vspace*{}: - \def\@makechapterhead#1{% - {\parindent \z@ \raggedright \normalfont - \ifnum \c@secnumdepth >\m@ne - \if@mainmatter - \DOCH - \fi - \fi - \interlinepenalty\@M - \if@mainmatter - \DOTI{#1}% - \else% - \DOTIS{#1}% - \fi - }} -}{}% <-- "false" clause of \@ifpackagewith - -% Augment the sectioning commands used to get our own font family in place, -% and reset some internal data items (\titleformat from titlesec package) -\titleformat{\section}{\Large\py@HeaderFamily}% - {\py@TitleColor\thesection}{0.5em}{\py@TitleColor}{\py@NormalColor} -\titleformat{\subsection}{\large\py@HeaderFamily}% - {\py@TitleColor\thesubsection}{0.5em}{\py@TitleColor}{\py@NormalColor} -\titleformat{\subsubsection}{\py@HeaderFamily}% - {\py@TitleColor\thesubsubsection}{0.5em}{\py@TitleColor}{\py@NormalColor} -% By default paragraphs (and subsubsections) will not be numbered because -% sphinxmanual.cls and sphinxhowto.cls set secnumdepth to 2 -\titleformat{\paragraph}{\py@HeaderFamily}% - {\py@TitleColor\theparagraph}{0.5em}{\py@TitleColor}{\py@NormalColor} -\titleformat{\subparagraph}{\py@HeaderFamily}% - {\py@TitleColor\thesubparagraph}{0.5em}{\py@TitleColor}{\py@NormalColor} - - -%% GRAPHICS -% -% \sphinxincludegraphics resizes images larger than the TeX \linewidth (which -% is adjusted in indented environments), or taller than a certain maximal -% height (usually \textheight and this is reduced in the environments which use -% framed.sty to avoid infinite loop if image too tall). -% -% In case height or width options are present the rescaling is done -% (since 2.0), in a way keeping the width:height ratio either native from -% image or from the width and height options if both were present. -% -\newdimen\spx@image@maxheight -\AtBeginDocument{\spx@image@maxheight\textheight} - -% box scratch register -\newdimen\spx@image@box -\newcommand*{\sphinxsafeincludegraphics}[2][]{% - % #1 contains possibly width=, height=, but no scale= since 1.8.4 - \setbox\spx@image@box\hbox{\includegraphics[#1,draft]{#2}}% - \in@false % use some handy boolean flag - \ifdim \wd\spx@image@box>\linewidth - \in@true % flag to remember to adjust options and set box dimensions - % compute height which results from rescaling width to \linewidth - % and keep current aspect ratio. multiply-divide in \numexpr uses - % temporarily doubled precision, hence no overflow. (of course we - % assume \ht is not a few sp's below \maxdimen...(about 16384pt). - \edef\spx@image@rescaledheight % with sp units - {\the\numexpr\ht\spx@image@box - *\linewidth/\wd\spx@image@box sp}% - \ifdim\spx@image@rescaledheight>\spx@image@maxheight - % the rescaled height will be too big, so it is height which decides - % the rescaling factor - \def\spx@image@requiredheight{\spx@image@maxheight}% dimen register - \edef\spx@image@requiredwidth % with sp units - {\the\numexpr\wd\spx@image@box - *\spx@image@maxheight/\ht\spx@image@box sp}% - % TODO: decide if this commented-out block could be needed due to - % rounding in numexpr operations going up - % \ifdim\spx@image@requiredwidth>\linewidth - % \def\spx@image@requiredwidth{\linewidth}% dimen register - % \fi - \else - \def\spx@image@requiredwidth{\linewidth}% dimen register - \let\spx@image@requiredheight\spx@image@rescaledheight% sp units - \fi - \else - % width is ok, let's check height - \ifdim\ht\spx@image@box>\spx@image@maxheight - \in@true - \edef\spx@image@requiredwidth % with sp units - {\the\numexpr\wd\spx@image@box - *\spx@image@maxheight/\ht\spx@image@box sp}% - \def\spx@image@requiredheight{\spx@image@maxheight}% dimen register - \fi - \fi % end of check of width and height - \ifin@ - \setbox\spx@image@box - \hbox{\includegraphics - [%#1,% contained only width and/or height and overruled anyhow - width=\spx@image@requiredwidth,height=\spx@image@requiredheight]% - {#2}}% - % \includegraphics does not set box dimensions to the exactly - % requested ones, see https://github.com/latex3/latex2e/issues/112 - \wd\spx@image@box\spx@image@requiredwidth - \ht\spx@image@box\spx@image@requiredheight - \leavevmode\box\spx@image@box - \else - % here we do not modify the options, no need to adjust width and height - % on output, they will be computed exactly as with "draft" option - \setbox\spx@image@box\box\voidb@x % clear memory - \includegraphics[#1]{#2}% - \fi -}% -% Use the "safe" one by default (2.0) -\def\sphinxincludegraphics{\sphinxsafeincludegraphics} - - -%% FIGURE IN TABLE -% -\newenvironment{sphinxfigure-in-table}[1][\linewidth]{% - \def\@captype{figure}% - \sphinxsetvskipsforfigintablecaption - \begin{minipage}{#1}% -}{\end{minipage}} -% store the original \caption macro for usage with figures inside longtable -% and tabulary cells. Make sure we get the final \caption in presence of -% caption package, whether the latter was loaded before or after sphinx. -\AtBeginDocument{% - \let\spx@originalcaption\caption - \@ifpackageloaded{caption} - {\let\spx@ifcaptionpackage\@firstoftwo - \caption@AtBeginDocument*{\let\spx@originalcaption\caption}% -% in presence of caption package, drop our own \sphinxcaption whose aim was to -% ensure same width of caption to all kinds of tables (tabular(y), longtable), -% because caption package has its own width (or margin) option - \def\sphinxcaption{\caption}% - }% - {\let\spx@ifcaptionpackage\@secondoftwo}% -} -% tabulary expands twice contents, we need to prevent double counter stepping -\newcommand*\sphinxfigcaption - {\ifx\equation$%$% this is trick to identify tabulary first pass - \firstchoice@false\else\firstchoice@true\fi - \spx@originalcaption } -\newcommand*\sphinxsetvskipsforfigintablecaption - {\abovecaptionskip\smallskipamount - \belowcaptionskip\smallskipamount} - - -%% CITATIONS -% -\protected\def\sphinxcite{\cite} - -%% FOOTNOTES -% -% Support large numbered footnotes in minipage -% But now obsolete due to systematic use of \savenotes/\spewnotes -% when minipages are in use in the various macro definitions next. -\def\thempfootnote{\arabic{mpfootnote}} - - -%% NUMBERING OF FIGURES, TABLES, AND LITERAL BLOCKS -\ltx@ifundefined{c@chapter} - {\newcounter{literalblock}}% - {\newcounter{literalblock}[chapter]% - \def\theliteralblock{\ifnum\c@chapter>\z@\arabic{chapter}.\fi - \arabic{literalblock}}% - }% -\ifspx@opt@nonumfigreset - \ltx@ifundefined{c@chapter}{}{% - \@removefromreset{figure}{chapter}% - \@removefromreset{table}{chapter}% - \@removefromreset{literalblock}{chapter}% - \ifspx@opt@mathnumfig - \@removefromreset{equation}{chapter}% - \fi - }% - \def\thefigure{\arabic{figure}}% - \def\thetable {\arabic{table}}% - \def\theliteralblock{\arabic{literalblock}}% - \ifspx@opt@mathnumfig - \def\theequation{\arabic{equation}}% - \fi -\else -\let\spx@preAthefigure\@empty -\let\spx@preBthefigure\@empty -% \ifspx@opt@usespart % <-- LaTeX writer could pass such a 'usespart' boolean -% % as sphinx.sty package option -% If document uses \part, (triggered in Sphinx by latex_toplevel_sectioning) -% LaTeX core per default does not reset chapter or section -% counters at each part. -% But if we modify this, we need to redefine \thechapter, \thesection to -% include the part number and this will cause problems in table of contents -% because of too wide numbering. Simplest is to do nothing. -% \fi -\ifnum\spx@opt@numfigreset>0 - \ltx@ifundefined{c@chapter} - {} - {\g@addto@macro\spx@preAthefigure{\ifnum\c@chapter>\z@\arabic{chapter}.}% - \g@addto@macro\spx@preBthefigure{\fi}}% -\fi -\ifnum\spx@opt@numfigreset>1 - \@addtoreset{figure}{section}% - \@addtoreset{table}{section}% - \@addtoreset{literalblock}{section}% - \ifspx@opt@mathnumfig - \@addtoreset{equation}{section}% - \fi - \g@addto@macro\spx@preAthefigure{\ifnum\c@section>\z@\arabic{section}.}% - \g@addto@macro\spx@preBthefigure{\fi}% -\fi -\ifnum\spx@opt@numfigreset>2 - \@addtoreset{figure}{subsection}% - \@addtoreset{table}{subsection}% - \@addtoreset{literalblock}{subsection}% - \ifspx@opt@mathnumfig - \@addtoreset{equation}{subsection}% - \fi - \g@addto@macro\spx@preAthefigure{\ifnum\c@subsection>\z@\arabic{subsection}.}% - \g@addto@macro\spx@preBthefigure{\fi}% -\fi -\ifnum\spx@opt@numfigreset>3 - \@addtoreset{figure}{subsubsection}% - \@addtoreset{table}{subsubsection}% - \@addtoreset{literalblock}{subsubsection}% - \ifspx@opt@mathnumfig - \@addtoreset{equation}{subsubsection}% - \fi - \g@addto@macro\spx@preAthefigure{\ifnum\c@subsubsection>\z@\arabic{subsubsection}.}% - \g@addto@macro\spx@preBthefigure{\fi}% -\fi -\ifnum\spx@opt@numfigreset>4 - \@addtoreset{figure}{paragraph}% - \@addtoreset{table}{paragraph}% - \@addtoreset{literalblock}{paragraph}% - \ifspx@opt@mathnumfig - \@addtoreset{equation}{paragraph}% - \fi - \g@addto@macro\spx@preAthefigure{\ifnum\c@subparagraph>\z@\arabic{subparagraph}.}% - \g@addto@macro\spx@preBthefigure{\fi}% -\fi -\ifnum\spx@opt@numfigreset>5 - \@addtoreset{figure}{subparagraph}% - \@addtoreset{table}{subparagraph}% - \@addtoreset{literalblock}{subparagraph}% - \ifspx@opt@mathnumfig - \@addtoreset{equation}{subparagraph}% - \fi - \g@addto@macro\spx@preAthefigure{\ifnum\c@subsubparagraph>\z@\arabic{subsubparagraph}.}% - \g@addto@macro\spx@preBthefigure{\fi}% -\fi -\expandafter\g@addto@macro -\expandafter\spx@preAthefigure\expandafter{\spx@preBthefigure}% -\let\thefigure\spx@preAthefigure -\let\thetable\spx@preAthefigure -\let\theliteralblock\spx@preAthefigure -\g@addto@macro\thefigure{\arabic{figure}}% -\g@addto@macro\thetable{\arabic{table}}% -\g@addto@macro\theliteralblock{\arabic{literalblock}}% - \ifspx@opt@mathnumfig - \let\theequation\spx@preAthefigure - \g@addto@macro\theequation{\arabic{equation}}% - \fi -\fi - - -%% LITERAL BLOCKS -% -% Based on use of "fancyvrb.sty"'s Verbatim. -% - with framing allowing page breaks ("framed.sty") -% - with breaking of long lines (exploits Pygments mark-up), -% - with possibly of a top caption, non-separable by pagebreak. -% - and usable inside tables or footnotes ("footnotehyper-sphinx"). - -% For extensions which use \OriginalVerbatim and compatibility with Sphinx < -% 1.5, we define and use these when (unmodified) Verbatim will be needed. But -% Sphinx >= 1.5 does not modify the \Verbatim macro anymore. -\let\OriginalVerbatim \Verbatim -\let\endOriginalVerbatim\endVerbatim - -% for captions of literal blocks -% at start of caption title -\newcommand*{\fnum@literalblock}{\literalblockname\nobreakspace\theliteralblock} -% this will be overwritten in document preamble by Babel translation -\newcommand*{\literalblockname}{Listing } -% file extension needed for \caption's good functioning, the file is created -% only if a \listof{literalblock}{foo} command is encountered, which is -% analogous to \listoffigures, but for the code listings (foo = chosen title.) -\newcommand*{\ext@literalblock}{lol} - -\newif\ifspx@inframed % flag set if we are already in a framed environment -% if forced use of minipage encapsulation is needed (e.g. table cells) -\newif\ifsphinxverbatimwithminipage \sphinxverbatimwithminipagefalse - -% Framing macro for use with framed.sty's \FrameCommand -% - it obeys current indentation, -% - frame is \fboxsep separated from the contents, -% - the contents use the full available text width, -% - #1 = color of frame, #2 = color of background, -% - #3 = above frame, #4 = below frame, #5 = within frame, -% - #3 and #4 must be already typeset boxes; they must issue \normalcolor -% or similar, else, they are under scope of color #1 -\long\def\spx@fcolorbox #1#2#3#4#5{% - \hskip\@totalleftmargin - \hskip-\fboxsep\hskip-\fboxrule - % use of \color@b@x here is compatible with both xcolor.sty and color.sty - \color@b@x {\color{#1}\spx@CustomFBox{#3}{#4}}{\color{#2}}{#5}% - \hskip-\fboxsep\hskip-\fboxrule - \hskip-\linewidth \hskip-\@totalleftmargin \hskip\columnwidth -}% -% #1 = for material above frame, such as a caption or a "continued" hint -% #2 = for material below frame, such as a caption or "continues on next page" -% #3 = actual contents, which will be typeset with a background color -\long\def\spx@CustomFBox#1#2#3{% - \begingroup - \setbox\@tempboxa\hbox{{#3}}% inner braces to avoid color leaks - \vbox{#1% above frame - % draw frame border _latest_ to avoid pdf viewer issue - \kern\fboxrule - \hbox{\kern\fboxrule - \copy\@tempboxa - \kern-\wd\@tempboxa\kern-\fboxrule - \vrule\@width\fboxrule - \kern\wd\@tempboxa - \vrule\@width\fboxrule}% - \kern-\dimexpr\ht\@tempboxa+\dp\@tempboxa+\fboxrule\relax - \hrule\@height\fboxrule - \kern\dimexpr\ht\@tempboxa+\dp\@tempboxa\relax - \hrule\@height\fboxrule - #2% below frame - }% - \endgroup -}% -\def\spx@fcolorbox@put@c#1{% hide width from framed.sty measuring - \moveright\dimexpr\fboxrule+.5\wd\@tempboxa\hb@xt@\z@{\hss#1\hss}% -}% -\def\spx@fcolorbox@put@r#1{% right align with contents, width hidden - \moveright\dimexpr\fboxrule+\wd\@tempboxa-\fboxsep\hb@xt@\z@{\hss#1}% -}% -\def\spx@fcolorbox@put@l#1{% left align with contents, width hidden - \moveright\dimexpr\fboxrule+\fboxsep\hb@xt@\z@{#1\hss}% -}% -% -\def\sphinxVerbatim@Continued - {\csname spx@fcolorbox@put@\spx@opt@verbatimcontinuedalign\endcsname - {\normalcolor\sphinxstylecodecontinued\literalblockcontinuedname}}% -\def\sphinxVerbatim@Continues - {\csname spx@fcolorbox@put@\spx@opt@verbatimcontinuesalign\endcsname - {\normalcolor\sphinxstylecodecontinues\literalblockcontinuesname}}% -\def\sphinxVerbatim@Title - {\spx@fcolorbox@put@c{\unhcopy\sphinxVerbatim@TitleBox}}% -\let\sphinxVerbatim@Before\@empty -\let\sphinxVerbatim@After\@empty -% Defaults are redefined in document preamble according to language -\newcommand*\literalblockcontinuedname{continued from previous page}% -\newcommand*\literalblockcontinuesname{continues on next page}% -% -\def\spx@verbatimfcolorbox{\spx@fcolorbox{VerbatimBorderColor}{VerbatimColor}}% -\def\sphinxVerbatim@FrameCommand - {\spx@verbatimfcolorbox\sphinxVerbatim@Before\sphinxVerbatim@After}% -\def\sphinxVerbatim@FirstFrameCommand - {\spx@verbatimfcolorbox\sphinxVerbatim@Before\sphinxVerbatim@Continues}% -\def\sphinxVerbatim@MidFrameCommand - {\spx@verbatimfcolorbox\sphinxVerbatim@Continued\sphinxVerbatim@Continues}% -\def\sphinxVerbatim@LastFrameCommand - {\spx@verbatimfcolorbox\sphinxVerbatim@Continued\sphinxVerbatim@After}% - -% For linebreaks inside Verbatim environment from package fancyvrb. -\newbox\sphinxcontinuationbox -\newbox\sphinxvisiblespacebox -\newcommand*\sphinxafterbreak {\copy\sphinxcontinuationbox} - -% Take advantage of the already applied Pygments mark-up to insert -% potential linebreaks for TeX processing. -% {, <, #, %, $, ' and ": go to next line. -% _, }, ^, &, >, - and ~: stay at end of broken line. -% Use of \textquotesingle for straight quote. -% FIXME: convert this to package options ? -\newcommand*\sphinxbreaksbeforelist {% - \do\PYGZob\{\do\PYGZlt\<\do\PYGZsh\#\do\PYGZpc\%% {, <, #, %, - \do\PYGZdl\$\do\PYGZdq\"% $, " - \def\PYGZsq - {\discretionary{}{\sphinxafterbreak\textquotesingle}{\textquotesingle}}% ' -} -\newcommand*\sphinxbreaksafterlist {% - \do\PYGZus\_\do\PYGZcb\}\do\PYGZca\^\do\PYGZam\&% _, }, ^, &, - \do\PYGZgt\>\do\PYGZhy\-\do\PYGZti\~% >, -, ~ -} -\newcommand*\sphinxbreaksatspecials {% - \def\do##1##2% - {\def##1{\discretionary{}{\sphinxafterbreak\char`##2}{\char`##2}}}% - \sphinxbreaksbeforelist - \def\do##1##2% - {\def##1{\discretionary{\char`##2}{\sphinxafterbreak}{\char`##2}}}% - \sphinxbreaksafterlist -} - -\def\sphinx@verbatim@nolig@list {\do \`}% -% Some characters . , ; ? ! / are not pygmentized. -% This macro makes them "active" and they will insert potential linebreaks. -% Not compatible with math mode (cf \sphinxunactivateextras). -\newcommand*\sphinxbreaksbeforeactivelist {}% none -\newcommand*\sphinxbreaksafteractivelist {\do\.\do\,\do\;\do\?\do\!\do\/} -\newcommand*\sphinxbreaksviaactive {% - \def\do##1{\lccode`\~`##1% - \lowercase{\def~}{\discretionary{}{\sphinxafterbreak\char`##1}{\char`##1}}% - \catcode`##1\active}% - \sphinxbreaksbeforeactivelist - \def\do##1{\lccode`\~`##1% - \lowercase{\def~}{\discretionary{\char`##1}{\sphinxafterbreak}{\char`##1}}% - \catcode`##1\active}% - \sphinxbreaksafteractivelist - \lccode`\~`\~ -} - -% If the linebreak is at a space, the latter will be displayed as visible -% space at end of first line, and a continuation symbol starts next line. -\def\spx@verbatim@space {% - \nobreak\hskip\z@skip - \discretionary{\copy\sphinxvisiblespacebox}{\sphinxafterbreak} - {\kern\fontdimen2\font}% -}% - -% if the available space on page is less than \literalblockneedspace, insert pagebreak -\newcommand{\sphinxliteralblockneedspace}{5\baselineskip} -\newcommand{\sphinxliteralblockwithoutcaptionneedspace}{1.5\baselineskip} -% The title (caption) is specified from outside as macro \sphinxVerbatimTitle. -% \sphinxVerbatimTitle is reset to empty after each use of Verbatim. -\newcommand*\sphinxVerbatimTitle {} -% This box to typeset the caption before framed.sty multiple passes for framing. -\newbox\sphinxVerbatim@TitleBox -% This is a workaround to a "feature" of French lists, when literal block -% follows immediately; usable generally (does only \par then), a priori... -\newcommand*\sphinxvspacefixafterfrenchlists{% - \ifvmode\ifdim\lastskip<\z@ \vskip\parskip\fi\else\par\fi -} -% Holder macro for labels of literal blocks. Set-up by LaTeX writer. -\newcommand*\sphinxLiteralBlockLabel {} -\newcommand*\sphinxSetupCaptionForVerbatim [1] -{% - \sphinxvspacefixafterfrenchlists - \needspace{\sphinxliteralblockneedspace}% -% insert a \label via \sphinxLiteralBlockLabel -% reset to normal the color for the literal block caption - \def\sphinxVerbatimTitle - {\py@NormalColor\sphinxcaption{\sphinxLiteralBlockLabel #1}}% -} -\newcommand*\sphinxSetupCodeBlockInFootnote {% - \fvset{fontsize=\footnotesize}\let\caption\sphinxfigcaption - \sphinxverbatimwithminipagetrue % reduces vertical spaces - % we counteract (this is in a group) the \@normalsize from \caption - \let\normalsize\footnotesize\let\@parboxrestore\relax - \def\spx@abovecaptionskip{\sphinxverbatimsmallskipamount}% -} -\newcommand*{\sphinxverbatimsmallskipamount}{\smallskipamount} -% serves to implement line highlighting and line wrapping -\newcommand\sphinxFancyVerbFormatLine[1]{% - \expandafter\sphinx@verbatim@checkifhl\expandafter{\the\FV@CodeLineNo}% - \ifin@ - \sphinxVerbatimHighlightLine{#1}% - \else - \sphinxVerbatimFormatLine{#1}% - \fi -}% -\newcommand\sphinxVerbatimHighlightLine[1]{% - \edef\sphinxrestorefboxsep{\fboxsep\the\fboxsep\relax}% - \fboxsep0pt\relax % cf LaTeX bug graphics/4524 - \colorbox{sphinxVerbatimHighlightColor}% - {\sphinxrestorefboxsep\sphinxVerbatimFormatLine{#1}}% - % no need to restore \fboxsep here, as this ends up in a \hbox from fancyvrb -}% -% \sphinxVerbatimFormatLine will be set locally to one of those two: -\newcommand\sphinxVerbatimFormatLineWrap[1]{% - \hsize\linewidth - \vtop{\raggedright\hyphenpenalty\z@\exhyphenpenalty\z@ - \doublehyphendemerits\z@\finalhyphendemerits\z@ - \strut #1\strut}% -}% -\newcommand\sphinxVerbatimFormatLineNoWrap[1]{\hb@xt@\linewidth{\strut #1\hss}}% -\g@addto@macro\FV@SetupFont{% - \sbox\sphinxcontinuationbox {\spx@opt@verbatimcontinued}% - \sbox\sphinxvisiblespacebox {\spx@opt@verbatimvisiblespace}% -}% -\newenvironment{sphinxVerbatim}{% - % first, let's check if there is a caption - \ifx\sphinxVerbatimTitle\empty - \sphinxvspacefixafterfrenchlists - \parskip\z@skip - \vskip\sphinxverbatimsmallskipamount - % there was no caption. Check if nevertheless a label was set. - \ifx\sphinxLiteralBlockLabel\empty\else - % we require some space to be sure hyperlink target from \phantomsection - % will not be separated from upcoming verbatim by a page break - \needspace{\sphinxliteralblockwithoutcaptionneedspace}% - \phantomsection\sphinxLiteralBlockLabel - \fi - \else - \parskip\z@skip - \if t\spx@opt@literalblockcappos - \vskip\spx@abovecaptionskip - \def\sphinxVerbatim@Before - {\sphinxVerbatim@Title\nointerlineskip - \kern\dimexpr-\dp\strutbox+\sphinxbelowcaptionspace - % if no frame (code-blocks inside table cells), remove - % the "verbatimsep" whitespace from the top (better visually) - \ifspx@opt@verbatimwithframe\else-\sphinxverbatimsep\fi - % caption package adds \abovecaptionskip vspace, remove it - \spx@ifcaptionpackage{-\abovecaptionskip}{}\relax}% - \else - \vskip\sphinxverbatimsmallskipamount - \def\sphinxVerbatim@After - {\nointerlineskip\kern\dimexpr\dp\strutbox - \ifspx@opt@verbatimwithframe\else-\sphinxverbatimsep\fi - \spx@ifcaptionpackage{-\abovecaptionskip}{}\relax - \sphinxVerbatim@Title}% - \fi - \def\@captype{literalblock}% - \capstart - % \sphinxVerbatimTitle must reset color - \setbox\sphinxVerbatim@TitleBox - \hbox{\begin{minipage}{\linewidth}% - % caption package may detect wrongly if top or bottom, so we help it - \spx@ifcaptionpackage - {\caption@setposition{\spx@opt@literalblockcappos}}{}% - \sphinxVerbatimTitle - \end{minipage}}% - \fi - \global\let\sphinxLiteralBlockLabel\empty - \global\let\sphinxVerbatimTitle\empty - \fboxsep\sphinxverbatimsep \fboxrule\sphinxverbatimborder - \ifspx@opt@verbatimwithframe\else\fboxrule\z@\fi - \let\FrameCommand \sphinxVerbatim@FrameCommand - \let\FirstFrameCommand\sphinxVerbatim@FirstFrameCommand - \let\MidFrameCommand \sphinxVerbatim@MidFrameCommand - \let\LastFrameCommand \sphinxVerbatim@LastFrameCommand - \ifspx@opt@verbatimhintsturnover\else - \let\sphinxVerbatim@Continued\@empty - \let\sphinxVerbatim@Continues\@empty - \fi - \ifspx@opt@verbatimwrapslines - % fancyvrb's Verbatim puts each input line in (unbreakable) horizontal boxes. - % This customization wraps each line from the input in a \vtop, thus - % allowing it to wrap and display on two or more lines in the latex output. - % - The codeline counter will be increased only once. - % - The wrapped material will not break across pages, it is impossible - % to achieve this without extensive rewrite of fancyvrb. - % - The (not used in sphinx) obeytabs option to Verbatim is - % broken by this change (showtabs and tabspace work). - \let\sphinxVerbatimFormatLine\sphinxVerbatimFormatLineWrap - \let\FV@Space\spx@verbatim@space - % Allow breaks at special characters using \PYG... macros. - \sphinxbreaksatspecials - % Breaks at punctuation characters . , ; ? ! and / (needs catcode activation) - \fvset{codes*=\sphinxbreaksviaactive}% - \else % end of conditional code for wrapping long code lines - \let\sphinxVerbatimFormatLine\sphinxVerbatimFormatLineNoWrap - \fi - \let\FancyVerbFormatLine\sphinxFancyVerbFormatLine - \VerbatimEnvironment - % workaround to fancyvrb's check of current list depth - \def\@toodeep {\advance\@listdepth\@ne}% - % The list environment is needed to control perfectly the vertical space. - % Note: \OuterFrameSep used by framed.sty is later set to \topsep hence 0pt. - % - if caption: distance from last text baseline to caption baseline is - % A+(B-F)+\ht\strutbox, A = \abovecaptionskip (default 10pt), B = - % \baselineskip, F is the framed.sty \FrameHeightAdjust macro, default 6pt. - % Formula valid for F < 10pt. - % - distance of baseline of caption to top of frame is like for tables: - % \sphinxbelowcaptionspace (=0.5\baselineskip) - % - if no caption: distance of last text baseline to code frame is S+(B-F), - % with S = \sphinxverbatimtopskip (=\smallskip) - % - and distance from bottom of frame to next text baseline is - % \baselineskip+\parskip. - % The \trivlist is used to avoid possible "too deeply nested" error. - \itemsep \z@skip - \topsep \z@skip - \partopsep \z@skip - % trivlist will set \parsep to \parskip = zero - % \leftmargin will be set to zero by trivlist - \rightmargin\z@ - \parindent \z@% becomes \itemindent. Default zero, but perhaps overwritten. - \trivlist\item\relax - \ifsphinxverbatimwithminipage\spx@inframedtrue\fi - % use a minipage if we are already inside a framed environment - \ifspx@inframed\noindent\begin{minipage}{\linewidth}\fi - \MakeFramed {% adapted over from framed.sty's snugshade environment - \advance\hsize-\width\@totalleftmargin\z@\linewidth\hsize\@setminipage - }% - % For grid placement from \strut's in \FancyVerbFormatLine - \lineskip\z@skip - % active comma should not be overwritten by \@noligs - \ifspx@opt@verbatimwrapslines - \let\verbatim@nolig@list \sphinx@verbatim@nolig@list - \fi - % will fetch its optional arguments if any - \OriginalVerbatim -} -{% - \endOriginalVerbatim - \par\unskip\@minipagefalse\endMakeFramed % from framed.sty snugshade - \ifspx@inframed\end{minipage}\fi - \endtrivlist -} -\newenvironment {sphinxVerbatimNoFrame} - {\spx@opt@verbatimwithframefalse - \VerbatimEnvironment - \begin{sphinxVerbatim}} - {\end{sphinxVerbatim}} -\newenvironment {sphinxVerbatimintable} - {% don't use a frame if in a table cell - \spx@opt@verbatimwithframefalse - \sphinxverbatimwithminipagetrue - % the literal block caption uses \sphinxcaption which is wrapper of \caption, - % but \caption must be modified because longtable redefines it to work only - % for the own table caption, and tabulary has multiple passes - \let\caption\sphinxfigcaption - % reduce above caption skip - \def\spx@abovecaptionskip{\sphinxverbatimsmallskipamount}% - \VerbatimEnvironment - \begin{sphinxVerbatim}} - {\end{sphinxVerbatim}} - - -%% PARSED LITERALS -% allow long lines to wrap like they do in code-blocks - -% this should be kept in sync with definitions in sphinx.util.texescape -\newcommand*\sphinxbreaksattexescapedchars{% - \def\do##1##2% put potential break point before character - {\def##1{\discretionary{}{\sphinxafterbreak\char`##2}{\char`##2}}}% - \do\{\{\do\textless\<\do\#\#\do\%\%\do\$\$% {, <, #, %, $ - \def\do##1##2% put potential break point after character - {\def##1{\discretionary{\char`##2}{\sphinxafterbreak}{\char`##2}}}% - \do\_\_\do\}\}\do\textasciicircum\^\do\&\&% _, }, ^, &, - \do\textgreater\>\do\textasciitilde\~% >, ~ -} -\newcommand*\sphinxbreaksviaactiveinparsedliteral{% - \sphinxbreaksviaactive % by default handles . , ; ? ! / - \do\-% we need also the hyphen character (ends up "as is" in parsed-literal) - \lccode`\~`\~ % - % update \dospecials as it is used by \url - % but deactivation will already have been done hence this is unneeded: - % \expandafter\def\expandafter\dospecials\expandafter{\dospecials - % \sphinxbreaksbeforeactivelist\sphinxbreaksafteractivelist\do\-}% -} -\newcommand*\sphinxbreaksatspaceinparsedliteral{% - \lccode`~32 \lowercase{\let~}\spx@verbatim@space\lccode`\~`\~ -} -\newcommand*{\sphinxunactivateextras}{\let\do\@makeother - \sphinxbreaksbeforeactivelist\sphinxbreaksafteractivelist\do\-}% -% the \catcode13=5\relax (deactivate end of input lines) is left to callers -\newcommand*{\sphinxunactivateextrasandspace}{\catcode32=10\relax - \sphinxunactivateextras}% -% now for the modified alltt environment -\newenvironment{sphinxalltt} -{% at start of next line to workaround Emacs/AUCTeX issue with this file -\begin{alltt}% - \ifspx@opt@parsedliteralwraps - \sbox\sphinxcontinuationbox {\spx@opt@verbatimcontinued}% - \sbox\sphinxvisiblespacebox {\spx@opt@verbatimvisiblespace}% - \sphinxbreaksattexescapedchars - \sphinxbreaksviaactiveinparsedliteral - \sphinxbreaksatspaceinparsedliteral -% alltt takes care of the ' as derivative ("prime") in math mode - \everymath\expandafter{\the\everymath\sphinxunactivateextrasandspace - \catcode`\<=12\catcode`\>=12\catcode`\^=7\catcode`\_=8 }% -% not sure if displayed math (align,...) can end up in parsed-literal, anyway - \everydisplay\expandafter{\the\everydisplay - \catcode13=5 \sphinxunactivateextrasandspace - \catcode`\<=12\catcode`\>=12\catcode`\^=7\catcode`\_=8 }% - \fi } -{\end{alltt}} - -% Protect \href's first argument in contexts such as sphinxalltt (or -% \sphinxcode). Sphinx uses \#, \%, \& ... always inside \sphinxhref. -\protected\def\sphinxhref#1#2{{% - \sphinxunactivateextrasandspace % never do \scantokens with active space! - \endlinechar\m@ne\everyeof{{#2}}% keep catcode regime for #2 - \scantokens{\href{#1}}% normalise it for #1 during \href expansion -}} -% Same for \url. And also \nolinkurl for coherence. -\protected\def\sphinxurl#1{{% - \sphinxunactivateextrasandspace\everyeof{}% (<- precaution for \scantokens) - \endlinechar\m@ne\scantokens{\url{#1}}% -}} -\protected\def\sphinxnolinkurl#1{{% - \sphinxunactivateextrasandspace\everyeof{}% - \endlinechar\m@ne\scantokens{\nolinkurl{#1}}% -}} - - -%% TOPIC AND CONTENTS BOXES -% -% Again based on use of "framed.sty", this allows breakable framed boxes. -\long\def\spx@ShadowFBox#1{% - \leavevmode\begingroup - % first we frame the box #1 - \setbox\@tempboxa - \hbox{\vrule\@width\sphinxshadowrule - \vbox{\hrule\@height\sphinxshadowrule - \kern\sphinxshadowsep - \hbox{\kern\sphinxshadowsep #1\kern\sphinxshadowsep}% - \kern\sphinxshadowsep - \hrule\@height\sphinxshadowrule}% - \vrule\@width\sphinxshadowrule}% - % Now we add the shadow, like \shadowbox from fancybox.sty would do - \dimen@\dimexpr.5\sphinxshadowrule+\sphinxshadowsize\relax - \hbox{\vbox{\offinterlineskip - \hbox{\copy\@tempboxa\kern-.5\sphinxshadowrule - % add shadow on right side - \lower\sphinxshadowsize - \hbox{\vrule\@height\ht\@tempboxa \@width\dimen@}% - }% - \kern-\dimen@ % shift back vertically to bottom of frame - % and add shadow at bottom - \moveright\sphinxshadowsize - \vbox{\hrule\@width\wd\@tempboxa \@height\dimen@}% - }% - % move left by the size of right shadow so shadow adds no width - \kern-\sphinxshadowsize - }% - \endgroup -} - -% use framed.sty to allow page breaks in frame+shadow -% works well inside Lists and Quote-like environments -% produced by ``topic'' directive (or local contents) -% could nest if LaTeX writer authorized it -\newenvironment{sphinxShadowBox} - {\def\FrameCommand {\spx@ShadowFBox }% - \advance\spx@image@maxheight - -\dimexpr2\sphinxshadowrule - +2\sphinxshadowsep - +\sphinxshadowsize - +\baselineskip\relax - % configure framed.sty not to add extra vertical spacing - \ltx@ifundefined{OuterFrameSep}{}{\OuterFrameSep\z@skip}% - % the \trivlist will add the vertical spacing on top and bottom which is - % typical of center environment as used in Sphinx <= 1.4.1 - % the \noindent has the effet of an extra blank line on top, to - % imitate closely the layout from Sphinx <= 1.4.1; the \FrameHeightAdjust - % will put top part of frame on this baseline. - \def\FrameHeightAdjust {\baselineskip}% - % use package footnote to handle footnotes - \savenotes - \trivlist\item\noindent - % use a minipage if we are already inside a framed environment - \ifspx@inframed\begin{minipage}{\linewidth}\fi - \MakeFramed {\spx@inframedtrue - % framed.sty puts into "\width" the added width (=2shadowsep+2shadowrule) - % adjust \hsize to what the contents must use - \advance\hsize-\width - % adjust LaTeX parameters to behave properly in indented/quoted contexts - \FrameRestore - % typeset the contents as in a minipage (Sphinx <= 1.4.1 used a minipage and - % itemize/enumerate are therein typeset more tightly, we want to keep - % that). We copy-paste from LaTeX source code but don't do a real minipage. - \@pboxswfalse - \let\@listdepth\@mplistdepth \@mplistdepth\z@ - \@minipagerestore - \@setminipage - }% - }% - {% insert the "endminipage" code - \par\unskip - \@minipagefalse - \endMakeFramed - \ifspx@inframed\end{minipage}\fi - \endtrivlist - % output the stored footnotes - \spewnotes - } - - -%% NOTICES AND ADMONITIONS -% -% Some are quite plain -% the spx@notice@bordercolor etc are set in the sphinxadmonition environment -\newenvironment{sphinxlightbox}{% - \par - \noindent{\color{spx@notice@bordercolor}% - \rule{\linewidth}{\spx@notice@border}}\par\nobreak - {\parskip\z@skip\noindent}% - } - {% - % counteract previous possible negative skip (French lists!): - % (we can't cancel that any earlier \vskip introduced a potential pagebreak) - \sphinxvspacefixafterfrenchlists - \nobreak\vbox{\noindent\kern\@totalleftmargin - {\color{spx@notice@bordercolor}% - \rule[\dimexpr.4\baselineskip-\spx@notice@border\relax] - {\linewidth}{\spx@notice@border}}\hss}\allowbreak - }% end of sphinxlightbox environment definition -% may be renewenvironment'd by user for complete customization -\newenvironment{sphinxnote}[1] - {\begin{sphinxlightbox}\sphinxstrong{#1} }{\end{sphinxlightbox}} -\newenvironment{sphinxhint}[1] - {\begin{sphinxlightbox}\sphinxstrong{#1} }{\end{sphinxlightbox}} -\newenvironment{sphinximportant}[1] - {\begin{sphinxlightbox}\sphinxstrong{#1} }{\end{sphinxlightbox}} -\newenvironment{sphinxtip}[1] - {\begin{sphinxlightbox}\sphinxstrong{#1} }{\end{sphinxlightbox}} -% or just use the package options -% these are needed for common handling by notice environment of lightbox -% and heavybox but they are currently not used by lightbox environment -% and there is consequently no corresponding package option -\definecolor{sphinxnoteBgColor}{rgb}{1,1,1} -\definecolor{sphinxhintBgColor}{rgb}{1,1,1} -\definecolor{sphinximportantBgColor}{rgb}{1,1,1} -\definecolor{sphinxtipBgColor}{rgb}{1,1,1} - -% Others get more distinction -% Code adapted from framed.sty's "snugshade" environment. -% Nesting works (inner frames do not allow page breaks). -\newenvironment{sphinxheavybox}{\par - \setlength{\FrameRule}{\spx@notice@border}% - \setlength{\FrameSep}{\dimexpr.6\baselineskip-\FrameRule\relax} - \advance\spx@image@maxheight - -\dimexpr2\FrameRule - +2\FrameSep - +\baselineskip\relax % will happen again if nested, needed indeed! - % configure framed.sty's parameters to obtain same vertical spacing - % as for "light" boxes. We need for this to manually insert parskip glue and - % revert a skip done by framed before the frame. - \ltx@ifundefined{OuterFrameSep}{}{\OuterFrameSep\z@skip}% - \vspace{\FrameHeightAdjust} - % copied/adapted from framed.sty's snugshade - \def\FrameCommand##1{\hskip\@totalleftmargin - \fboxsep\FrameSep \fboxrule\FrameRule - \fcolorbox{spx@notice@bordercolor}{spx@notice@bgcolor}{##1}% - \hskip-\linewidth \hskip-\@totalleftmargin \hskip\columnwidth}% - \savenotes - % use a minipage if we are already inside a framed environment - \ifspx@inframed - \noindent\begin{minipage}{\linewidth} - \else - % handle case where notice is first thing in a list item (or is quoted) - \if@inlabel - \noindent\par\vspace{-\baselineskip} - \else - \vspace{\parskip} - \fi - \fi - \MakeFramed {\spx@inframedtrue - \advance\hsize-\width \@totalleftmargin\z@ \linewidth\hsize - % minipage initialization copied from LaTeX source code. - \@pboxswfalse - \let\@listdepth\@mplistdepth \@mplistdepth\z@ - \@minipagerestore - \@setminipage }% - } - {% - \par\unskip - \@minipagefalse - \endMakeFramed - \ifspx@inframed\end{minipage}\fi - % set footnotes at bottom of page - \spewnotes - % arrange for similar spacing below frame as for "light" boxes. - \vskip .4\baselineskip - }% end of sphinxheavybox environment definition -% may be renewenvironment'd by user for complete customization -\newenvironment{sphinxwarning}[1] - {\begin{sphinxheavybox}\sphinxstrong{#1} }{\end{sphinxheavybox}} -\newenvironment{sphinxcaution}[1] - {\begin{sphinxheavybox}\sphinxstrong{#1} }{\end{sphinxheavybox}} -\newenvironment{sphinxattention}[1] - {\begin{sphinxheavybox}\sphinxstrong{#1} }{\end{sphinxheavybox}} -\newenvironment{sphinxdanger}[1] - {\begin{sphinxheavybox}\sphinxstrong{#1} }{\end{sphinxheavybox}} -\newenvironment{sphinxerror}[1] - {\begin{sphinxheavybox}\sphinxstrong{#1} }{\end{sphinxheavybox}} -% or just use package options - -% the \colorlet of xcolor (if at all loaded) is overkill for our use case -\newcommand{\sphinxcolorlet}[2] - {\expandafter\let\csname\@backslashchar color@#1\expandafter\endcsname - \csname\@backslashchar color@#2\endcsname } - -% the main dispatch for all types of notices -\newenvironment{sphinxadmonition}[2]{% #1=type, #2=heading - % can't use #1 directly in definition of end part - \def\spx@noticetype {#1}% - % set parameters of heavybox/lightbox - \sphinxcolorlet{spx@notice@bordercolor}{sphinx#1BorderColor}% - \sphinxcolorlet{spx@notice@bgcolor}{sphinx#1BgColor}% - \spx@notice@border \dimexpr\csname spx@opt@#1border\endcsname\relax - % start specific environment, passing the heading as argument - \begin{sphinx#1}{#2}} - % workaround some LaTeX "feature" of \end command - {\edef\spx@temp{\noexpand\end{sphinx\spx@noticetype}}\spx@temp} - - -%% PYTHON DOCS MACROS AND ENVIRONMENTS -% (some macros here used by \maketitle in sphinxmanual.cls and sphinxhowto.cls) - -% \moduleauthor{name}{email} -\newcommand{\moduleauthor}[2]{} - -% \sectionauthor{name}{email} -\newcommand{\sectionauthor}[2]{} - -% Allow the release number to be specified independently of the -% \date{}. This allows the date to reflect the document's date and -% release to specify the release that is documented. -% -\newcommand{\py@release}{\releasename\space\version} -\newcommand{\version}{}% part of \py@release, used by title page and headers -% \releaseinfo is used on titlepage (sphinxmanual.cls, sphinxhowto.cls) -\newcommand{\releaseinfo}{} -\newcommand{\setreleaseinfo}[1]{\renewcommand{\releaseinfo}{#1}} -% this is inserted via template and #1=release config variable -\newcommand{\release}[1]{\renewcommand{\version}{#1}} -% this is defined by template to 'releasename' latex_elements key -\newcommand{\releasename}{} -% Fix issue in case release and releasename deliberately left blank -\newcommand{\sphinxheadercomma}{, }% used in fancyhdr header definition -\newcommand{\sphinxifemptyorblank}[1]{% -% test after one expansion of macro #1 if contents is empty or spaces - \if&\expandafter\@firstofone\detokenize\expandafter{#1}&% - \expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi}% -\AtBeginDocument {% - \sphinxifemptyorblank{\releasename} - {\sphinxifemptyorblank{\version}{\let\sphinxheadercomma\empty}{}} - {}% -}% - -% Allow specification of the author's address separately from the -% author's name. This can be used to format them differently, which -% is a good thing. -% -\newcommand{\py@authoraddress}{} -\newcommand{\authoraddress}[1]{\renewcommand{\py@authoraddress}{#1}} - -% {fulllineitems} is the main environment for object descriptions. -% -\newcommand{\py@itemnewline}[1]{% - \kern\labelsep - \@tempdima\linewidth - \advance\@tempdima \labelwidth\makebox[\@tempdima][l]{#1}% - \kern-\labelsep -} - -\newenvironment{fulllineitems}{% - \begin{list}{}{\labelwidth \leftmargin - \rightmargin \z@ \topsep -\parskip \partopsep \parskip - \itemsep -\parsep - \let\makelabel=\py@itemnewline}% -}{\end{list}} - -% Signatures, possibly multi-line -% -\newlength{\py@argswidth} -\newcommand{\py@sigparams}[2]{% - \parbox[t]{\py@argswidth}{#1\sphinxcode{)}#2}} -\newcommand{\pysigline}[1]{\item[{#1}]} -\newcommand{\pysiglinewithargsret}[3]{% - \settowidth{\py@argswidth}{#1\sphinxcode{(}}% - \addtolength{\py@argswidth}{-2\py@argswidth}% - \addtolength{\py@argswidth}{\linewidth}% - \item[{#1\sphinxcode{(}\py@sigparams{#2}{#3}}]} -\newcommand{\pysigstartmultiline}{% - \def\pysigstartmultiline{\vskip\smallskipamount\parskip\z@skip\itemsep\z@skip}% - \edef\pysigstopmultiline - {\noexpand\leavevmode\parskip\the\parskip\relax\itemsep\the\itemsep\relax}% - \parskip\z@skip\itemsep\z@skip -} - -% Production lists -% -\newenvironment{productionlist}{% -% \def\sphinxoptional##1{{\Large[}##1{\Large]}} - \def\production##1##2{\\\sphinxcode{\sphinxupquote{##1}}&::=&\sphinxcode{\sphinxupquote{##2}}}% - \def\productioncont##1{\\& &\sphinxcode{\sphinxupquote{##1}}}% - \parindent=2em - \indent - \setlength{\LTpre}{0pt}% - \setlength{\LTpost}{0pt}% - \begin{longtable}[l]{lcl} -}{% - \end{longtable} -} - -% Definition lists; requested by AMK for HOWTO documents. Probably useful -% elsewhere as well, so keep in in the general style support. -% -\newenvironment{definitions}{% - \begin{description}% - \def\term##1{\item[{##1}]\mbox{}\\*[0mm]}% -}{% - \end{description}% -} - -%% FROM DOCTUTILS LATEX WRITER -% -% The following is stuff copied from docutils' latex writer. -% -\newcommand{\optionlistlabel}[1]{\normalfont\bfseries #1 \hfill}% \bf deprecated -\newenvironment{optionlist}[1] -{\begin{list}{} - {\setlength{\labelwidth}{#1} - \setlength{\rightmargin}{1cm} - \setlength{\leftmargin}{\rightmargin} - \addtolength{\leftmargin}{\labelwidth} - \addtolength{\leftmargin}{\labelsep} - \renewcommand{\makelabel}{\optionlistlabel}} -}{\end{list}} - -\newlength{\lineblockindentation} -\setlength{\lineblockindentation}{2.5em} -\newenvironment{lineblock}[1] -{\begin{list}{} - {\setlength{\partopsep}{\parskip} - \addtolength{\partopsep}{\baselineskip} - \topsep0pt\itemsep0.15\baselineskip\parsep0pt - \leftmargin#1\relax} - \raggedright} -{\end{list}} - -% From docutils.writers.latex2e -% inline markup (custom roles) -% \DUrole{#1}{#2} tries \DUrole#1{#2} -\providecommand*{\DUrole}[2]{% - \ifcsname DUrole\detokenize{#1}\endcsname - \csname DUrole\detokenize{#1}\endcsname{#2}% - \else% backwards compatibility: try \docutilsrole#1{#2} - \ifcsname docutilsrole\detokenize{#1}\endcsname - \csname docutilsrole\detokenize{#1}\endcsname{#2}% - \else - #2% - \fi - \fi -} - -\providecommand*{\DUprovidelength}[2]{% - \ifdefined#1\else\newlength{#1}\setlength{#1}{#2}\fi -} - -\DUprovidelength{\DUlineblockindent}{2.5em} -\ifdefined\DUlineblock\else - \newenvironment{DUlineblock}[1]{% - \list{}{\setlength{\partopsep}{\parskip} - \addtolength{\partopsep}{\baselineskip} - \setlength{\topsep}{0pt} - \setlength{\itemsep}{0.15\baselineskip} - \setlength{\parsep}{0pt} - \setlength{\leftmargin}{#1}} - \raggedright - } - {\endlist} -\fi - -%% TEXT STYLING -% -% to obtain straight quotes we execute \@noligs as patched by upquote, and -% \scantokens is needed in cases where it would be too late for the macro to -% first set catcodes and then fetch its argument. We also make the contents -% breakable at non-escaped . , ; ? ! / using \sphinxbreaksviaactive. -% the macro must be protected if it ends up used in moving arguments, -% in 'alltt' \@noligs is done already, and the \scantokens must be avoided. -\protected\def\sphinxupquote#1{{\def\@tempa{alltt}% - \ifx\@tempa\@currenvir\else - \ifspx@opt@inlineliteralwraps - \sphinxbreaksviaactive\let\sphinxafterbreak\empty - % do not overwrite the comma set-up - \let\verbatim@nolig@list\sphinx@literal@nolig@list - \fi - % fix a space-gobbling issue due to LaTeX's original \do@noligs - \let\do@noligs\sphinx@do@noligs - \@noligs\endlinechar\m@ne\everyeof{}% (<- in case inside \sphinxhref) - \expandafter\scantokens - \fi {{#1}}}}% extra brace pair to fix end-space gobbling issue... -\def\sphinx@do@noligs #1{\catcode`#1\active\begingroup\lccode`\~`#1\relax - \lowercase{\endgroup\def~{\leavevmode\kern\z@\char`#1 }}} -\def\sphinx@literal@nolig@list {\do\`\do\<\do\>\do\'\do\-}% - -% Some custom font markup commands. -\protected\def\sphinxstrong#1{\textbf{#1}} -\protected\def\sphinxcode#1{\texttt{#1}} -\protected\def\sphinxbfcode#1{\textbf{\sphinxcode{#1}}} -\protected\def\sphinxemail#1{\textsf{#1}} -\protected\def\sphinxtablecontinued#1{\textsf{#1}} -\protected\def\sphinxtitleref#1{\emph{#1}} -\protected\def\sphinxmenuselection#1{\emph{#1}} -\protected\def\sphinxguilabel#1{\emph{#1}} -\protected\def\sphinxaccelerator#1{\underline{#1}} -\protected\def\sphinxcrossref#1{\emph{#1}} -\protected\def\sphinxtermref#1{\emph{#1}} -% \optional is used for ``[, arg]``, i.e. desc_optional nodes. -\long\protected\def\sphinxoptional#1{% - {\textnormal{\Large[}}{#1}\hspace{0.5mm}{\textnormal{\Large]}}} - -% additional customizable styling -\def\sphinxstyleindexentry #1{\texttt{#1}} -\def\sphinxstyleindexextra #1{ (\emph{#1})} -\def\sphinxstyleindexpageref #1{, \pageref{#1}} -\def\sphinxstyleindexpagemain#1{\textbf{#1}} -\protected\def\spxentry#1{#1}% will get \let to \sphinxstyleindexentry in index -\protected\def\spxextra#1{#1}% will get \let to \sphinxstyleindexextra in index -\def\sphinxstyleindexlettergroup #1% - {{\Large\sffamily#1}\nopagebreak\vspace{1mm}} -\def\sphinxstyleindexlettergroupDefault #1% - {{\Large\sffamily\sphinxnonalphabeticalgroupname}\nopagebreak\vspace{1mm}} -\protected\def\sphinxstyletopictitle #1{\textbf{#1}\par\medskip} -\let\sphinxstylesidebartitle\sphinxstyletopictitle -\protected\def\sphinxstyleothertitle #1{\textbf{#1}} -\protected\def\sphinxstylesidebarsubtitle #1{~\\\textbf{#1} \smallskip} -% \text.. commands do not allow multiple paragraphs -\protected\def\sphinxstyletheadfamily {\sffamily} -\protected\def\sphinxstyleemphasis #1{\emph{#1}} -\protected\def\sphinxstyleliteralemphasis#1{\emph{\sphinxcode{#1}}} -\protected\def\sphinxstylestrong #1{\textbf{#1}} -\protected\def\sphinxstyleliteralstrong#1{\sphinxbfcode{#1}} -\protected\def\sphinxstyleabbreviation #1{\textsc{#1}} -\protected\def\sphinxstyleliteralintitle#1{\sphinxcode{#1}} -\newcommand*\sphinxstylecodecontinued[1]{\footnotesize(#1)}% -\newcommand*\sphinxstylecodecontinues[1]{\footnotesize(#1)}% -% figure legend comes after caption and may contain arbitrary body elements -\newenvironment{sphinxlegend}{\par\small}{\par} -% reduce hyperref "Token not allowed in a PDF string" warnings on PDF builds -\AtBeginDocument{\pdfstringdefDisableCommands{% -% all "protected" macros possibly ending up in section titles should be here - \let\sphinxstyleemphasis \@firstofone - \let\sphinxstyleliteralemphasis \@firstofone - \let\sphinxstylestrong \@firstofone - \let\sphinxstyleliteralstrong \@firstofone - \let\sphinxstyleabbreviation \@firstofone - \let\sphinxstyleliteralintitle \@firstofone - \let\sphinxupquote \@firstofone - \let\sphinxstrong \@firstofone - \let\sphinxcode \@firstofone - \let\sphinxbfcode \@firstofone - \let\sphinxemail \@firstofone - \let\sphinxcrossref \@firstofone - \let\sphinxtermref \@firstofone -}} - -% For curly braces inside \index macro -\def\sphinxleftcurlybrace{\{} -\def\sphinxrightcurlybrace{\}} - -% Declare Unicode characters used by linux tree command to pdflatex utf8/utf8x -\def\spx@bd#1#2{% - \leavevmode - \begingroup - \ifx\spx@bd@height \@undefined\def\spx@bd@height{\baselineskip}\fi - \ifx\spx@bd@width \@undefined\setbox0\hbox{0}\def\spx@bd@width{\wd0 }\fi - \ifx\spx@bd@thickness\@undefined\def\spx@bd@thickness{.6\p@}\fi - \ifx\spx@bd@lower \@undefined\def\spx@bd@lower{\dp\strutbox}\fi - \lower\spx@bd@lower#1{#2}% - \endgroup -}% -\@namedef{sphinx@u2500}% BOX DRAWINGS LIGHT HORIZONTAL - {\spx@bd{\vbox to\spx@bd@height} - {\vss\hrule\@height\spx@bd@thickness - \@width\spx@bd@width\vss}}% -\@namedef{sphinx@u2502}% BOX DRAWINGS LIGHT VERTICAL - {\spx@bd{\hb@xt@\spx@bd@width} - {\hss\vrule\@height\spx@bd@height - \@width \spx@bd@thickness\hss}}% -\@namedef{sphinx@u2514}% BOX DRAWINGS LIGHT UP AND RIGHT - {\spx@bd{\hb@xt@\spx@bd@width} - {\hss\raise.5\spx@bd@height - \hb@xt@\z@{\hss\vrule\@height.5\spx@bd@height - \@width \spx@bd@thickness\hss}% - \vbox to\spx@bd@height{\vss\hrule\@height\spx@bd@thickness - \@width.5\spx@bd@width\vss}}}% -\@namedef{sphinx@u251C}% BOX DRAWINGS LIGHT VERTICAL AND RIGHT - {\spx@bd{\hb@xt@\spx@bd@width} - {\hss - \hb@xt@\z@{\hss\vrule\@height\spx@bd@height - \@width \spx@bd@thickness\hss}% - \vbox to\spx@bd@height{\vss\hrule\@height\spx@bd@thickness - \@width.5\spx@bd@width\vss}}}% -\protected\def\sphinxunichar#1{\@nameuse{sphinx@u#1}}% - -% Tell TeX about pathological hyphenation cases: -\hyphenation{Base-HTTP-Re-quest-Hand-ler} -\endinput diff --git a/docs/build/latex/sphinx.xdy b/docs/build/latex/sphinx.xdy deleted file mode 100644 index 1c0794cd9..000000000 --- a/docs/build/latex/sphinx.xdy +++ /dev/null @@ -1,228 +0,0 @@ -;;; -*- mode: lisp; coding: utf-8; -*- - -;; Unfortunately xindy is out-of-the-box hyperref-incompatible. This -;; configuration is a workaround, which requires to pass option -;; hyperindex=false to hyperref. -;; textit and emph not currently used, spxpagem replaces former textbf -(define-attributes (("textbf" "textit" "emph" "spxpagem" "default"))) -(markup-locref :open "\textbf{\hyperpage{" :close "}}" :attr "textbf") -(markup-locref :open "\textit{\hyperpage{" :close "}}" :attr "textit") -(markup-locref :open "\emph{\hyperpage{" :close "}}" :attr "emph") -(markup-locref :open "\spxpagem{\hyperpage{" :close "}}" :attr "spxpagem") -(markup-locref :open "\hyperpage{" :close "}" :attr "default") - -(require "numeric-sort.xdy") - -;; xindy base module latex.xdy loads tex.xdy and the latter instructs -;; xindy to ignore **all** TeX macros in .idx entries, except those -;; explicitely described in merge rule. But when after applying all -;; merge rules an empty string results, xindy raises an error: - -;; ERROR: CHAR: index 0 should be less than the length of the string - -;; For example when using pdflatex with utf-8 characters the index -;; file will contain \IeC macros and they will get ignored except if -;; suitable merge rules are loaded early. The texindy script coming -;; with xindy provides this, but only for Latin scripts. The texindy -;; man page says to use rather xelatex or lualatex in case of Cyrillic -;; scripts. - -;; Sphinx contributes LICRcyr2utf8.xdy to provide support for Cyrillic -;; scripts for the pdflatex engine. - -;; Another issue caused by xindy ignoring all TeX macros except those -;; explicitely declared reveals itself when attempting to index ">>>", -;; as the ">" is converted to "\textgreater{}" by Sphinx's LaTeX -;; escaping. - -;; To fix this, Sphinx does **not** use texindy, and does not even -;; load the xindy latex.xdy base module. - -;(require "latex.xdy") - -;; Rather it incorporates some suitable extracts from latex.xdy and -;; tex.xdy with additional Sphinx contributed rules. - -;; But, this means for pdflatex and Latin scripts that the xindy file -;; tex/inputenc/uf8.xdy is not usable because it refers to the macro -;; \IeC only sporadically, and as tex.xdy is not loaded, a rule such as -;; (merge-rule "\'e" "é" :string) -;; does not work, it must be -;; (merge-rule "\IeC {\'e}" "é" :string) -;; So Sphinx contributes LICRlatin2utf8.xdy to mitigate that problem. - -;;;;;;;; extracts from tex.xdy (discarding most original comments): - -;;; -;;; TeX conventions -;;; - -;; Discard leading and trailing white space. Collapse multiple white -;; space characters to blank. - -(merge-rule "^ +" "" :eregexp) -(merge-rule " +$" "" :eregexp) -(merge-rule " +" " " :eregexp) - -;; Handle TeX markup - -(merge-rule "\\([{}$%&#])" "\1" :eregexp) - -;;;;;;;; end of extracts from xindy's tex.xdy - -;;;;;;;; extracts from latex.xdy: - -;; Standard location classes: arabic and roman numbers, and alphabets. - -(define-location-class "arabic-page-numbers" ("arabic-numbers")) -(define-location-class "roman-page-numbers" ("roman-numbers-lowercase")) -(define-location-class "Roman-page-numbers" ("roman-numbers-uppercase")) -(define-location-class "alpha-page-numbers" ("alpha")) -(define-location-class "Alpha-page-numbers" ("ALPHA")) - -;; Output Markup - -(markup-letter-group-list :sep "~n~n \indexspace~n") - -(markup-indexentry :open "~n \item " :depth 0) -(markup-indexentry :open "~n \subitem " :depth 1) -(markup-indexentry :open "~n \subsubitem " :depth 2) - -(markup-locclass-list :open ", " :sep ", ") -(markup-locref-list :sep ", ") - -;;;;;;;; end of extracts from latex.xdy - -;; The LaTeX \index command turns \ into normal character so the TeX macros -;; written to .idx files are not followed by a blank. This is different -;; from non-ascii letters which end up (with pdflatex) as \IeC macros in .idx -;; file, with a blank space after \IeC - -;; Details of the syntax are explained at -;; http://xindy.sourceforge.net/doc/manual-3.html -;; In absence of :string, "xindy uses an auto-detection mechanism to decide, -;; if the pattern is a regular expression or not". But it is not obvious to -;; guess, for example "\\_" is not detected as RE but "\\P\{\}" is, so for -;; being sure we apply the :string switch everywhere and do not use \\ etc... - -;; Go back from sphinx.util.texescape TeX macros to UTF-8 - -(merge-rule "\sphinxleftcurlybrace{}" "{" :string) -(merge-rule "\sphinxrightcurlybrace{}" "}" :string) -(merge-rule "\_" "_" :string) -(merge-rule "{[}" "[" :string) -(merge-rule "{]}" "]" :string) -(merge-rule "{}`" "`" :string) -(merge-rule "\textbackslash{}" "\" :string) ; " for Emacs syntax highlighting -(merge-rule "\textasciitilde{}" "~~" :string); the ~~ escape is needed here -(merge-rule "\textless{}" "<" :string) -(merge-rule "\textgreater{}" ">" :string) -(merge-rule "\textasciicircum{}" "^" :string) -(merge-rule "\P{}" "¶" :string) -(merge-rule "\S{}" "§" :string) -(merge-rule "\texteuro{}" "€" :string) -(merge-rule "\(\infty\)" "∞" :string) -(merge-rule "\(\pm\)" "±" :string) -(merge-rule "\(\rightarrow\)" "→" :string) -(merge-rule "\(\checkmark\)" "✓" :string) -(merge-rule "\textendash{}" "–" :string) -(merge-rule "\textbar{}" "|" :string) -(merge-rule "\(\sp{\text{0}}\)" "â°" :string) -(merge-rule "\(\sp{\text{1}}\)" "¹" :string) -(merge-rule "\(\sp{\text{2}}\)" "²" :string) -(merge-rule "\(\sp{\text{3}}\)" "³" :string) -(merge-rule "\(\sp{\text{4}}\)" "â´" :string) -(merge-rule "\(\sp{\text{5}}\)" "âµ" :string) -(merge-rule "\(\sp{\text{6}}\)" "â¶" :string) -(merge-rule "\(\sp{\text{7}}\)" "â·" :string) -(merge-rule "\(\sp{\text{8}}\)" "â¸" :string) -(merge-rule "\(\sp{\text{9}}\)" "â¹" :string) -(merge-rule "\(\sb{\text{0}}\)" "â‚€" :string) -(merge-rule "\(\sb{\text{1}}\)" "â‚" :string) -(merge-rule "\(\sb{\text{2}}\)" "â‚‚" :string) -(merge-rule "\(\sb{\text{3}}\)" "₃" :string) -(merge-rule "\(\sb{\text{4}}\)" "â‚„" :string) -(merge-rule "\(\sb{\text{5}}\)" "â‚…" :string) -(merge-rule "\(\sb{\text{6}}\)" "₆" :string) -(merge-rule "\(\sb{\text{7}}\)" "₇" :string) -(merge-rule "\(\sb{\text{8}}\)" "₈" :string) -(merge-rule "\(\sb{\text{9}}\)" "₉" :string) -(merge-rule "\IeC {\textalpha }" "α" :string) -(merge-rule "\IeC {\textbeta }" "β" :string) -(merge-rule "\IeC {\textgamma }" "γ" :string) -(merge-rule "\IeC {\textdelta }" "δ" :string) -(merge-rule "\IeC {\textepsilon }" "ε" :string) -(merge-rule "\IeC {\textzeta }" "ζ" :string) -(merge-rule "\IeC {\texteta }" "η" :string) -(merge-rule "\IeC {\texttheta }" "θ" :string) -(merge-rule "\IeC {\textiota }" "ι" :string) -(merge-rule "\IeC {\textkappa }" "κ" :string) -(merge-rule "\IeC {\textlambda }" "λ" :string) -(merge-rule "\IeC {\textmu }" "μ" :string) -(merge-rule "\IeC {\textnu }" "ν" :string) -(merge-rule "\IeC {\textxi }" "ξ" :string) -(merge-rule "\IeC {\textomicron }" "ο" :string) -(merge-rule "\IeC {\textpi }" "Ï€" :string) -(merge-rule "\IeC {\textrho }" "Ï" :string) -(merge-rule "\IeC {\textsigma }" "σ" :string) -(merge-rule "\IeC {\texttau }" "Ï„" :string) -(merge-rule "\IeC {\textupsilon }" "Ï…" :string) -(merge-rule "\IeC {\textphi }" "φ" :string) -(merge-rule "\IeC {\textchi }" "χ" :string) -(merge-rule "\IeC {\textpsi }" "ψ" :string) -(merge-rule "\IeC {\textomega }" "ω" :string) -(merge-rule "\IeC {\textAlpha }" "Α" :string) -(merge-rule "\IeC {\textBeta }" "Î’" :string) -(merge-rule "\IeC {\textGamma }" "Γ" :string) -(merge-rule "\IeC {\textDelta }" "Δ" :string) -(merge-rule "\IeC {\textEpsilon }" "Ε" :string) -(merge-rule "\IeC {\textZeta }" "Ζ" :string) -(merge-rule "\IeC {\textEta }" "Η" :string) -(merge-rule "\IeC {\textTheta }" "Θ" :string) -(merge-rule "\IeC {\textIota }" "Ι" :string) -(merge-rule "\IeC {\textKappa }" "Κ" :string) -(merge-rule "\IeC {\textLambda }" "Λ" :string) -(merge-rule "\IeC {\textMu }" "Îœ" :string) -(merge-rule "\IeC {\textNu }" "Î" :string) -(merge-rule "\IeC {\textTheta }" "Θ" :string) -(merge-rule "\IeC {\textIota }" "Ι" :string) -(merge-rule "\IeC {\textKappa }" "Κ" :string) -(merge-rule "\IeC {\textLambda }" "Λ" :string) -(merge-rule "\IeC {\textMu }" "Îœ" :string) -(merge-rule "\IeC {\textNu }" "Î" :string) -(merge-rule "\IeC {\textXi }" "Ξ" :string) -(merge-rule "\IeC {\textOmicron }" "Ο" :string) -(merge-rule "\IeC {\textPi }" "Î " :string) -(merge-rule "\IeC {\textRho }" "Ρ" :string) -(merge-rule "\IeC {\textSigma }" "Σ" :string) -(merge-rule "\IeC {\textTau }" "Τ" :string) -(merge-rule "\IeC {\textUpsilon }" "Î¥" :string) -(merge-rule "\IeC {\textPhi }" "Φ" :string) -(merge-rule "\IeC {\textChi }" "Χ" :string) -(merge-rule "\IeC {\textPsi }" "Ψ" :string) -(merge-rule "\IeC {\textOmega }" "Ω" :string) -(merge-rule "\IeC {\textohm }" "Ω" :string) - -;; This xindy module provides some basic support for "see" -(require "makeindex.xdy") - -;; This creates one-letter headings and works fine with utf-8 letters. -;; For Cyrillic with pdflatex works thanks to LICRcyr2utf8.xdy -(require "latin-lettergroups.xdy") - -;; currently we don't (know how to easily) separate "Numbers" from -;; "Symbols" with xindy as is the case with makeindex. -(markup-index :open "\begin{sphinxtheindex} -\let\lettergroup\sphinxstyleindexlettergroup -\let\lettergroupDefault\sphinxstyleindexlettergroupDefault -\let\spxpagem\sphinxstyleindexpagemain -\let\spxentry\sphinxstyleindexentry -\let\spxextra\sphinxstyleindexextra - -" - :close " - -\end{sphinxtheindex} -" - :tree) - diff --git a/docs/build/latex/sphinxcyrillic.sty b/docs/build/latex/sphinxcyrillic.sty deleted file mode 100644 index 1a14c7b24..000000000 --- a/docs/build/latex/sphinxcyrillic.sty +++ /dev/null @@ -1,53 +0,0 @@ -%% CYRILLIC IN NON-CYRILLIC DOCUMENTS (pdflatex only) -% -% refs: https://tex.stackexchange.com/q/460271/ -\ProvidesPackage{sphinxcyrillic}% - [2018/11/21 v2.0 support for Cyrillic in non-Cyrillic documents] -\RequirePackage{kvoptions} -\SetupKeyvalOptions{prefix=spx@cyropt@} % use \spx@cyropt@ prefix -\DeclareBoolOption[false]{Xtwo} -\DeclareBoolOption[false]{TtwoA} -\DeclareDefaultOption{\@unknownoptionerror} -\ProcessLocalKeyvalOptions* % ignore class options - -\ifspx@cyropt@Xtwo -% original code by tex.sx user egreg: -% https://tex.stackexchange.com/a/460325/ -% 159 Cyrillic glyphs as available in X2 TeX 8bit font encoding -% This assumes inputenc loaded with utf8 option, or LaTeX release -% as recent as 2018/04/01 which does it automatically. - \@tfor\next:=% - {Ð}{Ђ}{Є}{Ð…}{І}{Ј}{Љ}{Њ}{Ћ}{ÐŽ}{Ð}{Ð}{Б}{Ð’}{Г}{Д}{Е}{Ж}{З}{И}{Й}% - {К}{Л}{Ðœ}{Ð}{О}{П}{Ð }{С}{Т}{У}{Ф}{Ð¥}{Ц}{Ч}{Ш}{Щ}{Ъ}{Ы}{Ь}{Ð}{Ю}% - {Я}{а}{б}{в}{г}{д}{е}{ж}{з}{и}{й}{к}{л}{м}{н}{о}{п}{Ñ€}{Ñ}{Ñ‚}{у}% - {Ñ„}{Ñ…}{ц}{ч}{ш}{щ}{ÑŠ}{Ñ‹}{ÑŒ}{Ñ}{ÑŽ}{Ñ}{Ñ‘}{Ñ’}{Ñ”}{Ñ•}{Ñ–}{ј}{Ñ™}{Ñš}{Ñ›}% - {Ñž}{ÑŸ}{Ñ¢}{Ñ£}{Ѫ}{Ñ«}{Ñ´}{ѵ}{Ò}{Ò‘}{Ò’}{Ò“}{Ò”}{Ò•}{Ò–}{Ò—}{Ò˜}{Ò™}{Òš}{Ò›}{Òœ}{Ò}% - {Òž}{ÒŸ}{Ò }{Ò¡}{Ò¢}{Ò£}{Ò¤}{Ò¥}{Ò¦}{Ò§}{Ò¨}{Ò©}{Òª}{Ò«}{Ò¬}{Ò}{Ò®}{Ò¯}{Ò°}{Ò±}{Ò²}{Ò³}% - {Ò´}{Òµ}{Ò¶}{Ò·}{Ò¸}{Ò¹}{Òº}{Ò»}{Ò¼}{Ò½}{Ò¾}{Ò¿}{Ó€}{Óƒ}{Ó„}{Ó…}{Ó†}{Ó‡}{Óˆ}{Ó‹}{ÓŒ}% - {Ó}{ÓŽ}{Ó”}{Ó•}{Ó˜}{Ó™}{Ó }{Ó¡}{Ó¨}{Ó©}\do - {% - \begingroup\def\IeC{\protect\DeclareTextSymbolDefault}% - \protected@edef\@temp{\endgroup\next{X2}}\@temp - }% -\else -\ifspx@cyropt@TtwoA -% original code by tex.sx user jfbu: -% https://tex.stackexchange.com/a/460305/ -% 63*2+1=127 Cyrillic glyphs as found in T2A 8bit TeX font-encoding - \@tfor\@tempa:=% - {ae}{a}{b}{chrdsc}{chvcrs}{ch}{c}{dje}{dze}{dzhe}{d}{erev}{ery}{e}% - {f}{ghcrs}{gup}{g}{hdsc}{hrdsn}{h}{ie}{ii}{ishrt}{i}{je}% - {kbeak}{kdsc}{kvcrs}{k}{lje}{l}{m}{ndsc}{ng}{nje}{n}{otld}{o}{p}{r}% - {schwa}{sdsc}{sftsn}{shch}{shha}{sh}{s}{tshe}{t}{ushrt}{u}{v}% - {ya}{yhcrs}{yi}{yo}{yu}{y}{zdsc}{zhdsc}{zh}{z}\do - {% - \expandafter\DeclareTextSymbolDefault\expandafter - {\csname cyr\@tempa\endcsname}{T2A}% - \expandafter\uppercase\expandafter{\expandafter - \def\expandafter\@tempa\expandafter{\@tempa}}% - \expandafter\DeclareTextSymbolDefault\expandafter - {\csname CYR\@tempa\endcsname}{T2A}% - }% - \DeclareTextSymbolDefault{\CYRpalochka}{T2A}% -\fi\fi -\endinput diff --git a/docs/build/latex/sphinxhighlight.sty b/docs/build/latex/sphinxhighlight.sty deleted file mode 100644 index 1557ce6e3..000000000 --- a/docs/build/latex/sphinxhighlight.sty +++ /dev/null @@ -1,105 +0,0 @@ -\NeedsTeXFormat{LaTeX2e}[1995/12/01] -\ProvidesPackage{sphinxhighlight}[2016/05/29 stylesheet for highlighting with pygments] - - -\makeatletter -\def\PYG@reset{\let\PYG@it=\relax \let\PYG@bf=\relax% - \let\PYG@ul=\relax \let\PYG@tc=\relax% - \let\PYG@bc=\relax \let\PYG@ff=\relax} -\def\PYG@tok#1{\csname PYG@tok@#1\endcsname} -\def\PYG@toks#1+{\ifx\relax#1\empty\else% - \PYG@tok{#1}\expandafter\PYG@toks\fi} -\def\PYG@do#1{\PYG@bc{\PYG@tc{\PYG@ul{% - \PYG@it{\PYG@bf{\PYG@ff{#1}}}}}}} -\def\PYG#1#2{\PYG@reset\PYG@toks#1+\relax+\PYG@do{#2}} - -\expandafter\def\csname PYG@tok@w\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.73,0.73,0.73}{##1}}} -\expandafter\def\csname PYG@tok@c\endcsname{\let\PYG@it=\textit\def\PYG@tc##1{\textcolor[rgb]{0.25,0.50,0.56}{##1}}} -\expandafter\def\csname PYG@tok@cp\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}} -\expandafter\def\csname PYG@tok@cs\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.25,0.50,0.56}{##1}}\def\PYG@bc##1{\setlength{\fboxsep}{0pt}\colorbox[rgb]{1.00,0.94,0.94}{\strut ##1}}} -\expandafter\def\csname PYG@tok@k\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}} -\expandafter\def\csname PYG@tok@kp\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}} -\expandafter\def\csname PYG@tok@kt\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.56,0.13,0.00}{##1}}} -\expandafter\def\csname PYG@tok@o\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}} -\expandafter\def\csname PYG@tok@ow\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}} -\expandafter\def\csname PYG@tok@nb\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}} -\expandafter\def\csname PYG@tok@nf\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.02,0.16,0.49}{##1}}} -\expandafter\def\csname PYG@tok@nc\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.05,0.52,0.71}{##1}}} -\expandafter\def\csname PYG@tok@nn\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.05,0.52,0.71}{##1}}} -\expandafter\def\csname PYG@tok@ne\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}} -\expandafter\def\csname PYG@tok@nv\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.73,0.38,0.84}{##1}}} -\expandafter\def\csname PYG@tok@no\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.38,0.68,0.84}{##1}}} -\expandafter\def\csname PYG@tok@nl\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.13,0.44}{##1}}} -\expandafter\def\csname PYG@tok@ni\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.84,0.33,0.22}{##1}}} -\expandafter\def\csname PYG@tok@na\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.25,0.44,0.63}{##1}}} -\expandafter\def\csname PYG@tok@nt\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.02,0.16,0.45}{##1}}} -\expandafter\def\csname PYG@tok@nd\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.33,0.33,0.33}{##1}}} -\expandafter\def\csname PYG@tok@s\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.25,0.44,0.63}{##1}}} -\expandafter\def\csname PYG@tok@sd\endcsname{\let\PYG@it=\textit\def\PYG@tc##1{\textcolor[rgb]{0.25,0.44,0.63}{##1}}} -\expandafter\def\csname PYG@tok@si\endcsname{\let\PYG@it=\textit\def\PYG@tc##1{\textcolor[rgb]{0.44,0.63,0.82}{##1}}} -\expandafter\def\csname PYG@tok@se\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.25,0.44,0.63}{##1}}} -\expandafter\def\csname PYG@tok@sr\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.14,0.33,0.53}{##1}}} -\expandafter\def\csname PYG@tok@ss\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.32,0.47,0.09}{##1}}} -\expandafter\def\csname PYG@tok@sx\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.78,0.36,0.04}{##1}}} -\expandafter\def\csname PYG@tok@m\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.13,0.50,0.31}{##1}}} -\expandafter\def\csname PYG@tok@gh\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.00,0.50}{##1}}} -\expandafter\def\csname PYG@tok@gu\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.50,0.00,0.50}{##1}}} -\expandafter\def\csname PYG@tok@gd\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.63,0.00,0.00}{##1}}} -\expandafter\def\csname PYG@tok@gi\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.63,0.00}{##1}}} -\expandafter\def\csname PYG@tok@gr\endcsname{\def\PYG@tc##1{\textcolor[rgb]{1.00,0.00,0.00}{##1}}} -\expandafter\def\csname PYG@tok@ge\endcsname{\let\PYG@it=\textit} -\expandafter\def\csname PYG@tok@gs\endcsname{\let\PYG@bf=\textbf} -\expandafter\def\csname PYG@tok@gp\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.78,0.36,0.04}{##1}}} -\expandafter\def\csname PYG@tok@go\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.20,0.20,0.20}{##1}}} -\expandafter\def\csname PYG@tok@gt\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.27,0.87}{##1}}} -\expandafter\def\csname PYG@tok@err\endcsname{\def\PYG@bc##1{\setlength{\fboxsep}{0pt}\fcolorbox[rgb]{1.00,0.00,0.00}{1,1,1}{\strut ##1}}} -\expandafter\def\csname PYG@tok@kc\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}} -\expandafter\def\csname PYG@tok@kd\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}} -\expandafter\def\csname PYG@tok@kn\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}} -\expandafter\def\csname PYG@tok@kr\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}} -\expandafter\def\csname PYG@tok@bp\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}} -\expandafter\def\csname PYG@tok@fm\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.02,0.16,0.49}{##1}}} -\expandafter\def\csname PYG@tok@vc\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.73,0.38,0.84}{##1}}} -\expandafter\def\csname PYG@tok@vg\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.73,0.38,0.84}{##1}}} -\expandafter\def\csname PYG@tok@vi\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.73,0.38,0.84}{##1}}} -\expandafter\def\csname PYG@tok@vm\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.73,0.38,0.84}{##1}}} -\expandafter\def\csname PYG@tok@sa\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.25,0.44,0.63}{##1}}} -\expandafter\def\csname PYG@tok@sb\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.25,0.44,0.63}{##1}}} -\expandafter\def\csname PYG@tok@sc\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.25,0.44,0.63}{##1}}} -\expandafter\def\csname PYG@tok@dl\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.25,0.44,0.63}{##1}}} -\expandafter\def\csname PYG@tok@s2\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.25,0.44,0.63}{##1}}} -\expandafter\def\csname PYG@tok@sh\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.25,0.44,0.63}{##1}}} -\expandafter\def\csname PYG@tok@s1\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.25,0.44,0.63}{##1}}} -\expandafter\def\csname PYG@tok@mb\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.13,0.50,0.31}{##1}}} -\expandafter\def\csname PYG@tok@mf\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.13,0.50,0.31}{##1}}} -\expandafter\def\csname PYG@tok@mh\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.13,0.50,0.31}{##1}}} -\expandafter\def\csname PYG@tok@mi\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.13,0.50,0.31}{##1}}} -\expandafter\def\csname PYG@tok@il\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.13,0.50,0.31}{##1}}} -\expandafter\def\csname PYG@tok@mo\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.13,0.50,0.31}{##1}}} -\expandafter\def\csname PYG@tok@ch\endcsname{\let\PYG@it=\textit\def\PYG@tc##1{\textcolor[rgb]{0.25,0.50,0.56}{##1}}} -\expandafter\def\csname PYG@tok@cm\endcsname{\let\PYG@it=\textit\def\PYG@tc##1{\textcolor[rgb]{0.25,0.50,0.56}{##1}}} -\expandafter\def\csname PYG@tok@cpf\endcsname{\let\PYG@it=\textit\def\PYG@tc##1{\textcolor[rgb]{0.25,0.50,0.56}{##1}}} -\expandafter\def\csname PYG@tok@c1\endcsname{\let\PYG@it=\textit\def\PYG@tc##1{\textcolor[rgb]{0.25,0.50,0.56}{##1}}} - -\def\PYGZbs{\char`\\} -\def\PYGZus{\char`\_} -\def\PYGZob{\char`\{} -\def\PYGZcb{\char`\}} -\def\PYGZca{\char`\^} -\def\PYGZam{\char`\&} -\def\PYGZlt{\char`\<} -\def\PYGZgt{\char`\>} -\def\PYGZsh{\char`\#} -\def\PYGZpc{\char`\%} -\def\PYGZdl{\char`\$} -\def\PYGZhy{\char`\-} -\def\PYGZsq{\char`\'} -\def\PYGZdq{\char`\"} -\def\PYGZti{\char`\~} -% for compatibility with earlier versions -\def\PYGZat{@} -\def\PYGZlb{[} -\def\PYGZrb{]} -\makeatother - -\renewcommand\PYGZsq{\textquotesingle} diff --git a/docs/build/latex/sphinxhowto.cls b/docs/build/latex/sphinxhowto.cls deleted file mode 100644 index ba5e0031c..000000000 --- a/docs/build/latex/sphinxhowto.cls +++ /dev/null @@ -1,91 +0,0 @@ -% -% sphinxhowto.cls for Sphinx (http://sphinx-doc.org/) -% - -\NeedsTeXFormat{LaTeX2e}[1995/12/01] -\ProvidesClass{sphinxhowto}[2018/12/23 v2.0 Document class (Sphinx howto)] - -% 'oneside' option overriding the 'twoside' default -\newif\if@oneside -\DeclareOption{oneside}{\@onesidetrue} -% Pass remaining document options to the parent class. -\DeclareOption*{\PassOptionsToClass{\CurrentOption}{\sphinxdocclass}} -\ProcessOptions\relax - -% Default to two-side document -\if@oneside -% nothing to do (oneside is the default) -\else -\PassOptionsToClass{twoside}{\sphinxdocclass} -\fi - -\LoadClass{\sphinxdocclass} - -% Set some sane defaults for section numbering depth and TOC depth. You can -% reset these counters in your preamble. -% -\setcounter{secnumdepth}{2} -\setcounter{tocdepth}{2}% i.e. section and subsection - -% Change the title page to look a bit better, and fit in with the fncychap -% ``Bjarne'' style a bit better. -% -\newcommand{\sphinxmaketitle}{% - \noindent\rule{\textwidth}{1pt}\par - \begingroup % for PDF information dictionary - \def\endgraf{ }\def\and{\& }% - \pdfstringdefDisableCommands{\def\\{, }}% overwrite hyperref setup - \hypersetup{pdfauthor={\@author}, pdftitle={\@title}}% - \endgroup - \begin{flushright} - \sphinxlogo - \py@HeaderFamily - {\Huge \@title }\par - {\itshape\large \py@release \releaseinfo}\par - \vspace{25pt} - {\Large - \begin{tabular}[t]{c} - \@author - \end{tabular}\kern-\tabcolsep}\par - \vspace{25pt} - \@date \par - \py@authoraddress \par - \end{flushright} - \@thanks - \setcounter{footnote}{0} - \let\thanks\relax\let\maketitle\relax - %\gdef\@thanks{}\gdef\@author{}\gdef\@title{} -} - -\newcommand{\sphinxtableofcontents}{% - \begingroup - \parskip \z@skip - \sphinxtableofcontentshook - \tableofcontents - \endgroup - \noindent\rule{\textwidth}{1pt}\par - \vspace{12pt}% -} -\newcommand\sphinxtableofcontentshook{} -\pagenumbering{arabic} - -% Fix the bibliography environment to add an entry to the Table of -% Contents. -% For an article document class this environment is a section, -% so no page break before it. -% -\newenvironment{sphinxthebibliography}[1]{% - % \phantomsection % not needed here since TeXLive 2010's hyperref - \begin{thebibliography}{#1}% - \addcontentsline{toc}{section}{\ifdefined\refname\refname\else\ifdefined\bibname\bibname\fi\fi}}{\end{thebibliography}} - - -% Same for the indices. -% The memoir class already does this, so we don't duplicate it in that case. -% -\@ifclassloaded{memoir} - {\newenvironment{sphinxtheindex}{\begin{theindex}}{\end{theindex}}} - {\newenvironment{sphinxtheindex}{% - \phantomsection % needed because no chapter, section, ... is created by theindex - \begin{theindex}% - \addcontentsline{toc}{section}{\indexname}}{\end{theindex}}} diff --git a/docs/build/latex/sphinxmanual.cls b/docs/build/latex/sphinxmanual.cls deleted file mode 100644 index e7c8f41ef..000000000 --- a/docs/build/latex/sphinxmanual.cls +++ /dev/null @@ -1,117 +0,0 @@ -% -% sphinxmanual.cls for Sphinx (http://sphinx-doc.org/) -% - -\NeedsTeXFormat{LaTeX2e}[1995/12/01] -\ProvidesClass{sphinxmanual}[2018/12/23 v2.0 Document class (Sphinx manual)] - -% chapters starting at odd pages (overridden by 'openany' document option) -\PassOptionsToClass{openright}{\sphinxdocclass} - -% 'oneside' option overriding the 'twoside' default -\newif\if@oneside -\DeclareOption{oneside}{\@onesidetrue} -% Pass remaining document options to the parent class. -\DeclareOption*{\PassOptionsToClass{\CurrentOption}{\sphinxdocclass}} -\ProcessOptions\relax - -% Defaults two-side document -\if@oneside -% nothing to do (oneside is the default) -\else -\PassOptionsToClass{twoside}{\sphinxdocclass} -\fi - -\LoadClass{\sphinxdocclass} - -% Set some sane defaults for section numbering depth and TOC depth. You can -% reset these counters in your preamble. -% -\setcounter{secnumdepth}{2} -\setcounter{tocdepth}{1} - -% Change the title page to look a bit better, and fit in with the fncychap -% ``Bjarne'' style a bit better. -% -\newcommand{\sphinxmaketitle}{% - \let\sphinxrestorepageanchorsetting\relax - \ifHy@pageanchor\def\sphinxrestorepageanchorsetting{\Hy@pageanchortrue}\fi - \hypersetup{pageanchor=false}% avoid duplicate destination warnings - \begin{titlepage}% - \let\footnotesize\small - \let\footnoterule\relax - \noindent\rule{\textwidth}{1pt}\par - \begingroup % for PDF information dictionary - \def\endgraf{ }\def\and{\& }% - \pdfstringdefDisableCommands{\def\\{, }}% overwrite hyperref setup - \hypersetup{pdfauthor={\@author}, pdftitle={\@title}}% - \endgroup - \begin{flushright}% - \sphinxlogo - \py@HeaderFamily - {\Huge \@title \par} - {\itshape\LARGE \py@release\releaseinfo \par} - \vfill - {\LARGE - \begin{tabular}[t]{c} - \@author - \end{tabular}\kern-\tabcolsep - \par} - \vfill\vfill - {\large - \@date \par - \vfill - \py@authoraddress \par - }% - \end{flushright}%\par - \@thanks - \end{titlepage}% - \setcounter{footnote}{0}% - \let\thanks\relax\let\maketitle\relax - %\gdef\@thanks{}\gdef\@author{}\gdef\@title{} - \clearpage - \ifdefined\sphinxbackoftitlepage\sphinxbackoftitlepage\fi - \if@openright\cleardoublepage\else\clearpage\fi - \sphinxrestorepageanchorsetting -} - -\newcommand{\sphinxtableofcontents}{% - \pagenumbering{roman}% - \begingroup - \parskip \z@skip - \sphinxtableofcontentshook - \tableofcontents - \endgroup - % before resetting page counter, let's do the right thing. - \if@openright\cleardoublepage\else\clearpage\fi - \pagenumbering{arabic}% -} - -% This is needed to get the width of the section # area wide enough in the -% library reference. Doing it here keeps it the same for all the manuals. -% -\newcommand{\sphinxtableofcontentshook}{% - \renewcommand*\l@section{\@dottedtocline{1}{1.5em}{2.6em}}% - \renewcommand*\l@subsection{\@dottedtocline{2}{4.1em}{3.5em}}% -} - -% Fix the bibliography environment to add an entry to the Table of -% Contents. -% For a report document class this environment is a chapter. -% -\newenvironment{sphinxthebibliography}[1]{% - \if@openright\cleardoublepage\else\clearpage\fi - % \phantomsection % not needed here since TeXLive 2010's hyperref - \begin{thebibliography}{#1}% - \addcontentsline{toc}{chapter}{\bibname}}{\end{thebibliography}} - -% Same for the indices. -% The memoir class already does this, so we don't duplicate it in that case. -% -\@ifclassloaded{memoir} - {\newenvironment{sphinxtheindex}{\begin{theindex}}{\end{theindex}}} - {\newenvironment{sphinxtheindex}{% - \if@openright\cleardoublepage\else\clearpage\fi - \phantomsection % needed as no chapter, section, ... created - \begin{theindex}% - \addcontentsline{toc}{chapter}{\indexname}}{\end{theindex}}} diff --git a/docs/build/latex/sphinxmessages.sty b/docs/build/latex/sphinxmessages.sty deleted file mode 100644 index 121f0af0b..000000000 --- a/docs/build/latex/sphinxmessages.sty +++ /dev/null @@ -1,21 +0,0 @@ -% -% sphinxmessages.sty -% -% message resources for Sphinx -% -\ProvidesPackage{sphinxmessages}[2019/01/04 v2.0 Localized LaTeX macros (Sphinx team)] - -\renewcommand{\literalblockcontinuedname}{continued from previous page} -\renewcommand{\literalblockcontinuesname}{continues on next page} -\renewcommand{\sphinxnonalphabeticalgroupname}{Non-alphabetical} -\renewcommand{\sphinxsymbolsname}{Symbols} -\renewcommand{\sphinxnumbersname}{Numbers} -\def\pageautorefname{page} - -\addto\captionsenglish{\renewcommand{\figurename}{Fig.\@{} }} -\def\fnum@figure{\figurename\thefigure{}} - -\addto\captionsenglish{\renewcommand{\tablename}{Table }} -\def\fnum@table{\tablename\thetable{}} - -\addto\captionsenglish{\renewcommand{\literalblockname}{Listing}} \ No newline at end of file diff --git a/docs/build/latex/sphinxmulticell.sty b/docs/build/latex/sphinxmulticell.sty deleted file mode 100644 index f0d11b1f9..000000000 --- a/docs/build/latex/sphinxmulticell.sty +++ /dev/null @@ -1,317 +0,0 @@ -\NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{sphinxmulticell}% - [2017/02/23 v1.6 better span rows and columns of a table (Sphinx team)]% -\DeclareOption*{\PackageWarning{sphinxmulticell}{Option `\CurrentOption' is unknown}}% -\ProcessOptions\relax -% -% --- MULTICOLUMN --- -% standard LaTeX's \multicolumn -% 1. does not allow verbatim contents, -% 2. interacts very poorly with tabulary. -% -% It is needed to write own macros for Sphinx: to allow code-blocks in merged -% cells rendered by tabular/longtable, and to allow multi-column cells with -% paragraphs to be taken into account sanely by tabulary algorithm for column -% widths. -% -% This requires quite a bit of hacking. First, in Sphinx, the multi-column -% contents will *always* be wrapped in a varwidth environment. The issue -% becomes to pass it the correct target width. We must trick tabulary into -% believing the multicolumn is simply separate columns, else tabulary does not -% incorporate the contents in its algorithm. But then we must clear the -% vertical rules... -% -% configuration of tabulary -\setlength{\tymin}{3\fontcharwd\font`0 }% minimal width of "squeezed" columns -\setlength{\tymax}{10000pt}% allow enough room for paragraphs to "compete" -% we need access to tabulary's final computed width. \@tempdima is too volatile -% to hope it has kept tabulary's value when \sphinxcolwidth needs it. -\newdimen\sphinx@TY@tablewidth -\def\tabulary{% - \def\TY@final{\sphinx@TY@tablewidth\@tempdima\tabular}% - \let\endTY@final\endtabular - \TY@tabular}% -% next hack is needed only if user has set latex_use_latex_multicolumn to True: -% it fixes tabulary's bug with \multicolumn defined "short" in first pass. (if -% upstream tabulary adds a \long, our extra one causes no harm) -\def\sphinx@tempa #1\def\multicolumn#2#3#4#5#6#7#8#9\sphinx@tempa - {\def\TY@tab{#1\long\def\multicolumn####1####2####3{\multispan####1\relax}#9}}% -\expandafter\sphinx@tempa\TY@tab\sphinx@tempa -% -% TN. 1: as \omit is never executed, Sphinx multicolumn does not need to worry -% like standard multicolumn about |l| vs l|. On the other hand it assumes -% columns are separated by a | ... (if not it will add extraneous -% \arrayrulewidth space for each column separation in its estimate of available -% width). -% -% TN. 1b: as Sphinx multicolumn uses neither \omit nor \span, it can not -% (easily) get rid of extra macros from >{...} or <{...} between columns. At -% least, it has been made compatible with colortbl's \columncolor. -% -% TN. 2: tabulary's second pass is handled like tabular/longtable's single -% pass, with the difference that we hacked \TY@final to set in -% \sphinx@TY@tablewidth the final target width as computed by tabulary. This is -% needed only to handle columns with a "horizontal" specifier: "p" type columns -% (inclusive of tabulary's LJRC) holds the target column width in the -% \linewidth dimension. -% -% TN. 3: use of \begin{sphinxmulticolumn}...\end{sphinxmulticolumn} mark-up -% would need some hacking around the fact that groups can not span across table -% cells (the code does inserts & tokens, see TN1b). It was decided to keep it -% simple with \sphinxstartmulticolumn...\sphinxstopmulticolumn. -% -% MEMO about nesting: if sphinxmulticolumn is encountered in a nested tabular -% inside a tabulary it will think to be at top level in the tabulary. But -% Sphinx generates no nested tables, and if some LaTeX macro uses internally a -% tabular this will not have a \sphinxstartmulticolumn within it! -% -\def\sphinxstartmulticolumn{% - \ifx\equation$% $ tabulary's first pass - \expandafter\sphinx@TYI@start@multicolumn - \else % either not tabulary or tabulary's second pass - \expandafter\sphinx@start@multicolumn - \fi -}% -\def\sphinxstopmulticolumn{% - \ifx\equation$% $ tabulary's first pass - \expandafter\sphinx@TYI@stop@multicolumn - \else % either not tabulary or tabulary's second pass - \ignorespaces - \fi -}% -\def\sphinx@TYI@start@multicolumn#1{% - % use \gdef always to avoid stack space build up - \gdef\sphinx@tempa{#1}\begingroup\setbox\z@\hbox\bgroup -}% -\def\sphinx@TYI@stop@multicolumn{\egroup % varwidth was used with \tymax - \xdef\sphinx@tempb{\the\dimexpr\wd\z@/\sphinx@tempa}% per column width - \endgroup - \expandafter\sphinx@TYI@multispan\expandafter{\sphinx@tempa}% -}% -\def\sphinx@TYI@multispan #1{% - \kern\sphinx@tempb\ignorespaces % the per column occupied width - \ifnum#1>\@ne % repeat, taking into account subtleties of TeX's & ... - \expandafter\sphinx@TYI@multispan@next\expandafter{\the\numexpr#1-\@ne\expandafter}% - \fi -}% -\def\sphinx@TYI@multispan@next{&\relax\sphinx@TYI@multispan}% -% -% Now the branch handling either the second pass of tabulary or the single pass -% of tabular/longtable. This is the delicate part where we gather the -% dimensions from the p columns either set-up by tabulary or by user p column -% or Sphinx \X, \Y columns. The difficulty is that to get the said width, the -% template must be inserted (other hacks would be horribly complicated except -% if we rewrote crucial parts of LaTeX's \@array !) and we can not do -% \omit\span like standard \multicolumn's easy approach. Thus we must cancel -% the \vrule separators. Also, perhaps the column specifier is of the l, c, r -% type, then we attempt an ad hoc rescue to give varwidth a reasonable target -% width. -\def\sphinx@start@multicolumn#1{% - \gdef\sphinx@multiwidth{0pt}\gdef\sphinx@tempa{#1}\sphinx@multispan{#1}% -}% -\def\sphinx@multispan #1{% - \ifnum#1=\@ne\expandafter\sphinx@multispan@end - \else\expandafter\sphinx@multispan@next - \fi {#1}% -}% -\def\sphinx@multispan@next #1{% - % trick to recognize L, C, R, J or p, m, b type columns - \ifdim\baselineskip>\z@ - \gdef\sphinx@tempb{\linewidth}% - \else - % if in an l, r, c type column, try and hope for the best - \xdef\sphinx@tempb{\the\dimexpr(\ifx\TY@final\@undefined\linewidth\else - \sphinx@TY@tablewidth\fi-\arrayrulewidth)/\sphinx@tempa - -\tw@\tabcolsep-\arrayrulewidth\relax}% - \fi - \noindent\kern\sphinx@tempb\relax - \xdef\sphinx@multiwidth - {\the\dimexpr\sphinx@multiwidth+\sphinx@tempb+\tw@\tabcolsep+\arrayrulewidth}% - % hack the \vline and the colortbl macros - \sphinx@hack@vline\sphinx@hack@CT&\relax - % repeat - \expandafter\sphinx@multispan\expandafter{\the\numexpr#1-\@ne}% -}% -% packages like colortbl add group levels, we need to "climb back up" to be -% able to hack the \vline and also the colortbl inserted tokens. This creates -% empty space whether or not the columns were | separated: -\def\sphinx@hack@vline{\ifnum\currentgrouptype=6\relax - \kern\arrayrulewidth\arrayrulewidth\z@\else\aftergroup\sphinx@hack@vline\fi}% -\def\sphinx@hack@CT{\ifnum\currentgrouptype=6\relax - \let\CT@setup\sphinx@CT@setup\else\aftergroup\sphinx@hack@CT\fi}% -% It turns out \CT@row@color is not expanded contrarily to \CT@column@color -% during LaTeX+colortbl preamble preparation, hence it would be possible for -% \sphinx@CT@setup to discard only the column color and choose to obey or not -% row color and cell color. It would even be possible to propagate cell color -% to row color for the duration of the Sphinx multicolumn... the (provisional?) -% choice has been made to cancel the colortbl colours for the multicolumn -% duration. -\def\sphinx@CT@setup #1\endgroup{\endgroup}% hack to remove colour commands -\def\sphinx@multispan@end#1{% - % first, trace back our steps horizontally - \noindent\kern-\dimexpr\sphinx@multiwidth\relax - % and now we set the final computed width for the varwidth environment - \ifdim\baselineskip>\z@ - \xdef\sphinx@multiwidth{\the\dimexpr\sphinx@multiwidth+\linewidth}% - \else - \xdef\sphinx@multiwidth{\the\dimexpr\sphinx@multiwidth+ - (\ifx\TY@final\@undefined\linewidth\else - \sphinx@TY@tablewidth\fi-\arrayrulewidth)/\sphinx@tempa - -\tw@\tabcolsep-\arrayrulewidth\relax}% - \fi - % we need to remove colour set-up also for last cell of the multi-column - \aftergroup\sphinx@hack@CT -}% -\newcommand*\sphinxcolwidth[2]{% - % this dimension will always be used for varwidth, and serves as maximum - % width when cells are merged either via multirow or multicolumn or both, - % as always their contents is wrapped in varwidth environment. - \ifnum#1>\@ne % multi-column (and possibly also multi-row) - % we wrote our own multicolumn code especially to handle that (and allow - % verbatim contents) - \ifx\equation$%$ - \tymax % first pass of tabulary (cf MEMO above regarding nesting) - \else % the \@gobble thing is for compatibility with standard \multicolumn - \sphinx@multiwidth\@gobble{#1/#2}% - \fi - \else % single column multirow - \ifx\TY@final\@undefined % not a tabulary. - \ifdim\baselineskip>\z@ - % in a p{..} type column, \linewidth is the target box width - \linewidth - \else - % l, c, r columns. Do our best. - \dimexpr(\linewidth-\arrayrulewidth)/#2- - \tw@\tabcolsep-\arrayrulewidth\relax - \fi - \else % in tabulary - \ifx\equation$%$% first pass - \tymax % it is set to a big value so that paragraphs can express themselves - \else - % second pass. - \ifdim\baselineskip>\z@ - \linewidth % in a L, R, C, J column or a p, \X, \Y ... - \else - % we have hacked \TY@final to put in \sphinx@TY@tablewidth the table width - \dimexpr(\sphinx@TY@tablewidth-\arrayrulewidth)/#2- - \tw@\tabcolsep-\arrayrulewidth\relax - \fi - \fi - \fi - \fi -}% -% fallback default in case user has set latex_use_latex_multicolumn to True: -% \sphinxcolwidth will use this only inside LaTeX's standard \multicolumn -\def\sphinx@multiwidth #1#2{\dimexpr % #1 to gobble the \@gobble (!) - (\ifx\TY@final\@undefined\linewidth\else\sphinx@TY@tablewidth\fi - -\arrayrulewidth)*#2-\tw@\tabcolsep-\arrayrulewidth\relax}% -% -% --- MULTIROW --- -% standard \multirow -% 1. does not allow verbatim contents, -% 2. does not allow blank lines in its argument, -% 3. its * specifier means to typeset "horizontally" which is very -% bad for paragraph content. 2016 version has = specifier but it -% must be used with p type columns only, else results are bad, -% 4. it requires manual intervention if the contents is too long to fit -% in the asked-for number of rows. -% 5. colour panels (either from \rowcolor or \columncolor) will hide -% the bottom part of multirow text, hence manual tuning is needed -% to put the multirow insertion at the _bottom_. -% -% The Sphinx solution consists in always having contents wrapped -% in a varwidth environment so that it makes sense to estimate how many -% lines it will occupy, and then ensure by insertion of suitable struts -% that the table rows have the needed height. The needed mark-up is done -% by LaTeX writer, which has its own id for the merged cells. -% -% The colour issue is solved by clearing colour panels in all cells, -% whether or not the multirow is single-column or multi-column. -% -% In passing we obtain baseline alignements across rows (only if -% \arraylinestretch is 1, as LaTeX's does not obey \arraylinestretch in "p" -% multi-line contents, only first and last line...) -% -% TODO: examine the situation with \arraylinestretch > 1. The \extrarowheight -% is hopeless for multirow anyhow, it makes baseline alignment strictly -% impossible. -\newcommand\sphinxmultirow[2]{\begingroup - % #1 = nb of spanned rows, #2 = Sphinx id of "cell", #3 = contents - % but let's fetch #3 in a way allowing verbatim contents ! - \def\sphinx@nbofrows{#1}\def\sphinx@cellid{#2}% - \afterassignment\sphinx@multirow\let\next= -}% -\def\sphinx@multirow {% - \setbox\z@\hbox\bgroup\aftergroup\sphinx@@multirow\strut -}% -\def\sphinx@@multirow {% - % The contents, which is a varwidth environment, has been captured in - % \box0 (a \hbox). - % We have with \sphinx@cellid an assigned unique id. The goal is to give - % about the same height to all the involved rows. - % For this Sphinx will insert a \sphinxtablestrut{cell_id} mark-up - % in LaTeX file and the expansion of the latter will do the suitable thing. - \dimen@\dp\z@ - \dimen\tw@\ht\@arstrutbox - \advance\dimen@\dimen\tw@ - \advance\dimen\tw@\dp\@arstrutbox - \count@=\dimen@ % type conversion dim -> int - \count\tw@=\dimen\tw@ - \divide\count@\count\tw@ % TeX division truncates - \advance\dimen@-\count@\dimen\tw@ - % 1300sp is about 0.02pt. For comparison a rule default width is 0.4pt. - % (note that if \count@ holds 0, surely \dimen@>1300sp) - \ifdim\dimen@>1300sp \advance\count@\@ne \fi - % now \count@ holds the count L of needed "lines" - % and \sphinx@nbofrows holds the number N of rows - % we have L >= 1 and N >= 1 - % if L is a multiple of N, ... clear what to do ! - % else write L = qN + r, 1 <= r < N and we will - % arrange for each row to have enough space for: - % q+1 "lines" in each of the first r rows - % q "lines" in each of the (N-r) bottom rows - % for a total of (q+1) * r + q * (N-r) = q * N + r = L - % It is possible that q == 0. - \count\tw@\count@ - % the TeX division truncates - \divide\count\tw@\sphinx@nbofrows\relax - \count4\count\tw@ % q - \multiply\count\tw@\sphinx@nbofrows\relax - \advance\count@-\count\tw@ % r - \expandafter\xdef\csname sphinx@tablestrut_\sphinx@cellid\endcsname - {\noexpand\sphinx@tablestrut{\the\count4}{\the\count@}{\sphinx@cellid}}% - \dp\z@\z@ - % this will use the real height if it is >\ht\@arstrutbox - \sphinxtablestrut{\sphinx@cellid}\box\z@ - \endgroup % group was opened in \sphinxmultirow -}% -\newcommand*\sphinxtablestrut[1]{% - % #1 is a "cell_id", i.e. the id of a merged group of table cells - \csname sphinx@tablestrut_#1\endcsname -}% -% LaTeX typesets the table row by row, hence each execution can do -% an update for the next row. -\newcommand*\sphinx@tablestrut[3]{\begingroup - % #1 = q, #2 = (initially) r, #3 = cell_id, q+1 lines in first r rows - % if #2 = 0, create space for max(q,1) table lines - % if #2 > 0, create space for q+1 lines and decrement #2 - \leavevmode - \count@#1\relax - \ifnum#2=\z@ - \ifnum\count@=\z@\count@\@ne\fi - \else - % next row will be with a #2 decremented by one - \expandafter\xdef\csname sphinx@tablestrut_#3\endcsname - {\noexpand\sphinx@tablestrut{#1}{\the\numexpr#2-\@ne}{#3}}% - \advance\count@\@ne - \fi - \vrule\@height\ht\@arstrutbox - \@depth\dimexpr\count@\ht\@arstrutbox+\count@\dp\@arstrutbox-\ht\@arstrutbox\relax - \@width\z@ - \endgroup - % we need this to avoid colour panels hiding bottom parts of multirow text - \sphinx@hack@CT -}% -\endinput -%% -%% End of file `sphinxmulticell.sty'. diff --git a/docs/source/conf.py b/docs/source/conf.py index 85556cc80..196d65068 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -38,6 +38,9 @@ author = "David Hendriks, Robert Izzard, Jeff Andrews" extensions = [ "sphinx.ext.autodoc", "sphinx.ext.doctest", + 'sphinx.ext.todo', + 'sphinx.ext.coverage', + 'sphinx.ext.viewcode', "hawkmoth", "m2r", ] diff --git a/docs/source/index.rst b/docs/source/index.rst index cae354962..3bff44095 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -7,12 +7,12 @@ Welcome to binary_c-python's documentation! =========================================== .. toctree:: - :maxdepth: 4 + :maxdepth: 2 :caption: Contents: readme_link - examples modules + examples Indices and tables -- GitLab