Integrazione con lo shell editor

  • Creatore
    Topic
  • #57346
    samiel
    Partecipante
      Up
      0
      Down
      ::


      Trovo un errore in un pacchetto .sty, la compilazione
      si blocca. Premo e e si apre correttamente
      lo shall editor. Trovo un errore in un file .tex, ripeto
      la medesima operazione ma lo shell editor non si apre.
      Cosa devo configurare ancora ?

      Grazie
      M.

    Visualizzazione 21 filoni di risposte
    • Autore
      Risposte
      • #57347
        OldClaudio
        Partecipante
          Up
          0
          Down
          ::


          In tanti ani che uso il sistema TeX non ho mai usato il codice e.

          Per altro uso sempre shell editor che non si chiudono durante la compilazione, quindi come mi si presenta un errore, vedo subito in quale file e in quale riga si trova, lo correggo subito nel file sorgente e 9 volte su 10 uso il codice i per inserire la correzione nel flusso di entrata del programma di compilazione e premendo invio il programma prosegue con il valore che ho appena corretto.

        • #57348
          samiel
          Partecipante
            Up
            0
            Down
            ::


            Certo, ma avendo provato e riscontrato questo comportamento
            “asimmetrico” mi chiedevo quale fosse il problema di configurazione…

            M.

          • #57349
            Up
            0
            Down
            ::

            Trovo un errore in un pacchetto .sty, la compilazione
            si blocca. Premo e e si apre correttamente
            lo shall editor. Trovo un errore in un file .tex, ripeto
            la medesima operazione ma lo shell editor non si apre.
            Cosa devo configurare ancora ?

            Questa è la parte rilevante della manpage di TeX:

            The e response to TeX’s error prompt causes the system default editor to start up at the current line of the current file. The environment variable TEXEDIT can be used to change the editor used. It may contain a string with “%s” indicating where the filename goes and “%d” indicating where the decimal line number (if any) goes. For example, a TEXEDIT string for emacs can be set with the sh command

            TEXEDIT=”emacs +%d %s”; export TEXEDIT

            Poi devi consultare la documentazione del tuo shell-editor per vedere come trasformare correttamente l’esempio.

            Ciao
            Enrico

          • #57350
            samiel
            Partecipante
              Up
              0
              Down
              ::


              In rete ho trovato una stringa del tutto analoga per vim.
              Però non funziona… Vedo di informarmi nei newsgroup di Vim.
              La cosa un po’ singolare è però che per i file .sty funziona,
              perché con e Vim biene regolarmente aperto. Invece
              con quelli .tex no. E inoltre:printenv risponde:
              TEXEDIT=/usr/bin/vim

              M.

            • #57351
              Up
              0
              Down
              ::


              Sembra che manchi l’argomento con il nome del file “%s” Sul mio mac la variabile TEXEDIT è emacsclient +%d “%s” e tutto funziona.

              Ciao
              Matteo

            • #57352
              Up
              0
              Down
              ::

              In rete ho trovato una stringa del tutto analoga per vim.
              Però non funziona… Vedo di informarmi nei newsgroup di Vim.
              La cosa un po’ singolare è però che per i file .sty funziona,
              perché con e Vim biene regolarmente aperto. Invece
              con quelli .tex no. E inoltre:printenv risponde:
              TEXEDIT=/usr/bin/vim

              M.

              `export TEXEDIT=”/usr/bin/vim +%d %s”`
              A me funziona.

              Ciao
              Enrico

            • #57353
              samiel
              Partecipante
                Up
                0
                Down
                ::

                A me funziona.

                Ma il tuo computer sa che con te no c’è da scherzare,
                il mio mi prende sottogamba… Cmq l’ho messo ovunque,
                anche in /etc/profile ma niente….

                M.

              • #57354
                Up
                0
                Down
                ::

                A me funziona.

                Ma il tuo computer sa che con te no c’è da scherzare,
                il mio mi prende sottogamba… Cmq l’ho messo ovunque,
                anche in /etc/profile ma niente….

                La prima cosa da provare è dare il comando esplicito in una shell e compilare da lì un file con errore.

                Ciao
                Enrico

              • #57355
                samiel
                Partecipante
                  Up
                  0
                  Down
                  ::


                  Ma tu scusa, dove hai messo la stringa incriminata?
                  In ~/.profile?

                  M.

                • #57356
                  Up
                  0
                  Down
                  ::

                  Ma tu scusa, dove hai messo la stringa incriminata?
                  In ~/.profile?

                  Me ne sono ben guardato. Ho solo scritto
                  `setenv TEXEDIT “/usr/bin/vim +%d %s”`
                  in una shell, poi ho compilato un documento con errore già inserito; al messaggio di errore ho battuto “e” e si è aperto vim. Ho subito battuto “:q” per uscire dall’incubo e reimpostato la variabile al valore solito.

                  Ebbene sì, uso tcsh. 🙂

                  Ma se provo con bash funziona ugualmente. Probabilmente va messo in .bashrc, ma con la bash non si sa mai. Ovviamente dopo aver fatto la modifica in .profile o in .bashrc occorre lanciare una nuova shell (o rileggere il file modificato).

                  Ciao
                  Enrico

                • #57357
                  samiel
                  Partecipante
                    Up
                    0
                    Down
                    ::


                    Ma io ce l’ho in ~/.bashrc, dove peraltro ho anche altri EXPORT
                    che funzionano regolarmente. E poi, come detto sopra, trovo
                    l’indicazione corretta con printenv… Mah…

                    M.

                  • #57358
                    Up
                    0
                    Down
                    ::

                    Ma io ce l’ho in ~/.bashrc, dove peraltro ho anche altri EXPORT
                    che funzionano regolarmente. E poi, come detto sopra, trovo
                    l’indicazione corretta con printenv… Mah…

                    Quello che riporti come risultato di printenv non è affatto corretto.

                    Ciao
                    Enrico

                  • #57359
                    samiel
                    Partecipante
                      Up
                      0
                      Down
                      ::


                      Cosa non va in relazione al problema?
                      `samiel@debian:~$ printenv
                      MANPATH=/usr/local/texlive/2010/texmf/doc/man:
                      SSH_AGENT_PID=1865
                      KDE_MULTIHEAD=false
                      DM_CONTROL=/var/run/xdmctl
                      SHELL=/bin/bash
                      TERM=xterm
                      XDG_SESSION_COOKIE=9b39a5eaf5a38603ebae032300000c04-1300653334.556395-343981894
                      XDM_MANAGED=method=classic,auto
                      GTK2_RC_FILES=/etc/gtk-2.0/gtkrc:/home/samiel/.gtkrc-2.0::/home/samiel/.kde/share/config/gtkrc-2.0
                      KONSOLE_DBUS_SERVICE=:1.49
                      GS_LIB=/home/samiel/.fonts
                      GTK_RC_FILES=/etc/gtk/gtkrc:/home/samiel/.gtkrc::/home/samiel/.kde/share/config/gtkrc
                      WINDOWID=46146603
                      GTK_MODULES=canberra-gtk-module
                      KDE_FULL_SESSION=true
                      USER=samiel
                      SSH_AUTH_SOCK=/tmp/ssh-FxnnIK1699/agent.1699
                      SESSION_MANAGER=local/debian:@/tmp/.ICE-unix/2169,unix/debian:/tmp/.ICE-unix/2169
                      DESKTOP_SESSION=default
                      PATH=/usr/local/texlive/2010/bin/i386-linux:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/opt/floola
                      PWD=/home/samiel
                      KDE_SESSION_UID=1000
                      LANG=it_IT.UTF-8
                      KONSOLE_DBUS_SESSION=/Sessions/7
                      HOME=/home/samiel
                      COLORFGBG=0;15
                      SHLVL=1
                      KDE_SESSION_VERSION=4
                      LANGUAGE=
                      TEXEDIT=/usr/bin/vim +%d %s
                      XCURSOR_THEME=Oxygen_Black
                      LOGNAME=samiel
                      XDG_DATA_DIRS=/usr/share:/usr/share:/usr/local/share
                      DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-btWPIeN5yj,guid=01c7dc1fccb35975c3b8726000000016
                      INFOPATH=/usr/local/texlive/2010/texmf/doc/info:
                      WINDOWPATH=7
                      PROFILEHOME=
                      DISPLAY=:0
                      QT_PLUGIN_PATH=/home/samiel/.kde/lib/kde4/plugins/:/usr/lib/kde4/plugins/
                      VIDEO_FORMAT=PAL
                      _=/usr/bin/printenv
                      samiel@debian:~$ `

                      M.

                      Modificato per eliminare una riga irrilevante e troppo lunga. egreg9

                    • #57360
                      Up
                      0
                      Down
                      ::

                      Cosa non va in relazione al problema?
                      `samiel@debian:~$ printenv

                      TEXEDIT=/usr/bin/vim +%d %s

                      _=/usr/bin/printenv
                      samiel@debian:~$ `

                      Niente, mi pare.

                      Ciao
                      Enrico

                    • #57361
                      samiel
                      Partecipante
                        Up
                        0
                        Down
                        ::


                        Allora non ho capito a cosa si triferiva il

                        Quello che riporti come risultato di printenv non è affatto corretto

                        😯

                        M.

                      • #57362
                        Up
                        0
                        Down
                        ::

                        Allora non ho capito a cosa si triferiva il

                        Quello che riporti come risultato di printenv non è affatto corretto

                        😯

                        Riguarda il tuo messaggio.

                        E inoltre:printenv risponde:
                        TEXEDIT=/usr/bin/vim

                        Non so che dirti: quella è la sintassi corretta.

                        Ciao
                        Enrico

                      • #57363
                        samiel
                        Partecipante
                          Up
                          0
                          Down
                          ::


                          Ah no, che distratto…
                          È il frutto di un taglia-incolla sbagliato…

                          M.

                        • #57364
                          samiel
                          Partecipante
                            Up
                            0
                            Down
                            ::


                            Un po’ più di chiarezza, perché ho fatto un esperimento diverso.
                            Se in una riga creo un errore banale come digitare \textcs
                            invece che \textsc, allora ottengo:
                            `l.20 S. A\textcs
                            {gosti}, \textit{Modelli psicanalitici e teoria del testo},
                            ?`
                            A questo punto premendo il fatidico “e” si apre Vim.
                            Se invece introduco un errore diverso, ad esempio:
                            `\begin{document}
                            \textbf{Freud e l'arte
                            \bigskip
                            S. A\textsc{gosti}, \textit{Modelli psicanalitici e teoria del testo},
                            Feltrinelli, Milano 1987.`
                            e dunque non chiudo la graffa di \textbf, allora
                            il messaggio di errore che compare è

                            `! File ended while scanning use of \textbf .

                            \par
                            <*> tesine.tex

                            ?`
                            e in questo caso premendo “e” non accade nulla.
                            Non capisco se dipende dalla gestione egli errori
                            di TeX / LaTeX, a quest punto…

                            M.

                          • #57365
                            Up
                            0
                            Down
                            ::

                            Un po’ più di chiarezza, perché ho fatto un esperimento diverso.
                            Se in una riga creo un errore banale come digitare \textcs
                            invece che \textsc, allora ottengo:
                            `l.20 S. A\textcs
                            {gosti}, \textit{Modelli psicanalitici e teoria del testo},
                            ?`
                            A questo punto premendo il fatidico “e” si apre Vim.
                            Se invece introduco un errore diverso, ad esempio:
                            `\begin{document}
                            \textbf{Freud e l'arte
                            \bigskip
                            S. A\textsc{gosti}, \textit{Modelli psicanalitici e teoria del testo},
                            Feltrinelli, Milano 1987.`
                            e dunque non chiudo la graffa di \textbf, allora
                            il messaggio di errore che compare è

                            `! File ended while scanning use of \textbf .

                            \par
                            <*> tesine.tex

                            ?`
                            e in questo caso premendo “e” non accade nulla.
                            Non capisco se dipende dalla gestione egli errori
                            di TeX / LaTeX, a quest punto…

                            M.

                            Il file è già chiuso, TeX non ne sa più nulla.

                            Ciao
                            Enrico

                          • #57366
                            samiel
                            Partecipante
                              Up
                              0
                              Down
                              ::

                              Il file è già chiuso, TeX non ne sa più nulla.

                              E io allora ne capisco meno ancora… 😥

                              M.

                            • #57367
                              Up
                              0
                              Down
                              ::

                              Il file è già chiuso, TeX non ne sa più nulla.

                              E io allora ne capisco meno ancora… 😥

                              E che c’è da capire? Quando dai “e” in quel caso, non c’è più nessun file aperto e TeX non saprebbe che cosa inviare come “%s”. Quando TeX trova chiude il file e solo allora si accorge che c’era una graffa aperta che non ha una corrispondente chiusa. Se il file scorretto era stato letto con \input, “e” ti rimanderà al file genitore, in corrispondenza del comando \input. Altrimenti non c’è nulla da fare.

                              Ti assicuro che in tanti anni di TeX non ho usato “e” che qualche rara volta; meglio andare avanti e trovare gli errori. Anche perché gli errori “veri” mostrano i loro effetti ben dopo.

                              Se usassi Emacs con AUCTeX avresti la comoda combinazione “C-c `” che porta successivamente ai vari errori. 🙂

                              Ciao
                              Enrico

                            • #57368
                              samiel
                              Partecipante
                                Up
                                0
                                Down
                                ::


                                Ma non è che senza “e” non sopravvivo…
                                Volevo semplicemente capire la dinamica.
                                Ho sempre avuto una cordiale antipatia
                                per Emacs. Vedo se Vim con VimLaTeX
                                è in grado di fare la stessa cosa.
                                Per il resto, usando da X Kate, anch’io
                                uso il sistema “tradizionale”…

                                Grazie
                                M.

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

                            Go to top