PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Neuling: ExcelTex



xx5198
19-05-2013, 00:45
Als Neuling sage ich erst mal hallo...

Ich komme gleich zur Sache ich bin frisch in Latex eingestiegen und würde gerne praktischten Weg nutzen um Tabellen oder Zellen aus Excel in Latex zu integrieren.

Hier für bin ich auf exceltex gestoßen, das wenn ich es richtig verstanden hab ganze Tabllen oder einzelne Zeilen einfügen kann. Wäre für mich genau richtig. Nur leider weis ich nicht wie genau ich es ausführen soll?

Ich nutze Max OS X 10.8 und MacTex und laut dem packetmanager ist exceltex auch installiert. Jedoch lässt sich nur mit "exceltex" in im Terminal nichts starten...

Vielleicht habe ich nur einen blöden Gedankenfehler aber kann mir jemand sagen wie genau ich den Aufruf mache?

Gleich schon mal für später:
kann man exceltex irgendwie von Latex (zb beim compilieren) aus aufrufen?

Ideal wäre, wenn ich meine excel Datei nur speichern und in Latex ein mal neu compilieren müsste um evtl. geänderte Werte einbinden zu können...

Ich danke schon mal und wünsche eine gute Nacht.

Gruß
Andreas

bobmalaria
19-05-2013, 01:22
hi,

das ist ein paket das du einbinden musst. schau dir einfach mal das an (google hat geholfen)

http://www.physik.uni-freiburg.de/~doerr/exceltex/index.en.html

ausserdem gibt es noch die readme zum paket

http://anorien.csc.warwick.ac.uk/mirrors/CTAN/macros/latex/contrib/exceltex/README
gruss

xx5198
19-05-2013, 09:17
Hallo Bobmalaria,
ich habe sehr wohl gegooglt und du hast meine Frage wohl nicht ganz verstanden. Es ist mir klar, dass ich das packet mit usepackage einbinden muss.

Was mir nicht klar ist, ist wie ich das Skript exceltex auf meinem Mac ausführe.
"Einfach" exceltex im Terminal eintippen funktioniert nicht und exceltex.pl finde ich auch nirgends, obwohl es wie gesagt laut dem Packetmanager von MacTex installiert sein soll...

Es geht mir nicht um die Bedienung unter LaTeX, sondern das ausführen von exceltex.pl auf einem Mac (Ideal wären Mac Nutzer, die auch MacTex nutzen)....

hakaze
19-05-2013, 13:32
Theoretisch sollte das über das Terminal klappen (alles nach $ sind Befehle fürs Terminal).

Zunächst musst du natürlich ins Verzeichnis mit deinem Latexprojekt wechseln (Ordner und Dateien kann man auch per drag'n'drop ins Terminal-Fenster ziehen):
$ cd /Documents/latex-ordner
$ pdflatex dateiname
$ exceltex dateiname
$ pdflatex dateinameDabei ist dateiname der Name deiner LaTeX-Datei ohne Endung. Die (pdf)latex-Aufrufe kannst du aber auch extern machen; z.B. in TeXshop.

Bei mir kam dann erstmal die folgende Fehlermeldung, da das Modul Spreadsheet::ParseExcel nicht installiert war:

Can't locate Spreadsheet/ParseExcel.pm in @INC (@INC contains: /Library/Perl/5.12/darwin-thread-multi-2level /Library/Perl/5.12
/Network/Library/Perl/5.12/darwin-thread-multi-2level
/Network/Library/Perl/5.12 /Library/Perl/Updates/5.12.4
/System/Library/Perl/5.12/darwin-thread-multi-2level
/System/Library/Perl/5.12 /System/Library/Perl/Extras/5.12/darwin-
thread-multi-2level /System/Library/Perl/Extras/5.12 .) at
/usr/texbin/exceltex line 738.
BEGIN failed--compilation aborted at /usr/texbin/exceltex line 738.
Also muss das Modul noch installiert werden.

Zunächst testen wir, ob make vorhanden ist:
$ which makeDa sollte "/usr/bin/make" oder so ähnlich als Ausgabe erscheinen. Wenn nicht, erfordert das die Installation von Xcode (https://itunes.apple.com/de/app/xcode/id497799835?mt=12) und den Command Line Tools (http://stackoverflow.com/questions/9329243/xcode-4-4-command-line-tools).

Ansonsten (make vorhanden) geht es weiter mit der Konfiguration von CPAN:

$ sudo perl -MCPAN -e shelldas geht größtenteils automatisch und erfordert nur ein paar Bestätigungen (es sei denn, du möchtest einen bestimmten CPAN-Mirror auswählen). Wenn das abgeschlossen ist ("Autoconfiguration complete."), die cpan-shell mit exit verlassen:
cpan[1]> exit

Nun kannst du das lokale CPAN-Modul aktualisieren (das dauert eine Weile und erfordert ab und an eine Bestätigung):

$ sudo perl -MCPAN -e 'install Bundle::CPAN'
und danach das Spreadsheet-Modul installieren:
$ sudo perl -MCPAN -e 'install Spreadsheet::ParseExcel'Das dauert wieder eine Weile, bis dann steht:
Appending installation info to /Library/Perl/Updates/5.12.4/darwin-thread-multi-2level/perllocal.pod
JMCNAMARA/Spreadsheet-ParseExcel-0.59.tar.gz
/usr/bin/make install -- OK
Jetzt sollte auch der Aufruf von exceltex wie oben beschrieben funktionieren.

xx5198
21-05-2013, 13:21
Hallo hakaze und danke für die ausfühlriche Anleitung.
Ich bin dem so weit gefolgt und mittels "exceltex" lässt sich jetzt auch was aufrufen.

Jedoch kommt folgendes Ergebnis:

exceltex helper script, version 0.5.1
reading 'beispiel.xls'
Index 'beispiel.excltx' corrupt at line 3
aborting.


Die Beispiel.xls hat lediglich zwei Zeilen:
ax, bx, cx
1, 2, 3

der Rest ist leer.

hakaze
21-05-2013, 18:28
Ich würde mal auf Verdacht die beispiel.excltx (und alle übrigen Hilfsdateien) löschen und neu kompilieren.

Ansonsten poste mal ein Minimalbeispiel (http://www.minimalbeispiel.de) deines Codes hier!

xx5198
21-05-2013, 22:24
Hallo noch mal,
ich hab mal alle erzeigten Dateien gelöscht, was das Problem leider nicht behoben hatte. Ich habe mir dann noch mal meine Latex datei angeguckt und konnte einen Tippfehler finden, der in Latex zwar keinen Fehler erzeugte, aber obiges Problem mit exceltex auslöste.

Das Zugreifen auf einzelne Zeilen im Text funktioniert jetzt super, dafür ein großes Dankeschön!

Ich habe aber noch folgendes kleines Problem:
Ich möchte mit exceltex auch Tabellen einbinden, was auch funktioniert, aber noch komisch aussieht:

\begin{tabular}{|c|c|c|}
\hline
column 1 & column 2 & column 3 \\
\hline
\inctab{Blatt1!A2!C6}
\hline
\end{tabular}
Obiges erzeugt zwar eine komplette Tabelle, die aber optisch einen Fehler hat:
https://dl.dropboxusercontent.com/u/2780701/texstudioScreenSnapz001.png

Der große Freiraum unter den Daten aus der Excel Tabelle ist nicht gewollt und ich bekomme den gerade nicht weg.
Wenn ich statt des Verweises auf die Exceldatei zb die erste Zeile kopiere, dann hab ich auch zwei zeilen, die aber gleich groß sind...

Kannst du mir evtl. sagen woran das liegen könnte?

Danke schon mal.

hakaze
22-05-2013, 06:47
Du fügst über den Befehl auch leere Zellen mit ein; nämlich alle von Spalte A bis C und Zeile 2 bis 6. So sollte es für eine Zeile reichen:
\begin{tabular}{|c|c|c|}
\hline
column 1 & column 2 & column 3 \\
\hline
\inctab{Blatt1!A2!C2}
\hline
\end{tabular}

xx5198
22-05-2013, 09:46
Super, danke :)
Dann wäre mein Problem gelöst.

Jetzt werde ich nur noch mal gucken ob ich es hinbekommen kann exceltex aus dem Editor auszuführen ohne das Terminal. Das müsste ja irgendwie gehen...