سلام،
من این ترم باید پایاننامه بنویسیم و برای همین نیاز به یه ابزاری برای مشخص کردن تفاوتها بین دو نسخه مختلف کارم دارم (این دو نسخه میتونن دو ورژن مختلف از تغییرهای خودم باشن که مثلاً با git یا svn مدیریتشون میکنم، یا اصلاحاتی که استادم روی کارم انجام داده و برای من فرستاده).
من برای متنهای انگلیسیم از latexdiff (که یه اسکریپت پرل ئه و توی TeXLive و CTAN هست) استفاده میکنم، به این صورت که دو تا فایل tex رو بهش میدم و latexdiff یک فایل tex سوم به من میده که قسمتهای مشترک فایلهام رو داره و قسمتهای اضافه/حذف شده توی این فایل خروجی به خوبی مشخص شده.
برای کار پایاننامهام، امروز سعی کردم latexdiff رو روی یه نوشتهی کوچک xepersian تست کنم. خوشبختانه نتیجه خوب بود، فقط چندتا نکته که فکر کردم ممکنه به درد کسی بخوره:
۱- یادتون نره از option ئه utf8 توی latexdiff استفاده کنید:
latexdiff -e utf8 file1.tex file2.tex > filediff.tex
۲- این ابزار توی فایل خروجی از بسته color استفاده میکنه، و از اونجایی که color باید قبل از xepersian فراخوانی بشه، کامپایل کردن filediff.tex احتمالاً خطا میده.
میتونید از ابتدا توی فایل اصلیتون ازcolor توی جای درستش استفاده کنید، یا قبل از کامپایل کردن filediff.tex، ویرایشش کنید و بسته color رو جای درستش بزارید. (احتمالاً راه بهتری هم وجود داره)
۳- باید بعضی از دستورهای xepersian رو به latexdiff بدیم تا به صورت مناسب باهاشون برخورد کنه. برای توضیحات بیشتر سورس latexdiff رو ببینید. ولی به طور خلاصه، احتمالاً کافیه دستوراتی مثل lr، rl، Latin و Persian رو به لیستی که در انتهای کد latexdiff با %%BEGIN SAFE COMMANDS مشخص شده اضافه کنید. در این مورد که این چندتا دستور کافی هستن یا نه، وفا میتونه نظر دقیق رو بده.
من چند نوشته بزرگی که با xepersian داشتم، همه با نسخههای قدیمی اون بودن و به همین دلیل فقط این رو روی یه فایل کوچک آزمایش کردم، اگر بتونید روی نوشتههای بزرگتر (و پر از دستورات مختلف) آزمایشش کنید، مشکلات احتمالی بیشتری پیدا میشن.
یه نسخه از latexdiff که اون چندتا دستور بهش اضافه شدن رو پیوست میکنم.
خوشحال میشم بدونم شما از چه راه دیگهای (چه برای نوشتههای فارسی و چه انگلیسی) استفاده میکنید.