JelteF / PyLaTeX

A Python library for creating LaTeX files

Home Page:https://jeltef.github.io/PyLaTeX/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

generate a table of contents

jhardy910e opened this issue · comments

Hi,
I use pylatex with python 2.7.
I try to include a table of contents on my report, but I only the title contents.

###################mycode###########################

import numpy as np
import os
import glob
import requests
import pandas
import pdfkit
from sys import argv
from pylatex import Document, LongTable, MultiColumn, Package, Hyperref, Section, Subsection, Command, Subsection, Tabular, Math, TikZ, Axis, Plot, Figure, Matrix, Alignat, Itemize, Enumerate, Description, HugeText, SubFigure, NoEscape
from pylatex.utils import italic, NoEscape, escape_latex
from PyPDF2 import PdfFileReader, PdfFileWriter, PdfFileMerger

def genenerate_longtabu():
geometry_options = {
"margin": "1.54cm"
}
doc = Document(page_numbers=True, geometry_options=geometry_options)

def hyperlink(url,text):
text = escape_latex(text)
return NoEscape(r'\href{' + url + '}{' + text + '}')

def report(run, s_dir, tr_dir, fig_dir, mu_dir, ed_dir, d_dir, out) :

doc = Document()
geometry_options = {"tmargin": "1cm", "lmargin": "1cm"}
doc = Document(geometry_options=geometry_options)
doc.preamble.append(Command('title', 'Metatranscriptomic project'))
doc.preamble.append(Command('author', 'Julie HARDY'))
doc.preamble.append(Command('date', NoEscape(r'\today')))
doc.append(NoEscape(r'\maketitle'))
doc.packages.append(Package('appendix'))
doc.packages.append(Package('hyperref', options=['colorlinks = true',
        'linkcolor = red',
        'urlcolor  = blue',
        'citecolor = blue',
        'anchorcolor = blue']))

doc.append(NoEscape(r'\tableofcontents'))

[.....]
doc.generate_pdf(out+"/"+"final_report", clean=True)
pdfs = [os.path.abspath(out)+"/final_report.pdf", os.path.abspath(ed)+'/reportb.pdf', os.path.abspath(des_dir)+'/reportb.pdf']

merger = PdfFileMerger()

for pdf in pdfs:
	merger.append(pdf)

merger.write(out+"/"+"result.pdf")
merger.close()