Alla ricerca dell’editor “perfetto”

  • Creatore
    Topic
  • #48547
    Up
    0
    Down
    ::


    Il titolo del topic è volutamente provocatorio: so benissimo che l’editor perfetto non esiste, perché dipende da tanti fattori soggettivi, ma vorrei aprire una discussione su quali devono essere le funzioni che deve avere per voi un editor di testo per LaTeX, e quale editor possiede attualmente tali funzioni, o maggiormente si avvicina ad esse.

    Uso LaTeX da 3 anni, su Ubuntu (ora giunto alla 10.04, che “incorpora” TeXLive 2009). Vorrei quindi prendere in considerazioni solo editor multipiattaforma.

    Durante la mia “carriera” ho utilizzato diversi editor di testo per scrivere documenti in LaTeX, che ogni volta cambiavo spinto da curiosità e da piccoli problemi riscontrati:
    – Kyle: ottimo editor, cambiato soprattutto perché la funzione di correzione ortografica non “saltava” i comandi latex ed era inusabile, inoltre non era presente la correzione “inline”. Poi, come tutti i programmi kde, è un po’ “barocco”, pieno di funzioni che non userò mai…
    – Plugin LaTeX per Gedit: è stato un amore a prima vista. Gedit è un editor di testo con cui mi trovo benissimo, minimale ma espandibile con molti plugin per “modellarlo” secondo le esigenze. Il plugin fondamentalmente aggiunge qualche funzione, anche se la gestione della compilazione non mi piace molto. Non ho trovato il modo di effettuare la ricerca inversa tra pdf e sorgente.
    – TeXMaker: non male, ma non mi sono mai trovato veramente bene. Non offre praticamente niente di più del plugin per Gedit, quindi non l’ho usato mai molto.
    – Texworks: scartato subito. Probabilmente è ancora un progetto giovane ma l’ho trovato molto incompleto.

    Ovviamente nel frattempo le mie conoscenze e esigenze si sono anche modificate, facendomi apprezzare aspetti che magari prima non prendevo in considerazione.
    Un documento LaTeX potrebbe essere scritto su qualsiasi editor di testo, procedendo poi alla compilazione manualmente. Tale approccio è molto scomodo e perciò si utilizza un editor apposito (o un editor standard con plugin che ne estendono le funzionalità) che permette di avere una serie di comodità. Attualmente le caratteristiche che dovrebbe possedere un editor ideale, per me, sono:

    • gestione sorgente: il primo passo per scrivere un buon documento è avere un sorgente ordinato e chiaro a prima vista. Quindi ritengo utilissimi l’indentazione e la colorazione del codice automatica, per esempio.

    • gestione della compilazione: l’editor deve essere in grado di richiamare il compilatore automaticamente con una sintassi corretta e il numero di volte necessario al corretto aggiornamento di indici e bibliografia. Deve essere possibile scegliere tra diversi compilatori in modo semplice e aggiungere catene di compilazioni definite dall’utente.

    • gestione output di errore: il primo passo per risolvere un errore è capirlo: l’editor deve “scartare” i messaggi della compilazione poco significativi, mantenere gli errori, identificarli e portarti se possibile alla riga incriminata. Sarebbe anche bello avere suggerimenti per gli errori più comuni.

    • autocompletamento: possibilità di terminare il nome di un comando in modo automatico, chiudere parentesi e ambienti aperti (\end dopo un \begin). Sarebbe bello se avenisse in modo non invadente, ma mi sa che “autocompletamento” e “invadente” sono sinonimi 😀

    • elenco dei riferimenti utilizzabili: label e bibliografia utilizzati nel documento accessibili in modo semplice, a volte non si ricordano le etichette assegnate.

    • ricerca inversa-diretta tra sorgente e file compilato, anche per pdf: molto utile, ma purtroppo finora non sono mai riuscito a farlo funzionare con un visualizzatore di documenti decente (evince o okular).

    • utilizzo di lettore pdf a scelta dell’utente: non mi piacciono gli editor integrati, spesso gli mancano troppe funzioni, anche se introducono la ricerca diretta-inversa.

    • scaricamento pacchetti mancanti in automatico: per ora, da quel che so, lo fa solo miktex, sarebbe bello averlo su un editor multipiattaforma.

    • correttore ortografico inline, che escluda i comandi latex: anche utilizzandolo so che è impossibile eliminare tutti gli errori ortografici, ma almeno si riducono per facilitare la correzione delle bozze. È molto brutto avere nella tesi “immagnie” invece di “immagine”.

    • design minimale: non è proprio una funzione, ma il desing dell’editor aiuta alla scrittura dei documenti. Attualmente sono nella fase “design minimale”, ritengo che il documento debba essere al centro, pochi o nessun pulsante, menu, barre di stato (aargh), menu laterali. In vista deve esserci ciò che è indispensabile, ma deve essere facile richiamare funzioni avanzate. Bonus se l’interfaccia è personalizzabile secondo le esigenze personali.

    • elenco dei principali simboli matematici: elemento accessorio, poco usato ma potrebbe essere utile:D

    Voi cosa dite? Quale editor attuale presenta queste caratteristiche, o almeno si avvicina?
    Ho dimenticato qualche funzione che, per voi, è necessaria?

Visualizzazione 6 filoni di risposte
  • Autore
    Risposte
    • #48548
      Up
      0
      Down
      ::


      Emacs+AucTeX ha queste funzioni:

      • gestione sorgente: il primo passo per scrivere un buon documento è avere un sorgente ordinato e chiaro a prima vista. Quindi ritengo utilissimi l’indentazione e la colorazione del codice automatica, per esempio.

      • gestione della compilazione: l’editor deve essere in grado di richiamare il compilatore automaticamente con una sintassi corretta e il numero di volte necessario al corretto aggiornamento di indici e bibliografia. Deve essere possibile scegliere tra diversi compilatori in modo semplice e aggiungere catene di compilazioni definite dall’utente.

      • gestione output di errore: il primo passo per risolvere un errore è capirlo: l’editor deve “scartare” i messaggi della compilazione poco significativi, mantenere gli errori, identificarli e portarti se possibile alla riga incriminata. Sarebbe anche bello avere suggerimenti per gli errori più comuni.

      • autocompletamento: possibilità di terminare il nome di un comando in modo automatico, chiudere parentesi e ambienti aperti (\end dopo un \begin). Sarebbe bello se avenisse in modo non invadente, ma mi sa che “autocompletamento” e “invadente” sono sinonimi 😀

      • utilizzo di lettore pdf a scelta dell’utente: non mi piacciono gli editor integrati, spesso gli mancano troppe funzioni, anche se introducono la ricerca diretta-inversa.

      • correttore ortografico inline, che escluda i comandi latex: anche utilizzandolo so che è impossibile eliminare tutti gli errori ortografici, ma almeno si riducono per facilitare la correzione delle bozze. È molto brutto avere nella tesi “immagnie” invece di “immagine”.

      • design minimale: non è proprio una funzione, ma il desing dell’editor aiuta alla scrittura dei documenti. Attualmente sono nella fase “design minimale”, ritengo che il documento debba essere al centro, pochi o nessun pulsante, menu, barre di stato (aargh), menu laterali. In vista deve esserci ciò che è indispensabile, ma deve essere facile richiamare funzioni avanzate. Bonus se l’interfaccia è personalizzabile secondo le esigenze personali.

      • elenco dei principali simboli matematici: elemento accessorio, poco usato ma potrebbe essere utile:D

      Di queste altre non sono sicuro (la ricerca inversa forse si riesce a utilizzare, ma non ne sono certo, non ho mai provato. EDIT: la ricerca inversa-diretta funziona: http://www.emacswiki.org/emacs/InverseDviSearch):

      • elenco dei riferimenti utilizzabili: label e bibliografia utilizzati nel documento accessibili in modo semplice, a volte non si ricordano le etichette assegnate.

      • ricerca inversa-diretta tra sorgente e file compilato, anche per pdf: molto utile, ma purtroppo finora non sono mai riuscito a farlo funzionare con un editor di testo decente (evince o okular).

      (Evince e Okular sono visualizzatori di documenti, non editor di testo)

      Questa la escludo:

      • scaricamento pacchetti mancanti in automatico: per ora, da quel che so, lo fa solo miktex, sarebbe bello averlo su un editor multipiattaforma.

    • #48549
      Up
      0
      Down
      ::


      Io utilizzo EMACS con AucTex oramai da un paio di annetti e devo dire che non mi finisce mai di stupire. Di particolare pregio sono le potenzialità offerte da EMACS che reputo in assoluto l’editor di testo più potente grazie alla possibilità di customiziazione massiccia dei vari ambienti. Ad esempio mi sono scritto una apposita funzione per fare quanti dicevi tu, ossia il fatto che l’editor chiuda automaticamente le parentesi e le funzioni. Ovviamente non è tutto oro quel che luccica, infatti l’utilizzo di detto editor richiede un periodo di apprendistato minimo per poterne cominciare a sfruttare le potenzialità. Non è infatti di facilissimo approccio.

    • #48550
      robitex
      Amministratore del forum
        Up
        0
        Down
        ::


        Proprio in questi giorni riflettevo sulle capacità degli editor per TeX & C.

        Con il rischio che ci si complichi la vita, io desidererei un editor in stile IDE (integrated Development environment), dove tutte le funzioni del linguaggio sono mappate.
        Questo significa che durante la digitazione dei comandi, ne viene proposta la sintassi, ed una descrizione degli argomenti.
        In questo modo, se in un sorgente LaTeX comincio a digitare \usep, l’editor mi propone l’elenco alfabetico dei pacchetti installati, con un breve testo esplicativo, le opzioni possibili, ecc ecc.
        Se comincio a scrivere \mak, appaiono i comandi che iniziano con quelle tre lettere, non solo appartenenti al nucleo di LaTeX, ma anche ai pacchetti caricati nel preambolo.

        Tutto questo è possibile solo se gli Autori dei pacchetti ne descrivano le componenti con speciali metatag con succede in Java od in altri linguaggi di programmazione.

        Sul fatto che l’editor ideale non esista, comincio a pensare che in realtà un editor del genere è molto difficile da realizzare. Il prolificare di tanti programmi e plug-in mi sembra sia un incapacità piuttosto che una specializzazione degli strumenti.
        Per esempio, l’editor chiamiamolo perfetto, potrebbe essere impostato secondo diverse modalità operative, una per la redazione della bozza, una per la revisione finale, analizzando scientificamente le operazioni che gli utenti svolgono durante il processo.

        Una tesi questa alla “rovescia”, anzi un argomento che potrebbe diventare oggetto stesso di tesi :-)) . Con la potenza di calcolo dei processori odierni (e futuri) non escludo che un editor possa esaminare statisticamente il lavoro di un particolare utente (magari attraverso un database sul web in modo da svincolare l’utente verso una singola macchina di lavoro), e fornirgli un ambiente super-accessoriato.

        Insomma, la potenza di un “editor perfetto” è a mio avviso raggiungibile nonostante il numero dei diversi editor oggi esistenti per LaTeX, numerosità che si trova anche nell’ambito dei linguaggi di programmazione.
        Ciao.

        Ps. Non scarterei così presto TeXWorks, le sue capacità di ricerca diretta ed inversa sono perfette per le operazioni di revisione finale del documento, e neanche il piccolo grande SciTE, dotato di selezione del testo rettangolare (recentemente questa cosa è stata aggiunta niente po po di meno che a Visual Studio, un IDE che è uno dei principali motivi del successo di Microsoft), della possibilità di impartire comandi di console, delle regular expression, della possibilità di scriversi macro in Lua, … (luaTeX deriva proprio da un esperimento che emulava l’idea del connubio SciTE+Lua)

        Ps: accidenti, non mi ricordo più cosa volevo aggiungere, :-*

      • #48551
        Up
        0
        Down
        ::

        recentemente questa cosa è stata aggiunta niente po po di meno che a Visual Studio, un IDE che è uno dei principali motivi del successo di Microsoft

        Interessante, Emacs ha questa funzione almeno dal 1992 (emacs 18.59 presente qui: ftp://ftp.gnu.org/old-gnu/emacs/, versioni più vecchie non ne ho trovate, ma non escludo che esistano) 😀
        Emacs inoltre è (per quanto si sa) il primo programma ad aver utilizzato la ricerca incrementale, esaltata anche Jef Raskin, creatore del Macintosh, con le parole «A search is either incremental or excremental» (fonte: http://en.wikipedia.org/wiki/Incremental_search)

        Esalto tanto Emacs perché è davvero un programma potente con infinite possibilità di espansione. Come aspetto negativo ha che non è un fulmine di guerra (ma questo è il prezzo da pagare per un programma che molti definiscono un “sistema operativo”), la relativa lentezza si nota soprattutto su computer “vecchi”, sui più recenti è accettabile. Inoltre per quanto riguarda LaTeX potrebbe non essere adatto se qualcuno cerca un editor totalmente specializzato, ma le caratteristiche che offre non sono certo di secondo piano

        Edit: ho formulato (molto) male la frase «emacs 18.59 presente qui: ftp://ftp.gnu.org/old-gnu/emacs/, versioni più vecchie non ne ho trovate, ma non escludo che esistano». So per certo che versioni più vecchie del 1992 esistono, in quanto Emacs è nato negli anni ’70, quello che volevo dire è che immagino che anche le versioni precedenti alla 18.59 avessero già la selezione rettangolare

      • #48552
        robitex
        Amministratore del forum
          Up
          0
          Down
          ::

          recentemente questa cosa è stata aggiunta niente po po di meno che a Visual Studio, un IDE che è uno dei principali motivi del successo di Microsoft

          Interessante, Emacs ha questa funzione almeno dal 1992 (emacs 18.59 presente qui: ftp://ftp.gnu.org/old-gnu/emacs/, versioni più vecchie non ne ho trovate, ma non escludo che esistano) 😀
          Emacs inoltre è (per quanto si sa) il primo programma ad aver utilizzato la ricerca incrementale, esaltata anche Jef Raskin, creatore del Macintosh, con le parole «A search is either incremental or excremental» (fonte: http://en.wikipedia.org/wiki/Incremental_search)

          Esalto tanto Emacs perché è davvero un programma potente con infinite possibilità di espansione. Come aspetto negativo ha che non è un fulmine di guerra (ma questo è il prezzo da pagare per un programma che molti definiscono un “sistema operativo”), la relativa lentezza si nota soprattutto su computer “vecchi”, sui più recenti è accettabile. Inoltre per quanto riguarda LaTeX potrebbe non essere adatto se qualcuno cerca un editor totalmente specializzato, ma le caratteristiche che offre non sono certo di secondo piano

          Allora non mi rimane che provare Emacs sul serio e, naturalmente, quando avrò tempo.
          Comunque grazie della notizia.
          Bye

        • #48553
          Up
          0
          Down
          ::

          • scaricamento pacchetti mancanti in automatico: per ora, da quel che so, lo fa solo miktex, sarebbe bello averlo su un editor multipiattaforma.

          Scusate la domanda, ma MiKTeX è un editor?… Come mai associ la gestione dei pacchetti all’editor?

        • #48554
          robitex
          Amministratore del forum
            Up
            0
            Down
            ::

            [ul][li]scaricamento pacchetti mancanti in automatico: per ora, da quel che so, lo fa solo miktex, sarebbe bello averlo su un editor multipiattaforma.[/ul]

            Scusate la domanda, ma MiKTeX è un editor?… Come mai associ la gestione dei pacchetti all’editor?

            Certo che no. Si tratta di un errore del nostro ArTaX, che ha scambiato una funzionalità della distribuzione con quella dell’editor.

            Ciao.

        Visualizzazione 6 filoni di risposte
        • Devi essere connesso per rispondere a questo topic.

        Go to top