Neue Antwort schreiben 
 
Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
LaTeX zu CSV möglich?
meego4ever! Offline
war in Schweden und möchte wieder zurück

Beiträge: 8.255
Registriert seit: Jun 2012
Beitrag #1
LaTeX zu CSV möglich?
Ich bruache einen Tipp:

Wie bekomme ich folgende LaTeX Datei (hier nur ein Auszug) in CSV verwandelt oder exportiert?

Code:
\usepackage{multicol}
\usepackage{fullpage}
%\setlength\parskip{\medskipamount}
\setlength\parindent{0pt}

\title{Owner List for\\nicetux}
\date{2012-12-13}

\begin{document}
\maketitle

This is an automatically generated list of owned comics for the user nicetux at the Inducks website \textit{COA}. To get a list like this, create an account at \url{http://coa.inducks.org/} and add all the comics you own. You can then choose to let the website generate a list of your comics in PDF or \LaTeX{} format that you can print out and bring on your next visit to your favourite comics shop. In this list, plain number means that you don't have the issue, and \underline{underlined} number means you have it.

\begin{multicols}{2}
\section*{Germany}

\subsection*{AODS: Abenteuer aus Onkel Dagoberts Schatztruhe}

\texttt{\scriptsize{\underline{\mbox{ }1} \underline{\mbox{ }2} \underline{\mbox{ }3} \underline{\mbox{ }4} \underline{\mbox{ }5} \underline{\mbox{ }6} }}

\subsection*{AODSHC: Abenteuer aus Onkel Dagoberts Schatztruhe (Hardcover)}

\texttt{\scriptsize{\mbox{\mbox{ }1} \underline{\mbox{ }2} \mbox{\mbox{ }3} \mbox{\mbox{ }4} \mbox{\mbox{ }5} }}

\subsection*{AT: Abenteuer Team}

\texttt{\scriptsize{\underline{\mbox{ }1} \mbox{\mbox{ }2} \underline{\mbox{ }3} \underline{\mbox{ }4} \mbox{\mbox{ }5} \underline{\mbox{ }6} \underline{\mbox{ }7} \underline{\mbox{ }8} \mbox{\mbox{ }9} \mbox{10} \\
\underline{11} \mbox{12} \mbox{13} \underline{14} \underline{15} \mbox{16} \underline{17} \mbox{18} \underline{19} \mbox{20} \\
\mbox{21} \underline{22} \mbox{23} \underline{24} \underline{25} \underline{26} \underline{27} \mbox{28} \underline{29} \mbox{30} \\
\underline{31} \underline{32} \mbox{33} \mbox{34} \underline{35} \mbox{36} \underline{37} \underline{38} \mbox{39} }}

\subsection*{AXF: Asterix und seine Freunde}

Hintergrund ist dieser, das dann die Sachen in dieser CSV Datei einzeln abgerufen werden können / sollen.
(Dieser Beitrag wurde zuletzt bearbeitet: 13.12.2012 14:57 von meego4ever!.)
13.12.2012 14:57
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
friedrichheinze Offline
...und Kondensatoren.

Beiträge: 2.838
Registriert seit: Jul 2008
Beitrag #2
RE: LaTeX zu CSV möglich?
Hm? Sowas macht man normalerweise mit regular expressions. Wie hättest du denn gerne den Output zu dem Beispiel?
13.12.2012 14:59
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
mrshadowtux
Unregistered

 
Beitrag #3
RE: LaTeX zu CSV möglich?
So wie ich das da sehe, kann man sich auf der Seite auch eine PDF generieren lassen. Ich würde der pdf dann mit pdf2txt, grep, sed und cut zuleibe rücken. So habe ich das damals auch mit meinen Handyrechnungen gemacht, um automatisch den Traffic der Rechnungspositionen zusammenzuzählen.
13.12.2012 15:02
Diese Nachricht in einer Antwort zitieren
oreissig Offline
Maître Modérateur

Beiträge: 11.991
Registriert seit: Jul 2008
Beitrag #4
RE: LaTeX zu CSV möglich?
wie soll das denn am ende aussehen? CSV macht doch im Prinzip Tabellen, LaTeX hingegen hierarchisch strukturierte Dokumente
13.12.2012 15:03
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
meego4ever! Offline
war in Schweden und möchte wieder zurück

Beiträge: 8.255
Registriert seit: Jun 2012
Beitrag #5
RE: LaTeX zu CSV möglich?
Ein Output zu sehen hiervon wäre super.

@ orreisig - das wäre dann das Ziel, alles in einer Tabelle stehen zu haben, unmarked und marked zb. jeweils als Spalte. Die Zeilen entsprechen dann den einzelnen Nummern der Hefte. Später sollte sich die Tabelle dann noch erweitern lassen können.
(Dieser Beitrag wurde zuletzt bearbeitet: 13.12.2012 15:10 von meego4ever!.)
13.12.2012 15:04
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
friedrichheinze Offline
...und Kondensatoren.

Beiträge: 2.838
Registriert seit: Jul 2008
Beitrag #6
RE: LaTeX zu CSV möglich?
(13.12.2012 15:04)meego4ever! schrieb:  Ein Output zu sehen hiervon wäre super.

das wäre dann das Ziel, alles in einer Tabelle stehen zu haben, unmarked und marked zb. jeweils als Spalte. Die Zeilen entsprechen dann den einzelnen Nummern der Hefte. Später sollte sich die Tabelle dann noch erweitern lassen können.

Also der PDF-Output davon ist
http://pixelbanane.de/yafu/3608844425/doc.pdf
wenn du das als CSV haben willst musst du es halt per regex aus dem latex file rauslesen. Wie gesagt, sag mal an was du für ein Output-Format genau haben willst. CSV sind ja einfach column-separated values aber das Teil hat Überschriften, Unterstrichene Werte, Text, whatever...
13.12.2012 15:10
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
meego4ever! Offline
war in Schweden und möchte wieder zurück

Beiträge: 8.255
Registriert seit: Jun 2012
Beitrag #7
RE: LaTeX zu CSV möglich?
Ich habe mir das in etwa so vorgestellt von der Struktur: (Ein Beispiel, wie ich das in Excel lösen würde)

[attachment=2787]

Die Spalten Zustand und Auflage sind optional und sollen seperat eingepflegt werden können. Wichtig sind die Spalten mit der Nummer und der Namen der Serie sowie in Sammlung oder nicht (In Sammlung bedeutet \underlined11 , {}mbox12 nicht in Sammlung)
14.12.2012 14:16
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
friedrichheinze Offline
...und Kondensatoren.

Beiträge: 2.838
Registriert seit: Jul 2008
Beitrag #8
RE: LaTeX zu CSV möglich?
Code:
#!/usr/bin/python

import sys
import re

sectp = re.compile("subsection\*{(.*?)}(.*?)(?=subsection|\Z)", re.DOTALL)
numexp = re.compile("mbox{.*?([0-9]+).*?}|underline{.*?([0-9]+).*?}")
infile = sys.argv[1]
f = open(infile, 'r')
content = f.read()

print "Titel,Nummer,Ja,Nein"
for match in sectp.finditer(content):
  title = match.group(1)
  print title + ",,,"
  for submatch in numexp.finditer(match.group(2)):
    if submatch.group(2):
      print ','.join(["", submatch.group(2), "x", ""]);
    else:
      print ','.join(["", submatch.group(1), "", "x"]);

Als irgendwas.py speichern und ausführen mit python irgendwas.py inputfile.tex > outputfile.csv
musst dann halt mit Excel hinzufügen was du willst.
14.12.2012 16:27
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Neue Antwort schreiben 


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 2 Gast/Gäste