Lout (software)
লাউট হল জেফ্রি এইচ কিংস্টন দ্বারা উদ্ভাবিত একটি ব্যাচ ডকুমেন্ট ফরম্যাটার। এটি ল্যাটেক্সের মতো একটি নথির একটি উচ্চ-স্তরের বিবরণ পড়ে এবং একটি পোস্টস্ক্রিপ্ট ফাইল তৈরি করে যা বেশিরভাগ প্রিন্টারগুলিতে মুদ্রিত হতে পারে। প্লেইন টেক্সট এবং পিডিএফ আউটপুটও পাওয়া যায়। লাউট শব্দটি প্রাথমিকভাবে একটি ডকুমেন্ট ফরম্যাটিং প্রোগ্রামিং ভাষাকে নির্দেশ করে, যেখানে ভাষার (একমাত্র) প্রয়োগকে (জেফ্রি এইচ কিংস্টন দ্বারা) কখনও কখনও বাসার লাউট হিসাবে উল্লেখ করা হয়। বাসার লাউট একটি মুক্ত সফ্টওয়্যার, যা জি. এন. ইউ জেনারেল পাবলিক লাইসেন্সের শর্তাবলীর অধীনে বিতরণ করা হয়। লাউট টেক্স থেকে তার কিছু ফরম্যাটিং অ্যালগরিদম অনুলিপি করে তবে ম্যাক্রো ভাষার পরিবর্তে উচ্চ-স্তরের কার্যকরী প্রোগ্রামিং ভাষা ব্যবহারের কারণে প্রোগ্রাম করা অনেক সহজ করার উদ্দেশ্যে করা হয়েছে। যদিও টেক্স বাইনারি সহ ল্যাটেক্সের একটি সাধারণ ইনস্টলেশন 50 থেকে 300 এমবি পর্যন্ত সময় নেয়, লাউট প্রায় 1 এমবি। এটি মূলত কম প্যাকেজ এবং সরঞ্জামের কারণে, তবে ম্যাক্রো ল্যাঙ্গুয়েজ সোর্স কোডের পরিবর্তে সি বাস্তবায়নের জন্যও দায়ী হতে পারে। লাউট একটি সহজেই পড়া যায় এমন ব্যবহারকারী গাইড নিয়ে আসে এবং কয়েক ঘন্টার মধ্যে মূল বিষয়গুলি শেখা যায়। এটিতে টেবিল, চার্ট, সমীকরণ এবং রেখাচিত্র তৈরি করার জন্য প্যাকেজগুলি অন্তর্ভুক্ত রয়েছে, যা "বাক্সের বাইরে" একটি প্যাকেজের মধ্যে রয়েছে। লাউট প্রতিবেদন এবং বই তৈরির জন্য দরকারী এবং টাইপসেটিংয়ের উপর খুব সুনির্দিষ্ট নিয়ন্ত্রণ দেয়। যদিও লাউট প্রোগ্রামিং ভাষার মূলটি টেক্স-এর মতো শুধুমাত্র নিম্ন-স্তরের ক্রিয়াকলাপ সরবরাহ করে, ব্যাসার লাউটের সাথে আসা প্যাকেজগুলি একটি সম্পূর্ণ উচ্চ-স্তরের মার্কআপ ভাষা সরবরাহ করে যা ব্যবহারকারীরা সরাসরি নথি তৈরি করতে ব্যবহার করতে পারে, যা লাটেক্সের অনুরূপ। একটি খুব সাধারণ Lout নথি দেখতে এইরকম হতে পারেঃ #এটি একটি মন্তব্য। #'ডক' ডকুমেন্ট ক্লাস এবং এর ডিফল্ট স্টাইল ব্যবহার করুন। @SysInclude {doc} @Document @InitialFont {টাইমস বেস 10p}// #নথির বিষয়বস্তুর সূচনা। @Text @Begin @PP এটি একটি অনুচ্ছেদ। কেউ সহজেই @B {bold} বা @I {italic} টেক্সট এম্বেড করতে পারেন। কেউ সহজেই পাঠ্যের শৈলী পরিবর্তন করতে পারেন, যেমন {Helvetica Base} @Font {ব্যবহৃত ফন্ট পরিবর্তন করা]। @Begin বিভাগগুলি @Section @Title [প্রথম বিভাগ] @Begin @PP এটি একটি বিভাগের বিষয়বস্তু। @End @Section @EndSections @End @Text #নথির শেষ। বিভিন্ন ধরনের নথি পাওয়া যায়ঃ নথি, প্রতিবেদন, বই, তবে স্লাইড (ওভারহেড স্বচ্ছতার জন্য) এবং চিত্র (স্বতন্ত্র চিত্রের জন্য)। একটি নথির শৈলী কাস্টমাইজ করা সাধারণত তুলনামূলকভাবে সহজ, এমনকি অ-প্রোগ্রামারের কাছেও। প্রোগ্রামিং ভাষার বৈশিষ্ট্য লাউট প্রোগ্রামিং ভাষা অন্যান্য কার্যকরী ভাষার অনুরূপ। মূল প্রোগ্রামিং ভাষায় 30টিরও কম আদিম অপারেটর রয়েছে। কিছু বৈশিষ্ট্য এটিকে বিশেষত হাস্কেলের কাছাকাছি করে তোলে, বিশেষত এই সত্য যে লাউট অভিব্যক্তিগুলি অলসভাবে মূল্যায়ন করা হয়। লাউট ডকুমেন্ট ফরম্যাটিং বাস্তবায়নের জন্য প্রয়োজনীয় গঠনগুলিও সরবরাহ করে যা সাধারণত অন্যান্য প্রোগ্রামিং ভাষায় পাওয়া যায় না, যেমন গ্যালি। বেশিরভাগ অন্যান্য কার্যকরী প্রোগ্রামিং ভাষার মতো, উদাহরণস্বরূপ, লাউট প্রথম শ্রেণীর ফাংশন সরবরাহ করে না। 2019 সালে সাধারণ দুর্বলতা এবং এক্সপোজারগুলি লাউট-এ দুটি বাফার ওভারফ্লো সমস্যা তালিকাভুক্ত করেছে, যা অবিশ্বস্ত নথিগুলি প্রক্রিয়া করা হলে কাজে লাগানো যেতে পারে। এই সমস্যাগুলি প্যাচ না করার কারণে 2020 সালের অক্টোবরে ডেবিয়ান লাউটকে সরিয়ে দিয়েছিলেন; 2013 সাল থেকে প্যাকেজটির কোনও রক্ষণাবেক্ষণকারী ছিল না। বাফার ওভারফ্লো সমস্যাগুলি সংশোধন করা হয়েছে এবং সিস্টেমটি এখন https://github.com/william8000/lout রেফারেন্স এক্সটার্নাল লিঙ্কগুলিতে রক্ষণাবেক্ষণ করা হয় অরিজিনাল হোম পেজ কারেন্ট, রক্ষণাবেক্ষণ করা সিস্টেম ফ্রি টাইপসেটিং সফ্টওয়্যার টাইপসেটিং প্রোগ্রামিং ভাষাগুলি