Question

Comme suggéré ici, latexmk est un moyen pratique de compiler continuellement votre document chaque fois que la source change.Mais souvent, lorsque vous travaillez sur un document, vous vous retrouvez avec des erreurs, puis latex va paniquer et attendre l'entrée de l'utilisateur avant de continuer.Cela peut devenir très ennuyeux, surtout récemment lorsque j'ai piraté quelque chose à compiler. latex directement d'un Ethernet document, qui est enregistré en continu au fur et à mesure que vous tapez.

Y a-t-il un paramètre pour latex ou latexmk pour le faire abandonner avec un message d'erreur s'il ne peut pas compiler ?Ou, si nécessaire, comment configurer une sorte de script Expect pour rejeter automatiquement les plaintes de LaTeX ?

(J'ai pensé pdflatexle choix -halt-on-error ferait l'affaire mais apparemment pas.)

Question bonus:Skim sur Mac OSX est un joli visualiseur de PDF qui s'actualise automatiquement lorsque le PDF change (contrairement à Aperçu), sauf que chaque fois qu'il y a une erreur latex, cela vous fait reconfirmer que vous souhaitez une actualisation automatique.Texniscope n'a pas ce problème, mais j'ai dû abandonner Texniscope pour autres raisons.Existe-t-il un moyen d'actualiser automatiquement Skim, ou existe-t-il un autre visualiseur qui comprend correctement ?


AJOUTÉE:Mini-tutoriel sur latexmk basé sur la réponse à cette question:

  1. Obtenir latexmk ici: http://www.phys.psu.edu/~collins/software/latexmk-jcc/

  2. Ajoutez ce qui suit à votre ~/.latexmkrc déposer:

    $pdflatex = 'pdflatex -interaction=nonstopmode';
    

    (Pour OS X avec Skim)

    $pdf_previewer = "open -a /Applications/Skim.app";
    
  3. Lors de l'édition de votre fichier source, foo.tex, exécutez ce qui suit dans un terminal :

    latexmk -pvc -pdf foo.tex
    
  4. Utiliser Parcourir ou une autre visionneuse PDF en temps réel pour afficher foo.pdf.Pour Skim, regardez simplement l'onglet « Sync » dans les préférences de Skim et configurez-le pour votre éditeur.

Voilà !Cliquer sur Enregistrer sur foo.tex va maintenant causer foo.pdf se rafraîchir sans rien toucher.

Était-ce utile?

La solution

Avec MikTeX, pdflatex a cette option de ligne de commande :

  -interaction=MODE               Set the interaction mode; MODE must be one
                                  of: batchmode, nonstopmode, scrollmode,
                                  errorstopmode.

Modification suggérée par @9999years :

Ces valeurs sont équivalentes à un ensemble de LaTeX \commands qui offrent la même fonctionnalité.

Depuis Conseils d'utilisation de TeX:

Les modes font que TeX se comporte de la manière suivante :

  • errorstopmode s'arrête sur toutes les erreurs, qu'il s'agisse d'erreurs dans le code source ou des fichiers inexistants.

  • scrollmode Ne s'arrête pas sur les erreurs dans la source mais demande l'entrée lorsqu'une erreur plus grave comme comme un fichier manquant se produit.

  • Dans le nom quelque peu mal nommé nonstopmode, Tex ne demande pas la contribution après de graves erreurs mais s'arrête complètement.

  • batchmode Empêche toute sortie en plus de celle (destinée à une utilisation dans les scripts automatisés).Dans tous les cas, toutes les erreurs sont écrites dans le fichier journal (yourtexfile.log).

Autres conseils

Vous pouvez aussi mettre \nonstopmode ou \batchmode au début de votre fichier tex; alors il va travailler avec une version TeX, pas seulement pdflatex. Pour plus d'informations sur ces derniers et les commandes associées voir la très bonne sur les commandes TeX (brut) par David Bausum . En particulier, la commande de la famille pourrait être mise au point d'intérêt ici.

Une autre astuce possible consiste simplement à utiliser:

yes x | latexmk source.tex

Vous pouvez toujours créer un alias pour « oui x | latexmk » si vous allez utiliser ce beaucoup d'options. Le principal avantage de ce que je peux voir au-dessus des autres suggestions est qu'il est très rapide quand vous voulez de temps en temps latexmk à se comporter comme ça.

Mehmet

Il y a aussi une commande \batchmode peut faire le travail.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top