2
1

La question est dans le titre.

Un « magic comment » (commentaire magique) est une commande pour TeXstudio qui est placée en tête du fjchier source LaTeX. Ce ne sont pas des commandes TeX mais des instructions interceptées par TeXstudio pour exécuter des actions. Cela permet par exemple de personnaliser la compilation de ce fichier source, en ignorant la compilation par défaut de TeXstudio.

Voir à titre d'exemple la question Compilation conditionnelle.

On peut aussi utiliser ces commentaires magiques pour afficher des fichiers pdf. Quels sont les différentes façons d'afficher un (ou plusieurs) fichiers pdf à l'aide d'un « commentaire magique » de TeXstudio ?

Posée 28 Jui '19, 00:44

idefix's gravatar image

idefix
95594051
Taux d'acceptation : 14%

Modifiée 28 Jui '19, 01:10

Pathe's gravatar image

Pathe ♦♦
7.4k28196245


Un « magic comment » de TexStudio (TS) commence par

% !TeX TS-program =

Ca permet à TeXstudio de comprendre que ce n'est pas du LaTeX, mais que ça le concerne lui

Pour appeler le viewver pdf externe la commande TeXstudio est la suivante: txs:///view-pdf-external

% représente le nom du fichier tex (sans extension) pour une commande TeXstudio. Mais le premier %, au début du « magic comment » est le signe d'un commentaire LaTeX, et donc le compilateur LaTeX pdflatex ignore cette ligne.

|est le séparateur entre deux commandes du « magic comment »

Dans mon exemple test.tex est le fichier compilé en test.pdf et test_sol.pdf (compilation conditionnelle multiple)

Pour ouvrir dans le viewer externe les deux fichiers test.pdf et test_sol.pdf produits par la compilation, il faut ajouter au « magic comment » deux autres commandes d'affichage des pdf (séparées par le séparateur |).

Cela fonctionne avec n'importe quel fichier nom_fichier.tex qui produit un nom_fichier.pdf et un nom_fichier_sol.pdf. La compilation conditionnelle de l'exemple est pour un fichier d'exercices avec solution (_sol) et sans solution.

| txs:///view-pdf-external %_sol.pdf`| txs:///view-pdf-external %.pdf

et au total compilation conditionnelle + affichage des deux pdf dans pdf viever externe

Ouvrir dans l'éditeur Overleaf
% !TeX TS-program = pdflatex -jobname=%_sol "\newcommand{\version}{}\input{%}" | pdflatex -jobname=%_sol "\newcommand{\version}{}\input{%}" | pdflatex "\newcommand{\version}{noanswer}\input{%}" | pdflatex "\newcommand{\version}{noanswer}\input{%}"|txs:///view-pdf-external %_sol.pdf | txs:///view-pdf-external %.pdf

Merci à @samcarter pour toute son aide à répondre à ces questions. Le « magic comment » pour la compilation conditionnelle est le sien, le code latex également (Compilation conditionnelle)

Exemple Complet Minimal

Ouvrir dans l'éditeur Overleaf
%--------------------------------------------------------------------------------
% Magic Comment
% !TeX TS-program = pdflatex -jobname=%_sol "\newcommand{\version}{}\input{%}" | pdflatex -jobname=%_sol "\newcommand{\version}{}\input{%}" | pdflatex "\newcommand{\version}{noanswer}\input{%}" | pdflatex "\newcommand{\version}{noanswer}\input{%}" | txs:///view-pdf-external %_sol.pdf | txs:///view-pdf-external %.pdf    
%--------------------------------------------------------------------------------
% Pour vérifier que \version est bien défini, ne fait rien si c'est le cas, 
% sinon, si ce n'est pas le cas, définition de \version par défaut
% ici par défaut version sans les réponses (\version = noanswer)
% en changeant la ligne commentée \version avec les réponses (\version = rien)
% Mais en fait \version est défini dans le « magic comment » pour chaque compilation
% c'est juste une sécurité en cas de faute de frappe par exemple,
% ou si le code n'est pas exécuté dans TeXstudio (dans Overleaf par exemple)
% Et dans ce cas évidemment, le  « magic comment » est ignoré et ne s'exécute pas

\ifdefined\version
\else
\newcommand\version{noanswer} % without answers
%\newcommand\version{} % with answers
\fi
%--------------------------------------------------------------------------------

\documentclass{article}

\usepackage[\version]{exercise}

\begin{document}

    \begin{Exercise}[title={Title},label=ex1]

        question text

    \end{Exercise}

    \begin{Answer}[ref={ex1}]\part{title}

        solution

    \end{Answer}

\end{document}
Lien permanent

Publiée 28 Jui '19, 03:16

idefix's gravatar image

idefix
95594051
Taux d'acceptation : 14%

Modifiée 28 Jui '19, 07:38

Votre réponse
(dés)activer l'aperçu

Suivre cette question

Par courriel :

Une fois que vous serez enregistré, vous pourrez souscrire à n'importe quelle mise à jour ici

Par flux RSS :

Réponses

Réponses et commentaires

Bases de Markdown

  • *italique* ou _italique_
  • **gras** ou __gras__
  • Lien ::[texte](http://url.com/ "Titre ")
  • Image : ?![alt texte](/path/img.jpg "Titre ")
  • Liste numérotée : 1. Foo 2. Bar
  • Pour ajouter un passage à la ligne, ajoutez deux espaces à l'endroit où vous souhaitez que la ligne commence.
  • Les balises HTML de base sont également prises en charge.