PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : PDF über Konsolenbefehl erzeugen



latexy
11-04-2014, 21:33
Hallo zusammen,

ich benutze TeXnicCenter mit Windows 7. Also alles Standardinstallation. Gibt es einen Befehl, den ich mit dem, was ich jetzt schon installiert habe, in der cmd.exe abfeuern könnte, so dass aus einer tex-Datei eine PDF-Datei generiert wird (und zwar genau die PDF-Datei, die auch generiert wird, wenn ich im TeXnicCenter Strg+F7 drücke)?

Danke!

bobmalaria
11-04-2014, 21:53
hi,

das geht anders.

sobald man eine distribution installiert hat, also z.b. MikTex oder Texlive, dann kann man ein dokument kompilieren.

dann kann man ein dokument in einem editor schreiben, z.b. auch dem windows notepad und dann als *.tex datei abspeichern.

die eingabe von

pdflatex dateiname.tex

in der kommandozeile und natürlich im richtigen ordner erstellt dann automatisch das pdf im gleichen ordner wie die *.tex datei.

texniccenter ist dann "nur" noch ein editor der speziell auf latex angepasst ist und diesen aufruf für dich übernimmt

http://www.mrunix.de/forums/attachment.php?attachmentid=6011&stc=1&d=1397246529

http://www.mrunix.de/forums/attachment.php?attachmentid=6012&stc=1&d=1397246535

hakaze
11-04-2014, 21:54
pdflatex.exe NameDerTexDatei.tex (plus eventuell die Optionen, die im TC eingestellt sind)

latexy
12-04-2014, 00:31
Vielen Dank. Zu Fuß klappt es bei mir. Mein eigentliches Anliegen war jedoch, das ganze über ein Java-Programm anzustoßen. Leider klappt das noch nicht so richtig. Wenn mein Java-Programm den Konsolenbefehl über


private void executeCommand(String command) {
try {
Runtime.getRuntime().exec(command);
} catch (IOException e) {
System.err.println(command);
e.printStackTrace();
}

aufruft, wird nur eine log Datei erzeugt, in der folgendes steht:


This is pdfTeX, Version 3.1415926-2.3-1.40.12 (MiKTeX 2.9) (preloaded format=pdflatex 2012.8.24) 12 APR 2014 00:25
entering extended mode
**2014-04-12*00-25-33.tex
("C:\Users\***\2014-04-12 00-25-33.tex"
LaTeX2e <2011/06/27>
Babel <v3.8m> and hyphenation patterns for english, afrikaans, ancientgreek, ar
abic, armenian, assamese, basque, bengali, bokmal, bulgarian, catalan, coptic,
croatian, czech, danish, dutch, esperanto, estonian, farsi, finnish, french, ga
lician, german, german-x-2009-06-19, greek, gujarati, hindi, hungarian, iceland
ic, indonesian, interlingua, irish, italian, kannada, kurmanji, lao, latin, lat
vian, lithuanian, malayalam, marathi, mongolian, mongolianlmc, monogreek, ngerm
an, ngerman-x-2009-06-19, nynorsk, oriya, panjabi, pinyin, polish, portuguese,
romanian, russian, sanskrit, serbian, slovak, slovenian, spanish, swedish, swis
sgerman, tamil, telugu, turkish, turkmen, ukenglish, ukrainian, uppersorbian, u
senglishmax, welsh, loaded.

(C:\Users\***\AppData\Roaming\MiKTeX\2.9\tex\latex \extsizes\extarticle.cls
Document Class: extarticle 1996/10/08 v1.0 Non Standard LaTeX document class
(C:\Users\***\AppData\Roaming\MiKTeX\2.9\tex\latex \extsizes\size9.clo
File: size9.clo 1999/11/11 v1.4a NON-Standard LaTeX file (size option)
)

Wisst ihr, was hier schief läuft?

latexy
12-04-2014, 00:42
Manchmal steht sogar noch weniger in der log-File:


This is pdfTeX, Version 3.1415926-2.3-1.40.12 (MiKTeX 2.9) (preloaded format=pdflatex 2012.8.24) 12 APR 2014 00:40
entering extended mode
**C:/Users/***/2014-04-12*00-4
0-29.tex

("C:/Users/***/2014-04-12 00-4
0-29.tex"

Aber eien PDF-File kommt nie dabei raus.

rais
12-04-2014, 11:37
Mein eigentliches Anliegen war jedoch, das ganze über ein Java-Programm anzustoßen. Leider klappt das noch nicht so richtig. Wenn mein Java-Programm den Konsolenbefehl über


private void executeCommand(String command) {
try {
Runtime.getRuntime().exec(command);
} catch (IOException e) {
System.err.println(command);
e.printStackTrace();
}

aufruft, wird nur eine log Datei erzeugt, in der folgendes steht:


[...]
File: size9.clo 1999/11/11 v1.4a NON-Standard LaTeX file (size option)
)

ich kenn mich mit Java ja nicht aus, aber erstmal würde ich über die Prozessliste schauen, ob der angestoßene Prozess noch da ist (blockiert?) oder nicht (abgewürgt?).
Apropos Prozess (http://docs.oracle.com/javase/7/docs/api/java/lang/Process.html): Du müsstest wohl das, was pdfLaTeX normalerweise auf der Konsole ausgibt, auch irgendwie abfangen, Stichworte getInputStream, getErrorStream.

MfG