pyeasyphd 0.3.21__py3-none-any.whl → 0.3.23__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of pyeasyphd might be problematic. Click here for more details.

@@ -14,7 +14,8 @@ __all__ = [
14
14
  "run_compare_bib_with_local",
15
15
  "run_compare_bib_with_zotero",
16
16
  "run_format_bib_to_save_by_entry_type",
17
- "run_format_bib_to_abbr_zotero_save"
17
+ "run_format_bib_to_abbr_zotero_save",
18
+ "run_replace_to_standard_cite_keys"
18
19
  ]
19
20
 
20
21
  from .run_article_md import run_article_md_daily_notes
@@ -29,4 +30,5 @@ from .run_generate import (
29
30
  run_generate_j_weekly,
30
31
  run_generate_j_yearly,
31
32
  )
33
+ from .run_replace import run_replace_to_standard_cite_keys
32
34
  from .run_search import run_compare_after_search, run_search_for_files, run_search_for_screen
@@ -0,0 +1,41 @@
1
+ from typing import Optional
2
+
3
+ from pybibtexer.tools import replace_to_standard_cite_keys
4
+
5
+ from ._base import build_base_options, expand_paths
6
+
7
+
8
+ def run_replace_to_standard_cite_keys(
9
+ full_tex_md: str,
10
+ full_bib: str,
11
+ path_output: str,
12
+ path_conf_j_jsons: str,
13
+ options: Optional[dict] = None,
14
+ ) -> None:
15
+ """
16
+ Replace citation keys in LaTeX documents with standardized versions.
17
+
18
+ Processes LaTeX and BibTeX files to normalize citation keys according to
19
+ configuration standards, then outputs the results to the specified location.
20
+
21
+ Args:
22
+ options: Dictionary of configuration options for citation processing
23
+ full_tex_md: Path to TeX or Markdown file containing citations
24
+ full_bib: Path to the BibTeX bibliography file
25
+ path_output: Output directory path for processed files
26
+ path_conf_j_jsons: Path to journal configuration JSON files
27
+
28
+ Returns:
29
+ None: Results are written to the output directory
30
+ """
31
+ if options is None:
32
+ options = {}
33
+
34
+ # Expand and normalize file paths
35
+ full_tex_md, full_bib, path_output = expand_paths(full_tex_md, full_bib, path_output)
36
+
37
+ # Update options
38
+ options_ = build_base_options([], [], [], [], path_conf_j_jsons)
39
+ options_.update(options)
40
+
41
+ replace_to_standard_cite_keys(full_tex_md, full_bib, path_output, options=options_)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pyeasyphd
3
- Version: 0.3.21
3
+ Version: 0.3.23
4
4
  Summary: pyeasyphd
5
5
  License: GPL-3.0-or-later
6
6
  License-File: LICENSE
@@ -17,7 +17,7 @@ Classifier: Programming Language :: Python :: 3.13
17
17
  Classifier: Programming Language :: Python :: 3.14
18
18
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
19
19
  Requires-Dist: pyadvtools (>=0.2.4,<0.3.0)
20
- Requires-Dist: pybibtexer (>=0.2.7,<0.3.0)
20
+ Requires-Dist: pybibtexer (>=0.2.9,<0.3.0)
21
21
  Project-URL: Documentation, https://github.com/Easy-PhD/pyeasyphd
22
22
  Project-URL: Homepage, https://github.com/Easy-PhD/pyeasyphd
23
23
  Project-URL: Repository, https://github.com/Easy-PhD/pyeasyphd
@@ -24,7 +24,7 @@ pyeasyphd/main/python_run_tex.py,sha256=9Syu8qRjPXN3gEabfRUWxwTFBm_izIcB4yFhsz3Q
24
24
  pyeasyphd/pyeasyphd.py,sha256=OAwbwq2rSXLSk2AoTAF8hmlOMRSRfvDn1Uqk-zkuqH8,3470
25
25
  pyeasyphd/pyeasyphd.sublime-settings,sha256=Bp_41iwVn23bCs1kC0R-XR8PChUF8btVGXfcwi5A_UU,3093
26
26
  pyeasyphd/pyeasyphd.sublime-syntax,sha256=pXylbA-tye-K5dCTjEJLFVRqtY1T7AgWZ4laxo-dnaE,73
27
- pyeasyphd/scripts/__init__.py,sha256=iZ5LfEIdN0IQHD9veiqk9Tooti1CHV0D64Nl3zed-gk,1134
27
+ pyeasyphd/scripts/__init__.py,sha256=4CRYg0X4QIPRnlaB0Gyn2Z7zU5OYp9FwTS6VJq9MsiM,1234
28
28
  pyeasyphd/scripts/_base.py,sha256=Vm-CehgDng38jACb9KBzKkbyJuc_e5UjG06nIMi_l0o,2337
29
29
  pyeasyphd/scripts/run_article_md.py,sha256=3jUPa5eWTtfOzBtwzl6ly1OAWfAR8v-uzwqXcj7aa8M,4263
30
30
  pyeasyphd/scripts/run_article_tex.py,sha256=VJNXyRagM5a-iz_6pb54yb7lQfTOWxYY_lK4eU6jp5Y,3825
@@ -32,6 +32,7 @@ pyeasyphd/scripts/run_beamer_tex.py,sha256=GpUVSXINHkgJFIQe_k9qWElTxLmAVFNLJhviv
32
32
  pyeasyphd/scripts/run_compare.py,sha256=6UfsAjy9giKTIhvgW2gRbfETkc29_KSV4KyMi1ubN04,3237
33
33
  pyeasyphd/scripts/run_format.py,sha256=P1h--AKWblRhbdf1IDmLuu54mbFBFwgGxpGpdLEpZI4,2972
34
34
  pyeasyphd/scripts/run_generate.py,sha256=i8J3X3zn2QMuKUshu3FGpaq4kPw_P7TVXU46Wy_mZ8s,8549
35
+ pyeasyphd/scripts/run_replace.py,sha256=IyH12rM1QRIDDFsFnHV2ZAa5oocsD9-1llXJHhD32Ck,1368
35
36
  pyeasyphd/scripts/run_search.py,sha256=rnepJpdwakpPFaS65XU_MuC-kQHsF94fwP5rGpVO3-o,7970
36
37
  pyeasyphd/tools/__init__.py,sha256=u1MZu_JjVac3HhEmcSTwroS83UVu0W5Vspy3Wu_-GH8,496
37
38
  pyeasyphd/tools/generate/generate_from_bibs.py,sha256=Dp1MyADwIRb9qFTFOkMPJLaeeh7NBjuiSLBN7smP2eo,7640
@@ -46,7 +47,7 @@ pyeasyphd/tools/search/search_keywords.py,sha256=YCurXuoYeU1ftve0cb8Hcn_g2FXCXf7
46
47
  pyeasyphd/tools/search/search_writers.py,sha256=Dz6D8m17R7x8NT7_PCjwmzlq29AfUz-N6sjyCguDTo4,15702
47
48
  pyeasyphd/tools/search/utils.py,sha256=bo7xtIZu31dQvjol1lwyWq1t6ldbw28oondwK8VbAqk,7562
48
49
  pyeasyphd/utils/utils.py,sha256=kWxzzgNwz77K9Q7j-RKTaoPpxqiVLVtaBMMhLuEenwE,3128
49
- pyeasyphd-0.3.21.dist-info/METADATA,sha256=Nq1g4eU7si9QZwtMbjMnjITS_Mk58OVRJYCDsWfvrbA,986
50
- pyeasyphd-0.3.21.dist-info/WHEEL,sha256=zp0Cn7JsFoX2ATtOhtaFYIiE2rmFAD4OcMhtUki8W3U,88
51
- pyeasyphd-0.3.21.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
52
- pyeasyphd-0.3.21.dist-info/RECORD,,
50
+ pyeasyphd-0.3.23.dist-info/METADATA,sha256=SDk1ow7F6heJAlhHUW4wJOz4spjZwE0gmvszHhHST-I,986
51
+ pyeasyphd-0.3.23.dist-info/WHEEL,sha256=zp0Cn7JsFoX2ATtOhtaFYIiE2rmFAD4OcMhtUki8W3U,88
52
+ pyeasyphd-0.3.23.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
53
+ pyeasyphd-0.3.23.dist-info/RECORD,,