- Questo topic ha 22 risposte, 4 partecipanti ed è stato aggiornato l'ultima volta 15 anni, 5 mesi fa da
samiel.
-
CreatoreTopic
-
20 Marzo 2011 alle 0:25 #57346
-
CreatoreTopic
-
AutoreRisposte
-
-
20 Marzo 2011 alle 0:41 #57347::
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.
-
20 Marzo 2011 alle 8:14 #57348
-
20 Marzo 2011 alle 11:27 #57349::
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
-
20 Marzo 2011 alle 18:23 #57350::
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/vimM.
-
20 Marzo 2011 alle 18:38 #57351
-
20 Marzo 2011 alle 18:51 #57352::
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/vimM.
`export TEXEDIT=”/usr/bin/vim +%d %s”`
A me funziona.Ciao
Enrico
-
20 Marzo 2011 alle 20:38 #57353
-
20 Marzo 2011 alle 20:39 #57354
-
20 Marzo 2011 alle 20:42 #57355
-
20 Marzo 2011 alle 20:58 #57356::
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
-
20 Marzo 2011 alle 21:03 #57357
-
20 Marzo 2011 alle 21:28 #57358
-
20 Marzo 2011 alle 21:30 #57359::
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
-
20 Marzo 2011 alle 21:37 #57360
-
20 Marzo 2011 alle 21:54 #57361
-
20 Marzo 2011 alle 21:59 #57362
-
20 Marzo 2011 alle 22:42 #57363
-
21 Marzo 2011 alle 14:58 #57364::
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.
-
21 Marzo 2011 alle 15:04 #57365::
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
-
21 Marzo 2011 alle 15:48 #57366
-
21 Marzo 2011 alle 16:30 #57367::
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
-
21 Marzo 2011 alle 16:54 #57368
-
-
AutoreRisposte
- Devi essere connesso per rispondere a questo topic.