Academic Writing

BibTeX বনাম BibLaTeX ব্যাখ্যা করা হয়েছে

BibTeX এবং BibLaTeX উদ্ধৃতি একটি অনুরূপ ফাইলে সংরক্ষণ করে, কিন্তু তারা সেই তথ্য সম্পূর্ণ ভিন্ন উপায়ে প্রক্রিয়াকরণ ও বিন্যাস করে। এখানে সেই backend পার্থক্যটি আছে যা বাস্তবে দুটিকে পৃথক করে, কেন BibLaTeX অ-ইংরেজি এবং অস্বাভাবিক উৎস আরও ভালোভাবে সামলায়, এবং পরিবর্তন করলে আসলে কী খরচ হয়।

5 min
Table comparing BibTeX vs BibLaTeX by formatting logic, backend processor and Unicode support

একজন PhD ছাত্র তার সুপারভাইজারের পুরোনো LaTeX thesis template খুলে নিজের thesis লেখা শুরু করে, কিন্তু সেখানে References.bib ফাইলটি apalike-এর দিকে নির্দেশ করা একটি bibliographystyle command-এর পাশে গুঁজে রাখা দেখতে পায়। তার কোনো ধারণাই নেই যে এদের citation system কী। ফোল্ডারে এমন কিছু নেই যা এটি সরাসরি বোঝায়, আর তাছাড়া, template-এর মূল লেখক এখন তিনজন postdoc এবং এক মহাদেশ দূরে।

BibTeX বনাম BibLaTeX-ই আসল প্রশ্ন, যা এই বিভ্রান্তির আড়ালে লুকিয়ে আছে। দুটিই citation data একটি অনুরূপ ফাইলে সংরক্ষণ করে, কিন্তু তারা সেই data সম্পূর্ণ ভিন্ন machinery ব্যবহার করে process, format এবং output করে। একটি document ইতিমধ্যে কোনটি ব্যবহার করছে, এবং switch করলে আসলে কী বদলায়, তা জানা মানে বিভ্রান্তিতে একটি বিকেল নষ্ট হওয়া আর লেখায় একটি বিকেল কাটানোর মধ্যে পার্থক্য।

একটি source সঠিকভাবে cite করা referencing style প্রশ্নের মাত্র অর্ধেক, আর TextPulse-এর নিজস্ব referencing styles-এর guide-এ যে অর্ধেকটি covered আছে, তা যেকোনো একক typesetting system-এর চেয়ে অনেক বিস্তৃত। এই অংশটি সেই প্রশ্নের LaTeX-নির্দিষ্ট fork-এ সংকীর্ণভাবে থাকে, BibTeX বা BibLaTeX, এবং তাদের মধ্যে আসলে কী পার্থক্য।

BibTeX বনাম BibLaTeX: বিভাজনটি আসলে কোথায় ঘটে

BibTeX এই দুই system-এর মধ্যে পুরোনোটি, এবং এটি একসঙ্গে দুটি কাজ করে। এটি .bib file-এ থাকা data পড়ে, এবং একটি পৃথক style file, একটি .bst file, দ্বারা নির্দেশিত হয়ে সেই data-কে একটি সম্পূর্ণ reference list-এ format করে, যা নির্ধারণ করে প্রতিটি entry কেমন দেখাবে। .bst language ছোট এবং ঠিক এই এক কাজের জন্যই নির্মিত, আর এটাই তার সীমাও, এর মূল লেখক কখনো পরিকল্পনা না করা কোনো source type-কে অন্তর্ভুক্ত করতে এটিকে প্রসারিত করা নিজেই একটি বিশেষজ্ঞ দক্ষতা।

BibLaTeX এই দুইটি কাজকে আলাদা করে। ফরম্যাটিং LaTeX-এর ভেতরেই ঘটে, যা আলাদা style file-এর বদলে document-এর নিজস্ব preamble-এ থাকা সাধারণ LaTeX macros দ্বারা নিয়ন্ত্রিত হয়। data processing, অর্থাৎ .bib file-এর entries পড়া, সাজানো এবং output-এর জন্য প্রস্তুত করা, Biber নামে একটি dedicated backend program দ্বারা পরিচালিত হয়, যেটিকে BibLaTeX compilation-এর সময় স্বয়ংক্রিয়ভাবে ডাকে। BibTeX এক ধাপে processing এবং formatting করে, BibLaTeX LaTeX macros এবং Biber-এর মধ্যে এই দুইটি কাজ ভাগ করে দেয়। এই architectural split-ই তাদের মধ্যে পার্থক্যের আসল উত্তর।

BibTeXBibLaTeX
Formatting logicএকটি পৃথক .bst style filedocument-এর ভেতরের LaTeX macros
Backend processorBibTeX নিজেই, এক ধাপেBiber, compile time-এ স্বয়ংক্রিয়ভাবে চালিত
Unicode supportস্বাভাবিকভাবে নেইসম্পূর্ণ
Multilingual bibliographiesএকটি add-on package প্রয়োজনঅন্তর্নির্মিত, document-এর language setting অনুসরণ করে
Typical preamble callbibliographystyle plus bibliographyusepackage biblatex plus addbibresource

BibLaTeX কেন অ-ইংরেজি এবং অস্বাভাবিক উৎস আরও ভালোভাবে সামলায়

Unicode-এর ফাঁকটাই একাই অ-ইংরেজি সমস্যার বেশির ভাগ ব্যাখ্যা করে। BibTeX-এর স্বাভাবিক Unicode support নেই, তাই কোনো author-এর নাম বা title-এ basic Latin set-এর বাইরে কোনো character থাকলে আগে একটি workaround দরকার হয়। BibLaTeX-এর Biber backend full Unicode support করে, তাই accented characters, non-Latin scripts এবং কোনো source-এর original language-এর অন্য সবকিছু সরাসরি .bib file-এ যায় এবং সঠিকভাবে formatted হয়ে বের হয়।

ভাষা-নির্ভরতা পৃথক অক্ষরের সীমা ছাড়িয়ে যায়। BibLaTeX স্বয়ংক্রিয়ভাবে edition বা editor-এর মতো সংযোগকারী পদকে সমন্বয় করে, যাতে সেগুলি babel বা polyglossia-এর মাধ্যমে নথির জন্য নির্ধারিত ভাষার সঙ্গে মেলে, এবং এটি এমন কার্যকারিতাও আত্মস্থ করেছে যা আগে বহুভাষিক বা বহু-অংশবিশিষ্ট গ্রন্থপঞ্জির জন্য কয়েকটি পৃথক অ্যাড-অন প্যাকেজে ছিল। Classic BibTeX শৈলীগুলি সাধারণত এক ভাষার জন্য লেখা হয়, প্রায় সবসময়ই ইংরেজি, তাই ফরাসি বা জার্মান উৎস উদ্ধৃত করা একটি নথির জন্য প্রচলিতভাবে শুধু সেই কারণে একটি অতিরিক্ত প্যাকেজের প্রয়োজন হতো।

দাবিটির দ্বিতীয় অংশ একই স্থাপত্যগত বিভাজন থেকে আসে। LaTeX ম্যাক্রোর মধ্যে তার বিন্যাস-নিয়ম রেখে, কোনো ছোট, নির্দিষ্ট উদ্দেশ্যে নির্মিত শৈলী-ভাষার বদলে, BibLaTeX ডিফল্টভাবে আরও বিস্তৃত ধরনের এন্ট্রি সমর্থন করতে সক্ষম। এর মধ্যে অনলাইন সম্পদ, ডেটাসেট এবং বহু-খণ্ডবিশিষ্ট কাজের মতো উৎস অন্তর্ভুক্ত, যেগুলিকে BibTeX-এর মূল নকশা কখনও বিবেচনায় নেয়নি। কোনো গবেষক যদি ডেটাসেট, প্রিপ্রিন্ট বা কেবল অনলাইনে প্রকাশিত প্রতিবেদন উদ্ধৃত করেন, তবে সাধারণত দেখবেন যে BibLaTeX-এর জন্য একটি এন্ট্রি-ধরন আগেই তৈরি আছে, অন্যদিকে BibTeX-ভিত্তিক কর্মপ্রবাহে বিদ্যমান কোনো ধরন, সাধারণত সবকিছুর জন্য ব্যবহৃত miscellaneous, কে মানিয়ে নিতে হয়।

আপনার নিজস্ব পেপারকে মানবসদৃশ করুন

আপনার AI-সহায়তাপ্রাপ্ত লেখাকে রূপান্তর করুন এবং গুরুত্বপূর্ণ শব্দ বা উদ্ধৃতি স্পর্শ না করে সেটিকে মানবসদৃশ শোনান।

বিনামূল্যে শুরু করুন

আপনার নথি ইতিমধ্যে কোনটি ব্যবহার করছে তা কীভাবে বোঝা যাবে

প্রারম্ভিক অংশ কয়েক সেকেন্ডেই বিষয়টি নির্ধারণ করে। যে নথি biblatex লোড করে, এবং একটি addbibresource লাইন দিয়ে .bib ফাইলের দিকে নির্দেশ করে, সেটি BibLaTeX চালাচ্ছে। আর যে নথি biblatex-এর কোনো উল্লেখ ছাড়াই, প্রারম্ভিক অংশের কোথাও না থেকে, ফাইলের শেষের দিকে bibliographystyle-এর পরে bibliography ডাকে, সেটি classic BibTeX চালাচ্ছে।

  • প্রারম্ভিক অংশে biblatex শব্দটি খুঁজুন। যদি এটি কোনো package লাইনে থাকে, তবে নথিটি BibLaTeX-এ আছে।
  • addbibresource খুঁজুন। এটি কেবল BibLaTeX-এ থাকে, classic BibTeX এর বদলে bibliography ব্যবহার করে।
  • বিল্ড কোন প্রোগ্রাম ডাকে তা পরীক্ষা করুন। একটি BibLaTeX নথির কম্পাইল ক্রমে BibTeX নয়, Biber চালাতে হয়।
  • পাঠ্যের উদ্ধৃতি-নির্দেশগুলো পরীক্ষা করুন। parencite এবং textcite কেবল BibLaTeX-এ থাকে, cite একাই উভয় ক্ষেত্রেই কাজ করে, এ কারণেই প্রারম্ভিক অংশের পরীক্ষা আগে আসে।

BibTeX থেকে BibLaTeX-এ স্যুইচ করার প্রকৃত খরচ কী

.bib ফাইলটি নিজেই প্রায় অক্ষত অবস্থায় একটি পরিবর্তন টিকে যায়, কারণ উভয় সিস্টেম একই অন্তর্নিহিত এন্ট্রি ফরম্যাট পড়ে। অধিকাংশ ক্ষেত্র সরাসরি স্থানান্তরিত হয়, এবং BibLaTeX BibTeX-এর মূল field নামগুলোকে alias হিসেবে গ্রহণ করে, যদিও এটি আরও নির্ভুল বিকল্পও দেয়, যেমন পৃথক year এবং month field-এর বদলে একটি date field।

একবার কোনো নথির citation system নিশ্চিত হলে, সঠিক আকারে নতুন এন্ট্রি তৈরি করা dedicated bibtex generator দিয়ে memory থেকে raw field টাইপ করার চেয়ে সহজ, বিশেষ করে এমন source type-এর ক্ষেত্রে যা পুরো নথিতে মাত্র একবারই আসে।

আসল খরচ preamble এবং build chain-এ, data-তে নয়। bibliographystyle এবং bibliography-কে biblatex এবং addbibresource দিয়ে প্রতিস্থাপন করতে হয়, natbib থেকে নেওয়া যেকোনো citation command-কে BibLaTeX-এর নিজস্ব equivalent-এর সঙ্গে মিলিয়ে দেখতে হয়, এবং compiler বা editor-কে build-এর সময় BibTeX-এর বদলে Biber চালাতে বলতে হয়। শেষ ধাপটিই মানুষকে ফাঁদে ফেলে, একটি editor যদি এখনও পুরোনো build sequence-এর জন্য configured থাকে, তবে সেটি কোনো bibliography ছাড়াই একটি document তৈরি করে, এবং প্রকৃত কারণের দিকে ইঙ্গিত করে এমন কোনো error দেয় না।

চিহ্নিত হয়ে গেলে এর কোনোটিই কঠিন নয়, আর সেটাই ঠিক সমস্যা। প্রতিটি অংশই ছোট, সু-নথিভুক্ত পরিবর্তন, কিন্তু ব্যাখ্যা ছাড়া উত্তরাধিকারসূত্রে পাওয়া template প্রথম পরিবর্তনেই, অর্থাৎ build step-এ, নীরবে ব্যর্থ হওয়ার প্রবণতা রাখে, লেখক citations নিজে কাজ করত কি না তা দেখার আগেই।

আপনি কি Switch করবেন, নাকি কাজ করা একটি Template-কে যেমন আছে তেমনই রাখবেন?

যদি আপনি ইতিমধ্যেই classic BibTeX-এর সঙ্গে কাজ করে এমন একটি document তৈরি করে থাকেন, অর্থাৎ কোনো নতুন feature-এর প্রয়োজন না হয়, এটি কেবল English-language source-ই reference করে, এবং article, book ও conference paper ছাড়া অন্য কোনো source type কখনও প্রয়োজন না হয়, তবে একটি project-এর মাঝপথে switch করার খুব কম কারণ আছে। deadline-এর দুই মাস আগে থাকা একটি কাজ করা thesis template এই migration cost গ্রহণ করার জায়গা নয়।

একাধিক ভাষায় উৎস উদ্ধৃত করা, ডেটাসেট, ওয়েবসাইট বা অন্যান্য অ-মানক উৎস ধরনের ওপর নির্ভর করা, অথবা বিশেষভাবে উত্তরাধিকারসূত্রে পাওয়া, কারণ এর মূল লেখক ইতিমধ্যেই এটিকে BibLaTeX-এর চারপাশে গড়ে তুলেছিলেন, একটি ভিন্ন বিষয়। সেখানে প্রশ্নটি হলো, পরিবর্তন করা হবে কি না তা নয়, বরং নথিটি আদৌ কখনও প্রচলিত BibTeX ব্যবহার করছিল কি না, আর ঠিক এই কারণেই উপরের preamble check রয়েছে।

একটি reference list-কে ভিন্ন journal-এর জন্য পুনরায় বিন্যাস করা-এর নিজস্ব পৃষ্ঠা আছে, এবং একটি annotated bibliography এবং একটি literature review-এর মধ্যে পার্থক্য-এরও নিজস্ব পৃষ্ঠা আছে।

তবে প্রতিটি citation সমস্যা LaTeX-এর সমস্যা নয়। একটি citation generator যা সরাসরি publisher record থেকে একটি reference টেনে আনে Word-এ কাজ করা যে কারও জন্য একই অন্তর্নিহিত কাজ সমাধান করে, LaTeX-এর বদলে, .bst file বা Biber run ছাড়াই।

XLinkedInFacebook

সচরাচর জিজ্ঞাসিত প্রশ্ন

BibTeX বনাম BibLaTeX নির্ভর করে বিন্যাসের কাজটি কোথায় ঘটে তার ওপর। BibTeX নিজেই উদ্ধৃতি তথ্য পড়ে এবং বিন্যাস করে, একটি পৃথক .bst style file দ্বারা পরিচালিত হয়ে। BibLaTeX এই কাজটি ভাগ করে দেয়: Biber নামে একটি backend program তথ্য পরিচালনা করে, আর বিন্যাস নিয়ন্ত্রিত হয় নথির সাধারণ LaTeX macros দ্বারা। এই বিভাজনের কারণেই BibLaTeX Unicode, একাধিক ভাষা এবং অস্বাভাবিক source type আরও সহজে সামলায়।

Sara

Content planner and copywriter at TextPulse. Sara runs the blog day to day, from planning and drafting through to publishing. She writes the practical guides: clear explanations of academic writing problems, aimed at the person who actually has to hand something in.