release_notes

Ver 1.x.x

Ver 1.0.1

  • Implemented various functions culminating to auto_mark_def_and_notats in 28_markdown.obsidian.persona.machine_learning.tokenize.ipynb
  • Added the repeat_replacing_custom_commands parameter in setup_references_from_latex_parts in 16_latex.convert.ipynb.
  • Reorganized 16_latex.convert.ipynb, moving parts of the code to the newly created 29_latex.divide.ipynb, 30_latex.folders.ipynb, 31_latex.formatting.ipynb, 32_latex.preamble.ipynb, and 33_latex.comments.ipynb.
    • Fixed an issue with numbering involving equation environments — some LaTeX files are formatted so that theorem-like environments share the same counter with the equation environment. However, previous versions of trouver did not account for counter changes from equation environments.
    • Changed how divide_latex_text deals with subsubsections — in general, subsusections are divided out into their own “parts” (and the functions in 16_latex.convert.ipynb create notes corresponding to these parts, but do not create subfolders for subsubsections).
    • Certain environments (such as gather, gather*, displaymath, displaymath* will no longer be divided into their own parts). See the list DEFAULT_ENVIRONMENTS_TO_NOT_DIVIDE_ALONG in 29_latex.divide.ipynb.
    • Made the adjust_common_syntax_to_markdown (which is now moved to 31_latex.formatting.ipynb from 16_latex.convert.ipynb) function accept an options parameter, which allows for more choices when modifying formats in text from LaTeX files as they are converted into Markdown notes for viewing on Obsidian.md.
  • Modified one of the returned values of parse_notation_notes in 20_markdown.obsidian.personal.notation.ipynb to be a list of tuples of two str’s instead of a MarkdownFile; this returned value is supposed to capture the information of the bulleted list of notation notes to which the argument notation_note links.
  • Introduced 34_markdown.obsidian.machine_learning.notation_linking.ipynb, 35_markdown.obsidian.personal.machine_learning.definition_and_notation_naming.ipynb
  • Separated 00_helper.ipynb into 36_helper.tests.ipynb, 37_helper.regex.ipynb, 38_helper.html.ipynb, 39_helper.definiton_and_notation.ipynb, 40_helper.numbers.ipynb, 41_helper.accented_characters.ipynb, 42_helper.date_and_time.ipynb, 43_helper.topological_sort.ipynb, 44_helper.alphabet.ipynb, 45_helper.path_accepted_string.ipynb, 46_helper.files_and_folders.ipynb
  • Added 47_helper.latex.ipynb and implemented experimental, rudimentary functions for detecting syntax validity of LaTeX math mode strings and for cleaning up LaTeX math mode strings.
  • Added correct_latex_syntax_error in 25_markdown.obsidian.persoal.machine_learning.notation_summarzation.ipynb to attempt to correct syntax errors present in autogenerated summaries. Also added an invocation of this function to summarize_notation.
  • Added __copy__ and __eq__ methods to VaultNote class.
  • Created 50_markdown.obsidian.vault_and_links.ipynb, moved some functions from 06_markdown.obsidian.links.ipynb into there.
  • Added replace_links_in_text in 06_markdown.obsidian.links.ipynb
  • Separated 20_markdown.obsidian.personal.notation.ipynb into 51_markdown.obsidian.personal.notation.parse and 52_markdown.obsidian.personal.notation.in_standard_information_note
  • automatically_add_note_type_tags in 23_markdown.obsidian.personal.machine_learning.information_note_types.ipynb can now use multiple models/TextLearner objects to add note type label predictions to information notes.
  • Changed the name of find_links_in_markdown_text in 06_markdown.obsidian.links.ipynb to link_ranges_in_text
  • Deprecated gather_information_note_types and append_to_information_note_type_database in 23_markdown.obsidian.personal.machine_learning.information_note_types.ipynb and implemented labels_and_identifying_info_from_notes and information_note_types_as_dataset to compile information note type data into Dataset’s instead of pandas.DataFrame’s.
  • Renamed 28_markdown.obsidian.personal.machine_learning.tokenize to 28_markdown.obsidian.personal.machine_learning.tokenize.def_and_notat_token_classification.
  • Implemented 49_helper.arxiv.ipynb to with functions to download arxiv articles (source code or pdf).
  • Implemented in adjust_common_syntax_to_markdown in 31_latex.formatting.ipynb the ability to remove invocations of \xspace and \ensuremath.
  • Implemented replace_inclusion_of_style_file_with_code in 32_latex.premable.ipynb
  • Implemented find_main_latex_file in 15_latex.__init__.ipynb
  • Created 54_app.__init__.ipynb to develop code for a GUI app.
    • Currently, the app can get the user to download an arXiv source file, divide the latex file into parts of an Obsidian.md vault, make note type and def/notat token predictions, and the compile the arXiv source file back into a single .tex file.
    • Implemented get_huggingface_cache_dir in 46_helper.files_and_folders.ipynb.
    • Implemented convert_notes_to_latex_code in 16_latex.convert.ipynb.
    • Implemented find_main_latex_file in 15_latex.__init__.ipynb.
    • Modified setup_reference_from_latex_parts in 16_latex.convert.ipynb.
      • The function no longer requires reference and template folders to exist in the “main” vault.
    • Implemented replace_inclusion_of_style_file_with_code in 32_latex.preamble.ipynb.
    • Created 55_helper.packages.ipynb to check that packages are installed and if not, install them during runtime.

Ver. 0.x.x

Ver 0.0.5

  • Modified the latex_to_path_accepted_string function to remove some more LaTeX commands and to substitute a few symbols with designated strings.
    • The function may be subject to more changes in the near future.
  • single_input_for_notation_summarization now takes a parameter latex_in_original_comes_first with a default value of True. This default value for the parameter makes it so that inputs/data points for the notation summarization task first lists the latex_in_original field containing the notation to be summarized before the mathematical excerpt; previously, the mathematical excerpt was first listed before the latex_in_original field.
    • The notation_summarizations_model repo now contains a model trained on data points that first list the latex_in_original field. Set the latex_in_original_comes_first parameter of the single_input_for_notation_summarization function to False to use the older model.
    • Functions using single_input_for_notation_summarization now also take a parameter latex_in_original_comes_first.
  • Modified dict_to_metadata_lines and MarkdownFile.replace_metadata in 04_markdown.markdown.file.ipynb to take the enquote_entries_in_fields parameter that specifies whether or not to enquote string values in fields in YAML metadata of an Obsidian Markdown note.
    • Other functions and methods that depend on MarkdownFile.replace_metadata were also modified to have enquote_entries_in_metadata_fields parameters. These include MarkdownFile.add_tags, MarkdownFile.remove_tags, MarkdownFile.replace_auto_tags_with_regular_tags, and _write_summary_to_notation_note in 25_markdown.obsidian.personal.machine_learning.notation_summarization.ipynb.
    • The issue involving append_summary_to_notation_note where the modified notation note has non-enquoted text in the latex_in_original field should have been at least partially resolved.
  • Added parse_metadata_string to 04_markdown.markdown.file.ipynb and made MarkdownFile.metadata use it.
  • Added MarkdownFile.metadata_parts to 04_markdown.markdown.file.ipynb.
  • Added 27_markdown.obsidian.personal.vault.ipynb.
    • Added setup_obsidian_vault_for_trouver which is intended to add directories required by trouver in an Obsidian.md vault
  • Fixed a bug in the subfunction _index_note_in_parent_directory of index_note_of_note in 21_markdown.obsidian.personal.information_notes.ipynb; this bug was preventing the function from properly finding the index note of an information note when the two notes are in the same directory.

Ver. 0.0.4

  • Created tutorial.walkthrough as a end-to-end walkthrough on setting up a trouver workflow.
  • Added toml as a requirement in settings.ini.
  • Moved pathvalidate from a Dev requirement to a requirement in settings.ini.
  • Made release_notes and moved the version release notes from index to release_notes.
  • Made how_to.install_trouver and Updated installation instructions.
  • Updated the docstring of the MarkdownFile.has_tag method to more clearly state when it returns True.
  • Modified the append_summary_to_notation_note function in markdown.obsidian.personal.machine_learning.notation_summarization to take a parameter overwrite_previous_autogenerated_summary which, when set to True, tells the function to overwrite autogenerated summaries in the notation note (a notation note is considered to have an autogenerated summary if it has the _auto/notation_summary tag in its YAML frontmatter metadata).
  • Modified the MarkdownFile.remove_tags method in markdown.markdown.file to simply return and not change the MarkdownFile object if the MarkdownFile object does not have YAML frontmatter metadata or if the frontmatter YAML metadata does not include a tags line. In particular, MarkdownFile.remove_tags does not raise an Error in either of these cases.
  • Made the constructor of the VaultNote class in markdown.obsidian.vault raise a ValueError as opposed to an AssertionError if both the name and rel_path parameters are given the argument None.
  • Added some examples for markdown.obsidian.personal.machine_learning.notation_summarization
  • Changed append_to_notation_note_summarization_database to use the 'Notation note name' column as the pivot in invoking the append_to_database function; previously, the 'Processed main note contents' column was used as the pivot column, which meant that data for notation notes sharing the same main note would be lost in making the database csv file.
  • Made markdown.obsidian.personal.machine_learning.notation_summarization import the os.Path class; the notation_summarization module was previously using the os.Path class but not importing it.
  • Modified copy_obisidian_vault_configs and copy_obsidian_vault_configs_with_nice_modifications in markdown.obsidian.personal.reference.ipynb to take the parameter dirs_exist_ok; if this is set to False, then attempting to copy configs into an existing configs directory is prevented. Otherwise, existing files in the pre-existing configs directory are overwritten. See also the dirs_exist_ok parameter of the shutil.copytree function.
  • Modified latex_to_path_accepted_string in helper to use the sanitize_filename function from the pathvalidate library. In particular, this should ensure that make_notation_notes_from_double_asts only attempts to create notation notes with names which are valid as file names.
  • The custom_commands function in latex.convert can parse LaTeX \newcommand and \command invocations in which the defined command is not surrounded by parentheses, e.g. \newcommand\A{{\mathbb A}} is recognized as defining the command \A which has display text {\mathbb A}.
  • Made adjust_common_syntax_to_markdown in latex.convert recognize the eqnarray environment as an environment to adjust.

Ver. 0.0.3

  • Fixed issue # 32 in which setting up an Obsidian.md vault folder from a LaTeX document was not numbering sections and theorem-like environments correctly with a theorem-like environment of the form \numbertheorem{theorem}{Theorem}[section] was being defined.
  • Finished implementing append_summary_to_notation_note
  • Modified dict_to_metadata function to escape and enquote strings if necessary to take into consideration that yaml.safe_load does uses quotations to consider strings as escaped.
  • Fixed a bug in notation_notes_linked_in_see_also_section where the main of notation where the VaultNote objects were incorrectly constructed by passing an argument to the rel_path parameter as opposed to the name parameter.
  • Fixed a bug in _obsidian_vault_plugin_configs_file; I had realized that files for non-core Obsidian.md plugins are stored in .obsidian/plugins/<plugin_name> in the vault directory.
  • Changed the default template_location argument from '.' to '/' in markdown.obsidian.personal.reference.
  • Move latex_to_path_accepted_string function from 20_markdown.obsidian.personal.notation.ipynb to 00_helper.ipynb
  • Modify _consider_part_to_add in 16_latex.convert so that multi-line section titles in LaTeX documents get parsed as single-line titles
  • Modify convert_title_to_folder_name in 12_markdown.obsidian.personal.index_notes.ipynb and _create_note_for_part in 16_latex.convert.ipynb to use sanitize_filename

Ver. 0.0.2

  • I made the mistake of note including much of the contents of index.ipynb in the pypi library release, so that should be fixed..

Ver. 0.0.1

  • Initial release