Esempio n. 1
0
 def test_to_html(self):
     doc = Document('woo')
     doc.to_html(GENERATED_FILES_DIR)
     expect_str = (INPUT_FILES_DIR / 'document.html').read_text()
     generated_str = (GENERATED_FILES_DIR / 'document.html').read_text()
     assert _remove_meta_tags(expect_str) == _remove_meta_tags(
         generated_str)
Esempio n. 2
0
 def test_basic_title_page(self):
     doc = Document([BlindText(), ''] * 10,
                    authors=['Person One', 'Human Two', 'Being Three'],
                    title='My Title')
     assert str(
         doc
     ) == '\\documentclass[]{article}\n\\usepackage{amsmath}\n\\usepackage{pdflscape}\n\\usepackage{booktabs}\n\\usepackage{array}\n\\usepackage{threeparttable}\n\\usepackage{fancyhdr}\n\\usepackage{lastpage}\n\\usepackage{textcomp}\n\\usepackage{dcolumn}\n\\newcolumntype{L}[1]{>{\\raggedright\\let\\newline\\\\\\arraybackslash\\hspace{0pt}}m{#1}}\n\\newcolumntype{C}[1]{>{\\centering\\let\\newline\\\\\\arraybackslash\\hspace{0pt}}m{#1}}\n\\newcolumntype{R}[1]{>{\\raggedleft\\let\\newline\\\\\\arraybackslash\\hspace{0pt}}m{#1}}\n\\newcolumntype{.}{D{.}{.}{-1}}\n\\newcolumntype{d}[1]{D{.}{.}{#1}}\n\\usepackage[T1]{fontenc}\n\\usepackage{caption}\n\\usepackage{subcaption}\n\\usepackage{graphicx}\n\\usepackage[margin=0.8in, bottom=1.2in]{geometry}\n\\usepackage[page]{appendix}\n\\usepackage{blindtext}\n\\pagestyle{fancy}\n\\renewcommand{\\headrulewidth}{0pt}\n\\fancyhead{}\n\\rfoot{Page \\thepage\\  of \\pageref{LastPage}}\n\\cfoot{}\n\\begin{document}\n\\title{My Title}\n\\author{Person One, Human Two, and Being Three}\n\\date{\\today}\n\\maketitle\n\\blindtext\n\n\\blindtext\n\n\\blindtext\n\n\\blindtext\n\n\\blindtext\n\n\\blindtext\n\n\\blindtext\n\n\\blindtext\n\n\\blindtext\n\n\\blindtext\n\n\\end{document}'
Esempio n. 3
0
    def test_all_options_with_title_page(self):
        doc = Document(
            'woo',
            **self.common_kwargs,
        )

        assert str(
            doc
        ) == '\\documentclass[12pt, twocolumn]{article}\n\\usepackage{amsmath}\n\\usepackage{pdflscape}\n\\usepackage{booktabs}\n\\usepackage{array}\n\\usepackage{threeparttable}\n\\usepackage{fancyhdr}\n\\usepackage{lastpage}\n\\usepackage{textcomp}\n\\usepackage{dcolumn}\n\\newcolumntype{L}[1]{>{\\raggedright\\let\\newline\\\\\\arraybackslash\\hspace{0pt}}m{#1}}\n\\newcolumntype{C}[1]{>{\\centering\\let\\newline\\\\\\arraybackslash\\hspace{0pt}}m{#1}}\n\\newcolumntype{R}[1]{>{\\raggedleft\\let\\newline\\\\\\arraybackslash\\hspace{0pt}}m{#1}}\n\\newcolumntype{.}{D{.}{.}{-1}}\n\\newcolumntype{d}[1]{D{.}{.}{#1}}\n\\usepackage[T1]{fontenc}\n\\usepackage{caption}\n\\usepackage{subcaption}\n\\usepackage{graphicx}\n\\usepackage{hyperref}\n\\usepackage{tikz}\n\\usepackage[margin=1in]{geometry}\n\\usepackage{floatrow}\n\\DeclareFloatFont{small}{\\small}\n\\floatsetup[table]{font=small,capposition=top}\n\\DeclareFloatFont{large}{\\large}\n\\floatsetup[figure]{font=large,capposition=top}\n\\usepackage[nolists]{endfloat}\n\\DeclareDelayedFloatFlavor{ltable}{table}\n\\DeclareDelayedFloatFlavor{lfigure}{figure}\n\\usepackage{setspace}\n\\doublespacing\n\\usepackage[page]{appendix}\n\\renewcommand{\\thesection}{\\Roman{section}}\n\\renewcommand{\\thesubsection}{\\thesection.\\Alph{subsection}}\n\\renewcommand{\\thesubsubsection}{\\thesubsection.\\arabic{subsubsection}}\n\\renewcommand{\\thesubfigure}{\\roman{subfigure}}\n\\setcounter{secnumdepth}{0}\n\\pagestyle{fancy}\n\\lhead{\\textsc{short title}}\n\\rhead{\\textsc{Page \n\\thepage}}\n\\cfoot{}\n\\begin{document}\n\\title{My Title}\n\\author{Person One and Human Two}\n\\date{2020-10-01 00:00:00}\n\\maketitle\n\\newpage\n\\thispagestyle{empty}\n{\n\\begin{center}\n\\setlength{\\baselineskip}{40pt}\n\\LARGE\n\\textbf{My Title}\n\\end{center}\n}\n\\vspace{35pt}\n\\begin{center}\n\\textbf{Abstract}\n\\end{center}\n\\vspace{-10pt}\n\\hspace{1.5em}\nSome text for the abstract\n\\vspace{20pt}\n\\textit{Stuff:}\n\n\nYeah, things\n\n\n\\newpage\n\\setcounter{page}{1}\nwoo\n\n\n\n\\end{document}'
Esempio n. 4
0
    def test_all_options_no_title_page(self):
        kwargs = {**self.common_kwargs}
        kwargs['skip_title_page'] = True

        doc = Document('woo', **kwargs)

        assert str(
            doc
        ) == '\\documentclass[12pt, twocolumn]{article}\n\\usepackage{amsmath}\n\\usepackage{pdflscape}\n\\usepackage{booktabs}\n\\usepackage{array}\n\\usepackage{threeparttable}\n\\usepackage{fancyhdr}\n\\usepackage{lastpage}\n\\usepackage{textcomp}\n\\usepackage{dcolumn}\n\\newcolumntype{L}[1]{>{\\raggedright\\let\\newline\\\\\\arraybackslash\\hspace{0pt}}m{#1}}\n\\newcolumntype{C}[1]{>{\\centering\\let\\newline\\\\\\arraybackslash\\hspace{0pt}}m{#1}}\n\\newcolumntype{R}[1]{>{\\raggedleft\\let\\newline\\\\\\arraybackslash\\hspace{0pt}}m{#1}}\n\\newcolumntype{.}{D{.}{.}{-1}}\n\\newcolumntype{d}[1]{D{.}{.}{#1}}\n\\usepackage[T1]{fontenc}\n\\usepackage{caption}\n\\usepackage{subcaption}\n\\usepackage{graphicx}\n\\usepackage{hyperref}\n\\usepackage{tikz}\n\\usepackage[margin=1in]{geometry}\n\\usepackage{floatrow}\n\\DeclareFloatFont{small}{\\small}\n\\floatsetup[table]{font=small,capposition=top}\n\\DeclareFloatFont{large}{\\large}\n\\floatsetup[figure]{font=large,capposition=top}\n\\usepackage[nolists]{endfloat}\n\\DeclareDelayedFloatFlavor{ltable}{table}\n\\DeclareDelayedFloatFlavor{lfigure}{figure}\n\\usepackage{setspace}\n\\doublespacing\n\\usepackage[page]{appendix}\n\\renewcommand{\\thesection}{\\Roman{section}}\n\\renewcommand{\\thesubsection}{\\thesection.\\Alph{subsection}}\n\\renewcommand{\\thesubsubsection}{\\thesubsection.\\arabic{subsubsection}}\n\\renewcommand{\\thesubfigure}{\\roman{subfigure}}\n\\setcounter{secnumdepth}{0}\n\\pagestyle{fancy}\n\\lhead{\\textsc{short title}}\n\\rhead{\\textsc{Page \n\\thepage}}\n\\cfoot{}\n\\begin{document}\nwoo\n\n\n\n\\end{document}'
Esempio n. 5
0
 def test_custom_footer(self):
     doc = Document('woo',
                    custom_footers=[
                        LeftFooter('stuff'),
                        CenterFooter(''),
                        RightFooter([
                            'Page',
                            ThisPageNumber(), '\\', 'of',
                            PageReference('LastPage')
                        ]),
                        FooterLine()
                    ])
     assert str(
         doc
     ) == '\\documentclass[]{article}\n\\usepackage{amsmath}\n\\usepackage{pdflscape}\n\\usepackage{booktabs}\n\\usepackage{array}\n\\usepackage{threeparttable}\n\\usepackage{fancyhdr}\n\\usepackage{lastpage}\n\\usepackage{textcomp}\n\\usepackage{dcolumn}\n\\newcolumntype{L}[1]{>{\\raggedright\\let\\newline\\\\\\arraybackslash\\hspace{0pt}}m{#1}}\n\\newcolumntype{C}[1]{>{\\centering\\let\\newline\\\\\\arraybackslash\\hspace{0pt}}m{#1}}\n\\newcolumntype{R}[1]{>{\\raggedleft\\let\\newline\\\\\\arraybackslash\\hspace{0pt}}m{#1}}\n\\newcolumntype{.}{D{.}{.}{-1}}\n\\newcolumntype{d}[1]{D{.}{.}{#1}}\n\\usepackage[T1]{fontenc}\n\\usepackage{caption}\n\\usepackage{subcaption}\n\\usepackage{graphicx}\n\\usepackage[margin=0.8in, bottom=1.2in]{geometry}\n\\usepackage[page]{appendix}\n\\pagestyle{fancy}\n\\renewcommand{\\headrulewidth}{0pt}\n\\fancyhead{}\n\\lfoot{stuff}\n\\cfoot{}\n\\rfoot{Page\n\\thepage\n\\\nof\n\\pageref{LastPage}}\n\\renewcommand{\\footrulewidth}{0.4pt}\n\\begin{document}\nwoo\n\\end{document}'
Esempio n. 6
0
def _filepaths_to_document_or_figure(filepaths,
                                     subfigure_kwargs={},
                                     figure_kwargs={},
                                     document_kwargs={},
                                     as_document=True):
    subfigures = [Subfigure(fp, **subfigure_kwargs) for fp in filepaths]
    figure = Figure(subfigures, **figure_kwargs)

    if not as_document:
        return figure

    simple_package_strs = ['caption', 'subcaption', 'graphicx', 'pdflscape']
    simple_packages = [Package(str_) for str_ in simple_package_strs]

    packages = simple_packages + [
    ]  # add any packages with options here with the Package class

    document = Document(figure, packages, **document_kwargs)

    return document
Esempio n. 7
0
    def as_document(self, landscape=False):
        from pyexlatex.models.document import Document
        from pyexlatex.figure.packages import default_packages

        return Document(self, default_packages, landscape=landscape)
Esempio n. 8
0
 def test_no_options_list(self):
     doc = Document(['woo'])
     assert str(doc) == self.no_options_result
Esempio n. 9
0
 def test_no_options_str(self):
     doc = Document('woo')
     assert str(doc) == self.no_options_result
Esempio n. 10
0
 def test_to_pdf_with_references(self):
     doc = Document(['woo', self.citation, self.bibliography])
     doc.to_pdf(GENERATED_FILES_DIR, outname='document with references')
     compare_pdfs(INPUT_FILES_DIR / 'document with references.pdf',
                  GENERATED_FILES_DIR / 'document with references.pdf')
Esempio n. 11
0
 def test_to_pdf(self):
     doc = Document('woo')
     doc.to_pdf(GENERATED_FILES_DIR)
     compare_pdfs(INPUT_FILES_DIR / 'document.pdf',
                  GENERATED_FILES_DIR / 'document.pdf')