let internal_css (tab_length : string) (margin_left : string) : string = " html { font-family : monospace; font-size : medium; line-height : 150%; max-width : 80ch; margin : auto; } em { font-style : normal; text-decoration : underline; } a { text-decoration : none; } p, pre { margin-top : 0; margin-bottom : 0; } h2, h3, h4, h5 { margin-top : 0; } /************* TITLE ********************/ .title { font-weight : normal; font-size : x-large; margin-bottom : 1rem; line-height : 130%; } .doc.pars .title { margin-left : "^ margin_left ^"; } .doc.secs .title { margin-left : "^ margin_left ^"; } .doc.chs .title { font-size : xx-large; } /************ AUTHORS *******************/ .authors { font-size : medium; margin-top : 2rem; margin-bottom : 1rem; } .author + .author { margin-top : 1rem; } .doc.pars .authors { margin-left : "^ margin_left ^"; } .doc.secs .authors { margin-left : "^ margin_left ^"; } /************ DATE ******************/ .date { font-size : small; } .doc.pars .date { margin-left : "^ margin_left ^"; } .doc.secs .date { margin-left : "^ margin_left ^"; } /************ ABSTRACT ******************/ .abstract { margin-bottom : 3rem; } * + .abstract { margin-top : 2rem; } .doc.pars .abstract { margin-left : "^ margin_left ^"; } .doc.secs .abstract { margin-left : "^ margin_left ^"; } .abstract_hdr { font-weight : normal; font-size : large; margin-bottom : 0.5rem; } /************* REFS *********************/ .refs { margin-top : 3rem; } .doc.pars .refs { margin-left : "^ margin_left ^"; } .doc.secs .refs { margin-left : "^ margin_left ^"; } .doc.chs .refs { margin-top : 0; padding-top : 3rem; border-top : thin solid gray; } .refs_hdr { font-weight : normal; font-size : large; } .doc.chs .refs_hdr { font-size : x-large; margin-bottom : 3rem; } /************* DOC_MAIN *****************/ * + .doc_main { margin-top : 2rem; } /************** CH **********************/ .ch { padding-top : 3rem; padding-bottom : 3rem; border-top : thin solid gray; } .ch_lbl { font-weight : normal; font-size : x-large; } .ch_hdr { font-size : x-large; line-height : 130%; } .ch_hdr, .ch_lbl.hdr { margin-bottom : 3rem; } .ch_lbl + .ch_hdr { margin-top : 1rem; } /************** SEC *********************/ .sec + .sec { margin-top : 3rem; } .sec_lbl { float : left; font-size : large; font-weight : normal; line-height : 130%; } .sec_hdr { margin-left : "^ margin_left ^"; font-size : large; line-height : 130%; } .sec_lbl.hdr { float : none; } /************** PAR *********************/ .par + .par { margin-top : 2rem; } .par_lbl { float : left; font-weight : normal; font-size : inherit; } .par_tag, .par_hdr { font-weight : bold; display : inline; font-size : inherit; } .par_tag + .par_hdr::before { content : \" (\"; } .par_tag + .par_hdr::after { content : \")\"; } .par_main { margin-left : "^ margin_left ^"; } /************** BLK *********************/ .par_hdr + p.blk.txt { display : inline; } .par_tag.hdr + p.blk.txt { display : inline; } .par_hdr + p.blk.txt::before { content : \" \"; } .par_tag.hdr + p.blk.txt::before { content : \" \"; } * + .blk { margin-top : 1rem; } .sec_main > .blk { margin-left : "^ margin_left ^"; } .blk.txt { hyphens : auto; white-space : pre-wrap; } .blk_blt_lbl { float : left; } .blk_blt_main { margin-left : "^ tab_length ^"; } .blk_itm_lbl { float : left; } .blk_itm_main { margin-left : "^ tab_length ^"; } .dsp_line_lbl { float : left; } .dsp_line_main { margin-left : "^ tab_length ^"; white-space : pre; } /******** ENDNOTES and FOOTNOTES **********/ .doc_endnotes_hdr, .ch_endnotes_hdr { font-weight : normal; } .doc_endnotes, .ch_endnotes { margin-top : 2rem; border-top : thin grey solid; padding-top : 0.5rem; } .blk_nte_lbl { float : left; } .blk_nte_main { margin-left : 3ch; } /*************** BIB ********************/ .bib_custom .blk_itm_lbl { float : none; } /*************** PRINTING ***************/ @media print { html { font-size : 13px; } h1, h2, h3, h4, h5, .ch_lbl, .sec_lbl, .par_lbl, .par_tag, .blk_itm_lbl, .blk_blt_lbl, .clear { break-after : avoid-page; break-inside : avoid-page; } .ch_main, .sec_main, .par_main, .blk_itm_main, .blk_blt_main { break-before : avoid-page; } .blk.dsp { break-inside : avoid-page; } .ch { break-before : page; border : none; } .doc.chs .refs { break-before : page; border : none; } @page { size : a4; margin-top : 20mm; margin-left : 20mm; margin-right : 20mm; margin-bottom : 30mm; @top-center { content : \" \"; } @bottom-center { padding : 10mm; content : counter(page) \" of \" counter(pages); } } }"