সব নথি Word-এ শুরু হয় না। LaTeX-এর সঙ্গে লড়াই না করে প্রবন্ধ, চিঠি, সিভি আর লেকচার নোট লেখার জন্য এখন অনেকেই Typst ব্যবহার করেন, আর অনেক দল তাদের ম্যানুয়াল, স্পেসিফিকেশন ও পরিচালনার নিয়মাবলি AsciiDoc-এ রাখে। তারপর কেউ সই করা স্ক্যান কপি চেয়ে বসেন, আর আপনার সামনের কম্পিউটারে আছে শুধু সোর্স ফাইল।

Look Scanned এখন দুটোই খুলতে পারে। .typ ফাইলের জন্য Typst (.typ) থেকে স্ক্যানের মতো PDF, আর .adoc ও .asciidoc ফাইলের জন্য AsciiDoc (.adoc) থেকে স্ক্যানের মতো PDF ব্যবহার করুন। নথিটি আপনার ব্রাউজারের ভেতরেই পৃষ্ঠায় সাজানো হয়। প্রিভিউতে দেখে নেন, স্ক্যান ইফেক্ট যোগ করেন, আর এমন একটি PDF ডাউনলোড করেন যা দেখে মনে হয় আসল স্ক্যানারের ভেতর দিয়ে গেছে। Typst CLI, Ruby বা Asciidoctor PDF ইনস্টল করতে হয় না, কোনো অ্যাকাউন্টে লগ ইনও করতে হয় না।

Typst: আসল কম্পাইলার, আপনার ব্রাউজারে

Look Scanned অফিশিয়াল Typst কম্পাইলার (Typst 0.14) চালায়, ব্রাউজারের জন্য তৈরি একটি সংস্করণে। typst compile-এর পেছনে যে কম্পাইলার কাজ করে, এটি সেটিই। তাই পৃষ্ঠা, লাইন ভাঙা, সমীকরণ আর টেবিল আপনার নিজের কম্পিউটারের মতোই আসে, নথিতে ঠিক করা পৃষ্ঠার মাপ ও মার্জিনসহ।

  • প্রথমবার একটু সময় লাগে। কম্পাইলার আর Typst-এর ফন্ট মিলিয়ে প্রায় 20 MB প্রথমবার Look Scanned থেকে ডাউনলোড হয়। তারপর সেগুলো ব্রাউজারের ক্যাশ থেকে আসে, আর Typst ফাইল অফলাইনেও খোলে।
  • একটি ফাইল, কোনো প্যাকেজ নয়। শুধু এক ফাইলে সম্পূর্ণ নথিই কম্পাইল হয়। #import "@preview/…" লাইন ব্যর্থ হয়, কারণ ডাউনলোড করার মতো কোনো প্যাকেজ রেজিস্ট্রি নেই। অন্য ফাইল পড়ে এমন সব কিছুর ক্ষেত্রেও একই কথা: #image দিয়ে বসানো ছবি, #include দিয়ে আনা অধ্যায়, কিংবা CSV বা JSON ফাইল থেকে পড়া ডেটা।
  • শুধু Typst-এর ডিফল্ট ফন্ট। লেখা সাজানো হয় Typst-এর সঙ্গে আসা ফন্টে: Libertinus Serif, গণিতের ফন্টসহ New Computer Modern, আর কোডের জন্য DejaVu Sans Mono। আপনার কম্পিউটারে ইনস্টল করা ফন্ট পাওয়া যায় না, তাই নথিতে উল্লেখ করা অন্য কোনো ফন্ট এগুলো দিয়ে বদলে যায়। এগুলো লাতিন (ভিয়েতনামিসহ), গ্রিক, সিরিলিক ও হিব্রু লিপি কভার করে। চীনা, জাপানি ও কোরীয় লেখা দেখানোর মতো কোনো ফন্টই নেই, আর আরবি, থাই বা দেবনাগরীর মতো লিপিও ঠিকমতো সমর্থিত নয়, তাই আপনার নথিতে এসব লিপি থাকলে প্রিভিউতে দেখে নিন।
  • সোর্স কম্পাইল হতে হবে। Typst কোনো ত্রুটি জানালে পৃষ্ঠার বদলে একটি ত্রুটির বার্তা দেখবেন।

যেহেতু স্ক্যান ইফেক্ট বসার আগেই Typst একটি আসল PDF তৈরি করে, তাই তার লেখাও রেখে দেওয়া যায়। PDF হিসেবে সেভ করার সময় আউটপুট সেটিংসে “মূল লেখা বজায় রাখুন (OCR-এর মতো)” চালু করুন, তাহলে স্ক্যান করা PDF-এর লেখা খোঁজা ও কপি করা যাবে।

AsciiDoc: Ruby ছাড়াই Asciidoctor

AsciiDoc ফাইল রূপান্তর করে Asciidoctor, যা AsciiDoc-এর মানদণ্ড প্রসেসর; এখানে চলে তার JavaScript সংস্করণ, আপনার ব্রাউজারের ভেতরে। ফলাফল এক ইঞ্চি মার্জিনের A4 পৃষ্ঠায় সাজানো হয়, আর এতে যা আসে:

  • নথির হেডার: শিরোনাম, লেখক আর সংস্করণের লাইন, এবং নথিতে :toc: সেট থাকলে সূচিপত্রও।
  • সেকশন, তালিকা, টেবিল, পাদটীকা, উদ্ধৃতি আর কোডের কলআউট (callouts)। সতর্কবার্তার ব্লক (admonitions) তাদের লেবেল, যেমন Note বা Warning, আইকনের বদলে লেখা হিসেবে দেখায়।
  • নথিতে :stem: সেট থাকলে STEM সূত্র, যথাযথ গণিতের ফন্টে সাজানো। AsciiMath আর LaTeX দুই ধরনের লেখাই চলে, লাইনের ভেতরেও, আলাদা ব্লকেও।
  • নথিতে :source-highlighter: সেট থাকলে কোড লিস্টিং সিনট্যাক্স অনুযায়ী রঙিন হয়, যে হাইলাইটারের নামই থাকুক। এই অ্যাট্রিবিউট না থাকলে লিস্টিং রংহীনই থাকে, অন্য যেকোনো জায়গার মতো।
  • লম্বা টেবিল আর কোড লিস্টিং পরের পৃষ্ঠায় চলে যায়, আর টেবিলের কোনো সারি কখনো মাঝখান থেকে কাটা পড়ে না।

কিছু জিনিস আসে না:

  • include:: অনুসরণ করা হয় না। প্রতিটি include নির্দেশ যুক্ত হওয়ার কথা যে বিষয়বস্তু, তার বদলে নিজের পাথের একটি লিংক হিসেবে দেখায়। আগে অংশগুলো একটি ফাইলে জুড়ে নিন।
  • ছবির জন্য পূর্ণ ওয়েব ঠিকানা লাগে। images/diagram.png-এর মতো রিলেটিভ পাথ দিয়ে উল্লেখ করা ছবি পাওয়া যায় না, কারণ ফাইলটি তার ফোল্ডার ছাড়াই একা খোলা হয়। পূর্ণ https:// ঠিকানার ছবি যে সাইটে রাখা আছে সেখান থেকে লোড হয়, তার জন্য ইন্টারনেট সংযোগ লাগে।
  • ডায়াগ্রাম সোর্স হিসেবেই থাকে। Asciidoctor Diagram পাওয়া যায় না, তাই PlantUML বা Mermaid ব্লক আপনার টাইপ করা লেখা হিসেবেই দেখায়।
  • ফন্ট আসে আপনার ডিভাইস থেকে। লেখা সাজানো হয় আপনার কম্পিউটার বা ফোনে ইনস্টল করা ফন্টে, তাই একই ফাইল অন্য ডিভাইসে ভিন্ন জায়গায় পৃষ্ঠা বদলাতে পারে।
  • খুব লম্বা ফাইলে সময় ফুরিয়ে যেতে পারে। লেআউট প্রায় 30 সেকেন্ডের মধ্যে শেষ হতে হয়, তাই বইয়ের মতো লম্বা নথি ছোট ছোট ফাইলে ভাগ করে নিন।
  • .asc ফাইল নেওয়া হয় না। এই এক্সটেনশন সাধারণত PGP কী আর স্বাক্ষরের। খোলার আগে AsciiDoc ফাইলের নাম বদলে .adoc করে নিন।

.typ বা .adoc ফাইলকে কীভাবে স্ক্যান করা PDF বানাবেন

  1. Typst (.typ) থেকে স্ক্যানের মতো PDF বা AsciiDoc (.adoc) থেকে স্ক্যানের মতো PDF খুলে আপনার ফাইল বেছে নিন।
  2. পৃষ্ঠাগুলো তৈরি হওয়া পর্যন্ত একটু অপেক্ষা করুন, তারপর প্রিভিউ এক এক পৃষ্ঠা করে দেখুন। শিরোনাম, সমীকরণ, টেবিল আর কোড মিলিয়ে নিন।
  3. স্ক্যান ইফেক্ট ঠিক করুন। নথিতে ছোট লেখা বা ঘন সূত্র থাকলে ব্লার আর নয়েজ কম রাখুন।
  4. “স্ক্যান করা PDF তৈরি করুন” চাপুন, তারপর “স্ক্যান করা PDF ডাউনলোড করুন”।

ছবি চাইলে প্রতিটি পৃষ্ঠা JPG বা PNG হিসেবেও এক্সপোর্ট করতে পারেন। কখন কোনটা কাজে লাগে, তা আমাদের PDF, JPG ও PNG-এর নির্দেশিকায় বলা আছে। Pro থাকলে বাল্ক স্ক্যান দিয়ে একসঙ্গে কয়েকটি .typ বা .adoc ফাইল করা যায়।

আপনার ফাইল আপনার ডিভাইসেই থাকে

দুটি ফরম্যাটই আপনার ব্রাউজারে রূপান্তর ও স্ক্যান করা হয়, আর সোর্স ফাইল কখনো কোনো সার্ভারে আপলোড হয় না। Typst-এর ক্ষেত্রে শুধু কম্পাইলার আর তার ফন্ট ডাউনলোড হয়, Look Scanned-এর নিজের সাইট থেকে; প্যাকেজ বা অন্য ফাইল কখনো আনা হয় না। AsciiDoc-এর ক্ষেত্রে একমাত্র ব্যতিক্রম পূর্ণ https:// ঠিকানার ছবি, যা যে সাইটে রাখা আছে সেখান থেকে আনা হয়, ঠিক যেমন ব্রাউজারে পৃষ্ঠাটি খুললে হতো।

জেনে রাখা ভালো

  • ফলাফল ছবি দিয়ে তৈরি। আসল স্ক্যানের মতোই PDF-এর লেখা নির্বাচন বা খোঁজা যায় না, যদি না আপনি কোনো Typst ফাইলের জন্য ওপরের লেখার বিকল্পটি ব্যবহার করে থাকেন। সম্পাদনার জন্য আপনার .typ বা .adoc সোর্স রেখে দিন।
  • স্ক্যান ইফেক্ট সবসময় বসে। Look Scanned-এর কাজই হলো নথিকে স্ক্যান করা দেখানো। শুধু একটি পরিষ্কার PDF দরকার হলে Typst বা Asciidoctor PDF দিয়ে এক্সপোর্ট করুন।
  • প্যাকেজ, include বা ডায়াগ্রাম দরকার? যে কম্পিউটারে Typst বা Asciidoctor PDF ইনস্টল আছে সেখানে PDF তৈরি করুন, তারপর Look Scanned-এ সেই PDF-এ স্ক্যান ইফেক্ট যোগ করুন। যেকোনো নথিতেই এটা কাজ করে, কারণ কঠিন অংশটা মূল টুল আগেই করে ফেলেছে।

অন্য ফরম্যাটে লেখেন? দেখে নিন Look Scanned কীভাবে LaTeX ফাইল আর Markdown, HTML ও TXT ফাইল সামলায়।

কোনো .typ বা .adoc ফাইল স্ক্যান করা দেখাতে হবে? Typst দিয়ে চেষ্টা করুন অথবা AsciiDoc দিয়ে।