تخطَّ إلى المحتوى

منظّف BibTeX ومدقّقه

الصق ملف .bib أو حمّله، واحصل عليه مفحوصًا ومرتّبًا: حقول مطلوبة ناقصة، ومفاتيح مكررة، وأرقام DOI متكررة، وماكروات غير معرّفة، تُبيَّن مع أرقام أسطرها؛ ونطاقات الصفحات والشهور والأقواس وترتيب الحقول تُجعل متسقة؛ وكل تغيير مدرج، لترى ما الذي فُعل بالضبط. مجاني، ودون تسجيل، ولا يغادر الملف متصفحك أبدًا.

خيارات التنظيف

الصق ملف .bib أو حمّله. يُقرأ داخل متصفحك — ولا يُرفع شيء.

كيفية استخدام منظّف BibTeX

  1. 1. الصق ملف .bib أو حمّله. تقرأ الأداة الملف كاملًا كما يقرؤه BibTeX نفسه: ماكروات @string، وربط #، و@preamble، و@comment، والأقواس المتداخلة، والملاحظات بين المدخلات.
  2. 2. اختر التنظيف. كل الخيارات مفعّلة افتراضيًا ما عدا حماية الأحرف الكبيرة والترتيب؛ عطّل ما تريد تركه كما هو. وتتحدّث النتيجة مع تغيير الخيارات.
  3. 3. اقرأ المشكلات. تُدرج الأخطاء والتحذيرات مع سطرها ومفتاح الاستشهاد، من حقل مجلة ناقص إلى مفتاح مستخدم مرتين.
  4. 4. راجع التغييرات ثم نزّل. يُسجَّل كل تغيير حسب المدخل والحقل، مع القيمة قبل التغيير وبعده، وتُنزَّل النتيجة بصيغة cleaned.bib.

ما الذي يفحصه المدقّق

يحدد BibTeX الكلاسيكي أربعة عشر نوعًا من المدخلات والحقول التي يتطلبها كل منها. ويطبّق المدقّق هذا الجدول، من كتاب أورين باتاشنيك BibTeXing — الوثيقة المرفقة مع BibTeX — ويقبل أسماء biblatex لمعطيات الشيء نفسه، فالحقول journaltitle وdate وinstitution تُحسب مكافئاتها الكلاسيكية.

نوع المدخلالحقول المطلوبة
@articleauthor, title, journal, year
@bookauthor أو editor, title, publisher, year
@inbookauthor أو editor, title, chapter أو pages, publisher, year
@incollectionauthor, title, booktitle, publisher, year
@inproceedingsauthor, title, booktitle, year
@phdthesis، @mastersthesisauthor, title, school, year
@techreportauthor, title, institution, year
@miscلا شيء

@booklet و@manual يحتاجان عنوانًا فقط، و@proceedings عنوانًا وسنة، و@unpublished مؤلفًا وعنوانًا وملاحظة؛ و@conference اسم آخر لـ@inproceedings.

ويعلّم المدقّق أيضًا المفتاح المستخدم مرتين (فBibTeX لا يحتفظ إلا بالأول)، والمفاتيح التي تختلف فقط في الأحرف الكبيرة، والمفاتيح التي تحوي مسافة أو حرفًا لا يقرؤه BibTeX، ونفس DOI في مدخلين، ونفس العنوان والسنة في مدخلين، وحقلًا مكتوبًا مرتين، وماكروًا مستخدمًا دون تعريفه بـ@string، وسنةً ليست من أربعة أرقام. والمدخل الذي لا يستطيع القارئ إتمامه — فاصلة ناقصة أو قوس غير متوازن — يُبلَّغ عنه برقم سطره ويُبقى كما كُتب تمامًا، فالتنظيف لا يحذف نصًّا أبدًا.

ما الذي يغيّره التنظيف

  • أنواع المدخلات وأسماء الحقول بالأحرف الصغيرة: يصبح @ARTICLE إلى @article، وAuthor إلى author.
  • المسافات: تُطوى أسطر الفراغ والمسافات المتتالية داخل القيمة إلى مسافة واحدة.
  • المحددات: تُنقل القيم المحصورة بين علامتي اقتباس إلى أقواس، فتنجو من علامة اقتباس عرضية في العنوان.
  • نطاقات الصفحات بالشرطة المزدوجة التي يطبعها LaTeX شرطةً متوسطة (en dash): يصبح 16569-16572 هكذا 16569--16572.
  • الشهور كماكروات BibTeX، من jan إلى dec، دون أقواس، حتى تستطيع كل الأساليب طباعتها أو اختصارها.
  • الحقول الفارغة مثل note = {} تُحذف.
  • أرقام DOI تُجرَّد من بادئة https://doi.org/، والأساليب التي تطبعه تضيفها بنفسها.
  • الأحرف الكبيرة في العناوين (اختياري): أقواس حول الاختصارات والكلمات المختلطة الحالة — {DNA} و{mRNA} و{iPhone} — أو حول كل كلمة كبيرة بعد الأولى، حتى لا تحوّل الأساليب التي تكتب العناوين بالجملة حروفها إلى صغيرة.
  • ترتيب الحقول: المؤلف، ثم العنوان، ثم المجلة أو عنوان الكتاب، ثم المجلد، فالعدد، فالصفحات، فالسنة، فالشهر، فالناشر، ثم المعرّفات؛ أو أبجديًا؛ أو كما كان.
  • الترتيب (اختياري): حسب المفتاح، أو المؤلف الأول، أو السنة. وتبقى تعريفات @string في الأعلى، لأن الماكرو يجب أن يُعرَّف قبل أن يستخدمه مدخل.

مدخل واحد قبل التنظيف وبعده

قبل

@ARTICLE{hirsch2005,
  Author = {Hirsch, J. E.},
  title = "An index to quantify an individual's scientific research output",
  journal = {Proceedings of the National Academy of Sciences},
  year = 2005, month = {November},
  pages = {16569-16572},
  note = {}
}

بعد

@article{hirsch2005,
  author  = {Hirsch, J. E.},
  title   = {An index to quantify an individual's scientific research output},
  journal = {Proceedings of the National Academy of Sciences},
  pages   = {16569--16572},
  year    = 2005,
  month   = nov
}

سجل التغييرات لهذا المدخل من سبعة أسطر: نوع المدخل بالأحرف الصغيرة، وAuthor أُعيدت تسميته author، والعنوان نُقل إلى الأقواس، وNovember تحوّلت إلى الماكرو nov، ونطاق الصفحات أُعطي شرطته المزدوجة، وحُذف الحقل الفارغ note، ورُتّبت الحقول. أما السنة فتبقى رقمًا مجردًا، وهذا ما يقبله BibTeX.

BibTeX أم biblatex؟

قد يغذّي الملف نفسه نظامين. فBibTeX الكلاسيكي، مع أساليب مثل plain أو ملف .bst خاص بمجلة، يعرف الأنواع الأربعة عشر القياسية ويتجاهل بصمت الحقول التي لا يعرفها. أما biblatex، المعالَج بواسطة biber، فيضيف أنواعًا مثل @online و@report و@thesis، وحقولًا مثل journaltitle وdate وlocation وurldate وeprint، ويقرأ الحروف المشكّلة مباشرة بدلًا من أوامر LaTeX الخاصة بالحروف المشكّلة. ويحذّر المدقّق حين يستخدم مدخل نوعًا خاصًا بـbiblatex — فيعود الأسلوب الكلاسيكي إلى @misc مع تحذير — لكنه لا يبلّغ أبدًا عن اسم حقل biblatex باعتباره حقلًا مطلوبًا ناقصًا.

الأسئلة الشائعة

كيف أفحص ملف BibTeX بحثًا عن الأخطاء؟
الصقه في المربع أعلاه أو حمّل ملف .bib. يعرض المدقّق كل مشكلة مع رقم سطرها ومفتاح استشهادها: مدخلات لا يمكن قراءتها، وحقول مطلوبة ناقصة، ومفاتيح مكررة، وأرقام DOI أو عناوين متكررة، وماكروات غير معرّفة، وسنوات ليست من أربعة أرقام. أصلح الأخطاء أولًا؛ فهي التي تجعل BibTeX يحذّر أو يُسقط مرجعًا.
ماذا يعني “I'm skipping whatever remains of this entry”؟
هذه عبارة BibTeX يوقف بها تحليل مدخل لا يستطيع قراءته — غالبًا بسبب فاصلة ناقصة بين حقلين، أو قوس غير متوازن، أو علامة اقتباس داخل قيمة محصورة بين علامتي اقتباس. ويُبلّغ المنظّف عن المدخلات نفسها بوصفها أخطاء تحليل مع أرقام أسطرها، ويُبقيها في الناتج كما كُتبت تمامًا، لتصلحها في مكانها.
هل يجب أن أستخدم -- في نطاقات الصفحات في BibTeX؟
نعم. يمرّر BibTeX حقل الصفحات إلى LaTeX، حيث تطبع -- شرطة متوسطة (en dash)، وهي العلامة الصحيحة للنطاق. وكثير من الأساليب القياسية تحوّل الشرطة المفردة إلى -- بنفسها، لكن ليس كلها؛ لذلك فكتابة -- في الملف هي الخيار الآمن، والمنظّف يفعلها لك.
لماذا يحوّل BibTeX عنواني إلى حروف صغيرة، وكيف أمنع ذلك؟
كثير من الأساليب تطبع عناوين المقالات بالجملة، فتحوّل كل حرف غير محمي بالأقواس إلى صغير، فتتحول كلمة DNA إلى dna. ولحماية كلمة ضعها بين أقواس — {DNA} — فتبقى كما هي. وخيار الأحرف الكبيرة في المنظّف يضيف هذه الأقواس للاختصارات والكلمات المختلطة الحالة، أو لكل كلمة كبيرة بعد الأولى إن كانت عناوينك مليئة بأسماء العلم.
هل مفاتيح الاستشهاد المكررة مشكلة؟
نعم. يستخدم BibTeX أول مدخل بمفتاح معين ويتجاهل البقية، فقد يشير استشهاد بصمت إلى العمل الخطأ. وتُعلَّم أيضًا المفاتيح التي تختلف في الأحرف الكبيرة فقط: يحذّر BibTeX منها، ويعاملها biber كمفتاحين مختلفين، فيسلك الاستشهاد نفسه سلوكين مختلفين مع كل منهما.
هل يُرفع ملف .bib الخاص بي؟
لا. يُقرأ الملف وينظَّف داخل متصفحك كليًا؛ ولا يُرسل إلى أي خادم، وتُنشأ النسخة النظيفة على جهازك وقت التنزيل.

أدوات ذات صلة

المزيد في أدوات التوثيق والمراجع