پیشنوشت: این نوشته به ندرت با تلاشهای دیگهی من بهروزرسانی میشه. در حال حاضر فقط لیست تلاشهای ناموفقم رو اینجا میذارم و به زودی نوشته رو کمکم به روزرسانی میکنم.
بعد از خوندن Things to Make and Do in the Fourth Dimension تصمیم گرفتم برای بیشتر آشنا شدن با مباحث درس الگوریتممون بجای خوندن کتاب مرجعش کتاب Competitive Programmer’s Handbook که جادی معرفی کرده بود رو بخونم ولی فهمیدم که نسخهی epub یا mobi برای مطالعه توی کیندل نداره و فقط نسخهی PDFش منتشر شده. تصمیم گرفتم تلاش کنم و از فایلهای tex برنامه خروجی بگیرم.
اول از همه توی صفحهی گیتهاب اون مخزن رو توی Github Desktopم باز کردم. اگه دوست ندارید با ابزار گرافیکی کار کنید این کار من با اجرای دستور git clone https://github.com/pllk/cphb.git
یکیه. توی ویندوز هم میتونید با choco install git
گیت و CLIش رو روی سیستم خودتون نصب کنید. (به این شرط که سیستم مدیریت برنامهی chocolatey رو نصب داشته باشید – نصبش پیشنهاد میشه و برای نصب ابزارهای مورد نیاز اینجا هم میشه ازش استفاده کرد)
اولین جستوجو منو به برنامهی pandoc رسوند. بنابراین توی فولدری که کلون کرده بودم رفتم و دستور pandoc book.tex -t epub -o book.epub
رو اجرا کردم (قبلش choco install pandoc
) و چند صفحهی اول کتاب توی calibre epub viewer به نظر خوب میومد. برای همین کامیتش کردم و پول ریکوئست رو فرستادم و فایل رو هم توی کیندلم فرستادم که بخونمش.
موقع خوندن متوجه شدم که فرمولهای ریاضی به شکل خیلی بدی نمایش داده میشن. مثلن
توی فایل epub:
توی فایل PDF:
یا مثلن توی فایل epub:
توی فایل PDF:
با توجه به اینکه با موضوعاتی که داشت میگفت آشنایی داشتم در فهم فرمولها (بیشتر حدس زدنشون) مشکلی نداشتم (البته من اوایل فصل اول رو خوندم). ولی چون چنین چیزی برام قابل قبول نبود به دنبال راهحلش گشتم.
چیزهایی که امتحان کردم و جواب ندادن تا الان اینها بودن:
- خروجی گرفتن با epub3 با دستور
pandoc book.tex -t epub3 -o book.epub
و تستش توی calibre viewer که چون کالیبره از کتابخونهی MathJax موقع نمایش کتاب استفاده میکنه، خروجیش با خروجی کیندل یا Edge یکی نیست. - ایدهم اینه که باید یجوری به پنداک بفهمونم که فرمولهای ریاضی رو به عکس تبدیل کن به جای MathMl ولی موفق نشدم هنوز.
- از
--webtex
هم استفاده کردم ولی به خاطر محدودیت اینترنت توی خونه خیلی کند بود و توی سرور هم به دلایل نامعلوم پروسه وسطش کیل میشد که هنوز فرصت نکردم بررسیش کنم ببینم چرا اینجوری میشه. - مشکلم با خروجی html گرفتن و تبدیلش توی کالیبره اینه که مطمئن نیستم بتونه فهرست رو درست تبدیل کنه. ولی فرصت نکردم امتحانش کنم.
- فیلتر pandoc-eqnos رو با دستور
--filter pandoc-eqnos
تست کردم ولی تستش بیهوده و بیدلیل بود 🙂 در واقع شانسمو امتحان کردم صرفن - یکسری تست بیهودهی دیگه هم داشتم با دستور
--mathjax
و--self-contained
ولی به نتیجهای نرسید.
در نهایت به یکسری لینک رسیدم که هنوز فرصت نشده بررسیشون کنم و برای مراجعهی آینده اینجا میذارم
- Use LaTeX to produce Epub
- How We Automated Our Ebook Builds With Pandoc and KindleGen
- LaTeX document to epub or mobi ebook formats (with mathematical formulas)
- How can I make mathematics look good in ebooks
- https://github.com/jgm/pandoc/wiki/Pandoc-Filters
- https://github.com/liamoc/latex-formulae
اگه نظر یا راهحلی دارید خوشحالم میشم باهام در میون بذاریدش 🙂
پینوشت: در حین نوشتن به تاریخچهی دستوراتی که توی پاورشل اجرا کرده بودم نیاز پیدا کردم. در کمال تعجب فهمیدم دستور get-history
کار نمیکنه. (در واقع صرفن تاریخچهی دستورات همون پنجرهی پاورشل رو بر میگردونه که به دردم نمیخورد) ولی Arrow Keyها (کلید بالا و پایین) کار میکنن و دستورات قبلی رو میارن. اینجا فهمیدم که توی ویندوز ۱۰ تاریخچه توی فایل C:\Users\username\AppData\Roaming\Microsoft\Windows\PowerShell\PSReadline\ConsoleHost_history.txt
ذخیره میشه.
ببین k2pdf به کارت میاد عزیزم
ممنون بابت معرفیش. مشکل اینه که خروجی این هم فایل PDFئه و توی کیندل با فایلهای متنمحور (مثل mobi و azw) راحتترم از نظر هایلایت کردن و تغییر سایز و شکل فونت و اینجور مسائل