Donnerstag, März 26, 2009

Einige neue LaTeX-Kniffe

Linksbündige Listen

Wer sich in itemize-Umgebungen über den Blocksatz aufregt, schaltet äusserst einfach auf linksbündige Formatierung um:

\makeatletter 
\g@addto@macro\itemize{\raggedright} 
\makeatother

Quelle: Elemente der itemize-Umgebung linksbündig setzen

Listen ohne Ränder

Um weiterhin die Wahl zwischen linksbündig und Blocksatz zu haben, habe ich dafür kurzerhand eine neue Umgebung namens Itemize kreiert (man beachte die Grossschreibung), wo ich auch gleich noch einige Anpassungen an den Abständen vornehme. Leider ist es nämlich mit \begin{itemize} nicht möglich, Anpassungen an den linken und rechten Rändern vorzunehmen (Liste der veränderbaren Masse):

% Listen innerhalb Multicolumn
\newenvironment{Itemize}%
{\begin{list}{\textendash}{\leftmargin=1em
      \rightmargin=0pt%
      \partopsep=0pt%
      \topsep=0pt%
      \itemsep=0pt%
      }%
 {\singlespacing%
 }}%
{\end{list}}%

Quelle: LaTeX: indentation itemize

Abschnitt mit drei Spalten

Wer innerhalb eines einspaltigen Dokuments für kurze Zeit auf mehrere Spalten umschalten möchte, benutzt das multicols-Package:

\setlength\columnsep{30pt}
\begin{multicols}{3}
\setlength\columnseprule{0.4pt}
\singlespacing
\raggedcolumns

... Text erste Spalte ...

\vfill \columnbreak

... Text zweite Spalte ...

\vfill \columnbreak

... Text dritte Spalte ...

\end{multicols}

Damit der Abstand zwischen den Spalten wirksam wird, ist darauf zu achten, dass die gewünschte Länge (hier: 30pt) vor dem generieren der Umgebung definiert wird. Mittels \columnbreak wechselt man in die nächste Spalte.

Quelle: Re: \columnsep with multicol

Silbentrennung verfeinert

Kurz vor Ende einer schriftlichen Arbeit beginnt man sich auch um die Ästhetik zu sorgen. Insbesondere Bindestriche sind für LaTeX nicht ganz trivial. Zur Rekapitulation:

  • \- Ein Wort darf nur genau hier getrennt werden, sonst nirgends
  • "- Zusätzliche Trennstelle
  • "= Erstellt einen Bindestrich, nach dem nach Bedarf umbrochen wird
  • -"" Dasselbe; der Bindestrich wird aber explizit geschrieben ("" ist der eigentliche Umbruch-Befehl)
  • "~ Dieser Bindestrich darf nicht getrennt werden

Quelle: LaTeX-Wörterbuch: Silbentrennung

Sauber eingerückte Description-Listen

Mit Microsoft Word absolut kein Problem, mit LaTeX beisst man sich die Zähne aus. Dank The LaTeX Companion keine Hexerei mehr. Zuerst die Definition:

% Description-Listen
\newenvironment{Description}[1]
{\begin{list}{}%
 {\renewcommand\makelabel[1]{\textsf{\textbf{##1}}\hfill}%
 \singlespacing
 \settowidth\labelwidth{\makelabel{#1}}%
 \setlength\leftmargin{\labelwidth+\labelsep}}}%
{\end{list}}%

Bei der Anwendung im Dokument übergibt man der neu erstellten Listen-Umgebung dasjenige Description-Label mit den meisten Buchstaben. Anhand von diesem wird der Maximalabstand des Labels vom Beschreibungstext festgelegt:

\begin{Description}{Hier steht das längste Label}
\item[Kleineres Label] bla bla bla
\item[Mittelgrosses Label] bla bla bla
\item[Hier steht das längste Label] bla bla bla
\end{Description}

Labels: , ,

0 Kommentare | neuen Kommentar verfassen

Samstag, März 07, 2009

Damit LaTeX Paragraphen nicht vertikal auf die Seite verteilt

If latex can't fill a page (perhaps because the next object is a figure or table that doesn't fit, or because the next object is a heading that latex doesn't want to put at the foot of a page) then by default it will spread the vertical white space on the page so that the "height" of the page is the default height. If you want all the extra white space to appear at the bottom of such pages, add \raggedbottom before your \begin{document} line.

Quelle: Cambridge University Engineering Department - Squeezing Space in LaTeX

Wie lange habe ich mich darüber aufgeregt? Endlich ist die Lösung da ...

Labels: ,

0 Kommentare | neuen Kommentar verfassen

Dienstag, Oktober 14, 2008

Wörter von LaTeX-Dokumenten zählen

Ein klitzekleiner Vorteil hat Microsoft Word gegenüber LaTeX: Es ist äusserst simpel, die Anzahl Wörter und Zeichen eines Dokuments abzufragen.

Da LaTeX aber Inhalt mit Markup vermischt, ist es für solche Dokumente nicht trivial, eine aussagekräftige Zahl zu erhalten.

Glücklicherweise hat sich ein Perl-Jünger dieses Mankos angenommen und ein entsprechendes Script programmiert:

LaTeX word count: script and web-interface

Nachdem man dieses Script heruntergeladen und am geeigneten Ort installiert hat, produziert eine Ausführung folgende Ausgabe:

$ /usr/local/bin/TeXcount.pl *.tex
...
TotalSUM
Words in text: 7862
Words in headers: 115
Words in float captions: 525
Number of headers: 47
Number of floats: 0
Number of math inlines: 8
Number of math displayed: 0

Einen Wunsch hätte ich noch: Die Ausgabe der Zeichenzahl. Diese rechne ich derzeit mit 5 x 7862 hoch - von der Annahme ausgehend, dass deutsche Worter im Schnitt 5 Buchstaben besitzen.

Labels:

0 Kommentare | neuen Kommentar verfassen

Montag, Oktober 13, 2008

Altes Pfund (lb) in LaTeX

Wer das im deutschen Raum gebräuchliche alte Pfund-Symbol in LaTeX reproduzieren möchte (Screenshot auf Wikipedia), nehme sich das Paket MarVoSym zu Hilfe.

Bei meiner LaTeX-Installation unter Mac OS X war das Paket glücklicherweise bereits installiert, weshalb ich es nur noch in mein Dokument einbinden musste:

\usepackage{marvosym}

Ab sofort konnte ich das Währungs-Symbol folgendermassen drucken:

\Pfund

Bei der Suche nach dem entsprechenden Paket war die Comprehensive LaTeX Symbol List von grossem Wert.

Nachtrag: Manchmal wäre der Umweg über die Liste gar nicht nötig, steht doch in der Legende des Wikipedia-Bildlis ...

Kürzel für die Maßeinheit Pfund (erstellt mit dem marvosym-Paket für LaTeX)

Wer lesen kann hat klare Vorteile!

Labels: ,

0 Kommentare | neuen Kommentar verfassen

Donnerstag, Oktober 09, 2008

Mittelhochdeutsch: Wörterbuch und LaTeX

Wörterbuch

Derzeit schreibe ich an einer Proseminararbeit über ein Thema aus dem Spätmittelalter. Da die bernischen Quellen auf Mittelhochdeutsch (ich habe anfänglich den Oberbegriff Altdeutsch verwendet, der in Mittel- und Althochdeutsch zusammenfasst) abgefasst sind (Gott sei dank nicht in Lateinisch!), stolpere ich hie und da über Wörter, deren Bedeutung sich meiner Kenntnis entzieht.

Rettung naht - selbstverständlich im Netz:

Mittelhochdeutsches Handwörterbuch von Matthias Lexer

LaTeX

Wer mittelhochdeutsche Texte transkribiert, sollte folgenden Befehl auswendig lernen:

\r{u}

Quelle: LaTeX und althochdeutsche "Sonderzeichen"

Dies produziert einen u mit darüber hochgestelltem o - ein Buchstage, wie man ihn beispielsweise im Wort muolten antrifft.

Was das Wort bedeutet, zeigt eine Lexikon-Suche. ("mulde")

Nachtrag: Noch besser ist die Verwendung des Tipa-Packages, mit dem man wirklich jedes Mittelhochdeutsche Zeichen hinkriegt.

Man verwende dazu den \sups-Befehl:

l\sups{u}{i}ten

Die Tipa-Schriften (im Ordner type1 des ZIP-Archivs, dass man von www.ctan.org/get/fonts/tipa.zip herunterlädt) installiert man am Besten, indem man das Makefile anpasst (korrekter Pfad von $TEXMF) und danach ein

# make install

durchführt.

Damit tipa.map auch geladen wird, war bei mir noch ein

# texhash
# mktexlsr
# ./updmap --enable Map=tipa.map

nötig. Ansonsten generiert das Paket die Zeichen aus Bitmap-Schriften, was bei einer 100%igen Vergrösserung gut sichtbar wird.

Labels: , , , ,

1 Kommentare | neuen Kommentar verfassen

Montag, Juni 30, 2008

Anpassung der Silbentrennung von LaTeX

In den meisten Fällen trennt LaTeX Wörter anstandslos. Es kann aber Spezialfälle geben, wo man selber noch ein wenig Hand anlegen muss. Dafür bieten sich zwei Vorgehensweisen an:

  • Bei Spezialkonstruktionen wie
    [Hagel-]Schäden
    beugt man hässlichen Umbrüchen vor, indem man
    [Hagel"~]""Schäden
    schreibt. Das Wort wird so künftig nicht mehr getrennt.
  • Mit dem Befehl \hyphenation{...} kann man eigene Trenn-Regeln für alle Wörter definieren, die komisch getrennt werden. In meiner Liz-Arbeit sieht das dann so aus:
    \hyphenation{Teil-as-pekt Blocka-de Frie-dens-ein-fuhr Ele-men-tar-scha-dens-sum-men}
    Von Vorteil ist, wer einen Duden (Bd. 1) zur Hand hat - die schwarzen und roten senkrechten Striche zwischen den Wortbausteinen geben die Trennungsorte an. Ersetzt man die senkrechten Striche im hyphenation-Befehl mit BIndestrichen, trennt man ab sofort Duden-konform.

Via: LaTeX-Wörterbuch: Silbentrennung

Labels: , ,

0 Kommentare | neuen Kommentar verfassen

Dienstag, Juni 03, 2008

LaTeX: chngcntr unter Mac OS X installieren

Um zu verhindern, dass die Zähler von Tabellen, Abbildungen und Fussnoten bei Beginn eines neuen Kapitels zurückgesetzt werden, hilft das Paket chngcntr

  1. Terminal.app starten
  2. $ cd /usr/local/teTeX/share/texmf.tetex/tex/latex/
  3. $ sudo mkdir chngcntr 
  4. $ cd chngcntr
  5. $ sudo wget "http://www.dante.de/CTAN/macros/latex/contrib/misc/chngcntr.sty"
  6. $ sudo /usr/local/teTeX/bin/powerpc-apple-darwin-current/texhash

Im Dokument fügt man anschliessend folgende Befehle ein:

\usepackage{chngcntr}
...
\counterwithout{footnote}{chapter}
\counterwithout{table}{chapter}
\counterwithout{figure}{chapter}

Labels: ,

0 Kommentare | neuen Kommentar verfassen

Dienstag, Juni 03, 2008

LaTeX: Überschriften in scrbook ohne Punkt nach der Nummerierung

Heute hat mein Liz-Fertig-Schreib-Marathon begonnen. Wie immer ist es äusserst optimal, im Endspurt noch kurz die ganze Dokumentstruktur auf den Kopf zu stellen. Will heissen: Aus KOMA-Script Article wird nun ein KOMA-Script Book. Bei knapp 200 Seiten eindeutig die bessere Wahl, weil einem so auch nicht die \subsubsections auszugehen drohen. Grösster Pluspunkt ist selbstverständlich die Unterteilung des Textes in Kapitel.

Einziger Haken: Seit dem Wechsel auf scrbook macht mir LaTeX einen Punkt hinter die Nummerierung der Titel. Aus ...

1.1 Fragestellung

... wurde ohne dass ich es so explizit gefordet hatte ...

1.1. Fragestellung

Unschön, und gemäss Duden auch ganz klar falsch.

Die Lösung des Problems (nach ca. 30 Minuten tüfteln und pröbeln im Netz entdeckt): pointlessnumbers! Somit sind meine Dokumentenklasse nun folgendermassen aus:

\documentclass[a4paper,12pt,oneside,pointlessnumbers]{scrbook}

Via: Re: KOMA-Script: pointlessnumbers

Soll mal einer drauf kommen ...

Tabellen- und Abbildungen nummerieren

Wie ich nun auch bemerkt habe, werden die Abbildungen und Tabellen neu nummeriert. Anstelle dem gewohnten ...

Tabelle 1

... steht nun ...

Tabelle <KAPITEL>.1

Um dieses Verhalten zu verhindern, behelfe man sich des folgenden Befehls:

\renewcommand*{\thefigure}{\arabic{figure}}
\renewcommand*{\thetable}{\arabic{table}}

Fussnote

Die Nummerierung der Fussnoten (Nachtrag: Und auch der Tabellen und Abbildungen) wird mit Beginn eines neuen Kapitels zurückgesetzt. Deshalb gibt es im Text mehrere Fussnoten mit der Nummer 1 (sofern mehrere Kapitel inkl. Fussnoten vorhanden sind).

Wie man dieses Verhalten deaktiviert, habe ich noch nicht herausgefunden. Es muss aber mit dem Hochsetzen des Chapter-Counters in Verbindung stehen.

Nachtrag: Die Lösung liegt nun im Folge-Artikel LaTeX: chngcntr unter Mac OS X installieren parat

Labels: ,

1 Kommentare | neuen Kommentar verfassen

Samstag, März 01, 2008

Wieso ich LaTeX Microsoft Word vorziehe

Primär sicherlich einmal, weil damit 150+-seitige wissenschaftliche Arbeiten (derzeit gerade mein Liz) deutlich effizienter verfasst werden können als mit dem Gebastel aus dem Hause Microsoft.

Für den Typographie-Liebhaber und Personen, die über einen Adlerblick verfügen, sollte auch Words Schriftformatierung ein No-Go sein:

There is still a further reason that definitely convinced me to abandon MS Word: you will never be able to produce professionally typeset and well-structured documents using most WYSIWYG word processors.

Word

LaTeX

Quelle: The beauty of LaTeX

Sagte er, und ging sich die soeben eingetroffene DVD 'Helvetica' anschauen ...

Labels: , , , ,

0 Kommentare | neuen Kommentar verfassen

Mittwoch, August 22, 2007

biblatex unter Mac OS X installieren

Lange Zeit habe ich mich für meine wissenschaftlichen Arbeiten im Studium mit dem Bibliographie-Paket jurabib abgemüht, das ursprünglich für die geschätzten Kollegen der Juristerei konzipiert wurde. Glücklich war ich mit dem Paket nie ganz, aber es verrichtete seine Arbeit zumindest zufriedenstellend.

Vor einigen Monaten dann stiess ich auf das Paket biblatex, das mit all dem alten Bibtex-Balast aufräumen will und die Logik in das Paket selber übernimmt. Bibtex bleibt für die Datenhaltung der Bibliographie veranwortlich, die Zitiererei wird nun aber von biblatex übernommen.

Die Installation unter Mac OS X ist relativ simpel, wenn man LaTeX bereits am Laufen hat:

  1. Download der ZIP-Datei von CTAN biblatex
  2. Entpacken
  3. Ausfindig machen des TeTex Root-Ordners (bei mir: /usr/local/teTeX/share/texmf.tetex/)
  4. Kopieren des Inhaltes des entpackten latex-Verzeichnisses nach /usr/local/teTeX/share/texmf.tetex/tex/latex/biblatex/
  5. Kopieren des Inhaltes des entpackten bibtex-Verzeichnisses nach /usr/local/teTeX/share/texmf.tetex/bibtex/bst/
  6. Ausführen von
    texhash
  7. Fertig!

Stile für Historiker

Ein Hoffnungsschimmer macht sich am Horizont breit: Jemand hat auf Basis von biblatex Stile für die Geisteswissenschaften erstellt. Zu gebrauchen sind die Stile aber mit der von mir installierten biblatex-Version nicht, da eine geringere Version vorausgesetzt wird:

Wichtig: Die hier bereitgestellten styles arbeiten mit biblatex 0.2 zusammen. Mit anderen Versionen kann es durchaus Probleme geben. Eine Aktualisierung dieser Seite wird es frühestens mit der biblatex-Version 0.7 geben, da erst dann gewährleistet ist, dass die verwendeten Makros etc. stabil bleiben.

Quelle: biblatex-Styles für Geisteswissenschaftler

Die von obiger Seite heruntergeladenen Styles müssen analog in das Verzeichnis /usr/local/teTeX/share/texmf.tetex/tex/latex/biblatex/ kopiert werden. Dabei müssen einzelne Dateien in diesem Verzeichnis liegende Unterordner abgelegt werden:

Die .bbx-Dateien gehören in das dortige Unterverzeichnis bbx, die .cbx-Dateien entsprechend in das cbx-Unterverzeichnis.

Anschliessend noch ein

texhash

und die Styles sollten - zumindest - gefunden werden. Leider produzieren diese beim Kompilieren der .tex-Datei eine Fehlermeldung.

Bye bye, bibtopic

Mit biblatex ist es nun auch nicht mehr nötig, Literaturverzeichnisse mittels bibtopic zu unterteilen (wir Historiker unterscheiden ja bekanntlich zwischen Quellen und Sekundärliteratur und seit einigen Jahren auch noch nach Inhalten aus dem WWW).

Hierzu musste ich aber mein Literaturverzeichnis (.bib) überarbeiten: Anstelle ein Shell-Script vor dem Kompilieren mit Zuhilfenahme von bibtool aus der Master-Datei mittels Filter ein Quellen- und eine Sekundärliteratur-Datei zu generieren ...

bibtool -- 'select{doctype "Q"}' "$BIBLIO" -r "$RES" -o "$WORKDIR$BASENAME-quellen.bib"
bibtool -- 'select{doctype "L"}' "$BIBLIO" -r "$RES" -o "$WORKDIR$BASENAME-literatur.bib"
bibtool -- 'select{@url} new.entry.type' "$BIBLIO" -r "$RES" -o "$WORKDIR$BASENAME-internet.bib"

... filtere ich nun mit biblatex und Stichworten:

Im Header ...

\usepackage[style=authortitle-cverb]{biblatex}

% FILTERS
\defbibfilter{primary}{\keyword{Q}}
\defbibfilter{secondary}{\keyword{L}}
\defbibfilter{www}{\not \keyword{Q} \and \not \keyword{L}}

% HEADINGS
\defbibheading{primary}{\subsubsection{Zeitgenössische Publikationen}}
\defbibheading{secondary}{\subsection{Literatur}}
\defbibheading{www}{\subsection{World Wide Web}}

% BIBLIOGRAPHY
\bibliography{main.bib}

... sowie im Dokument:

\printbibliography[filter=primary,heading=primary]
\printbibliography[filter=secondary,heading=secondary]
\printbibliography[filter=www,heading=www]

Weiterführendes

Generelle Anleitung, wie man LaTeX-Pakete installiert

Labels:

4 Kommentare | neuen Kommentar verfassen

Mittwoch, August 15, 2007

LaTeX mit maximaler Seitenausnutzung und minimalen Seitenrändern

Heute habe ich eine meiner Web-Applikationen auf der Arbeit um die nützliche Funktion erweitert, PDF-Dateien auszugeben. Der Inhalt ist eine Tabelle (longtable, wer LaTeX-kundig ist), die im Querformat ausgegeben werden soll. Mit den Standardeinstellungen der Dokumentenklasse report konnte sich die Tabelle überhaupt nicht entfalten, weshalb ich mich auf der Suche nach Einstellungen machte, die den auf einer Seite zur Verfügung stehenden Platz maximieren:

\documentclass[10pt,a4paper,landscape]{report}

\setlength\topmargin{0cm}
\setlength\headheight{0cm}
\setlength\headsep{0cm}
\setlength\textheight{160mm}
\setlength\textwidth{245mm}
\setlength\oddsidemargin{0cm}
\setlength\evensidemargin{0cm}

\begin{document}
\end{document}

\textheight{} und \textwidth{} waren dabei die massgeblichen Befehle, auch wenn die anderen \setlengths ihren Teil zum Endprodukt beitragen.

Fazit: Anstelle von 16 habe ich das PDF auf 11 Seiten heruntergerechnet.

Labels: ,

0 Kommentare | neuen Kommentar verfassen