TexNicCenter: PDF vor kompilieren automatisch schließen

Posted by quark007 | Posted in Fehler, LaTeX | Posted on 10-06-2015-05-2008

0

Wer mit LaTeX arbeitet wird dieses Problem sicher schon einmal gehabt haben: man hat sich das kompilierte PDF gerade angeschaut und einen Fehler festgestellt. Nachdem man die tex-Datei schnell geändert hat und auf kompilieren gegangen ist taucht sofort der Fehler

! I can't write on file `Trainee.pdf'.
  Please type another file name for output
! Emergency stop.

auf. Tja, so ist das halt, wenn man vergisst es zu schließen. Bei der Suche nach dem Befehl, mit dem man das PDF automatisch schließen lassen kann, bin ich auf dieses PDF gestoßen, was eine imense Sammlung an Tips und Tricks im Umgang mit LaTeX liefert.

http://www.golatex.de/texniccenter-2-0a3-und-miktex-2-9-t5482,start,25.html

Falls die Datei für euch nicht herunter zu laden ist meldet euch, dann lass ich euch ein Exemplar zukommen.

Achso, hier das Vorgehen zum automatischen Schließen des PDFs:

  1. In der Dateileiste auf „Ausgabe“ gehen und den Punkt „Ausgabeprofile definieren…“ auswählen
    oder einfach Alt + F7 drücken
  2. Das gewünschte Profil auswählen
  3. Auf den Reiter „Viewer“ gehen
  4. Ganz unten im Bereich „Vor Compilierung Ausgabe schließen“ setzt man die Option auf „Kommandozeile“
  5. In das Feld gibt man den Befehl
  6. /close "%bm.pdf

    ein.

  7. Nun fehlt nur noch ein Klick auf „OK“ und alles ist gespeichert und funktioniert

Literaturverzeichnis mit Natbib

Posted by quark007 | Posted in Fehler, LaTeX | Posted on 01-08-2013-05-2008

0

Im Zuge meiner Diplomarbeit war es nötig ein Literaturverzeichnis anzulegen, mit allen zitierten Stellen sowie Quellen für Abbildungen oder Literaturwerten. Zunächst habe ich versucht das ganze mit dem LaTeX-eigenen bibtex zu erledigen, was mich jedoch schnell an die Grenzen gebracht hat. Vorallem die möglichen Zitierstile haben den Wechsel auf ein anderes Paket notwendig gemacht. Für Naturwissenschaftler hat sich natbib als Alternative als sehr umfangreich und passend erwiesen. Eingebunden wird das Paket wie jedes andere auch mit

\usepackage[OPTIONEN]{natbib}

Die möglichen Optionen sind folgende (auch gut nachzulesen hier):

  • round (standard) runde Klammern um Zitat-
  • square für eckige Klammern
  • curly für geschwungene Klammern
  • angle für spitze Klammern
  • semicolon (standard) Separator mehrerer Referenzen ist ein Semicolon
  • colon das selbe wie semicolon, lediglich ältere Version der Option
  • comma für Komma als Separator
  • authoryear (standard) für „Autor [Jahr]“-Zitatstil
  • numbers für numerische Zitate
  • super für beschreibende Zitierung, wie in der Zeitschrift Nature
  • sort sortiert Mehrfach-Zitate in der Reihenfolge der Referenzierung im Text auch im Literaturverzeichnis (3, 4, 5, 6, 15)
  • sort&compress wie sort jedoch werden die Mehrachzitate versucht zu komprimieren wie z.B.  (3-6,  15)
  • compress es wird versucht zu komprimieren, ohne die Reihenfolge im Literaturverzeichnis / Bibliothek zu verändern
  • longnamesfirst beim ersten Referenzieren jedes Zitates werden alle Autoren ausgegeben, bei den Nachfolgenden nur die gekürzte
  • sectionbib definiert die Ausgabe von \thebibliography als \section*  anstelle von \chapter*; nur gültig in einem \chapter und in Verbindung mit dem chapterbib Paket
  • nonamebreak behält alle Autorennamen in einer Zeile; kann übervolle Boxen hervorrufen, aber auch Probleme mit hyperref 
  • merge erlaubt das * prefix in Zitat-keys in der Bibliothek und das Zusammenführen mehrerer Referenzen im Literaturverzeichnis
  • elide Verknüpft Referenzen mit fast identischem Inhalt in der Bibliothek anhand des Unterschieds Mr. (Xxy et al. 2012, 2013)
  • mcite damit wird das Zusammenführen von Zitaten unterbunden

Wenn man sich diese Parameter erst ein mal überlegt hat, geht es an das erstellen der Literaturbibliothek. Das ist am Besten auf folgender Seite nachzulesen: http://de.wikibooks.org/wiki/LaTeX-Kompendium:_Schnellkurs:_Erstellen_eines_Literaturverzeichnisses. Hilfreich dabei können auch Journal-Seiten sein, auf denen man häufig den Bib-Eintrag direkt exportieren kann, z.B. auf http://onlinelibrary.wiley.com unter „Export citation for this article„. Den in dem Bib-File enthaltenen Content einfach in die eigenen Bibliothek übernehmen und schon kann los zitiert werden.

Dafür biete natbib auch verschiedene Optionen, wie oben schon zu lesen war (authoryear, numbers, super). Dafür bieten sich die folgenden Zitierkommandos an:

  • citet[vor][nach]{Zitat-Key}
  • citep[vor][nach]{Zitat-Key}

Das sind die wohl am meisten verwendeten Anweisungen zum zitieren. Der Unterschied besteht in der Art und Weise der Darstellung. Je nach eingestelltem Zitierstil ändert sich auch die  Anzeige. Als Beispiel mit dem authoryear-Stil sind unten zwei Ergebnisse gezeigt

Prof. Dr. Mustemann et al. (2013)
[Prof. Dr. Mustemann et al. (2013)]

Die Variante citet ist somit für ein zitieren im Fließtext gedacht. So lässt sich leicht der Autor auch in einen Satz einbauen. citep hingegen ist für den Einsatz als Quelle gedacht, die nicht im Fließtext sondern eher am Ende eines Abschnitts oder unter einer Grafik einbunden wird.

Natbib bietet noch viele weitere Möglichkeiten zum zitieren, die ich hier aber nicht alle aufzeigen will. Wer weitere Informationen dazu braucht bemühe bitte folgende Internetseiten:

Bei der Nutzung von natbib haben sich bei mir feinige Fehler aufgetan, die ich mit ein wenig Internetrecherche beheben konnte.

Fehler mit nicht im Klammern befindlichen Zitate

! Argument of \NAT@@citetp has an extra }.
<inserted text>
                \par
l.3 ...wline Quelle: \citet[p. 122]}}{4}{figure.2}

Der Fehler resultierte aus folgenden Codezeilen:

  \begin{figure}[htbp]
   \centering
   \includegraphics[width=0.8\textwidth]{images/image}
   \caption[Beschreibung der Grafik für das Grafikverzeichnis \newline Quelle: \citet[p. 123]{BIBeintrag} ]{Beschreibung unterhalb der Grafik}
   \label{abb:image}
  \end{figure}\FloatBarrier

Auf dieser Seite habe ich eine Lösung für den Fehler gefunden: Wenn man den Zitierbefehl nochmal in geschweifte Klammern packt ( „{ \citet[p. 123]{BIBeintrag} }“ ), versteht natbib auch was es machen soll. Auch das kompilierte Ergebnis sieht wie gewünscht aus.

Fehler bei Author-Time Zitaten bei falscher Bibliothek

Package natbib Error: Bibliography not compatible with author-year citations. (natbib) Press <return> to continue in numerical citation style.

Wenn in den natbib-Optionen beim Laden des Paketes die Zitierweise „authoryear“ angegeben ist, ist es nicht mehr möglich alle Stile für das Literaturverzeichnis zu verwenden. Ich hatte es versucht mit dem SIAM-Paket für das Literaturverzeichnis und „authoryear“ für den Zitierstil, aber das funktioniert angeblich nicht, auch wenn jeder BIB-Eintrag einen Autor und ein Jahr angegeben hat.

Funktioniert hat das ganze mit „\bibliographystyle{plainnat}“ auch wenn das Literaturverzeichnis nicht ganze meinen Vorstellungen entspricht. Ich könnte natürlich noch die Vorlagen der Stile anpassen, das ist mir jedoch zu zeitaufwendig.

NACHTRAG 1

Da ich mich mit den gefundenen Zitierstilen doch nicht anfreunden konnte, habe ich mir die von Science verwendeten Stile hier herunter geladen. Dann funktioniert natürlich auch natbib nicht mehr, weil scicite.sty die normale cite Umgebung nutzt. Außerdem ist es wichtig, die Dateien scicite.sty und Science.bst an die richtigen Orte zu legen. Diese sind folgende:

  • für sty im MikTex bzw Distributionsordner „/tex/latex/scicite.sty“
  • für bst im MikTex bzw Distributionsordner „/bibtex/bst/natbib/Science.bst“

eingebunden wird das Paket wie folgt:

\usepackage[superscript]{scicite}

wobei damit schon die Referenzierung als Hochzahl mit integriert ist. Genaueren Informationen zu den Optionen sind in der scicite.sty am unteren Ende zu finden. Außerdem sollte auch der Literaturverzeichnis-Stil auf „Science“ gestellt werden. Die Einbindung des Literaturverzeichnisses aus der Bibliotheksdatei „literatur“ sieht dann z.B. wie folgt aus:

\renewcommand{\refname} {Literaturverzeichnis}
\bibliographystyle{Science}
\bibliography{literatur}

wobei die Anweisung \renewcommand die Überschrift vom Englischen Standard ins Deutsche „Literaturverzeichnis“ übersetzt.

TUDreport: leere Seite nach Titelblatt

Posted by quark007 | Posted in Fehler, LaTeX | Posted on 21-01-2011-05-2008

0

Bei der Erstellung einer Diplomarbeit gab es ein Problem: nach dem Titelblatt, wird eine leere Seite eingefügt, die eigentlich dazu dient, dass auf der Rückseite des Titelblattes kein Text erscheint sondern erst wieder auf der nächsten rechten Seite.

Das Problem wurde im Endeffekt von der Option „longdoc“ verursacht. Wird diese Option aus der Angabe der \documentclass entfernt, so wird die leere Seite nicht mehr eingefügt. Ist jedoch longdoc von Nöten, so muss man sich die Definition von Longdoc einmal genauer anschauen und den Part mit \openright entfernen.

So weit ich weiß, trifft das auf alle Dokumentenklassen zu, die mit dem KOMA Skript arbeiten.

Tabular/Longtable: !Misplaced \omit

Posted by quark007 | Posted in Fehler, LaTeX | Posted on 21-01-2011-05-2008

7

Folgender Fehler ergab sich mir, den ich beim googlen im Internet nicht erfolgreich gelöst bekam:

! Misplaced \omit.
\multispan ->\omit
\@multispan
l.1068 …-mechanismen (einzeln oder kombiniert)}} &    \textbf{Beispiel}    \\ \h…
I expect to see \omit only after tab marks or the \cr of an alignment. Proceed, and I’ll ignore this case.

Ich hatte mir schon gedacht, dass es um das \multicolumn{} ging, jedoch war ich auf einer falschem Fährte.

Nach dem Fehler wird ausgegeben, in welchem Abschnitt sich der Fehler befindet. Diese Angabe ist in diesem Fall aber irreführend. Der Fehler liegt vor dem Quellcode-Ausschnitt.

Der Fehler will sagen, dass vor einem \multicolumn{} oder auch \multirow{} kein weiterer Wert stehtn darf. Das soll heißen, dass vor \multicolumn{} bzw \multirow{} ein Spaltentrenner also & stehen muss oder eben eine neue Zeile angefangen worden sein muss.

Mich hat verwirrt, dass ich keinen \cr Fehler bekam, der normalerweise ausgegeben wird, wenn die Spaltenangaben der Tabelle nicht mit dem Inhalt der Tabelle übereinstimmen. Dieser Fehler kommt jedoch nicht, sodass ich EINIGE Zeit nach dem Fehler gesucht habe.

Package inputenc Error

Posted by quark007 | Posted in Fehler | Posted on 03-01-2011-05-2008

0

Beim kompilen meines aktuellen Projektes bekam ich den folgenden Fehler

! Package inputenc Error: Keyboard character used is undefined
(inputenc) in inputencoding 'latin1'.
See the inputenc package documentation for explanation.
Type H<return> for immediate help.

Zunächst dachte ich an ein Zeichen, dass meine Tastatur zwar kennt LaTeX aber nicht… Diese Vermutung stellt sich aber als falsch heraus.

Den bearbeiteten Text habe ich aus einem anderen PDF übernommen, also mit copy&paste übernommen. Was ich jedoch natürlich nicht bedacht habe, dass Bindestriche (Gedankenstriche) auch anders kodiert sein könnten. Nach ein wenig googlen habe ich meinen Fehler dann gefunden.

Gleiches gilt im Übrigen auch für Anführungszeichen die einfach so übernommen werden! Diese müssen in LaTeX nochmals neu eingegeben werden um die Kodierung korrekt zu gestallten.

Text nach Bild auf einmal fett

Posted by quark007 | Posted in Fehler, LaTeX | Posted on 24-04-2010-05-2008

18

Da müht man sich die ganze Zeit ab mit LaTeX und eigentlich funktioniert alles… Man hat alles eingetippt und nun gehts ans compilieren und auf einmal, ohne dass man etwas im Quelltext steht ist eine ganze Seite auf einmal fett.

Ich weiß nicht wie lange ich nach einer Lösung gesucht habe, doch da ich bei dem letzten Protokoll wieder das Problem hatte, hab ich diesmal über eine andere Suchmaschine gesucht und siehe da, ich habe was gefunden.

Anscheinend liegt das Problem an Bildern auf der Seite, die Transparenz enthalten. Wie hier zu lesen ist liegt es entweder an eine veralteten Version von PDFtex oder an der im PNG enthaltenen Transparenz. Diese kann man z.B. ganz einfach mit IrfanView entfernen, oder das Bild einfach als jpg abspeichern und schon dürfte das Problem behoben sein.

Wieder ein unerklärliches Problem gelöst 🙂