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..