لا تجعلني اجتاحت يدويا تجميع اللاتكس عندما يكون هناك خطأ

StackOverflow https://stackoverflow.com/questions/738755

سؤال

كما هو مقترح هنا, latexmk هي طريقة مفيدة لتجميع وثيقتك باستمرار كلما تغير المصدر. ولكن في كثير من الأحيان عندما تعمل في وثيقة، ستنتهي بك الأمر مع الأخطاء ثم latex سوف الذعر وانتظر إدخال المستخدم قبل المتابعة. التي يمكن أن تصبح مزعجة للغاية، خاصة في الآونة الأخيرة عندما اخترقت شيئا لتجميعها latex مباشرة من etherpad. المستند، الذي يحفظ باستمرار كما تكتب.

هل هناك إعداد ل latex أو latexmk لجعلها مجرد إحباط مع رسالة خطأ إذا كان لا يمكن تجميعها؟ أو، إذا لزم الأمر، كيف أقوم بإعداد نوع من توقع النصي إلى شكاوى اللاتكس الرصيف التلقائي؟

(لقد فكرت pdflatexالخيار -halt-on-error سوف تفعل الخدعة ولكن على ما يبدو غير.)

سؤال المكافأة: Skim On Mac OSX هو عارض PDF لطيف أن AutoRefreshes عند تغييرات PDF (على عكس المعاينة)، إلا عندما يكون هناك خطأ في اللاتكس، فإنه يجعلك تؤكد أنك تريد التشغيل التلقائي. لا تملك Texniscope هذه المشكلة، لكن كان علي أن أتخلص من Texniscope أسباب أخرى. وبعد هل هناك طريقة لجعل Skim دائما التلقائي، أم أن هناك عارض آخر يحصل على هذا الحق؟


وأضاف: مصغرة تعليمي على latexmk بناء على إجابة هذا السؤال:

  1. احصل على latexmk هنا: http://www.phys.psu.edu/~collins/software/latexmk-jcc/

  2. أضف ما يلي ~/.latexmkrc ملف:

    $pdflatex = 'pdflatex -interaction=nonstopmode';
    

    (لنظام التشغيل X مع SKIM)

    $pdf_previewer = "open -a /Applications/Skim.app";
    
  3. أثناء تحرير الملف المصدر الخاص بك، foo.tex, ، تشغيل ما يلي في محطة:

    latexmk -pvc -pdf foo.tex
    
  4. يستخدم المقشود أو عارض 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 الأمر قد يفعل العمل.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top