Some work on HTML conversion.

Not happy with the output yet. The advantage of HTML output is
interactive plots are displayed in the output, whereas they are
not in the PDF output.
This commit is contained in:
Roger Labbe 2016-09-25 11:31:48 -07:00
parent dbdf3541f2
commit c2548702d9
4 changed files with 70 additions and 48 deletions

View File

@ -1,5 +1,6 @@
ipython merge_book.py
jupyter nbconvert --to latex --template book book.ipynb
jupyter nbconvert --template book book.ipynb
ipython to_pdf.py
move /Y book.pdf ../Kalman_and_Bayesian_Filters_in_Python.pdf

View File

@ -3,11 +3,11 @@ from __future__ import print_function
import IPython.nbformat as nbformat
from formatting import *
from os.path import join
def prep_for_html_conversion(filename):
added_appendix = False
with io.open('../'+filename, 'r', encoding='utf-8') as f:
with io.open(join('..', filename), 'r', encoding='utf-8') as f:
nb = nbformat.read(f, nbformat.NO_CONVERT)
remove_formatting(nb)
if not added_appendix and filename[0:8] == 'Appendix':
@ -15,35 +15,31 @@ def prep_for_html_conversion(filename):
added_appendix = True
else:
remove_links(nb)
nbformat.write(nb, filename)
nbformat.write(nb, join('html', filename))
if __name__ == '__main__':
notebooks = \
['00_Preface.ipynb',
'01_g-h_filter.ipynb',
'Appendix_A_Installation.ipynb']
['table_of_contents.ipynb',
'00-Preface.ipynb',
'01-g-h-filter.ipynb',
'02-Discrete-Bayes.ipynb',
'03-Gaussians.ipynb',
'04-One-Dimensional-Kalman-Filters.ipynb',
'05-Multivariate-Gaussians.ipynb',
'06-Multivariate-Kalman-Filters.ipynb',
'07-Kalman-Filter-Math.ipynb',
'08-Designing-Kalman-Filters.ipynb',
'09-Nonlinear-Filtering.ipynb',
'10-Unscented-Kalman-Filter.ipynb',
'11-Extended-Kalman-Filters.ipynb',
'12-Particle-Filters.ipynb',
'13-Smoothing.ipynb',
'14-Adaptive-Filtering.ipynb',
'Appendix-A-Installation.ipynb',
'Appendix-B-Symbols-and-Notations.ipynb',
'Appendix-D-HInfinity-Filters.ipynb',
'Appendix-E-Ensemble-Kalman-Filters.ipynb']
for n in notebooks:
prep_for_html_conversion(n)
'''merge_notebooks(
['../00_Preface.ipynb',
'../01_g-h_filter.ipynb',
'../02_Discrete_Bayes.ipynb',
'../03_Least_Squares_Filters.ipynb',
'../04_Gaussians.ipynb',
'../05_Kalman_Filters.ipynb',
'../06_Multivariate_Kalman_Filters.ipynb',
'../07_Kalman_Filter_Math.ipynb',
'../08_Designing_Kalman_Filters.ipynb',
'../09_Nonlinear_Filtering.ipynb',
'../10_Unscented_Kalman_Filter.ipynb',
'../11_Extended_Kalman_Filters.ipynb',
'../12_Designing_Nonlinear_Kalman_Filters.ipynb',
'../13_Smoothing.ipynb',
'../14_Adaptive_Filtering.ipynb',
'../15_HInfinity_Filters.ipynb',
'../16_Ensemble_Kalman_Filters.ipynb',
'../Appendix_A_Installation.ipynb',
'../Appendix_B_Symbols_and_Notations.ipynb'])'''
prep_for_html_conversion(n)

View File

@ -1,22 +1,22 @@
ipython build_html_ipynb.py
ipython nbconvert index.ipynb
ipython nbconvert ../00_Preface.ipynb
ipython nbconvert ../01_g-h_filter.ipynb
ipython nbconvert ../02_Discrete_Bayes.ipynb
ipython nbconvert ../03_Least_Squares_Filters.ipynb
ipython nbconvert ../04_Gaussians.ipynb
ipython nbconvert ../05_Kalman_Filters.ipynb
ipython nbconvert ../06_Multivariate_Kalman_Filters.ipynb
ipython nbconvert ../07_Kalman_Filter_Math.ipynb
ipython nbconvert ../08_Designing_Kalman_Filters.ipynb
ipython nbconvert ../09_Nonlinear_Filtering.ipynb
ipython nbconvert ../10_Unscented_Kalman_Filter.ipynb
ipython nbconvert ../11_Extended_Kalman_Filters.ipynb
ipython nbconvert ../12_Designing_Nonlinear_Kalman_Filters.ipynb
ipython nbconvert ../13_Smoothing.ipynb
ipython nbconvert ../14_Adaptive_Filtering.ipynb
ipython nbconvert ../15_HInfinity_Filters.ipynb
ipython nbconvert ../16_Ensemble_Kalman_Filters.ipynb
ipython nbconvert ../Appendix_A_Installation.ipynb
ipython nbconvert ../Appendix_B_Symbols_and_Notations.ipynb
jupyter nbconvert index.ipynb
jupyter nbconvert ../00_Preface.ipynb
jupyter nbconvert ../01_g-h_filter.ipynb
jupyter nbconvert ../02_Discrete_Bayes.ipynb
jupyter nbconvert ../03_Least_Squares_Filters.ipynb
jupyter nbconvert ../04_Gaussians.ipynb
jupyter nbconvert ../05_Kalman_Filters.ipynb
jupyter nbconvert ../06_Multivariate_Kalman_Filters.ipynb
jupyter nbconvert ../07_Kalman_Filter_Math.ipynb
jupyter nbconvert ../08_Designing_Kalman_Filters.ipynb
jupyter nbconvert ../09_Nonlinear_Filtering.ipynb
jupyter nbconvert ../10_Unscented_Kalman_Filter.ipynb
jupyter nbconvert ../11_Extended_Kalman_Filters.ipynb
jupyter nbconvert ../12_Designing_Nonlinear_Kalman_Filters.ipynb
jupyter nbconvert ../13_Smoothing.ipynb
jupyter nbconvert ../14_Adaptive_Filtering.ipynb
jupyter nbconvert ../15_HInfinity_Filters.ipynb
jupyter nbconvert ../16_Ensemble_Kalman_Filters.ipynb
jupyter nbconvert ../Appendix_A_Installation.ipynb
jupyter nbconvert ../Appendix_B_Symbols_and_Notations.ipynb

25
pdf/html_build_book.bat Normal file
View File

@ -0,0 +1,25 @@
rmdir /s/q html
mkdir html
ipython build_html_ipynb.py
cd html
jupyter nbconvert table_of_contents.ipynb
jupyter nbconvert 00-Preface.ipynb
jupyter nbconvert 01-g-h-filter.ipynb
jupyter nbconvert 02-Discrete-Bayes.ipynb
jupyter nbconvert 03-Gaussians.ipynb
jupyter nbconvert 04-One-Dimensional-Kalman-Filters.ipynb
jupyter nbconvert 05-Multivariate-Gaussians.ipynb
jupyter nbconvert 06-Multivariate-Kalman-Filters.ipynb
jupyter nbconvert 07-Kalman-Filter-Math.ipynb
jupyter nbconvert 08-Designing-Kalman-Filters.ipynb
jupyter nbconvert 09-Nonlinear-Filtering.ipynb
jupyter nbconvert 10-Unscented-Kalman-Filter.ipynb
jupyter nbconvert 11-Extended-Kalman-Filters.ipynb
jupyter nbconvert 12-Particle-Filters.ipynb
jupyter nbconvert 13-Smoothing.ipynb
jupyter nbconvert 14-Adaptive-Filtering.ipynb
jupyter nbconvert Appendix-A-Installation.ipynb
jupyter nbconvert Appendix-B-Symbols-and-Notations.ipynb