PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : invalid character ^^@



epfel
14-10-2008, 20:18
Wertes Forum,
will ich mein Dokument kompilieren, erhalte ich folgende Fehlermeldung:

!Text line contains an invalid character.
I.16 \end{tabular}^^@

^^@^^@^^@^^@^^@^^@^^@^^@^^@^^@...

?

Ich verstehe die Meldung nicht. Aux-file trashen nützt nichts. Suche erfolglos. Kann mir jemand den Fehler erklären?

Herzlichen Dank!
Anbei: Minimalbeispiel

documentclass {scrreprt}

\usepackage {ngerman}
\usepackage [latin1]{inputenc}

\begin{document}

\begin{tabular}{cc}

ID & Name \\
\hline
1 & Maier \\

2 & Müller \\
\hline
\end{tabular}

Stefan_K
14-10-2008, 20:23
Hallo Epfel,

das Minimalbeispiel ist nicht übersetzbar und damit keine gemeinsame Referenz. Wenn ich es auf meiner Seite ergänze (um \end{document} und den backslash am Beginn) lässt es sich fehlerfrei übersetzen.
Wie sieht es bei Dir aus, wenn Du das Minimalbeispiel vervollständigst? Ist es übersetzbar? Wenn nicht, dann poste doch einmal die .log-Datei als Anhang.

Viele Grüße,

Stefan

voss
14-10-2008, 20:34
will ich mein Dokument kompilieren, erhalte ich folgende Fehlermeldung:

!Text line contains an invalid character.
I.16 \end{tabular}^^@

^^@^^@^^@^^@^^@^^@^^@^^@^^@^^@...

?

Ich verstehe die Meldung nicht. Aux-file trashen nützt nichts. Suche erfolglos. Kann mir jemand den Fehler erklären?


deine Kodierung stimmt wahrscheinlich nicht. Hast du statt latin1
eigentlich utf8?

Stimmt jedoch latin1, dann musst du Jedenfalls irgendwo ein komisches
Zeichen haben, was man eigentlich leicht im Editor erkennen sollte.
Es sei denn er zeigt diese nicht an, dann müsstest du in einem HeX-Editor nachschauen.


Herbert

epfel
14-10-2008, 21:11
Hallo Stefan und Herbert,
vielen Dank für die Reaktionen.

Stefan: Sorry, ich habe schlecht kopiert. Meine Datei ist (leider) vollständig.
Die .log anbei.

Herbert: Ich habe mich versichert, Latin zu nutzen. Daran liegt es also nicht. Bitte sag mir kurz, was ein hex-editor ist. Ich kann beim besten Willen kein kritisches Zeichen erkennen.

Besten Dank!

cookie170
14-10-2008, 21:41
Das Log zeigt keinen Fehler, aber eine ältere KOMA-script-Installation. 2.95b -- drei oder vier Jahre alt, würde ich schätzen. Vielleicht hilft es, die auf einen neueren Stand zu bringen, das kostet drei Minuten.

Gruß,
Alexander

Stefan_K
14-10-2008, 21:54
Hallo Epfel,

bis Du sicher, dass Dein Editor latin1 verwendet und die Datei darin codiert ist? Ich vermute, Du verwendest Mac OS X, damit würde ich utf8 verwenden, evtl. tuts auch applemac.

Stefan

Xenara
15-10-2008, 06:55
Du arbeitest nicht zufällig mit Mac OS X und hast die Tabelle in Excel gemacht und mittels Excel2LaTeX-Makro nach LaTeX kopiert?
Dabei hatte ich nämlich mal exakt dasselbe Problem. Wenn du tatsächlich am Mac arbeitest, öffne die .tex-Datei mal mit vim und schau wie es dort dargestellt wird. vim zeigt nämlich alle Symbole an.
(In der Shell eingeben: vim Datei.tex)

epfel
15-10-2008, 13:38
Hallo Xenara,

Volltreffer!

Ich werde mal versuchen, vim zu installieren. Allerdings kenne ich mich mit Kommandozeilen etc nicht aus. Bin also nicht sicher, ob ich die Aufgabe kurzfristig bewältigen werde. Deshalb vorweg die Frage: Worin bestand das gemeinsame, Dir bekannte Problem und lässt es sich - ggf auch ohne vim - lösen?

Besten Dank!

Xenara
15-10-2008, 14:54
Prima, dann bin ich nicht die Einzige, die das Problem hat :)

In vim bekommt man _alle_ Zeichen angezeigt, auch die @, dann sieht man, wo man was löschen muss (ist vermutlich einer der oben angesprochenen Hex-Editoren).
Afaik muss man vim nicht extra installieren, es sollte schon vorhanden sein.
Mach mal folgendes:
Öffne das Terminal (müsste unter Systemprogramme oder so sein, also nicht in der normalen Programmleiste). Dort gibst du "man vim" ein, forderst also das MANual für vim an. Wenn dann das Manual erscheint, hast du vim, ansonsten kommt irgendsowas wie "command not found".
Wenn es also drauf ist, öffnest du mit "vim Datei.tex" deine TeX-Datei. Wenn du weitere Hilfe zum Terminal brauchst, gib Bescheid.

Ich bin gerade leider nicht an meinem Mac und habe Excel -> LaTeX schon eine Weile nicht mehr gemacht, aber wenn ich es richtig in Erinnerung habe, ging es folgendermassen:
- In Excel ganz normal den Export-Button klicken.
- Im Vorschaufenster, wo man aussuchen kann, ob Copy to Clipboard o.ä. kann man ja auch den Code ändern. Dort alle Leerzeilen löschen und auch am Ende jeder Zeile die Leerzeichen löschen (auch wenn sie unsichtbar sind).
- Dann wieder wie üblich kopieren.

Wenn du die Tabelle bereits in LaTeX hast, probiers da mal genauso, lösche alle vermeintlichen Leerzeichen und -zeilen, dann sollts gehen.
Du kannst die Zeilen/Absätze/Leerzeichen ruhig nachher wieder einfügen, man muss nur vorher die unsichtbaren Zeichen löschen.

Ich weiss nicht genau, an was es liegt, es hängt aber wohl irgendwie mit der Definition von Zeilenumbrüchen zusammen und wie das interpretiert wird.

epfel
15-10-2008, 15:18
Besten Dank für Deine Antwort - sie klingt nach greifbarer Lösung!

Vim ist offenbar drauf. Nun habe ich das dann aufpoppende Info-Fenster wieder geschlossen und in ein freies Terminal-Fenster "vim dateiname.tex" eingegeben. Daraufhin ernte ich aber nur eine Spalte Tilden und den abschließenden Eintrag "dateiname.tex" [New file]
Vermutlich muss ich den Pfad definieren, o.ä. Ich weiss nun aber leider nicht weiter. Wäre klasse, wenn Du mir nochmal weiterhelfen könntest u/o mir sagen würdest, wie man diese Kommandozeileterminologie lernt. Gibt es da ein empfehlenswertes Buch? Ich weiß ehrlich gesagt nicht einmal, wie die Schlagwörter dazu lauten.

Xenara
15-10-2008, 15:45
Ich hab auch nur nur rudimentärste Kenntnisse...
Buch kenne ich keines, ich google meistens, etwa nach "terminal befehle", da erhält man etwa sowas: http://developer.apple.com/documentation/Darwin/Reference/ManPages/ oder das http://doors.stanford.edu/~sr/computing/basic-unix.html

Was hast du denn für ein OX, dass das Infofenster aufpoppt? Oder meinst du, der Text erscheint im gleichen Fenster?
Das Verzeichnis wechselst du mit "cd" (change directory), den Namen des Verzeichnisses kannst du mit der Tab-Taste vervollständigen lassen. Das hat erstens den Vorteil, dass du weisst, ob das Verzeichnis exisitiert und zweitens, dass Dateinamen/Ordnernamen mit Leerzeichen und Sonderzeichen gleich richtig eingetragen werden. Das Terminal kennt dies nämlich nicht, daher habe ich es mir sowieso abgewöhnt und verwende nur normale Buchstaben (keine Umlaute) und trenne Wörter mit Bindestrich oder Unterstrich. Wichtig ist noch, dass das Terminal Gross-/Kleinschreibung unterscheidet. Also "documents" und "Documents" sind verschiedene Verzeichnisse.
Es könnte also z.B. so aussehen:
Du tippst: "cd Doc" Tab
Es erscheint: "cd Documents/"
Du tippst: "cd Documents/Mein" Tab
Es erscheint: "cd Documents/"Mein Verzeichnis" "
Dann tippst du: "vim Datei.tex"

Aus vim raus kommst du mit "q".
Wenn du ein Verzeichnis höher wechseln willst, geht das mit "cd .."
Die Eingabe "cd" bringt dich ins Homeverzeichnis.

Stefan_K
15-10-2008, 16:31
Hallo Epfel,

poste doch einmal eine Beispieldatei als Anhang, mit der dieses Problem auftritt. Vielleicht sehe ich ja mit dem Hexeditor etwas.

Stefan

epfel
16-10-2008, 13:25
als txt. War .tex
Beim Test auf meinem Rechner blieben die störenden Zeichen erhalten.

Danke und Gruß!

Xenara
16-10-2008, 13:48
Bei mir hier auf Windows zeigt es im Editor an manchen Stellen Quadrate an, die ich aber auch nicht kopieren kann. Im TeXnicCenter läuft es einwandfrei durch.
Hier sind die Quadrate durch rote X ersetzt:



X\documentclass[12pt]{article}X
\begin{document}
XXHallo WeltXX
% Table generated by Excel2LaTeX from sheet 'Sheet1'X
\begin{tabular}{cc}XX
Floskel & Objekt \\XX
Hallo & Welt \\XX
1 & 2 \\XX
\end{tabular} X
XX\end{document}

Hast du meine vorherigen Tipps mal ausprobiert?

epfel
16-10-2008, 14:23
Hallo Xenara,

ja ich habe Deine Tipps erfolgreich getestet. Allerdings schlichen sich dabei immer wieder Fehler ein.

Deshalb habe ich eine weitere Variante ausprobiert. Sie ist umständlich, lief aber bei meinen Tests zuverlässig:
1. Tabelle per excel2tex konvertieren
2. Zwischenablage
3. Inhalt in hex-editor (HexFiend) kopieren
4. Nach 20 und 00 und OD suchen und durch nichts ersetzen (i.e. löschen)
5. Modifiziertes File aus der HexFiend-Zwischenablage ins .tex kopieren.

Das scheint erstmal zu funktionieren. Ich frage mich aber, ob es nicht eine einfachere Variante gibt, also ein excel2tex-artiges tool, das auf dem mac problemlos läuft. Das Vorläufige File aus excel2tex sieht so vielversprechend aus...

Gruß!

cookie170
16-10-2008, 15:47
Hallo Xenara,

. . .
Ich frage mich aber, ob es nicht eine einfachere Variante gibt, also ein excel2tex-artiges tool, das auf dem mac problemlos läuft. Das Vorläufige File aus excel2tex sieht so vielversprechend aus...

Gruß!
Auch wenn ich nicht angesprochen bin:

Ja, es gibt einen einfachen Weg: Installiere Dir OpenOffice 3.0, öffne Deine Tabelle darin und exportiere sie dann über Extras, Makros . . . meine Makros, Calc2LaTeX ("Main") nach LaTeX. Mache ich häufiger.

Gruß,
Alexander

Stefan_K
16-10-2008, 15:59
Hallo Epfel,

auf die Schnelle könnte man auf der Kommandozeile die 0D und 00 so ersetzen:

cat incorrect.tex | tr -d "\015\000" > corrected.tex
Stefan

epfel
16-10-2008, 20:25
..................