arjaaارجاع
GitHub

cross-reference check for Persian .docx thesesبررسی ارجاع‌ها در پایان‌نامهٔ .docx فارسی · v0.1.0

Every figure and citation should point at something.هر شکل و هر ارجاع باید به چیزی اشاره کند.

arjaa reads a Persian .docx and checks the numbers and the sources the way a careful reader would, but for all of it at once. Figures and tables: duplicates, gaps, a number from the wrong chapter, mentions of «شکل ۲-۳» when there is no figure 2-3, figures nobody mentions. Citations against the reference list: no entry, wrong year, never cited, duplicates, with Persian and Latin sources mixed in one list. ۱۳۹۸, 1398 and ١٣٩٨ are the same year to it.ارجاع یک .docx فارسی را می‌خواند و شماره‌ها و منبع‌ها را مثل یک خواننده‌ٔ دقیق می‌سنجد، ولی همه را یک‌جا. شکل و جدول: شمارهٔ تکراری، شمارهٔ جاافتاده، شماره از فصل دیگر، ارجاع به «شکل ۲-۳» وقتی چنین شکلی نیست، شکلی که هیچ‌جا به آن اشاره نشده. ارجاع‌های متنی در برابر فهرست منابع: بدون مدخل، سال نادرست، هرگز ارجاع‌نشده، تکراری؛ با منبع فارسی و لاتین در یک فهرست. ۱۳۹۸ و 1398 و ١٣٩٨ برایش یک سال‌اند.

in the text · mentions and citationsدر متن · ارجاع‌هاcaptions and referencesعنوان‌ها و منابع
matchedجور شدyear differsسال متفاوتpoints at nothingبه هیچ‌چیز اشاره نمی‌کندnever usedهرگز استفاده نشده
  • Python 3.9+
  • MIT
  • 0 deps
  • offline
  • 41 tests

Live · the real checksزنده · همان بررسی‌های واقعی

Paste an excerpt. Watch the strings tie, or snap.گزیده‌ای بچسبانید. ببینید ریسمان‌ها بسته می‌شوند یا پاره.

This runs a JavaScript port of arjaa's caption, mention and author-year citation checks in your browser. Nothing is uploaded. One line is one paragraph; a line starting with # is a Heading 1, and a heading such as «منابع» starts the reference list. Numeric [1] citations, the Jalali/Gregorian year checks and the rest are ported too; the port gave the same findings as the Python engine on 300 randomly edited theses (A105 and A204 are left out).این صفحه نسخهٔ جاوااسکریپتی بررسی‌های شمارهٔ عنوان، ارجاع‌های متنی و ارجاع نویسنده-سال ارجاع را در مرورگر شما اجرا می‌کند. چیزی بارگذاری نمی‌شود. هر خط یک پاراگراف است؛ خطی که با # شروع شود سرفصل است و سرفصلی مثل «منابع» فهرست منابع را آغاز می‌کند. ارجاع عددی [1] و بررسی سال شمسی/میلادی هم پورت شده‌اند؛ پورت روی ۳۰۰ پایان‌نامهٔ تصادفی ویرایش‌شده همان یافته‌های موتور پایتون را داد (A105 و A204 کنار گذاشته شده‌اند).

arjaa itself only reports and never edits; the “Fix” button here just demonstrates how the findings clear.خود ارجاع فقط گزارش می‌دهد و فایل را ویرایش نمی‌کند؛ دکمهٔ «اصلاح» فقط نشان می‌دهد یافته‌ها چطور پاک می‌شوند.

in the text · mentions and citationsدر متن · ارجاع‌هاcaptions and referencesعنوان‌ها و منابع
matchedجور شدyear differsسال متفاوتpoints at nothingبه هیچ‌چیز اشاره نمی‌کندnever usedهرگز استفاده نشده

A year of editsیک سال ویرایش

How a thesis loses its strings.پایان‌نامه چطور ریسمان‌هایش را گم می‌کند.

It plays when it scrolls into view. Drag the slider to stop it and move through the year yourself: each stop is a real edit, and the map is the real audit of that version.وقتی به صفحه می‌رسید خودش پخش می‌شود. نوار را بکشید تا متوقف شود و خودتان در سال جلو و عقب بروید: هر ایستگاه یک ویرایش واقعی است و نقشه، بررسی واقعی همان نسخه.

in the text · mentions and citationsدر متن · ارجاع‌هاcaptions and referencesعنوان‌ها و منابع
matchedجور شدyear differsسال متفاوتpoints at nothingبه هیچ‌چیز اشاره نمی‌کندnever usedهرگز استفاده نشده

Demoنمایش

What it prints for a thesis.برای یک پایان‌نامه چه چاپ می‌کند.

$ arjaa thesis.docxreal output, synthetic fileخروجی واقعی، فایل ساختگی
arjaa 0.1.0 · thesis.docx · 55 paragraphs
floats: 5 «شکل», 2 «جدول» · 6 mention(s), 0 Word cross-reference field(s) · 3 chapters
references: 9 entries (author-year) · 9 citation(s) recognised in the text

✗ A101 the same caption number is used twice   [¶34]
      ¶34  ⁦شکل ۳-۱: ساختار شبکه⸱ی حسگر⁩   — same number as ¶32
    why : Two figures (or tables) with one number make every in-text reference ambiguous.
    fix : Renumber one of them; if the captions use Word's SEQ field, press Ctrl+A, F9.

✗ A201 mention of a figure/table that has no caption   [¶15]
      ¶15  ⁦مقایسه⸱ی دو روش در شکل ⟦۲-۳⟧ و نمودار ۲-۱ نشان داده⁩   — captions: ۲-۱, ۲-۲, ۲-۴, ۳-۱
    why : The text points at a number that does not exist in this document (typo, deleted figure, or a number from another chapter).
    fix : Correct the mention or add the missing caption.

✗ A321 citation without a matching reference entry   [¶14]
      ¶14  ⁦Johnson, 2017⁩
    why : No entry has this author (and year) in the list.
    fix : Add the entry, or correct the name.

✗ A322 citation year differs from the reference entry   [2× ¶6  ¶11]
       ¶6  ⁦Brown, 2031⁩   — list has Brown with 2018
      ¶11  ⁦احمدی، ۱۴۰۱⁩   — list has احمدی with ۱۴۰۰
    why : The list has this author, but with another year: usually a typo, or one of two works by the same author.
    fix : Make the year in the text and in the list agree.

! A102 caption numbers skip or go backwards   [¶17]
      ¶17  ⁦شکل ۲-۴: مقایسه⸱ی دو روش⁩   — skips ۲-۳
    why : A gap usually means a figure was deleted or moved and the numbers were typed by hand; a backwards step means one was pasted in from another chapter.
    fix : Renumber (Insert → Caption does it automatically), then update every mention.

…
Show the full, unedited outputنمایش خروجی کامل و بدون ویرایش
arjaa 0.1.0 · thesis.docx · 55 paragraphs
floats: 5 «شکل», 2 «جدول» · 6 mention(s), 0 Word cross-reference field(s) · 3 chapters
references: 9 entries (author-year) · 9 citation(s) recognised in the text

✗ A101 the same caption number is used twice   [¶34]
      ¶34  ⁦شکل ۳-۱: ساختار شبکه⸱ی حسگر⁩   — same number as ¶32
    why : Two figures (or tables) with one number make every in-text reference ambiguous.
    fix : Renumber one of them; if the captions use Word's SEQ field, press Ctrl+A, F9.

✗ A201 mention of a figure/table that has no caption   [¶15]
      ¶15  ⁦مقایسه⸱ی دو روش در شکل ⟦۲-۳⟧ و نمودار ۲-۱ نشان داده⁩   — captions: ۲-۱, ۲-۲, ۲-۴, ۳-۱
    why : The text points at a number that does not exist in this document (typo, deleted figure, or a number from another chapter).
    fix : Correct the mention or add the missing caption.

✗ A321 citation without a matching reference entry   [¶14]
      ¶14  ⁦Johnson, 2017⁩
    why : No entry has this author (and year) in the list.
    fix : Add the entry, or correct the name.

✗ A322 citation year differs from the reference entry   [2× ¶6  ¶11]
       ¶6  ⁦Brown, 2031⁩   — list has Brown with 2018
      ¶11  ⁦احمدی، ۱۴۰۱⁩   — list has احمدی with ۱۴۰۰
    why : The list has this author, but with another year: usually a typo, or one of two works by the same author.
    fix : Make the year in the text and in the list agree.

! A102 caption numbers skip or go backwards   [¶17]
      ¶17  ⁦شکل ۲-۴: مقایسه⸱ی دو روش⁩   — skips ۲-۳
    why : A gap usually means a figure was deleted or moved and the numbers were typed by hand; a backwards step means one was pasted in from another chapter.
    fix : Renumber (Insert → Caption does it automatically), then update every mention.

! A103 caption chapter prefix does not match the chapter it sits in   [¶36]
      ¶36  ⁦جدول ۲-۲: پارامترهای آزمایش⁩   — sits in chapter 3
    why : «شکل ۲-۴» inside chapter 3 usually means the caption was copied from another chapter and not renumbered.
    fix : Fix the typed chapter part; with SEQ captions, keep the chapter number in the label text up to date.

! A202 figure/table never mentioned in the text   [2× ¶13  ¶17]
      ¶13  ⁦شکل ۲-۲: نمودار خطا بر حسب تعداد خوشه⁩
      ¶17  ⁦شکل ۲-۴: مقایسه⸱ی دو روش⁩
    why : Most universities expect every figure and table to be introduced in the text before it appears.
    fix : Add a sentence such as «نتایج در شکل ۲-۳ آمده است» or remove the figure.

! A210 mention of a chapter that does not exist   [¶5]
       ¶5  ⁦ل سوم می⸱آید و نتایج در ⟦فصل ۷⟧ گزارش می⸱شود.⁩   — the thesis has 3 chapters
    why : For example «در فصل ۷» in a thesis with five chapters.
    fix : Correct the chapter number.

! A323 reference entry never cited   [4× ¶50  ¶51  ¶52  ¶53]
      ¶50  ⁦Miller, A. (1399). Outlier handling in clustering. Data Letters, 3(4), 20–31.⁩
      ¶51  ⁦Wang, L. (2019). A survey of density-based clustering. Survey Quarterly, 7(1), 5–40.⁩
      ¶52  ⁦کاظمی، حسین (2019). مقایسه⸱ی روش⸱های خوشه⸱بندی. پایان⸱نامه⸱ی کارشناسی ارشد، دانشگاه نمونه.⁩
      ¶53  ⁦Zhou, Q. (2032). Forthcoming results on sensor drift. Preprint.⁩
    why : Listed in the references but not cited in the text (only parenthetical citations with a clear author and year, and narrative ones, are recognised).
    fix : Cite it or remove it.

! A331 Latin-script entry with a Jalali-range year   [¶50]
      ¶50  ⁦Miller, A. (1399). Outlier handling in clustering. Data Letters, 3(4), 20–31.⁩   — year 1399
    why : A year like 1399 on an English reference is almost always a typo or a pasted Persian entry.
    fix : Check the year.

! A332 year in the future   [2× ¶53  ¶6]
      ¶53  ⁦Zhou, Q. (2032). Forthcoming results on sensor drift. Preprint.⁩   — year 2032
       ¶6  ⁦Brown, 2031⁩   — year 2031
    why : Citation or entry year is later than the current year (Gregorian) or Jalali year.
    fix : Check the year.

! A341 duplicate or near-duplicate reference entries   [¶49]
      ¶49  ⁦Brown, T. (2018). Calibrating low-cost temperature sensors. Sensor Notes, 4(1), 1–9.⁩   — same as ¶48
    why : The same work listed twice (it will then be cited twice, under two numbers).
    fix : Keep one entry.

· A105 captions typed by hand (no SEQ field)   [3× ¶17  ¶34  ¶36]
      ¶17  ⁦شکل ۲-۴: مقایسه⸱ی دو روش⁩
      ¶34  ⁦شکل ۳-۱: ساختار شبکه⸱ی حسگر⁩
    why : Typed numbers do not follow when a figure is inserted or removed; Word's Insert → Caption keeps them in step.
    fix : Optional: re-insert the captions with Insert → Caption.

· A203 mentions use a caption label nobody uses   [¶15]
      ¶15  ⁦روش در شکل ۲-۳ و نمودار ⟦۲-۱⟧ نشان داده شده است.⁩   — 1× «نمودار»; captions use «شکل», «جدول»
    why : The text says «نمودار ۲-۱» but the captions say «شکل …» (or the reverse), so the two cannot be matched.
    fix : Use one word per kind of float in captions and in text.

· A204 mentions are typed, not Word cross-references   [ …]
      doc  ⁦6 typed mention(s), 0 Word cross-reference fields⁩
    why : A mention typed by hand does not change when a caption is renumbered; Insert → Cross-reference keeps them in step.
    fix : Optional: replace typed mentions with Insert → Cross-reference (then update fields before exporting).

· A333 Persian-script entry with a Gregorian year   [¶52]
      ¶52  ⁦کاظمی، حسین (2019). مقایسه⸱ی روش⸱های خوشه⸱بندی. پایان⸱نامه⸱ی کارشناسی ارشد، دانشگاه نمونه.⁩   — year 2019
    why : Not wrong (some sources are dated that way), but mixed calendars confuse readers and in-text matching.
    fix : Be consistent: Jalali for Persian sources, Gregorian for the others.

4 error(s), 8 warning(s), 4 note(s). arjaa reports; it never edits your file.
Heuristics, not a university validator: mentions and citations are found by pattern. Footnotes, text boxes and Zotero/EndNote fields are not read.

Output of the offline arjaa --demo, which generates a synthetic thesis with planted problems. ⸱ marks a half-space (ZWNJ) and ⟦ ⟧ the characters the finding is about.خروجی arjaa --demo که آفلاین یک پایان‌نامهٔ ساختگی با اشکال‌های کاشته‌شده می‌سازد. ⸱ نیم‌فاصله (ZWNJ) و ⟦ ⟧ نویسه‌هایی را نشان می‌دهد که یافته دربارهٔ آن‌هاست.

$ arjaa thesis.docx --mapthe whole picture, for renumbering by handتصویر کامل، برای شماره‌گذاری دستی
map: every caption, where it is, and where the text mentions it
  ⁦شکل ۲-۱⁩          ¶10   SEQ    mentioned ¶8
  ⁦شکل ۲-۲⁩          ¶13   SEQ    mentioned never
  ⁦شکل ۲-۴⁩          ¶17   typed   mentioned never
  ⁦جدول ۲-۱⁩         ¶19   SEQ    mentioned ¶18
  ⁦شکل ۳-۱⁩          ¶32   SEQ    mentioned ¶30
  ⁦شکل ۳-۱⁩          ¶34   typed   mentioned ¶30
  ⁦جدول ۲-۲⁩         ¶36   typed   mentioned ¶35
references: entry → times cited
  ¶45   ⁦رضایی، علی و کریمی، سارا⁩                           ۱۳۹۸   cited 2×
  ¶46   ⁦احمدی، مریم⁩                                        ۱۴۰۰   cited 1×
  ¶47   ⁦Smith, J., & Lee, K.⁩                               2020   cited 3×
  ¶48   ⁦Brown, T.⁩                                          2018   cited 2×
  ¶49   ⁦Brown, T.⁩                                          2018   cited 2×
  ¶50   ⁦Miller, A.⁩                                         1399   cited 0×
  ¶51   ⁦Wang, L.⁩                                           2019   cited 0×
  ¶52   ⁦کاظمی، حسین⁩                                        ۲۰۱۹   cited 0×
  ¶53   ⁦Zhou, Q.⁩                                           2032   cited 0×

What it checksچه چیزی را می‌سنجد

Numbers and sources, in one pass.شماره‌ها و منبع‌ها، یک‌جا.

  1. 01

    Figure and table numbersشمارهٔ شکل و جدول

    Duplicates (A101), gaps and backwards steps (A102), a chapter part that differs from the chapter it sits in (A103), typed captions without a SEQ field (A105).شمارهٔ تکراری (A101)، جاافتادگی و برگشت (A102)، بخش فصل که با فصل واقعی نمی‌خواند (A103)، عنوان دست‌تایپ بدون فیلد SEQ (A105).

  2. 02

    Mentionsارجاع‌های متنی

    A mention of a figure that has no caption, with the existing numbers listed (A201); captions nobody mentions (A202); mentions of a chapter that does not exist (A210).ارجاع به شکلی که عنوان ندارد، با فهرست شماره‌های موجود (A201)؛ عنوانی که هیچ‌جا به آن اشاره نشده (A202)؛ اشاره به فصلی که نیست (A210).

  3. 03

    Citations against the listارجاع در برابر فهرست منابع

    Author-year and numeric styles: no entry (A321, A311), another year (A322), entry never cited (A323, A312), duplicates (A341).سبک نویسنده-سال و عددی: بدون مدخل (A321، A311)، سال دیگر (A322)، مدخل ارجاع‌نشده (A323، A312)، تکراری (A341).

  4. 04

    Jalali and Gregorian yearsسال شمسی و میلادی

    A Latin entry dated 1399, a Persian one dated 2019, a year in the future, و همکاران after a Latin name (A331 to A334). ۱۳۹۸, 1398 and ١٣٩٨ compare as equal.مدخل لاتین با سال ۱۳۹۹، مدخل فارسی با سال ۲۰۱۹، سال آینده، «و همکاران» بعد از نام لاتین (A331 تا A334). ۱۳۹۸ و 1398 و ١٣٩٨ برابر شمرده می‌شوند.

  5. 05

    The whole mapنقشهٔ کامل

    --map prints every caption with where it sits and where it is mentioned, and every reference entry with how often it is cited. Made for renumbering by hand.--map هر عنوان را با جایش و جای اشاره‌هایش و هر مدخل منبع را با دفعات ارجاع چاپ می‌کند. برای شماره‌گذاری دستی ساخته شده.

  6. 06

    Reports only, scriptableفقط گزارش، قابل اسکریپت

    It never edits your file. --json for machines, --strict to fail on warnings, --skip A105,A3 to leave codes or prefixes out, exit codes 0, 1 and 2.هرگز فایل را ویرایش نمی‌کند. --json برای ماشین، --strict برای شکست روی هشدار، --skip A105,A3 برای کنار گذاشتن کد یا پیشوند، کد خروج ۰ و ۱ و ۲.

Install & quick startنصب و شروع سریع

Up and running in a minute.در یک دقیقه راه بیندازید.

  1. Install (Python 3.9+, no dependencies)نصب (پایتون ۳٫۹ به بالا، بدون وابستگی)

    pipx install git+https://github.com/mrzroot/arjaa
    # or run without installing:
    uvx --from git+https://github.com/mrzroot/arjaa arjaa --demo
  2. Check your thesisبررسی پایان‌نامه

    arjaa thesis.docx
    arjaa thesis.docx --map          # every caption and reference, with counts
    arjaa thesis.docx --json         # or --strict for scripts
  3. Leave out what you know is fineآنچه را می‌دانید درست است کنار بگذارید

    arjaa thesis.docx --skip A105,A204   # typed captions and mentions are OK here
    arjaa thesis.docx --current-year 2026

How it worksچطور کار می‌کند

Pattern-based, offline, no AI.الگو-محور، آفلاین، بدون هوش مصنوعی.

Read the structureخواندن ساختار

Opens the .docx as a zip; finds Heading 1 chapters such as «فصل دوم», captions (label word, number, Caption style or SEQ field) and Word REF cross-reference fields.فایل .docx را به‌صورت zip باز می‌کند؛ فصل‌های Heading 1 مثل «فصل دوم»، عنوان‌ها (واژهٔ برچسب، شماره، سبک Caption یا فیلد SEQ) و فیلدهای REF را پیدا می‌کند.

Normalise numbers and yearsیکسان‌سازی عدد و سال

Three digit sets become one; ranges like «۲-۱ تا ۲-۴» and lists are expanded; Jalali and Gregorian years are told apart by range.سه دستهٔ رقم یکی می‌شود؛ بازه‌هایی مثل «۲-۱ تا ۲-۴» و فهرست‌ها باز می‌شوند؛ سال شمسی و میلادی از روی بازه جدا می‌شوند.

Match mentions and citationsجور کردن ارجاع‌ها

Each mention is matched to a caption; each citation to the first-author tokens of a list entry. Narrative citations count only when the name is provably an author.هر ارجاع به یک عنوان و هر ارجاع منبع به نشانه‌های نویسندهٔ اول یک مدخل جور می‌شود. ارجاع روایی فقط وقتی شمرده می‌شود که نام نویسنده بودنش ثابت باشد.

Report with a reasonگزارش با دلیل

Every finding has a code, the paragraph number, why it matters and what to do. Skipped content (footnotes, text boxes, reference-manager fields) is listed.هر یافته کد، شمارهٔ پاراگراف، دلیل و راه اصلاح دارد. محتوای ردشده (پاورقی، جعبه‌متن، فیلدهای مدیر منابع) فهرست می‌شود.

Honest limitsمحدودیت‌های صادقانه

What it does not do. Please read.چه کارهایی نمی‌کند. لطفاً بخوانید.

  • Heuristics, not an official validator. Everything is found by pattern. Expect some false positives (a mention like «جدول ۱» that refers to another work looks dangling if the thesis has its own tables) and some misses (a citation written in an unusual way is not seen). --skip and --map exist so you can check by eye. Your university's guide decides what is required; arjaa does not know it.ابتکاری است، نه اعتبارسنج رسمی. همه‌چیز با الگو پیدا می‌شود. انتظار چند هشدار اشتباه داشته باشید (ارجاعی مثل «جدول ۱» که به اثر دیگری اشاره دارد، اگر پایان‌نامه جدول خودش را دارد، معلق دیده می‌شود) و چند مورد ازقلم‌افتاده (ارجاعی که غیرمعمول نوشته شده دیده نمی‌شود). --skip و --map برای بررسی با چشم هستند. راهنمای دانشگاه شما تصمیم می‌گیرد؛ ارجاع آن را نمی‌داند.
  • Reports only. It never edits the file, and a finding is not proof of an error: (Johnson, 2017) may be a source you left out on purpose.فقط گزارش می‌دهد. فایل را هرگز ویرایش نمی‌کند و یافته دلیل قطعی خطا نیست: (Johnson, 2017) شاید منبعی باشد که عمداً در فهرست نیاورده‌اید.
  • I have not opened any output in Microsoft Word. Fixtures were generated and rendered in LibreOffice 25.2 on Linux; the Word behaviour of SEQ and REF fields is reasoned from the OOXML, not observed. Not tested on Windows or macOS.هیچ خروجی را در Microsoft Word باز نکرده‌ام. فایل‌های ساختگی را ساخته و در LibreOffice 25.2 روی لینوکس رندر کرده‌ام؛ رفتار فیلدهای SEQ و REF در ورد از OOXML استنباط شده، نه مشاهده. روی ویندوز و مک آزموده نشده.
  • The reference list is read as APA-like author-year (name, then year in parentheses) or as numbered entries [1]. Vancouver-style or free-form lists, and lists where the year does not follow the author, are poorly understood. A Persian narrative citation «رضایی (۱۳۹۸)» is accepted only when «رضایی» is a first author in the list, so a source cited only that way and missing from the list is not reported.فهرست منابع به‌صورت نویسنده-سال شبیه APA (نام، بعد سال در پرانتز) یا مدخل‌های شمارهٔ [1] خوانده می‌شود. سبک ونکوور، فهرست آزاد و فهرستی که سال بعد از نویسنده نمی‌آید را خوب نمی‌فهمد. ارجاع روایی فارسی «رضایی (۱۳۹۸)» فقط وقتی پذیرفته می‌شود که «رضایی» نویسندهٔ اول یک مدخل باشد؛ پس منبعی که فقط این‌طور ارجاع شده و در فهرست نیست گزارش نمی‌شود.
  • Footnotes, endnotes, text boxes, headers, comments and Zotero, EndNote or Mendeley fields are not read; the report lists what was skipped. Not checked: whether the cited work exists, DOI validity, entry formatting, spelling, sorting, equations. A .doc must be saved as .docx first.پاورقی، پی‌نوشت، جعبه‌متن، سرصفحه، نظرها و فیلدهای Zotero، EndNote یا Mendeley خوانده نمی‌شوند؛ گزارش می‌گوید چه چیزی رد شده. بررسی نمی‌شود: وجود واقعی اثر ارجاع‌شده، درستی DOI، قالب مدخل، املا، ترتیب فهرست، معادله. فایل .doc را باید اول به .docx ذخیره کنید.

Novelty checkبررسی پیشینه

Closest things, and the difference.نزدیک‌ترین‌ها و تفاوت‌شان.

No existing tool found as of Oct 2026تا مهر ۱۴۰۵ (اکتبر ۲۰۲۶) ابزار مشابهی پیدا نشد that checks both figure/table numbering and citations against the reference list in a Persian .docx thesis, with Persian digits, Jalali and Gregorian years, chapter-based numbers such as «شکل ۲-۳» and «فصل دوم» headings. Each half has English-language counterparts; I did not find the Persian-aware combination. This is not a claim that none exists anywhere.که در یک پایان‌نامهٔ .docx فارسی هم شماره‌گذاری شکل و جدول و هم ارجاع‌ها در برابر فهرست منابع را بسنجد، با رقم فارسی، سال شمسی و میلادی، شمارهٔ فصل‌دار مثل «شکل ۲-۳» و سرفصل «فصل دوم». هر نیمه همتای انگلیسی دارد؛ ترکیب فارسی‌آگاهش را پیدا نکردم. ادعا نمی‌کنم در هیچ جای دنیا وجود ندارد.

This is the result of searching GitHub, PyPI, npm and the web on 24 Oct 2026, not a guarantee: search is incomplete, private tools are invisible to it, and this space changes weekly. If you know one, please open an issue and it will be linked here. Queries and results: NOVELTY.md in the repository.این نتیجهٔ جست‌وجو در گیت‌هاب، PyPI، npm و وب در ۲ آبان ۱۴۰۵ است، نه تضمین: جست‌وجو ناقص است، ابزارهای خصوصی دیده نمی‌شوند و این حوزه هر هفته عوض می‌شود. اگر ابزاری می‌شناسید یک issue باز کنید تا اینجا بیاید. عبارت‌های جست‌وجو و نتایج: فایل NOVELTY.md در مخزن.

ToolابزارWhat it doesچه می‌کندHow it differsتفاوت
okiratli/Citation-Cross-CheckerClosest on the citation side: GUI and CLI, .txt/.md/.docx/.pdf, APA/Harvard/Chicago/MLA/IEEE, uncited references, year mismatchesنزدیک‌ترین در بخش ارجاع منبع: رابط گرافیکی و خط فرمان، چند قالب فایل، سبک‌های APA و Harvard و غیره، منبع ارجاع‌نشده، اختلاف سالI ran it on arjaa's synthetic sample. It needs a section called «References» (or --bib-section), took the second author as the author of a Persian entry, missed the Persian year mismatch, and has no figure/table or Jalali checks. It does not claim Persian support.روی نمونهٔ ساختگی ارجاع اجرایش کردم. بخشی به نام «References» (یا --bib-section) می‌خواهد، نویسندهٔ دوم را نویسندهٔ مدخل فارسی گرفت، اختلاف سال فارسی را ندید و بررسی شکل/جدول یا سال شمسی ندارد. ادعای پشتیبانی از فارسی هم ندارد.
yorak/nyccc (2013)Name-year citation cross-checker: undefined, unused, mistyped citationsبررسی ارجاع نام-سال: ارجاع تعریف‌نشده، استفاده‌نشده، غلط‌تایپیText input, English; no Word structure.ورودی متنی، انگلیسی؛ ساختار ورد را نمی‌شناسد.
RefMatch-Skill · academic-reference-checker · Citation_checkerAgent skills and apps that compare in-text citations with the list in a .docxمهارت‌های ایجنت و برنامه‌هایی که ارجاع متنی را با فهرست در .docx مقایسه می‌کنندI read their READMEs, did not run them. English/APA oriented; some use the web or an AI model. None mention figures, tables, Persian or Jalali years.READMEشان را خواندم، اجرا نکردم. انگلیسی و APA-محورند؛ بعضی از وب یا مدل هوش مصنوعی استفاده می‌کنند. هیچ‌کدام از شکل، جدول، فارسی یا سال شمسی نگفته‌اند.
checkcitesLua script for LaTeX: undefined and unused references in .aux/.bibاسکریپت Lua برای LaTeX: ارجاع تعریف‌نشده و استفاده‌نشده در .aux/.bibLaTeX only; if you write in XePersian or ParsiThesis, BibTeX already tells you this.فقط LaTeX؛ اگر با XePersian یا ParsiThesis می‌نویسید، BibTeX همین را می‌گوید.
CheckMyManuscript · RightMyWork · TypesetOSUpload-based web checkers: figure and table numbering, unreferenced floats, citations vs listبررسی‌گرهای تحت وب با بارگذاری: شماره‌گذاری شکل و جدول، شکل بی‌ارجاع، ارجاع در برابر فهرستOnline upload, English-oriented, closed. I did not test them; claims are from their landing pages.بارگذاری آنلاین، انگلیسی‌محور، بسته. آزمایش نکردم؛ ادعاها از صفحهٔ معرفی‌شان است.
Word cross-references · Zotero · EndNote · MendeleyKeep numbers and bibliography in step if used from the startاگر از ابتدا به‌کار بروند شماره‌ها و منابع را هماهنگ نگه می‌دارندNo check on a finished file whose numbers were typed or pasted. arjaa reads the file as it is and counts how many mentions are real REF fields.فایل تمام‌شده‌ای را که شماره‌هایش تایپ یا کپی شده نمی‌سنجند. ارجاع فایل را همان‌طور که هست می‌خواند و می‌شمارد چند ارجاع فیلد REF واقعی‌اند.

FAQپرسش‌های متداول

Questions people ask.پرسش‌هایی که می‌پرسند.

Does it change my thesis file?آیا فایل پایان‌نامه‌ام را عوض می‌کند؟

No. It only reads the file and prints a report. It never writes to it.نه. فقط فایل را می‌خواند و گزارش چاپ می‌کند. هرگز در آن نمی‌نویسد.

Do I need Zotero or EndNote?آیا زوترو یا اندنوت لازم دارم؟

No. It reads the visible text of your reference list. Fields from a reference manager are seen as their visible text only.نه. متن دیدنی فهرست منابع را می‌خواند. فیلدهای مدیر منابع فقط به‌شکل متن دیدنی‌شان دیده می‌شوند.

Why does it flag a mention that is correct?چرا ارجاع درست را هم گزارش می‌کند؟

Most likely it refers to another work («جدول ۱» of a cited paper) or is written in an unusual way. Use --skip for that code, or --map to check by eye.احتمالاً به اثر دیگری اشاره دارد («جدول ۱» از مقاله‌ای که ارجاع داده‌اید) یا غیرمعمول نوشته شده. برای آن کد از --skip یا برای بررسی با چشم از --map استفاده کنید.