Seite 1 von 1
[vim-latexsuite] Fehler-Log wird nicht angezeigt
Verfasst: Mi 7. Nov 2012, 17:50
von MoonKid
X-Post:
http://mrunix.de/forums/showthread.php?t=74248
Vielleicht habe ich es falsch in Erinnerung...? Als ich vor einigen Wochen die vim-latexsuite installiert habe, bekam ich beim build aus vim heraus die Fehler angezeigt, wenn welche auftauchen.
Jetzt hat sich das Verhalten geändert. (vim auf tty und Terminal-Emu) Bei \ll verschwindet das Editor-Fenster und xelatex-Meldungen werden gezeigt. Am Ende werden die Fehler rot markiert angezeigt. Wohlgemerkt nur die Fehler! Erst bei ENTER erscheint wieder das Editor-Fenster, aber ohne Anzeige des Fehler-Logs.
Vielleicht habe ich zuviel dran rumgedocktert? Anbei meine .vimrc.
filetype plugin on
filetype indent on
set grepprg=grep\ -nH\
let g:tex_flavor='latex'
let g:Tex_DefaultTargetFormat='pdf'
let g:Tex_CompileRule_pdf='mkdir -p _out && xelatex -output-directory=_out -interaction=nonstopmode $* && mv _out/$*.pdf .'
let g:Tex_ViewRule_pdf='FoxitReader'
Re: [vim-latexsuite] Fehler-Log wird nicht angezeigt
Verfasst: Fr 9. Nov 2012, 20:00
von dknof
Hallo MoonKid,
Du änderst mit Deiner zweitletzten Einstellung (-output-directory) das Ausgabeverzeichnis. Daher findet die latexsuite wohl die log-Datei nicht und kann sie nicht anzeigen.
Gruß
Diether
Verfasst: Sa 10. Nov 2012, 15:46
von MoonKid
Ja, das ist tatsächlich das Problem.
Wie bringe ich nun der vim-latexsuite bei, wo das log ist?
Ja ich könnte es auch wieder ein Verzeichnis hochschieben, aber dann kann (und das will ich nicht!) mir das out-directory auch sparen.
Verfasst: Sa 10. Nov 2012, 21:31
von dknof
Hallo MoonKid,
MoonKid hat geschrieben:
Wie bringe ich nun der vim-latexsuite bei, wo das log ist?
Ja ich könnte es auch wieder ein Verzeichnis hochschieben, aber dann kann (und das will ich nicht!) mir das out-directory auch sparen.
Cross-Post:
http://debianforum.de/forum/viewtopic.php?f=29&p=905952
Soweit ich den Quelltext von der latex-suite verstanden habe geht das nicht. Du dürftest auch schon bemerkt haben, dass die latex-suite es insgesamt nicht mag, wenn das Verzeichnis verschoben ist. So funktioniert auch die automatische Erkennung, ob ein weiterer Kompiliervorgang nötig ist, nicht. Das Problem ist wohl das gleiche, auch die aux- und die idx-Datei werden im Verzeichnis der main-Datei erwartet.
Gruß
Diether
Verfasst: So 11. Nov 2012, 12:22
von MoonKid
dknof hat geschrieben:Soweit ich den Quelltext von der latex-suite verstanden habe geht das nicht.
Ach das ist doch Mist! Das akzeptiere ich nicht. Von unixoiden Systemen bin ich mehr Flexibilität gewohnt. Und gerade vim wird doch immer als so anpassbar usw. angepriesen.
In welchen Code hast du da geschaut? Mir ist ja nichtmal klar, mit was die suite da arbeitet? Gibt es evtl. ne vim-interne Scriptsprache oder sowas?
Als workaround könnte ich im compilerlauf ein eigenes Script starten, dass einfach 1 Minute still steht und dann den ganzen Mist ins Unterverzeichnis räumt. Oder so ähnlich...
Sorry, aber wie sehen den eure tex-Verzeichnisse aus? Wie ordnet und sortiert ihr das?
Bsp: Ein Modul in der Uni hat bei mir einen Ordner. Wenn da 10 Dokumente drin sind, habe ich am Ende 60 Dateien (tex+Ausgabemüll) da drin?
Verfasst: So 11. Nov 2012, 12:37
von MoonKid
Verfasst: So 11. Nov 2012, 17:09
von MoonKid
Das ist mein workaround
texout
#!/bin/bash
#
# enough arguments?
if [ -z "$1" ]; then
echo "Error: specify a filename (tex-file without extension)"
exit 1
fi
# cut the suffix from the file
file=$(echo $1 | sed -r -e 's/(.*)\.(.*)/\1/')
# instance marker
file_imark=~/.texout"$file"
# output directory
dir_out=_out
# check if another instance of this scripts is still running
# if not
# set a marker that the script is running
if [ ! -f $file_imark ]; then
touch $file_imark
else
echo "Another instance is still running. ($file_imark)"
exit 1
fi
# just wait a minute
sleep 30s
# output directory exists?
if [[ ! -d $dir_out ]]; then
mkdir $dir_out
fi
# move output files to subdirectory
if [ -f $file.aux ]; then
mv $file.aux $dir_out/.
fi
if [ -f $file.toc ]; then
mv $file.toc $dir_out/.
fi
if [ -f $file.log ]; then
mv $file.log $dir_out/.
fi
# kill instance marker
rm $file_imark
exit 0
.vimrc (Ausschnitt)
let g:Tex_CompileRule_pdf='texout $* & xelatex -interaction=nonstopmode $*'