۸ آبان ۱۴۰۵ github.com ۳ دقیقه مطالعه

پروژه Florilegium؛ تولید رویه‌ای گل و حاشیه در LaTeX با زبان Lua

پروژه Florilegium؛ تولید رویه‌ای گل و حاشیه در LaTeX با زبان Lua — Florilegium: Procedural Flowers in LaTeX

خلاصه

پروژه Florilegium ابزاری جالب برای تولید حاشیه‌های گل‌دار و نقاشی‌گونه به سبک Delft-blue در قالب LuaLaTeX است. این کتابخانه بدون استفاده از تصاویر خارجی و به کمک محاسبات ریاضی و اسکریپت‌های Lua، در زمان کامپایل سند، حاشیه‌ها و گل‌های منحصربه‌فردی را به صورت پارامتریک رسم می‌کند.

پروژه Florilegium یکی از آن نوآوری‌های جذاب در دنیای ابزارهای حروف‌چینی است که توانسته توجه برنامه‌نویسان و کاربران LaTeX را در Hacker News به خود جلب کند. این پروژه که توسط kevinraymond توسعه یافته، امکان تولید حاشیه‌های گل‌دار و گرافیکی را به صورت کاملاً رویه‌ای (Procedural) فراهم می‌کند.

معماری و نحوه کارکرد

ایده اصلی این پروژه پاسخ به یک پرسش در انجمن Reddit درباره نحوه رسم گل‌ها در LaTeX شکل گرفت. ابزار Florilegium بدون نیاز به فایل‌های تصویری خارجی، مسیرهای برداری یا دارایی‌های از پیش‌ساخته کار می‌کند. هر گلبرگ، برگ و ساقه توسط توابع ریاضی و منحنی‌های پارامتریک در زبان Lua محاسبه می‌شود.

هنگامی که سند شما در حال پردازش است، موتور LuaLaTeX این اسکریپت‌ها را اجرا می‌کند تا حاشیه‌ها را به شکلی آبرنگ‌گونه مستقیماً در فایل PDF خروجی رسم کند. این یعنی هر صفحه باغچه اختصاصی خود را دارد و هیچ دو صفحه‌ای کاملاً شبیه به هم نخواهند بود.

ویژگی‌های کلیدی

  • رشد پویای حاشیه‌ها: الگوریتم حاشیه‌ها فضای خالی صفحه را شناسایی کرده و شاخه‌ها را به سمت فضاهای خالی هدایت می‌کند.
  • حروف اول تزئینی (Initials): امکان قرار دادن حروف بزرگ تزئینی در ابتدای پاراگراف‌ها که ساقه‌ها از میان آن‌ها عبور می‌کنند.
  • سازگاری با سرفصل‌ها و متن: قابلیت افزودن خودکار گل‌ها در کنار سرفصل‌ها یا در خطوط مشخصی از متن.
  • تغییر فصل‌ها (Aging): قابلیت تغییر ظاهر حاشیه‌ها از حالت بهاری (جوانه‌ها و برگ‌های روشن) به حالت پاییزی در صفحات پایانی سند.
  • حشرات و موجودات زنده: افزوده شدن خودکار پروانه‌ها، زنبورها، حلزون‌ها و پرندگان در فضاهای خالی حاشیه.

نحوه استفاده و نصب

برای استفاده از این پکیج در سند LaTeX خود، کافی است فایل‌ها را در پروژه قرار داده و از دستورات زیر استفاده کنید:

\usepackage[grown]{florilegium}
\definecolor{ink}{HTML}{5B2A1F} % تنظیم رنگ جوهر

همچنین با استفاده از ابزار Make می‌توانید نمونه‌های مختلف، انیمیشن رشد گل‌ها یا نسخه مستقل PostScript آن را کامپایل کنید:

make                  # ساخت فایل‌های PDF
make seed-7           # تولید یک صفحه با سید شماره ۷
make grow-6           # ساخت انیمیشن رشد گرافیکی

چرا این پروژه در Hacker News مطرح شد؟

این پروژه با استقبال کاربران Hacker News مواجه شده است، زیرا ترکیبی خلاقانه از برنامه‌نویسی، ریاضیات و هنر حروف‌چینی قدیمی را به نمایش می‌گذارد. کاربران زیبایی بصری خروجی و اجرای کدهای Lua در دل LaTeX را تحسین کرده‌اند. علاوه بر این، وجود نسخه مستقل PostScript که بدون نیاز به موتور TeX و مستقیماً توسط مفسرهایی مانند Ghostscript اجرا می‌شود، جنبه فنی و مهندسی آن را جذاب‌تر کرده است.

این مطلب به‌صورت کاملاً خودکار و با هوش مصنوعی از مقالهٔ اصلی و بحث هکرنیوز تهیه شده و ممکن است خطا داشته باشد. حقوق مطلب اصلی متعلق به نویسندهٔ آن است. قوانین و گزارش مشکل

این خبر را با دیگران به اشتراک بگذارید

خبرهای فناوری در قالب پست و ویدیوی کوتاه، در اینستاگرام هکرنیوز بلاگ. به‌زودی
هر خبر به محض انتشار، به‌همراه پادکست روزانه در کانال تلگرام هکرنیوز بلاگ.