<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Sahil Kumar</title>
    <description>The latest articles on DEV Community by Sahil Kumar (@saurabh_shah).</description>
    <link>https://dev.to/saurabh_shah</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3814318%2Fc73122e4-74e4-4890-9fa1-f1e82b5af02a.png</url>
      <title>DEV Community: Sahil Kumar</title>
      <link>https://dev.to/saurabh_shah</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/saurabh_shah"/>
    <language>en</language>
    <item>
      <title>Exporting BibTeX to CSV/Excel/JSON/HTML</title>
      <dc:creator>Sahil Kumar</dc:creator>
      <pubDate>Tue, 30 Jun 2026 05:22:00 +0000</pubDate>
      <link>https://dev.to/saurabh_shah/exporting-bibtex-to-csvexceljsonhtml-1ng</link>
      <guid>https://dev.to/saurabh_shah/exporting-bibtex-to-csvexceljsonhtml-1ng</guid>
      <description>&lt;p&gt;Sometimes you don't want a formatted bibliography, you want your bibtex as a spreadsheet or a JSON array you can pipe into something else. Four separate output formats, each solving a specific annoyance:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://thelatexlab.com/bibtex-to-csv/" rel="noopener noreferrer"&gt;BibTeX to CSV&lt;/a&gt;&lt;/strong&gt;: writes a UTF-8 byte-order-mark at the start of the file. Sounds minor, but without it, Excel opens UTF-8 CSVs and garbles every accented character - your "Krämer" becomes "Krämer" with mangled bytes. One row per record (author/title/year/journal/volume/issue/pages/doi columns), CRLF line endings, so it's genuinely Excel-safe, not just technically valid CSV.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://thelatexlab.com/bibtex-to-excel/" rel="noopener noreferrer"&gt;BibTeX to Excel&lt;/a&gt;&lt;/strong&gt;: same data, but as a real .xlsx binary instead of a CSV Excel might still mis-handle. Uses the exceljs library, lazy-loaded (~270 KB) only if you actually pick Excel as the output, so it doesn't bloat the page for everyone else. One file, downloads directly (no copy-paste, since it's binary).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://thelatexlab.com/bibtex-to-json/" rel="noopener noreferrer"&gt;BibTeX to JSON&lt;/a&gt;&lt;/strong&gt;: outputs CSL-JSON specifically, not some made-up JSON shape - CSL-JSON is the same format Zotero, Pandoc, citeproc-js, and Quarto/RMarkdown all use natively, so this drops straight into a Zotero import or a Pandoc pipeline. A lot of "bibtex to json" tools invent their own structure that nothing else reads.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://thelatexlab.com/bibtex-to-html/" rel="noopener noreferrer"&gt;BibTeX to HTML&lt;/a&gt;&lt;/strong&gt;: renders in APA style with actual  tags for italics (not asterisks or nothing).&lt;/p&gt;

&lt;p&gt;All four take the same input (paste bibtex), parsed once through citation.js into CSL-JSON, then written out in whichever format you pick.&lt;/p&gt;

</description>
      <category>bibtex</category>
      <category>csv</category>
      <category>excel</category>
      <category>json</category>
    </item>
    <item>
      <title>I Built a Free WordPress Citation Plugin for Academic Websites</title>
      <dc:creator>Sahil Kumar</dc:creator>
      <pubDate>Mon, 29 Jun 2026 04:35:28 +0000</pubDate>
      <link>https://dev.to/saurabh_shah/i-built-a-free-wordpress-citation-plugin-for-academic-websites-4854</link>
      <guid>https://dev.to/saurabh_shah/i-built-a-free-wordpress-citation-plugin-for-academic-websites-4854</guid>
      <description>&lt;p&gt;TheLaTeXLab - Citations &amp;amp; Bibliography is a WordPress citation plugin and bibliography plugin for academic bloggers, PhD students, postdocs, and research labs. Easily add citations and a bibliography in your WordPress website: paste a DOI, PubMed ID, ISBN, or arXiv ID and get a clean in-text citation and automatically generate a bibliography in APA, MLA, Chicago, IEEE, Vancouver, and other citation styles.&lt;/p&gt;

&lt;p&gt;Install the Plugin - &lt;a href="https://wordpress.org/plugins/thelatexlab-citations-bibliography/" rel="noopener noreferrer"&gt;TheLaTeXLab - Citation and Bibliography Wordpress Plugin&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Perfect for academic blogs, university websites, research group websites, online journals, and personal publication pages.&lt;/p&gt;

&lt;p&gt;A modern, actively maintained citation tool, it works as an up-to-date citation and BibTeX plugin for WordPress. It runs in both the block editor (Gutenberg) and the Classic Editor, and it does not lock your content: deactivate the plugin and your in-text citations stay readable as plain text. If you have been looking for an easy way to cite research papers and sources in WordPress, or to turn a DOI into a citation and bibliography, this is the plugin for it.&lt;/p&gt;

&lt;p&gt;Full documentation and a step-by-step guide on how to use the plugin: &lt;a href="https://thelatexlab.com/academic-citations-bibliography-wordpress-plugin/" rel="noopener noreferrer"&gt;TheLaTeXLab – Citations &amp;amp; Bibliography documentation and how-to guide.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Insert citations from identifiers&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;DOI to BibTeX → thelatexlab.com/doi-to-bibtex/ : paste a DOI, get the verified record from CrossRef.&lt;/li&gt;
&lt;li&gt;PubMed to BibTeX → thelatexlab.com/pubmed-to-bibtex/ : paste a PubMed ID (PMID) or PMC ID.&lt;/li&gt;
&lt;li&gt;ISBN to BibTeX → thelatexlab.com/isbn-to-bibtex/ : paste an ISBN-10 or ISBN-13.&lt;/li&gt;
&lt;li&gt;arXiv to BibTeX → thelatexlab.com/arxiv-to-bibtex/ : paste an arXiv ID.&lt;/li&gt;
&lt;li&gt;Paste a URL from doi.org, arxiv.org, PubMed, or a publisher page and the plugin extracts and verifies the identifier. A citation is produced only when it can be confidently verified against the source, never guessed.&lt;/li&gt;
&lt;li&gt;Import existing libraries: BibTeX (.bib) and RIS (.ris) upload.&lt;/li&gt;
&lt;li&gt;Auto-format a bibliography&lt;/li&gt;
&lt;li&gt;Eight citation styles: APA 7, MLA 9, Chicago 17 (author-date), Harvard, IEEE, Vancouver, Nature, AMA. Selectable per post, with a site-wide default.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Block editor and Classic Editor, both&lt;/strong&gt;&lt;br&gt;
An "Insert Citation" block for Gutenberg and a toolbar button for the Classic Editor, sharing the same search-or-paste modal.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Publications page mode&lt;/strong&gt;&lt;br&gt;
A publications list block and the [thelatexlab_publications] shortcode render your references as a sortable, filterable list. Ideal for a researcher's personal site.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Robust by design&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Citations are stored as portable JSON. Deactivate the plugin and in-text citations stay readable.&lt;/li&gt;
&lt;li&gt;Resolved metadata is cached for 30 days.&lt;/li&gt;
&lt;li&gt;Compatible with PHP 7.4+ and WordPress 6.0+.&lt;/li&gt;
&lt;li&gt;Built and designed for researchers who need fast, accurate academic citations in WordPress.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>wordpress</category>
      <category>citation</category>
      <category>bibliography</category>
      <category>references</category>
    </item>
    <item>
      <title>BibTeX to APA/MLA/Chicago/Harvard/IEEE/AMA/Vancouver - built all 7</title>
      <dc:creator>Sahil Kumar</dc:creator>
      <pubDate>Sun, 28 Jun 2026 13:50:00 +0000</pubDate>
      <link>https://dev.to/saurabh_shah/bibtex-to-apamlachicagoharvardieeeamavancouver-built-all-7-gmb</link>
      <guid>https://dev.to/saurabh_shah/bibtex-to-apamlachicagoharvardieeeamavancouver-built-all-7-gmb</guid>
      <description>&lt;p&gt;APA, MLA, Chicago, Harvard, IEEE, and AMA are not novel - citeproc-js and citation.js already have solid templates for all of these and any halfway decent tool renders them fine. The one real gap I found is Vancouver - a lot of free citation converters just don't have it, and it's the standard for a ton of medical/clinical journals.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How it works across all seven&lt;/strong&gt;: paste a bibtex entry (@article{...} etc), citation.js parses it into CSL-JSON, then the corresponding CSL template (each one lazy-loaded only when you pick that style, so the page doesn't ship 7 templates' worth of JS upfront) renders the final text. The source bibtex stays visible above the output so if you're converting a batch you can match which output came from which entry.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Vancouver specifically&lt;/strong&gt;: it's a proper numbered-citation format with author initials formatted correctly (LeCun Y, not LeCun, Yann - a detail some tools get wrong because they're not actually using a real Vancouver CSL template, just reformatting APA).&lt;/p&gt;

&lt;p&gt;So: if you need APA/MLA/Chicago/Harvard/IEEE/AMA, this works fine but isn't uniquely better than alternatives. If you need Vancouver, this is one of the few free tools that has it at all.&lt;/p&gt;

&lt;p&gt;Tool Pages:-&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;BibTeX to APA Converter - &lt;a href="https://thelatexlab.com/bibtex-to-apa/" rel="noopener noreferrer"&gt;https://thelatexlab.com/bibtex-to-apa/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;BibTeX to MLA Converter - &lt;a href="https://thelatexlab.com/bibtex-to-mla/" rel="noopener noreferrer"&gt;https://thelatexlab.com/bibtex-to-mla/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;BibTeX to Chicago Converter - &lt;a href="https://thelatexlab.com/bibtex-to-chicago/" rel="noopener noreferrer"&gt;https://thelatexlab.com/bibtex-to-chicago/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;BibTeX to Harvard Converter - &lt;a href="https://thelatexlab.com/bibtex-to-harvard/" rel="noopener noreferrer"&gt;https://thelatexlab.com/bibtex-to-harvard/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;BibTeX to IEEE Converter - &lt;a href="https://thelatexlab.com/bibtex-to-ieee/" rel="noopener noreferrer"&gt;https://thelatexlab.com/bibtex-to-ieee/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;BibTeX to AMA Converter - &lt;a href="https://thelatexlab.com/bibtex-to-ama/" rel="noopener noreferrer"&gt;https://thelatexlab.com/bibtex-to-ama/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;BibTeX to Vancouver Converter - &lt;a href="https://thelatexlab.com/bibtex-to-vancouver/" rel="noopener noreferrer"&gt;https://thelatexlab.com/bibtex-to-vancouver/&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>bibtex</category>
      <category>apa</category>
      <category>mla</category>
      <category>ieee</category>
    </item>
    <item>
      <title>NBIB (PubMed MEDLINE) to BibTeX</title>
      <dc:creator>Sahil Kumar</dc:creator>
      <pubDate>Sat, 27 Jun 2026 05:10:00 +0000</pubDate>
      <link>https://dev.to/saurabh_shah/nbib-pubmed-medline-to-bibtex-3dj4</link>
      <guid>https://dev.to/saurabh_shah/nbib-pubmed-medline-to-bibtex-3dj4</guid>
      <description>&lt;p&gt;&lt;strong&gt;From PubMed&lt;/strong&gt;: select results → Send to → Citation manager → Create file. That gives you a .nbib file (MEDLINE format) - a different export than RIS or EndNote tags entirely, and citation.js (the library most free converters lean on) doesn't parse it. This is a parser built specifically for it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Three fixes that matter&lt;/strong&gt;: NBIB wraps long values onto continuation lines starting with six spaces - a title or abstract spanning three lines is one logical value with two continuation rows. Parsers that don't handle the indentation truncate at the first line or treat the continuation as a separate field. This reassembles continuations back into the parent field. Second, NBIB has two author tags - AU is "Last F" (initials only), FAU is "Last, First" (full name) - and most converters grab whichever appears first (usually AU), giving "LeCun Y" instead of "LeCun, Yann." This prefers FAU when present. Same logic for journals: TA is the NLM abbreviation, JT is the full title, and this prefers JT.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Third&lt;/strong&gt;: the DOI is buried inside the LID or AID field with a type marker, like LID - 10.1038/nature14539 [doi]. Converters that don't parse the marker either skip the DOI or emit the whole bracketed string as the field value. This extracts the DOI proper, alongside PMID and ISSN. Compressed page ranges expand the same way as the PubMed tool, trailing periods on titles get stripped (CSL/BibTeX convention), and multi-value tags (authors, MeSH headings, keywords) stay as arrays instead of collapsing into one string.&lt;/p&gt;

&lt;p&gt;Link: &lt;a href="https://thelatexlab.com/nbib-to-bibtex/" rel="noopener noreferrer"&gt;thelatexlab.com/nbib-to-bibtex/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>nbib</category>
      <category>pubmed</category>
      <category>bibtex</category>
      <category>thelatexlab</category>
    </item>
    <item>
      <title>EndNote (.enw) to BibTeX</title>
      <dc:creator>Sahil Kumar</dc:creator>
      <pubDate>Fri, 26 Jun 2026 09:13:00 +0000</pubDate>
      <link>https://dev.to/saurabh_shah/endnote-enw-to-bibtex-27l6</link>
      <guid>https://dev.to/saurabh_shah/endnote-enw-to-bibtex-27l6</guid>
      <description>&lt;p&gt;Reads the .enw tagged-export format specifically (File → Export → Output Style: "EndNote Export," not the styled bibliography). If the export starts with TY, that's RIS, not this - use the RIS tool instead. If it's PubMed's MEDLINE format with tags like PMID/FAU, that's NBIB.&lt;/p&gt;

&lt;p&gt;The real fix: EndNote writes one %A line per author. A naive parser grabs only the first line or joins every %A into one comma-separated string, which BibTeX then renders as a single author with an absurdly long name. This keeps each %A separate and writes them with BibTeX's and separator - same treatment for editors (%E) and translators (%Y).&lt;/p&gt;

&lt;p&gt;Second fix, same shape as the RIS tool: .enw has no citekey concept either, so this generates real lastnameYearWord keys instead of sequential numbers. EndNote has roughly 50 reference types; most converters recognize Journal Article and Book and dump the rest into @ misc - this maps Conference Paper (@ inproceedings), Book Section (@incollection), Thesis (@ phdthesis), Report (@ techreport), Manuscript (@ unpublished) properly, with a per-row override. DOI (%R) and URL (%U) preserved, character escaping and acronym brace-protection same as everywhere else.&lt;/p&gt;

&lt;p&gt;Worth knowing: this reads .enw only, not the .enl binary library file - if you've got an .enl, open it in EndNote and export as "EndNote Export" first to get the .enw.&lt;/p&gt;

&lt;p&gt;Link: &lt;a href="https://thelatexlab.com/endnote-to-bibtex/" rel="noopener noreferrer"&gt;thelatexlab.com/endnote-to-bibtex/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>endnote</category>
      <category>enw</category>
      <category>bibtex</category>
      <category>thelatexlab</category>
    </item>
    <item>
      <title>RIS to BibTeX (EndNote/Zotero/Mendeley/Web of Science/Scopus exports)</title>
      <dc:creator>Sahil Kumar</dc:creator>
      <pubDate>Wed, 24 Jun 2026 06:02:00 +0000</pubDate>
      <link>https://dev.to/saurabh_shah/ris-to-bibtex-endnotezoteromendeleyweb-of-sciencescopus-exports-6b</link>
      <guid>https://dev.to/saurabh_shah/ris-to-bibtex-endnotezoteromendeleyweb-of-sciencescopus-exports-6b</guid>
      <description>&lt;p&gt;RIS is the universal export format for citation managers - EndNote (File → Export → Output Style: RefMan RIS), Zotero (right-click a collection → Export → RIS), Mendeley, Web of Science, Scopus, and PubMed's "Export" dialog all produce it. Paste or upload the file (handles multi-entry batches), pick a dialect, get BibTeX back. Parsing happens entirely client-side - nothing leaves the tab.&lt;/p&gt;

&lt;p&gt;The thing that actually matters: RIS predates BibTeX and has no concept of a citation key, so most converters assign sequential numbers (@ article{ref_1,...}) or an internal temp ID, meaning every \cite{} needs rewriting by hand after converting. This generates real lastnameYearWord keys (lecun2015deep) directly from the bibliographic data, with collision handling.&lt;/p&gt;

&lt;p&gt;Second real fix: RIS type codes go well beyond JOUR and BOOK - CHAP, CPAPER/CONF, THES/MTHES, RPRT, ELEC, DATA. Most converters only recognize the first two and dump everything else into @ misc. This maps the full common set to @ inproceedings, @ incollection, @ phdthesis, @ mastersthesis, @ techreport, with a per-row override available. SP/EP page fields combine into a proper range with an en-dash, and DOI/ISSN/URL are preserved across the conversion so you can re-resolve downstream (paste the DOI back into the DOI tool, the ISBN into the ISBN tool). Same ampersand-escaping and acronym brace-protection as the other tools.&lt;/p&gt;

&lt;p&gt;Link: &lt;a href="https://thelatexlab.com/ris-to-bibtex/" rel="noopener noreferrer"&gt;thelatexlab.com/ris-to-bibtex/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ris</category>
      <category>bibtex</category>
      <category>thelatexlab</category>
    </item>
    <item>
      <title>ISBN to BibTeX - checks three sources before saying "not found</title>
      <dc:creator>Sahil Kumar</dc:creator>
      <pubDate>Tue, 23 Jun 2026 11:00:00 +0000</pubDate>
      <link>https://dev.to/saurabh_shah/isbn-to-bibtex-checks-three-sources-before-saying-not-found-47j</link>
      <guid>https://dev.to/saurabh_shah/isbn-to-bibtex-checks-three-sources-before-saying-not-found-47j</guid>
      <description>&lt;p&gt;Most free ISBN tools query OpenLibrary alone, and OpenLibrary's coverage is genuinely uneven - contributor-maintained, so non-English titles, recent editions, and self-published books often just aren't there. This tries OpenLibrary's books API first, falls back to OpenLibrary's separate search index, then Google Books, and only reports "not found" if all three miss.&lt;/p&gt;

&lt;p&gt;Two specific cleanups: both OpenLibrary and Google Books split subtitles into a separate field - "Artificial Intelligence: A Modern Approach" comes back as title="Artificial Intelligence" plus a standalone subtitle. @ book has no subtitle field, so converters reading only title silently drop "A Modern Approach." This joins them with a colon. Second, OpenLibrary's publish_date is genuinely inconsistent - "2023", "January 2023", "January 1, 2023", "2023-01-01" all show up - and passing that through verbatim gives year = {January 1, 2023}, which BibTeX accepts but every bibstyle renders wrong. This regex-extracts just the four-digit year. Same acronym brace-protection as the other tools (AI, HTML, SQL, CRISPR).&lt;/p&gt;

&lt;p&gt;Honest gap: edition strings and individual volume numbers aren't extracted, since OpenLibrary's edition data is sparse and Google Books rarely separates it - add edition or volume by hand if needed. Works with ISBN-10 or ISBN-13, hyphenated or not, and there's a per-row type override if you're citing a chapter (@inbook/@incollection) instead of a whole book.&lt;/p&gt;

&lt;p&gt;Link: &lt;a href="https://thelatexlab.com/isbn-to-bibtex/" rel="noopener noreferrer"&gt;thelatexlab.com/isbn-to-bibtex/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>isbn</category>
      <category>bibtex</category>
      <category>thelatexlab</category>
    </item>
    <item>
      <title>arXiv to BibTeX - fixes the doubled "arXiv:"</title>
      <dc:creator>Sahil Kumar</dc:creator>
      <pubDate>Mon, 22 Jun 2026 08:51:00 +0000</pubDate>
      <link>https://dev.to/saurabh_shah/arxiv-to-bibtex-fixes-the-doubled-arxiv-59b7</link>
      <guid>https://dev.to/saurabh_shah/arxiv-to-bibtex-fixes-the-doubled-arxiv-59b7</guid>
      <description>&lt;p&gt;arXiv's API doesn't send CORS headers, so a genuinely browser-only tool can't talk to it directly - this routes through a small proxy (a cPanel PHP passthrough, not a third-party service) that hits arXiv's API and parses the result. The proxy doesn't log bibliographic content, caches by ID hash (30 days for versioned IDs since those are immutable, 7 days otherwise), and rate-limits per IP.&lt;/p&gt;

&lt;p&gt;The actual bug this fixes: most converters emit eprint = {arXiv:1706.03762}, but biblatex's \eprint macro prepends "arXiv:" itself at render time - so the rendered citation reads "arXiv:arXiv:1706.03762." The acmart LaTeX class hit exactly this (it's issue #382 on their tracker). The fix is emitting the bare ID in eprint and putting the prefix in archivePrefix instead.&lt;/p&gt;

&lt;p&gt;Other specifics: citekeys come out as vaswani2017attention rather than the raw numeric ID some converters use (arxiv2bibtex.org keys on the literal 1706.03762, which breaks alpha.bst labels and makes \cite{} unreadable). Handles old-style IDs (math/0506203, hep-th/9901001) and new-style with version suffixes (1706.03762v2) preserved if included. Inline math in titles like $O(n \log n)$ is detected and passed through unescaped. Defaults to @ misc for true preprints but exposes a per-row override - community convention is genuinely split here, some prefer @online with eprinttype={arxiv}, some use @article - switch per entry as needed. If the paper's also published with a DOI, the DOI tool is the cleaner path for that entry.&lt;/p&gt;

&lt;p&gt;Link: &lt;a href="https://thelatexlab.com/arxiv-to-bibtex/" rel="noopener noreferrer"&gt;thelatexlab.com/arxiv-to-bibtex/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>arxiv</category>
      <category>bibtex</category>
      <category>thelatexlab</category>
    </item>
    <item>
      <title>PMID to BibTeX - fixes the page-range and preprint-ID bugs</title>
      <dc:creator>Sahil Kumar</dc:creator>
      <pubDate>Sun, 21 Jun 2026 10:48:00 +0000</pubDate>
      <link>https://dev.to/saurabh_shah/pmid-to-bibtex-fixes-the-page-range-and-preprint-id-bugs-1am</link>
      <guid>https://dev.to/saurabh_shah/pmid-to-bibtex-fixes-the-page-range-and-preprint-id-bugs-1am</guid>
      <description>&lt;p&gt;Paste a PMID (numeric only - PMCIDs go through a different path; up to 50 batched), it hits Europe PMC's REST API instead of NCBI, specifically because NCBI's E-utilities don't send CORS headers, so a real browser-only tool can't talk to them directly. Europe PMC mirrors the same MEDLINE data and supports CORS.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Two real bugs fixed&lt;/strong&gt;: NLM compresses page ranges, so "436-44" means pages 436 through 444, not 36 to 44 - most tools emit the literal string, technically valid but wrong under any bibstyle that doesn't expand it. This expands it to 436--444. Second, COVID-era papers that started on medRxiv/bioRxiv sometimes have the preprint ID itself sitting in the page field, like 2020.03.27.20044925 - passed through as pages that's a nonsense citation that still compiles. This detects multi-dot junk and drops the field instead.&lt;/p&gt;

&lt;p&gt;Full journal title comes through (New England Journal of Medicine) rather than the NLM abbreviation (N Engl J Med), since most bibstyles expect the full form and abbreviate themselves. When Europe PMC also has a DOI, both are included so the entry resolves under either identifier. Same acronym brace-protection as the DOI tool. Europe PMC tags every record as a plain journal article - reviews, letters, editorials all come through the same - so there's a per-row type override.&lt;/p&gt;

&lt;p&gt;One real limitation worth knowing: non-Latin author names (Chinese, Cyrillic, Arabic, Greek) pass through as UTF-8 in both dialects, since there's no LaTeX accent-macro equivalent - you need a Unicode-aware bibstyle or biber regardless of which converter you use.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Link&lt;/strong&gt;: &lt;a href="https://thelatexlab.com/pubmed-to-bibtex/" rel="noopener noreferrer"&gt;thelatexlab.com/pubmed-to-bibtex/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>pmid</category>
      <category>pubmed</category>
      <category>bibtex</category>
      <category>thelatexlab</category>
    </item>
    <item>
      <title>DOI to BibTeX converter - doesn't lowercase your acronyms or choke on ampersands</title>
      <dc:creator>Sahil Kumar</dc:creator>
      <pubDate>Sat, 20 Jun 2026 09:58:00 +0000</pubDate>
      <link>https://dev.to/saurabh_shah/doi-to-bibtex-converter-doesnt-lowercase-your-acronyms-or-choke-on-ampersands-51gm</link>
      <guid>https://dev.to/saurabh_shah/doi-to-bibtex-converter-doesnt-lowercase-your-acronyms-or-choke-on-ampersands-51gm</guid>
      <description>&lt;p&gt;Paste a DOI (up to 50, resolved in parallel), it goes straight from your browser to CrossRef's API, comes back as bibliographic data, gets written to BibTeX. Nothing touches a server in between - exists in the browser session, gone when you close the tab.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Two output dialects&lt;/strong&gt;: BibLaTeX keeps accents as raw UTF-8 (for biber), Legacy BibTeX rewrites them as macros like Kr{\"a}mer (for old pdfLaTeX bibtex setups, since raw UTF-8 either errors or sorts wrong there). Check your preamble - \usepackage{biblatex} + \addbibresource means BibLaTeX, \bibliographystyle + \bibliography means Legacy.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The actual fixes&lt;/strong&gt;: titles aren't brace-protected by most converters, so under bibstyles that case-fold titles, "DNA repair in RNA viruses" becomes "Dna repair in rna viruses" - this wraps all-caps tokens in braces so that can't happen. CrossRef returns bare reserved characters like &amp;amp; in journal names, which is an active LaTeX character and throws "Misplaced alignment tab character" on compile - auto-escaped. CrossRef also mistags entry types more than expected (tags conference papers as journal-article), so there's a per-row dropdown to override @article before you copy.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Failed lookups show inline with the reason&lt;/strong&gt; - usually a typo, a withdrawn paper, or a record not in CrossRef's index. If it's not in CrossRef but you know the PMID or arXiv ID, the PubMed and arXiv tools exist for exactly that fallback. Worth knowing: the BibTeX this produces is a clean starting point, not pre-conformed to IEEE/Elsevier/ACM submission templates - those enforce their own field ordering on top.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Link&lt;/strong&gt;: &lt;a href="https://thelatexlab.com/doi-to-bibtex/" rel="noopener noreferrer"&gt;thelatexlab.com/doi-to-bibtex/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>doi</category>
      <category>bibtex</category>
      <category>latex</category>
      <category>thelatexlab</category>
    </item>
    <item>
      <title>Free latexdiff online by TheLaTeXLab - now handles full multi-file LaTeX projects</title>
      <dc:creator>Sahil Kumar</dc:creator>
      <pubDate>Fri, 19 Jun 2026 09:39:14 +0000</pubDate>
      <link>https://dev.to/saurabh_shah/free-latexdiff-online-by-thelatexlab-now-handles-full-multi-file-latex-projects-5eje</link>
      <guid>https://dev.to/saurabh_shah/free-latexdiff-online-by-thelatexlab-now-handles-full-multi-file-latex-projects-5eje</guid>
      <description>&lt;p&gt;latexdiff is a Perl script that compares two LaTeX source files and outputs a third file with \DIFadd{...} around insertions and \DIFdel{...} around deletions — compile it and additions show in blue, deletions in red strikethrough (via the ulem package). It's not a generic text diff: it parses LaTeX structure first, so renaming a \section{} doesn't read as a full rewrite, and it diffs at the paragraph/sentence/equation level while keeping the output compilable. This is the standard way journals expect a marked-up revision file alongside a clean resubmission.&lt;/p&gt;

&lt;p&gt;Why this exists as a separate tool at all: latexdiff ships with TeX Live/MiKTeX on Mac/Linux, but it's Perl, and Windows doesn't have Perl preinstalled — you end up installing Strawberry Perl and fighting PATH issues for a one-off comparison. Overleaf has latexdiff built into Track Changes, but that's gated behind their paid Premium plan. This runs the real latexdiff Perl script from CTAN server-side (not a JS approximation), free, no install.&lt;/p&gt;

&lt;p&gt;Was single-file-only until recently - now the new update handles complete multi-file projects. You upload two project ZIPs (original and revised) instead of pasting raw .tex, and it resolves \input{}/\include{} across the whole project rather than you having to flatten everything into one file first. If your Overleaf project spans multiple chapters/sections as separate files, download both versions as ZIPs (Overleaf: Menu → Download → Source) and upload them directly — no manual merging.&lt;/p&gt;

&lt;p&gt;Limitations: 500KB per individual file, 4MB total decompressed project size, 5MB ZIP upload size. That's comfortable for basically any single paper and most full theses.&lt;/p&gt;

&lt;p&gt;Link: &lt;a href="https://thelatexlab.com/latexdiff-online/" rel="noopener noreferrer"&gt;thelatexlab.com/latexdiff-online/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>latexdiff</category>
      <category>latex</category>
    </item>
    <item>
      <title>Generic LaTeX thesis templates don't meet Australian university requirements</title>
      <dc:creator>Sahil Kumar</dc:creator>
      <pubDate>Tue, 21 Apr 2026 05:50:00 +0000</pubDate>
      <link>https://dev.to/saurabh_shah/generic-latex-thesis-templates-dont-meet-australian-university-requirements-1bhd</link>
      <guid>https://dev.to/saurabh_shah/generic-latex-thesis-templates-dont-meet-australian-university-requirements-1bhd</guid>
      <description>&lt;p&gt;Most LaTeX thesis templates floating around online are built for US universities. Australian universities have different requirements: A4 paper (not US Letter), different front matter sequences, and thesis-by-publication formats that are much more common here than in the US.&lt;/p&gt;

&lt;p&gt;The front matter order alone is a frequent rejection reason. University of Melbourne requires one sequence; ANU requires a different one; most generic templates follow US convention, which matches neither.&lt;/p&gt;

&lt;p&gt;Thesis by publication (where your chapters are published papers with connecting text) adds another layer. Each paper was formatted for a different journal template (IEEE, Elsevier, Springer, etc.) and needs to be unified into a single thesis style with consistent formatting and either per-chapter or consolidated bibliographies.&lt;/p&gt;

&lt;p&gt;There's a &lt;a href="https://thelatexlab.com/thesis-formatting-australia/" rel="noopener noreferrer"&gt;PhD thesis formatting service for Australian universities&lt;/a&gt; that has worked with all Group of Eight institutions and knows the specific front matter requirements, Australian citation styles (APA 7th, Harvard, Vancouver), and thesis-by-publication formatting. They also confirm the service falls within IPEd guidelines, so you can declare it in your academic integrity statement.&lt;/p&gt;

</description>
      <category>phd</category>
      <category>thesis</category>
      <category>latex</category>
      <category>overleaf</category>
    </item>
  </channel>
</rss>
