J'ai le fichier [suivant][1], qui compile parfaitement sur sharelatex et sur overleaf :

Ouvrir dans l'éditeur
\documentclass[12pt, a4paper, BCOR=0pt, DIV=17, french]{scrartcl}
\usepackage[utf8x]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[largesmallcaps, light]{kpfonts}
\usepackage{xlop}
\usepackage{babel}
\begin{document}
\opadd{45}{78}
\end{document}

Problème : il ne compile pas sur ma TeXlive parfaitement à jour ! J'obtiens le message d'erreur suivant :

Ouvrir dans l'éditeur
! LaTeX Error: Two \documentclass or \documentstyle commands.

See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
 ...

l.1 ...ntclass[a4paper, BCOR=0pt, DIV=17, french]{
                                                  scrartcl}

[1]: J'avais intitulé ce fichier xlop.tex sur mon poste de travail.

Posée 29 Nov '15, 22:17

Pathe's gravatar image

Pathe ♦♦
7.4k28196245
Taux d'acceptation : 55%

Modifiée 12 Déc '15, 16:20

Aucun problème sur ma texlive2015 à jour aussi. Effacez les fichiers auxiliaires et autres résidus de compilations précédentes et ré-essayez.

(29 Nov '15, 22:49) unbonpetit ♦♦ unbonpetit's gravatar image

Mais c'est précisément ce que j'ai fait. Ça ne change rien. D'où ma question.

D'ailleurs : quelle serait la commande pour faire ça d'un coup ? rm fichier.[!tex] ?

(29 Nov '15, 23:32) Pathe ♦♦ Pathe's gravatar image

J'aurais aimé modifier la question pour ajouter une note indiquant que le nom du fichier LaTeX était xlop.tex (ainsi la question est complète). Mais, je n'ai pas (encore ?) le droit de le faire...

(12 Déc '15, 13:39) Paul Gaborit Paul%20Gaborit's gravatar image

Comme ce fichier me permettait d'utiliser l'extension xlop, je l'avais appelé xlop.tex. Funeste idée ! Il m'a suffi de le renommer pour que sa compilation se déroule sans heurt.

Par ailleurs, je ne comprends pas pourquoi je ne peux donner à un fichier le nom d'une extension.

Lien permanent

Publiée 29 Nov '15, 23:36

Pathe's gravatar image

Pathe ♦♦
7.4k28196245
Taux d'acceptation : 55%

Modifiée 30 Nov '15, 11:53

1

Il est étrange que plusieurs fois après avoir posé des questions, vous y répondiez (parfois très rapidement) et vous acceptiez vos propres réponses. Quand il n'y a que vous dans le fil, pourquoi pas, mais ici vous pourriez accepter la réponse de Maïeul qui répond vraiment à votre 2e question.

(30 Nov '15, 00:49) unbonpetit ♦♦ unbonpetit's gravatar image

J'ai accepté ma réponse parce qu'elle m'a permis d'avancer : avant le renommage ça ne compilait pas ; après, si.

Le renommage étant une solution, je « l'accepte ».

Ce que propose Maïeul est une explication fort utile : j'ai donc voté pour.

Mon comportement me semble logique (!) ; si la communauté est d'un avis différent, je modifierai vote et acceptation.

Mon but est de rendre ce site utile aux utilisateurs : d'où certaines questions que je pose avant que d'y répondre, ceci pour qu'elles existent en ligne et soient utiles à d'autres.

(30 Nov '15, 00:58) Pathe ♦♦ Pathe's gravatar image
1

@Pathe En tout cas, ça, c'est une vraie question, elle mériterait même d'être posée sur le site : « doit-on poser des questions auxquelles on a les réponses (et donc y répondre dans la foulée) ? ».

À mon avis, si tout le monde commence ce petit jeu (et beaucoup de monde peut y jouer), le site va certes s'enrichir très rapidement à la façon d'une FAQ mais va perdre en en « authenticité » et en intérêt car justement, l'intérêt de ces questions sera bien moindre. Même si l'intention est bonne, je ne suis pas sûr que cela soit une bonne chose pour le positionnement et l'identité du site.

(30 Nov '15, 09:44) unbonpetit ♦♦ unbonpetit's gravatar image

Ta remarque est intéressante.

Pour la première partie de ta question (peut-on poser des questions auxquelles on a des réponses) je réponds oui : le fait de poser la question peut révéler d'autres réponses instructives. Sans compter qu'il faut questionner les évidences.

Quand à répondre soi-même, c'est permis : heureusement ! Ça témoigne de ses propres avancées.

Enfin, répondre dans la foulée : je suis d'accord, si tout le monde fait ça, c'est l'embouteillage. Je ne le ferai plus ! Le site est jeune, et je te prie de croire que mon intention était bonne — et désintéressée.

(30 Nov '15, 10:02) Pathe ♦♦ Pathe's gravatar image

@Pathe Je ne cherche pas à imposer mes vues et je pense qu'il serait vraiment bon d'ouvrir une question « meta » à ce sujet pour que des utilisateurs s'y expriment...

Mon avis -- et c'est seulement le mien -- est qu'il y a un contrat tacite entre les utilisateurs de ce site :

1) les questions posées sont authentiques (ce sont de vraies questions dont la réponse n'est pas connue de ceux qui les posent)

2) les questions posées le sont à bon escient, c'est-à-dire que leurs auteurs ont besoin d'une réponse à ce moment précis et demandent une vraie aide pour les sortir d'un mauvais pas.

(30 Nov '15, 10:25) unbonpetit ♦♦ unbonpetit's gravatar image
1

@unbonpetit En effet, le site est conçu pour fonctionner comme tu l'indiques.

Si j'ai posé ces questions qui t'ont fait réagir, et si je le fais depuis le 2 septembre dernier, c'est pour fournir du contenu au site, pour qu'il soit utile pour les visiteurs et que ceux-ci ait envie de s'agréger à sa communauté naissante.

Mais tu as raison, il est temps d'arrêter engrais, forçage et culture sous serre pour laisser la communauté des jardiniers entretenir le site à l'air libre !

(30 Nov '15, 10:35) Pathe ♦♦ Pathe's gravatar image

Si je peux me permettre, le problème est qu'il y a eu deux questions. 1) pourquoi ma compilation échoue -> tu as trouvé la réponse : « parce que mon fichier est nommé xflop.tex » 2) pourquoi est-ce que nommer mon fichier xlop.tex fait échouer la compilation -> @unbonpetit et moi-même avons apporté une réponse.

C'est pour cela qu'à mon sens pour que cela reste lisible par le lecteur le mieux serait de modifier ta question de départ (1) pour la transformer en (2)

(30 Nov '15, 11:16) Maïeul Ma%C3%AFeul's gravatar image
1

Vous m'accorderez que, si je modifie ma question et que j'y indique avoir avancé en renommant mon fichier, ma réponse qui mentionne ce renommage n'a plus lieu d'être : je devrais donc la supprimer.

Cela ne me gêne pas, mais si je fais cela, je supprime aussi les commentaires y afférant, dont les utiles méta-remarques d'@unbonpetit.

D'où le fait que j'ai pour l'instant laissé ce fil tel quel. Mais je suis preneur de toute modification qui rende le déroulé des réponses plus lisible sans enlever les commentaires.

Ceci ne fait que montrer l'importance d'ouvrir un nouveau fil dès que besoin !

(30 Nov '15, 11:26) Pathe ♦♦ Pathe's gravatar image

À mon sens les discussions connexes devraient disparaître pour ne laisser que le corps du débat. On peut transférer ces discussions dans un autre sujet.

(30 Nov '15, 17:52) Maïeul Ma%C3%AFeul's gravatar image
Affichage de 5 parmi 9 Afficher 4 commentaire(s) en plus

Je réponds à ta réponse — qui aurait dû être une mise à jour de ta question.

Le problème n'est pas général, mais spécifique à xlop et à d'autres extensions de la branche generic.

Le fichier xlop.sty, chargé par \usepackage{xlop} contient : \input xlop.tex

Dans la tête du concepteur, cela aurait dû charger le fichier xlop.tex dans texmf. Mais par effet de bord, cela a chargé ton propre fichier.

Lien permanent

Publiée 29 Nov '15, 23:44

Ma%C3%AFeul's gravatar image

Maïeul
309514
Taux d'acceptation : 37%

Modifiée 30 Nov '15, 22:07

denis's gravatar image

denis ♦♦
7.0k1510

Ce n'est absolument pas une mauvaise pratique car xlop est dans la branche generic. Il est d'usage, pour les package fonctionnant sous tous les moteurs, de les nommer avec l'extension .tex. Dans ce cas, le fichier .sty est simplement une enveloppe vide qui appelle le vrai fichier de package en .tex.

(29 Nov '15, 23:48) unbonpetit ♦♦ unbonpetit's gravatar image

@tu veux dire "avec tout les formats" et pas "avec tous les moteurs" ?

(29 Nov '15, 23:50) Maïeul Ma%C3%AFeul's gravatar image

parce que reledmac fonctionne aussi avec tout les moteurs (xetex/pdftex/luatex) mais pas tout les formats (uniquement latex) et je n'ai pas de raison de le nommer en .tex

(29 Nov '15, 23:52) Maïeul Ma%C3%AFeul's gravatar image

Je veux dire : moteur.

(30 Nov '15, 00:02) unbonpetit ♦♦ unbonpetit's gravatar image

reledmac et tant d'autres packages ont vocation à être appelés par \usepackage, ce sont des extentions pour latex.

xlop a vocation à être appelé par \input, sous plain, latex ou autre. Il fournit un fichier .sty pour pouvoir être appelé classiquement par \usepackage sous latex, mais le vrai fichier est en .tex.

La convention est .sty pour les package latex, .tex pour les packages plain.

(30 Nov '15, 00:08) unbonpetit ♦♦ unbonpetit's gravatar image

ouais, donc une extension qui ne serait QUE pour le format LaTeX n'aurait pas besoin d'un .tex.

(30 Nov '15, 00:11) Maïeul Ma%C3%AFeul's gravatar image

Cette discussion sur les « mauvaises pratiques » n'a plus lieu d'être puisque tu as édité ta réponse et supprimé cette allusion à ces pratiques.

(30 Nov '15, 00:11) unbonpetit ♦♦ unbonpetit's gravatar image

oui j'ai supprimé mes commentaires. fait de même avec les tiens.

(30 Nov '15, 00:12) Maïeul Ma%C3%AFeul's gravatar image

Ben, si j'avais mis à jour ma question en y incluant ma réponse, ce serait revenu à la supprimer, non ? :)

(30 Nov '15, 00:19) Pathe ♦♦ Pathe's gravatar image
2

Désolé d'intervenir encore, mais le problème est général pour quasi toutes les extensions présentes dans la branche generic. Le même dysfonctionnement aurait été constaté avec xcomment, xlop, xstring (pour ne parler que des packages en "x").

Peux-tu éditer ta réponse ?

(30 Nov '15, 00:21) unbonpetit ♦♦ unbonpetit's gravatar image

Mais oui ! Ci fait.

(30 Nov '15, 00:42) Pathe ♦♦ Pathe's gravatar image

disons que c'est spécifique au génerique ;-) Corrigé.

(30 Nov '15, 11:07) Maïeul Ma%C3%AFeul's gravatar image
Affichage de 5 parmi 12 Afficher 7 commentaire(s) en plus

Parce que si ce fichier s'appelle xlop.tex, il s'appelle lui-même lorsqu'est rencontrée \usepackage{xlop} : un 2e \documentclass est alors rencontré d'où l'erreur.

Lien permanent

Publiée 29 Nov '15, 23:44

unbonpetit's gravatar image

unbonpetit ♦♦
1.8k18
Taux d'acceptation : 68%

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.