Note
Click here to download the full example code
Generate PDFs and Clean¶
In this example, we generate PDFs in one location from tex files in possibly various other locations, and clean.
# Author: Fan Wang (fanwangecon.github.io)
import pyfan.util.pdf.pdfgen as pyfan_pdfgen
import pprint
import matplotlib.pyplot as plt
import textwrap
import json
Generate PDF for one specific file and clean afterwards¶
# spt_loc = 'C:/Users/fan/Documents/Dropbox (UH-ECON)/repos/Tex4Econ/_other/equation/'
spt_loc = 'G:/Dropbox (UH-ECON)/repos/Tex4Econ/_other/equation/'
spt_loc_output = 'C:/Users/fan/Documents/'
spn_file = 'cases.tex'
spn_pdf_exe = 'C:/texlive/2020/bin/win32/pdflatex.exe'
dc_tex_pdf_a = pyfan_pdfgen.ff_pdf_gen_clean(ls_spt_srh=[spt_loc], spt_out=spt_loc_output,
spn_pdf_exe=spn_pdf_exe, ls_st_contain=[spn_file],
bl_clean=True)
print(dc_tex_pdf_a)
Out:
{}
Generate PDF from all tex files in all subfolders of a main folder, output PDF store in one location¶
spt_loc_search_root: Tex Search folder
spt_loc_output: only consider files with this in name
st_search_string: include in one of the element in list
ls_st_ignore: ignore files with this in name
PDF Destination Folder: same root path earlier folder to store possibly
# spt_loc_search_root = 'C:/Users/fan/Documents/Dropbox (UH-ECON)/repos/Tex4Econ/_other/'
spt_loc_search_root = 'G:/Dropbox (UH-ECON)/repos/Tex4Econ/_other/'
spt_loc_output = 'C:/Users/fan/Documents/'
st_search_string = ['fs_', 'cases']
ls_st_ignore = ['tikz', 'pandoc']
spn_pdf_exe = 'C:/texlive/2020/bin/win32/pdflatex.exe'
dc_tex_pdf_b = pyfan_pdfgen.ff_pdf_gen_clean(ls_spt_srh=[spt_loc_search_root], spt_out=spt_loc_output,
spn_pdf_exe=spn_pdf_exe,
ls_st_contain=st_search_string, ls_st_ignore=ls_st_ignore,
bl_recursive=True, bl_clean=True)
print(dc_tex_pdf_b)
Out:
{}
perl latexpand example¶
use latexpand conda activate wk_perl cd “C:/Users/fan/Documents/Dropbox (UH-ECON)/repos/HgtOptiAlloDraft/zmain/” perl “C:/Users/fan/.conda/envs/wk_perl/latexpand/latexpand” draft_main_s1.tex > draft_main_s1_flat.tex perl “C:/ProgramData/Anaconda3/envs/wk_perl/latexpand/latexpand” draft_main_s1.tex > draft_main_s1_flat.tex pandoc –bibliography=C:/Users/fan/HgtOptiAlloDraft/_bib/zoteroref.bib -o draft_main_s1_flat.docx draft_main_s1_flat.tex
cd “C:/Users/fan/Documents/Dropbox (UH-ECON)/repos/HgtOptiAlloDraft/beamer/” perl “C:/Users/fan/.conda/envs/wk_perl/latexpand/latexpand” present.tex > present_flat.tex perl “C:/ProgramData/Anaconda3/envs/wk_perl/latexpand/latexpand” present.tex > present_flat.tex
pandoc –bibliography=C:/Users/fan/HgtOptiAlloDraft/_bib/zoteroref.bib -o present_flat.docx present_flat.tex
Plot String as Figure¶
# Dict of String to String
str_dc_records = 'One Tex to Root PDF:'.upper() + '\n' + \
textwrap.fill(json.dumps(dc_tex_pdf_a), width=70) + '\n' + \
'Recursive Search Tex to PDF Folder:'.upper() + '\n' + \
textwrap.fill(json.dumps(dc_tex_pdf_b), width=70)
# Start Plot
fig, ax = plt.subplots()
# Text Plot
ax.text(0.5, 0.5, str_dc_records,
horizontalalignment='center',
verticalalignment='center',
fontsize=14, color='black',
transform=ax.transAxes)
# Labeling
ax.set_axis_off()
plt.show()
Total running time of the script: ( 0 minutes 0.044 seconds)