Problemi pachetto fontspec

  • Questo topic ha 2 risposte, 2 partecipanti ed è stato aggiornato l'ultima volta 7 anni, 6 mesi fa da vico.
  • Creatore
    Topic
  • #115357
    Up
    0
    Down
    ::


    Salve,

    sto provando ad usare il pacchetto fontspec su questo file di esempio:
    `
    \documentclass{article}
    \usepackage{fontspec}

    \begin{document}
    Hello world!
    \end{document}
    `
    (il file col quale sto lavorando è più complesso ma ho ridotto il problema all’essenziale)

    Se, però provo a compilarlo con xelatex ottengo sempre questo errore:
    `
    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    !
    ! LaTeX error: “kernel/invalid-variant”
    !
    ! Variant form 'e' invalid for base form '\tl_if_empty_p:n'.
    !
    ! See the LaTeX3 documentation for further information.
    !
    ! For immediate help type H .
    !………………………………………..

    l.514 \cs_generate_variant:Nn \tl_if_empty_p:n {e}

    |'''''''''''''''''''''''''''''''''''''''''''''''
    | This is a coding error.
    |
    | LaTeX has been asked to create a variant of the function '\tl_if_empty_p:n'
    | with a signature starting with 'e', but cannot change an argument from type
    | 'n' to type 'e'.
    |………………………………………..
    `
    Ho fatto un po’ di ricerche ma sembra che nessuno abbia questo problema.

    C’è qualcuno che mi possa dare un suggerimento su come risolverlo?

    Ho l’ultima versione di MikTeX e come editor uso TeXstudio.

    Grazie mille.

Visualizzazione 1 filone di risposte
  • Autore
    Risposte
    • #115358
      OldClaudio
      Partecipante
        Up
        0
        Down
        ::


        Benvenuto nel forum.

        Ho copiato il tuo esempio minimo e l’ho compilato senza problemi; Per esssere sicuro di avere la codifica giusta e di compilare con il programma giusto ho aggiunto un apio di righe di autoconfigurazione che anche TeXstudio sa interpretare. Il codice che ho usato pertanto è il seguente:`% !TEX encoding = UTF-8 Unicode
        % !TEX TS-program = XeLaTeX
        \documentclass{article}
        \usepackage{fontspec}

        \begin{document}
        Hello world!
        \end{document}`Compila perfettamente.

        Pertanto prova ad aggiungere quelle due righe al tuo file sorgente e prova a ricompilare attraverso i bottoni e/o le voci di menù di TeXstudio; Se compila bene come è successo con me, il problema non è di MikTeX, ma di come usi TeXStudio. Se non compila correttamante, apri un terminale o prompt dei comandi (Avvio –> Programmi –> cmd); usando ripetutamente il comando cd (change directory) spostati nella stessa cartella dove si trova il tuo main file; Il nome di questa cartella completo probabilmente ti compare nel prompt della finestra del terminale, qualcosa come [tt]C:\Users\Vico\…\MyMain\[/tt]; a riprova da’ il comando dir e dovrebbe apparirti la lista di tutti i file che si trovano nella cartella, e fra questi deve esserci il main file con estensione .tex (ricordati di configurare alche l’explorer in modo che ti mostri sempre l’estensione di tutti i file; di default Windows nasconde l’estensione dei file per i quali lui conosce già quale programma usare per aprirli); fatto questo e supponendo che il tuo main file si chiami mymainfile.tex, da’ il comando xelatex mymainfile; quando ha finito di compilare lo vedi perché nel terminale dovrebbe apparire una frase del tipo “mymainfile.pdf saved to C:\…” (i puntini riflettono il percorso completo sulla tua macchina). Ora apri il file con il tuo visualizzatore di file pdf e vedi il risultato, oppure se non ha completato la compilazione, leggi attentamente quello che c’è scritto nel terminale prima che si arrestasse. Allora se ha completato correttamente la compilazione, la colpa del tuo inconveniente è confermata a carico di TeXstudio. Se invece la compilazione non è andata a buon fine, la colpa è di MikTeX.

        Cosa fare in quest’ultimo caso? È difficile dirlo; ma tanto per cominciare confronta l’uscita sul terminale con quello che ho ottenuti io:`This is XeTeX, Version 3.14159265-2.6-0.99999 (TeX Live 2018) (preloaded format=xelatex)
        restricted \write18 enabled.
        entering extended mode
        (./Vico-fontspec.tex
        LaTeX2e <2018-12-01>
        (/usr/local/texlive/2018/texmf-dist/tex/latex/base/article.cls
        Document Class: article 2018/09/03 v1.4i Standard LaTeX document class
        (/usr/local/texlive/2018/texmf-dist/tex/latex/base/size10.clo))
        (/usr/local/texlive/2018/texmf-dist/tex/latex/fontspec/fontspec.sty
        (/usr/local/texlive/2018/texmf-dist/tex/latex/l3packages/xparse/xparse.sty
        (/usr/local/texlive/2018/texmf-dist/tex/latex/l3kernel/expl3.sty
        (/usr/local/texlive/2018/texmf-dist/tex/latex/l3kernel/expl3-code.tex)
        (/usr/local/texlive/2018/texmf-dist/tex/latex/l3kernel/l3xdvipdfmx.def)))
        (/usr/local/texlive/2018/texmf-dist/tex/latex/fontspec/fontspec-xetex.sty
        (/usr/local/texlive/2018/texmf-dist/tex/latex/base/fontenc.sty
        (/usr/local/texlive/2018/texmf-dist/tex/latex/base/tuenc.def))
        (/usr/local/texlive/2018/texmf-dist/tex/latex/fontspec/fontspec.cfg)))
        (./Vico-fontspec.aux) [1] (./Vico-fontspec.aux) )
        Output written on Vico-fontspec.pdf (1 page).
        SyncTeX written on Vico-fontspec.synctex.gz.
        Transcript written on Vico-fontspec.log.`In particolare, le righe del file .log che riguardano fontspec e i moduli del linguaggio L3 sono le seguenti`(/usr/local/texlive/2018/texmf-dist/tex/latex/fontspec/fontspec.sty
        (/usr/local/texlive/2018/texmf-dist/tex/latex/l3packages/xparse/xparse.sty
        (/usr/local/texlive/2018/texmf-dist/tex/latex/l3kernel/expl3.sty
        Package: expl3 2019-02-15 L3 programming layer (loader)

        (/usr/local/texlive/2018/texmf-dist/tex/latex/l3kernel/expl3-code.tex
        Package: expl3 2019-02-15 L3 programming layer (code)

        (/usr/local/texlive/2018/texmf-dist/tex/latex/l3kernel/l3xdvipdfmx.def
        File: l3xdvipdfmx.def 2019-02-15 v L3 Experimental driver: xdvipdfmx

        Package: xparse 2018-10-17 L3 Experimental document command parser

        Package: fontspec 2019/02/12 v2.7b Font selection for XeLaTeX and LuaLaTeX

        (/usr/local/texlive/2018/texmf-dist/tex/latex/fontspec/fontspec-xetex.sty
        Package: fontspec-xetex 2019/02/12 v2.7b Font selection for XeLaTeX and LuaLaTeX

        (/usr/local/texlive/2018/texmf-dist/tex/latex/base/fontenc.sty
        Package: fontenc 2018/08/11 v2.0j Standard LaTeX package

        (/usr/local/texlive/2018/texmf-dist/tex/latex/base/tuenc.def
        File: tuenc.def 2018/08/11 v2.0j Standard LaTeX file
        LaTeX Font Info: Redeclaring font encoding TU on input line 82.
        ))
        (/usr/local/texlive/2018/texmf-dist/tex/latex/fontspec/fontspec.cfg)
        `Controla sul tuo file ,log se hai le stesse date per i file che vengono caricati; il tuo MikTeX potrrebbe non essere aggiornato alle ultimissime versioni.

        Nota: MikTeX è un’ottima distribuzione epr le piattaforme WIndows, ma non viene aggiornato con la stessa frequenza con cuo lo è TeX Live, che, a sua volta, dispone di implementazioni anche per piattaforme Windows e che noi qui nel forum preferiamo usare rispetto a MikTeX; chi, ocme me, non usa una piattaforma Windows, non può usare MikTeX, e fra noi sono molti quelli che usano piattaforme Linux o Mac; ripeto MikTeX è ottima nel suo genere e per la sua piattaforma di elezione, ma è sempre un filino indietro con gli aggiornamenti.

      • #115359
        Up
        0
        Down
        ::


        Grazie per la – dettagliatissima – risposta!

        Ho seguito la procedura consigliata, compilando da linea di comando e continuando a ottenere lo stesso errore.

        Così ho disinstallato MikTeX e installato TeXLive e finalmente sono riuscito a compilare senza errori. Forse c’era qualcosa che non andava nella mia installazione di MikTeX.

        Grazie!

    Visualizzazione 1 filone di risposte
    • Devi essere connesso per rispondere a questo topic.

    Go to top