لا تجعلني اجتاحت يدويا تجميع اللاتكس عندما يكون هناك خطأ
-
09-09-2019 - |
سؤال
كما هو مقترح هنا, latexmk
هي طريقة مفيدة لتجميع وثيقتك باستمرار كلما تغير المصدر. ولكن في كثير من الأحيان عندما تعمل في وثيقة، ستنتهي بك الأمر مع الأخطاء ثم latex
سوف الذعر وانتظر إدخال المستخدم قبل المتابعة. التي يمكن أن تصبح مزعجة للغاية، خاصة في الآونة الأخيرة عندما اخترقت شيئا لتجميعها latex
مباشرة من etherpad. المستند، الذي يحفظ باستمرار كما تكتب.
هل هناك إعداد ل latex
أو latexmk
لجعلها مجرد إحباط مع رسالة خطأ إذا كان لا يمكن تجميعها؟ أو، إذا لزم الأمر، كيف أقوم بإعداد نوع من توقع النصي إلى شكاوى اللاتكس الرصيف التلقائي؟
(لقد فكرت pdflatex
الخيار -halt-on-error
سوف تفعل الخدعة ولكن على ما يبدو غير.)
سؤال المكافأة: Skim On Mac OSX هو عارض PDF لطيف أن AutoRefreshes عند تغييرات PDF (على عكس المعاينة)، إلا عندما يكون هناك خطأ في اللاتكس، فإنه يجعلك تؤكد أنك تريد التشغيل التلقائي. لا تملك Texniscope هذه المشكلة، لكن كان علي أن أتخلص من Texniscope أسباب أخرى. وبعد هل هناك طريقة لجعل Skim دائما التلقائي، أم أن هناك عارض آخر يحصل على هذا الحق؟
وأضاف: مصغرة تعليمي على latexmk
بناء على إجابة هذا السؤال:
احصل على
latexmk
هنا: http://www.phys.psu.edu/~collins/software/latexmk-jcc/أضف ما يلي
~/.latexmkrc
ملف:$pdflatex = 'pdflatex -interaction=nonstopmode';
(لنظام التشغيل X مع SKIM)
$pdf_previewer = "open -a /Applications/Skim.app";
أثناء تحرير الملف المصدر الخاص بك،
foo.tex
, ، تشغيل ما يلي في محطة:latexmk -pvc -pdf foo.tex
يستخدم المقشود أو عارض PDF حقيقي آخر لعرض foo.pdf. للحصول على Skim، انظر فقط إلى علامة التبويب "المزامنة" في تفضيلات Skim وإعدادها لتحريرها.
هاهو! ضرب حفظ على foo.tex
سوف يحدث الآن foo.pdf
للتحديث دون لمس شيء.
المحلول
مع miktex، pdflatex
لديه خيار سطر الأوامر هذا:
-interaction=MODE Set the interaction mode; MODE must be one
of: batchmode, nonstopmode, scrollmode,
errorstopmode.
تحرير المقترحة بواسطة @ 9999years:
هذه القيم تعادل مجموعة من اللاتكس \commands
التي توفر نفس الوظيفة.
الأوضاع تجعل TEX تتصرف بالطريقة التالية:
errorstopmode
يتوقف على جميع الأخطاء، سواء كانت حول الأخطاء في شفرة المصدر أو الملفات غير الموجودة.
scrollmode
لا تتوقف عن الأخطاء في المصدر ولكن يطلب إدخال إدخال عند حدوث خطأ أكثر خطورة مثل الملف المفقود.في أخمين إلى حد ما
nonstopmode
, ، لا يطلب TEX المدخلات بعد أخطاء خطيرة ولكن يتوقف تماما.
batchmode
يمنع جميع الإخراج بالإضافة إلى ذلك (المقصود للاستخدام في البرامج النصية الآلية). في جميع الحالات، تتم كتابة جميع الأخطاء إلى ملف السجل (yourtexfile.log).
نصائح أخرى
يمكنك أيضا وضع \nonstopmode
أو \batchmode
في بداية ملف TEX الخاص بك؛ ثم سوف تعمل مع أي إصدار تكس، وليس فقط pdflatex
. وبعد لمزيد من المعلومات حول هذه الأوامر ذات الصلة ترى جيدة جدا المرجع على أوامر TEX (RAW) بواسطة David Bausum. وبعد خاصة الأمر من تصحيح الأسرة يمكن أن يكون اهتمام هنا.
اختراق آخر محتمل هو ببساطة استخدام:
yes x | latexmk source.tex
يمكنك دائما إنشاء اسم مستعار ل "نعم X | Latexmk 'إذا كنت ستستخدم الكثير من الخيار. الميزة الرئيسية لهذا يمكنني أن أرى فوق الاقتراحات الأخرى هي أنه سريع جدا عندما تريد في بعض الأحيان أن تتصرف اللاتكسمس مثل هذا.
Mehmet.
هنالك أيضا \batchmode
الأمر قد يفعل العمل.