Source code for pyexlatex.figure.pdf

import posixpath

from pyexlatex.figure.models import Subfigure, Figure
from pyexlatex.logic.output.main import output_document_and_move
from pyexlatex.texgen.replacements.filename import _latex_valid_basename
from pyexlatex.models.document import Document
from pyexlatex.models.package import Package


[docs]def filepaths_to_pdf_figure_and_move(filepaths, outfolder, outname='figure', as_document=True, subfigure_kwargs={}, figure_kwargs={}, document_kwargs={}): basenames = [_latex_valid_basename(filepath) for filepath in filepaths] sources_paths = [posixpath.join('Sources', basename) for basename in basenames] document_or_figure = _filepaths_to_document_or_figure( sources_paths, subfigure_kwargs=subfigure_kwargs, figure_kwargs=figure_kwargs, document_kwargs=document_kwargs, as_document=as_document ) output_document_and_move( document_or_figure, outfolder, image_paths=filepaths, outname=outname, as_document=as_document ) return document_or_figure
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