Path: blob/master/internal/book2/chapter_mapping_from_toc.py
1192 views
from TexSoup import TexSoup1import regex as re2from probml_utils.url_utils import dict_to_csv3import pandas as pd45lof_file_path = "internal/book2.toc"6with open(lof_file_path) as fp:7LoF_File_Contents = fp.read()8soup = TexSoup(LoF_File_Contents)910chap_no_pattern = "numberline{(\d*)?}"11chap_name_pattern = "numberline{\d*?}(.*?})"12chap_no_to_name = {}1314for each in soup.find_all("contentsline")[2:-1]:15if "contentsline{chapter}" in str(each):16# print(each)17chap_no = re.findall(chap_no_pattern, str(each))[0]18chap_name = re.findall(chap_name_pattern, str(each))[0][:-1]19chap_no_to_name[chap_no] = chap_name20print(chap_no_to_name)21dict_to_csv(chap_no_to_name, "internal/chapter_no_to_name_mapping_book2.csv", columns=["chap_no", "chap_name"])2223df = pd.read_csv("internal/chapter_no_to_name_mapping_book2.csv")24df["Notebook"] = df["chap_no"].apply(lambda x: f"[{x:02d}/]({x:02d}/)")2526md = "# Probabilistic Machine Learning: Advanced Topics\n\n## Chapters\n\n" + df.to_markdown(index=False)27with open("notebooks/book2/README.md", "w") as fp:28fp.write(md)293031