[vim-latexsuite] Fehler-Log wird nicht angezeigt

Editoren wie TexWorks, TeXmaker, TeXstudio, TeXnicCenter, Kile, LyX, vi, Emacs und Co.


MoonKid
Forum-Meister
Forum-Meister
Beiträge: 690
Registriert: Sa 30. Jun 2012, 11:56

[vim-latexsuite] Fehler-Log wird nicht angezeigt

Beitrag 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'

dknof
Forum-Anfänger
Forum-Anfänger
Beiträge: 48
Registriert: So 29. Jul 2012, 13:30

Re: [vim-latexsuite] Fehler-Log wird nicht angezeigt

Beitrag 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

MoonKid
Forum-Meister
Forum-Meister
Beiträge: 690
Registriert: Sa 30. Jun 2012, 11:56

Beitrag 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.
XeLaTeX, TeX Live, vim-latexsuite

dknof
Forum-Anfänger
Forum-Anfänger
Beiträge: 48
Registriert: So 29. Jul 2012, 13:30

Beitrag 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

MoonKid
Forum-Meister
Forum-Meister
Beiträge: 690
Registriert: Sa 30. Jun 2012, 11:56

Beitrag 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?
XeLaTeX, TeX Live, vim-latexsuite

MoonKid
Forum-Meister
Forum-Meister
Beiträge: 690
Registriert: Sa 30. Jun 2012, 11:56

Beitrag von MoonKid »

XeLaTeX, TeX Live, vim-latexsuite

MoonKid
Forum-Meister
Forum-Meister
Beiträge: 690
Registriert: Sa 30. Jun 2012, 11:56

Beitrag 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 $*'
XeLaTeX, TeX Live, vim-latexsuite

Antworten