ملخص
يعلّم هذا الدرس كيف يُحال إلى أعمال قاعدة ببليوغرافية، وكيف تُنضَّد منها قائمة المراجع. فيعرض تحميل BibLaTeX مع Biber برنامجًا مساعدًا، وتحميل csquotes الذي يطلبه BibLaTeX مع babel؛ ويشرح دورة الترجمة التي يعمل فيها Biber بين تمريرتين للمحرّك، وأيّ ملف ينتجه كل برنامج، وكيف يقطع latexmk الدورة من تلقاء نفسه؛ ويستعرض أوامر الإحالة، \cite و\parencite و\textcite و\autocite، بملاحظاتها السابقة واللاحقة، و\citeauthor و\citeyear، والإحالة إلى عدة أعمال معًا؛ ويقارن نصًّا واحدًا في أساليب المؤلف والسنة، والرقمي، والرقمي المضغوط، والأبجدي؛ ويبيّن كيف يحدّد \printbibliography عنوان القائمة وترويستها وترتيبها ومرشّحاتها، وما الذي يلزم لمستند عربي تُنضَّد مراجعه بالحروف اللاتينية؛ ويختم بأكثر التحذيرات شيوعًا ومعنى كلٍّ منها.
أهداف التعلم
- أن يحمّل BibLaTeX مع Biber وcsquotes، وأن يعلن القاعدة بالأمر
\addbibresource. - أن يشرح دورة الترجمة مع Biber وأيّ ملف تنتجه كل خطوة، وأن ينفّذها باليد أو بـ latexmk أو في Texmaker.
- أن يختار بين
\citeو\parenciteو\textciteو\autociteبحسب الوظيفة النحوية للإحالة، وأن يكتب ملاحظاتها السابقة واللاحقة. - أن يتنبّأ بما تطبعه الإحالة نفسها في أساليب المؤلف والسنة، والرقمي، والرقمي المضغوط، والأبجدي، بما في ذلك الأرقام التي تأخذها الأعمال.
- أن ينضّد قائمة المراجع بعنوانها وترويستها وترتيبها ومرشّحاتها بحسب النوع أو الكلمة المفتاحية.
- أن يفسّر تحذيرات الإحالة غير المعرَّفة، وBiber المنتظَر، والقائمة الفارغة، وأن يصلح سببها.
تحميل BibLaTeX
في الدرس المخصّص للقاعدة الببليوغرافية رأينا كيف يُسجَّل كل عمل، مرة واحدة، في ملف .bib، بمفتاح يعرّفه. ويفترض هذا الدرس تلك القاعدة ويدرس النصف الآخر من العمل: الإحالة إلى الأعمال في النص بمفاتيحها، وترك LaTeX ينضّد الإحالات وقائمة المراجع معًا. والأداة هي حزمة BibLaTeX، التي تعطي الإحالات والقائمة شكلهما، بمعونة برنامج خارجي هو Biber، يقرأ القاعدة ويرتّب الأعمال ويهيّئها للمحرّك. وتستعمل أمثلة الدرس القاعدة التالية، وفيها مقالة في الأحياء، ودراسة في تاريخ العلم، وكتاب جامعي في الحوسبة بأربعة مؤلفين، ومقالة أدبية بالإسبانية، ومجلد جماعي في الفلسفة مع محرّره.
@book{kuhn1962, author = {Kuhn, Thomas S.}, title = {The Structure of Scientific Revolutions}, year = {1962}, publisher = {University of Chicago Press}, location = {Chicago}, keywords = {sciences},}@article{watson1953, author = {Watson, James D. and Crick, Francis H. C.}, title = {Molecular Structure of Nucleic Acids: A Structure for Deoxyribose Nucleic Acid}, journal = {Nature}, volume = {171}, number = {4356}, pages = {737--738}, year = {1953}, keywords = {sciences},}@book{cormen2009, author = {Cormen, Thomas H. and Leiserson, Charles E. and Rivest, Ronald L. and Stein, Clifford}, title = {Introduction to Algorithms}, edition = {3}, year = {2009}, publisher = {MIT Press}, location = {Cambridge, Mass.}, keywords = {sciences},}@book{ortega1930, author = {Ortega y Gasset, José}, title = {La rebelión de las masas}, year = {1930}, publisher = {Revista de Occidente}, location = {Madrid}, keywords = {humanities},}@book{barnes1995, editor = {Barnes, Jonathan}, title = {The Cambridge Companion to Aristotle}, year = {1995}, publisher = {Cambridge University Press}, location = {Cambridge}, keywords = {humanities},}يُحفظ الملف باسم fuentes.bib في مجلد المستند. ويُضاف إلى الديباجة csquotes، وBibLaTeX بخياراته، وإعلان القاعدة. فالخيار backend=biber يحدّد البرنامج المساعد، وstyle يختار أسلوب الإحالات والقائمة. والأمر \addbibresource يعلن القاعدة ويشترط اسم الملف كاملًا بامتداده: مع \addbibresource{fuentes} يبحث Biber عن ملف اسمه fuentes بالضبط، ويتوقف بالخطأ «Cannot find 'fuentes'!». وفي المتن، ينضّد \printbibliography القائمة في الموضع الذي يُكتب فيه.
\documentclass{article}\usepackage{fontspec}\usepackage[english,bidi=basic]{babel}\babelprovide[import,main]{arabic}\babelfont{rm}[Script=Arabic]{Amiri}\usepackage{csquotes}\usepackage[backend=biber, style=authoryear, language=english, autolang=other]{biblatex}\AtEveryCite{\textdir TLT}\AtBeginBibliography{\selectlanguage{english}}\addbibresource{fuentes.bib}\begin{document}بحسب \textcite{kuhn1962}، يقوم العلم القياسي علىإنجازات سابقة تتخذها جماعة علمية نموذجًا.\printbibliography\end{document}لا تحوي القائمة إلا العمل المُحال إليه: الأعمال الأربعة الأخرى في القاعدة، لكن النص لا يحيل إليها. أما الديباجة فأطول منها في لغات أخرى، وكل سطر زائد فيها له سبب. فـ BibLaTeX يأخذ الكلمات التي يطبعها من ملف خاص بكل لغة، ولا ملف عنده للعربية: إن تُرك وحده كتب في السجل Language 'arabic' not supported وطبع أسماء داخلية مكان الكلمات، مثل «andothers» بدل «et al.». لذلك يحمّل babel الإنجليزية أيضًا، ويأخذ BibLaTeX كلماته منها بالخيار language=english، وينضّد كل مرجع بالإنجليزية بالخيار autolang=other، وهو ما يناسب مراجع عناوينها لاتينية الحروف. ويبقى التحذير في السجل، لكنه لم يعد يضرّ، لأن الكلمات صارت تؤخذ من الإنجليزية. ثم إن الإحالة اللاتينية داخل فقرة عربية يختلط فيها الاتجاهان، فتنقلب الأقواس والفواصل؛ والسطر \AtEveryCite{\textdir TLT} يجعل كل إحالة تُنضَّد من اليسار إلى اليمين، والسطر \AtBeginBibliography{\selectlanguage{english}} يفعل الشيء نفسه بالقائمة كلها، فتصطف الأرقام والتسميات في مواضعها. ولهذا السبب يأتي العنوان «References» بالإنجليزية، وفي الصنفين report وbook يكون «Bibliography»؛ وسنرى أدناه كيف يُغيَّر بالخيار title.
لماذا csquotes؟ يضع BibLaTeX عناوين المقالات والفصول بين علامتي تنصيص، ولكي يختار علامات اللغة، وهي هنا الإنجليزية لأن المراجع تُنضَّد بها، يعتمد على csquotes، الحزمة نفسها التي دُرست في الدرس عن الحواشي والاقتباسات والأبيات. وإذا وجد babel ولم يجد csquotes نبّه في السجل: «'babel/polyglossia' detected but 'csquotes' missing. Loading 'csquotes' recommended.» والترتيب الموصى به هو ترتيب المثال: babel، ثم csquotes، ثم BibLaTeX.
جارٍ تحميل المحتوى…