Nein, ich suche keine LaTeX-Dokumentation :)
Statt dessen wollte ich meine Hosen ausziehen. Ich habe ein Skript geschrieben, bzw. ich schreibe es noch, weil ich naechsten Semester in meiner FH ein Tutorium ueber LaTeX halten moechte, kann, darf und soll.
Es ist zwar noch weit davon entfernt fertig zu sein, trotzdem wollte euch mal bitten, wenn ihr Zeit und Lust habt, mal einen kurzen Blick drauf zu werfen und mir zu sagen, was daran vielleicht nicht gelungen ist, was noch besser gemacht werden soll, was noch fehlt und was vllt sogar falsch ist.
Mir ist vor allem wichtig, dass ich niemandes Copyright verletze.
Uebrigens finde ich das KOMA-Script ziemlich geil ^^
Hier ist mein Skript:
Mein LaTeX-Script
Ganz schön mutig
Ich finde es mutig, sich derart der Kritik zu stellen. Leider habe ich im Augenblick eher wenig Zeit, Bei einem oberflächlichen Blick ist mir aufgefallen:
\KOMAScript
erhalten.lists=flat
schöner. Das ist aber nur sinnvoll, wenn das Verzeichnis der Listings sich ebenfalls entsprechend anpassen lässt.\huge
als Beispiel für die Wirkung einer Gruppe. Das wäre eine gute Gelegenheit darauf hinzuweisen, dass ein Absatz mit den Einstellungen gesetzt wird, die am Ende des Absatzes gelten, also ein Unterschied zwischen{\tiny\blindtext\par}
und{\tiny\blindtext}\par
besteht.zwischen den beiden Umgebungen ein Abstand steht, ebenso beantwortet wird, wie die Frage, wie man diesen weg bekommt:
\sloppy
fehlt mit persönlich die Erklärung zur Umgebungsloppypar
. Erklärung findet sich AFAIK in l2tabu.\\
und\newline
machen keinen neuen Absatz. Sie beginnen lediglich eine neue Zeile. Man sollte sie im Blocksatz niemals verwenden. Einen Absatz macht man ausschließlich mit Leerzeile oder mit\par
. Einen vertikalen Abstand (den ein normaler Anwender eigentlich nie manuell setzen muss) setzt man mit einem zusätzlichen\vspace
oder\bigskip
,\medskip
oder\smallskip
.\pagebreak
macht nicht an der entsprechenden Stelle einen Seitenumbruch, sondern nach der entsprechenden Zeile. Will man an der entsprechenden Stelle einen Seitenumbruch erzwingen, benötigt man zusätzlich ein\linebreak
. Das sind auch Anweisungen, die im Blocksatz sehr selten zur manuellen Korrektur des Umbruchs sinnvoll sein könnten.\looseness=-1
und\looseness=1
. Man kann damit TeX bitten, den Absatz eine Zeile kürzer oder länger zu machen, wenn TeX das passt. In seltenen Fällen kann die Anweisung auch die gegenteilige Wirkung haben (weil man TeX damit mehr Freiheiten einräumt).\chapter[{optional}]{zwingend}
keine Gruppen, während bei\chapter{op{tional}]{zwingend}
»tional« in einer Gruppe steht.Soweit Hinweise, Vorschläge, Empfehlungen und Meinungen meinerseits nach einem sehr oberflächlichen Blick auf ca. die erste Hälfte des Dokuments. Gelesen habe ich es nicht wirklich, ich habe deshab nur kommentiert, was mir eher zufällig ins Auge gesprungen ist. Wie gesagt: Mir fehlt die Zeit für mehr. Durch den oberflächlichen Blick ist mir sicher viel gutes entgangen und eventuell manche Kritik oben wenig gerechtfertigt. Ich bitte das zu berücksichtigen. Eines kann ich mit Sicherheit sagen: Ich habe an Unis schon viel, viel, viel schlechtere Einführungen in LaTeX gesehen! Am wichtigsten wäre mir, die Änderung der "Koma-Skript"-Geschichte (schüttel!).
Das ist weit mehr als ich zu hoffen wagte
Hallo Markus,
ich fuehle mich sehr geehrt, dass Du dir die Zeit genommen hast, drueber zu schauen. Die Kritik, die Du anbringst, werde ich selbstverstaendlich einpflegen. Bis naechste Woche werde ich wahrscheinlich nur das Wichtigste schaffen, weil ich noch ein komplettes Kapitel schreiben muss (Stichwort Typearea, scrpage2 usw). Auf jeden Fall widme ich mich jetzt dem KOMA-Script :) Ich bitte da um Entschuldigung.
Die baselineskips bei den Absaetzen gefaellt mir auch nicht wirklich, aber ich hab sonst keine Ahnung, wie ich die ganzen langen Befehle unterbringen soll ohne sloppy oder ekelhafte badboxes zu produzieren. Vielleicht sollte ich da Listings draus machen, dann koennen die ekelhaften Baselineskips wieder wech.
Ich muss gestehen, dass dein Buch nicht meine einzige Quelle in Sachen Typographie ist, sondern ich habe mir dafuer ein Buch angeschafft, das du mit an Sicherheit grenzender Wahrscheinlichkeit auch kennst:, LaTeX - der typographische Einstieg. Aus diesem Buch habe ich meine Auslassungen ueber Sperrungen :)
Die ganzen ekelhaften Badboxes mache ich erst kommendes WE raus, wenn ich das Teil in den Druck geben muss. Bis dahin kann sich ja noch viel aendern :) Mit deiner Hilfe hast du Dir einen Ehrenplatz auf Seite vi verdient, falls Du Wert darauf legst :)) Auf jeden Fall vielen herzlichen Dank!
Simon
Worauf ich wert lege
Natürlich schmeichelt es mir, wenn ich ein einem Buch genannt werde. Dazu ist es aber nicht notwendig, dass ich in der Danksagung erscheine. Mein Ego bläht sich schon genügend, wenn meine Arbeit gewürdigt wird, was in Deinem Werk ja durchaus der Fall ist. Bevor man meinen Namen falsch schreibt – was leider in Büchern auch schon vorgekommen ist – ist es mir sogar lieber, wenn er nicht genannt wird.
Das Buch von Herrn Berndt kenne ich tatsächlich noch nicht. Es ist ein Irrtum zu glauben, dass ich jedes Buch über (La)TeX oder Typografie kenne. Bezüglich der Sperrung halte ich es aber lieber mit ausgewiesenen Typografen. Tschichold schreibt zu gesperrten Kleinbuchstaben (bzw. gesperrter gemischter Schreibweise) ganz schlicht: »immer und überall falsch«. Zwar ist es richtig, dass das Auge durch die Sperrung gebremst wird, allerdings wird es nicht am Wort gebremst, was einer Hervorhebung des Wortes entsprechen würde, sondern es wird zwischen den Buchstaben des Wortes gebremst, was einer Hervorhebung der einzelnen Buchstaben entspricht. Man erschwert also die Erfassung des Wortes an sich und damit die gesamte Lesbarkeit. Das ist so ziemlich das Schlimmste, was man einem Leser antun kann! Noch ein Zitat von Tschichold: »Viel besser als die Sperrung ist die zu jeder Antiquaschrift gehörige Kursive, dank ihrer abweichenden Zeichnung und ihrer Schräglage, weil sie nicht, wie die Sperrung das tut, flimmert.« Damit will er sagen, dass nicht nur die Lesbarkeit (dazu lässt er sich natürlich auch aus), sondern auch die Ästhetik leidet. Auch Gulbins und Kahrmann weisen ausdrücklich darauf hin, dass nur Versalien oder Kapitälchen gesperrt werden sollten, nicht jedoch Gemeine. Bei Willberg, Ruder oder Weidmann schaue ich jetzt nicht auch noch nach, würde mich aber sehr wundern, wenn die Sperren von Gemeinen gut heißen würden. Die einzige aktive Auszeichnung (Sperren ist durch die erhebliche Änderung des Grauwerts mit Sicherheit eine aktive Auszeichnung), die für Gemeine tragbar ist, ist eine Änderung der Stärke, also die Verwendung einer Halbfetten oder Fetten.
Inwieweit Absatzeinzug den Satz verschlechtert, entzieht sich mir. Eigentlich verlagert es doch allenfalls das Problem vom Absatzende (das sollte ja niemals voll sein) an den Absatzanfang. Es ist eher Zufall, ob ein Absatz mit oder ohne Einzug leichter zu umbrechen ist. Außerdem wage ich zu behaupten, dass das KOMA-Script-Buch weit mehr lange nicht umbrechbare Bezeichner enthält. Trotzdem habe ich es geschafft, ohne
\sloppy
aber mit Absatzeinzug zu setzen. Ich habe noch nicht einmal\emergencystretch
gesetzt. Übrigens ist\setlength{\emergencystretch}{1em}
eine häufig anzutreffende Problemlösung beim Umbruch deutscher Texte, die weit besser als\sloppy
ist. Seit ich microtype verwende, mache ich davon eher wenig Gebrauch.Viel Spaß noch beim Schreiben.
Markus
Danke!
mir faellt grad nix weiter ein als danke :)
Bitte!
Damit sagst Du weit mehr, als manch anderer. ;-)
Satzspiegelkonstuktion
Hallo, Markus,
wuerdest du mir erlauben, deine Illustration auf Seite 30 Deines Buches (freie Version) fuer mein Skript zu verwenden?
Ich waere dir sehr dankbar!
Simon
Solange Dein Dokument frei verfügbar bleibt
Solange Dein Dokument frei verfügbar bleibt, kannst Du Abbildung 2.1 gerne übernehmen. Die Quellen der Abbildung (ist eine einfache picture-Umgebung) findest Du in doc/ngerman/typearea.tex im Source-Verzeichnis von KOMA-Script.
Schön wäre dann natürlich, wenn Du einen Link auf die Endfassung hier veröffentlichen würdest. Ggf. werde ich den vielleicht auch in meine Sammlung von Einsteigerdokumenten aufnehmen.
Im anderen Fall: Mail an mich.
Endfassung?
Hallo!
Die Aussicht, dass du evtl mein Skript hier aufnehmen willst, hat mich total umgehauen. Damit habe ich nun wirklich nicht gerechnet! Das ist eine ziemlich grosze Ehre fuer mich und ein Ansporn das Ding noch besser zu machen!!
Eine absolut entgueltige Endfassung wird es nie geben. Vielmehr hatte ich vor, kontinuierlich an diesem Skript zu feilen, Fehler und zu Altes (zum Beispiel pdftricks, danke!) auszubessern, Aspekte hinzuzufuegen (zum Beispiel stehen Beamer-Praesentationen auf meiner TODO-List.)
Bis zu diesem Wochenende allerdings muss ich das Wichtigste dokumentiert haben, denn dann muss es in den Druck wegen meines Tutoriums, das dann bald startet. Bis dahin wird es jeden Abend ggn 20:00 Uhr ein Update geben. Der Link www.mieser.name/~sbecker wird wohl derselbe bleiben. Wenn/Falls sich das aendert, gebe ich auf jeden Fall Bescheid! Ich sage auch Bescheid, wenn ich am kommenden WE die Quasi-Endfassung fertiggestellt habe. Wahrscheinlich werde ich dann das Skript als Version 0.2 releasen, wenn du so willst, und daneben sowas wie eine Arbeitsversion veroeffentlichen. Oder wie wuerdest du das machen?
Selbstverstaendlich wird das Skript frei verfuegbar bleiben. Ich sehe das so: Ich verwende Linux, ca. zehn Millionen Gnu-Programme, freie Programme anderer Projekte usw, nicht zuletzt LaTeX und dein Paket. Da schadet es doch nicht, der Gemeinschaft auch mal was zurueckgebe, und wenn es "nur" eine Anleitung zu Latex fuer Anfaenger ist.
Naja, ich werf mir mal ein Acetylsalicyl rein wegen dem Wein gestern abend und schaff mal weiter.
Nochmals vielen vielen Dank!
Simon
Ich würde ein OpenSource-Projekt daraufs machen
Ohne Scherz. Wenn es frei sein soll, dann würde ich es gleich richtig frei machen, ein Projekt bei SF oder BerliOS (Sarovar werde ich für neue Projekte nicht mehr nutzen) anlegen und hätte damit auch gleich eine Versionsverwaltung (was gleichzeitig auch eine Art externes Backup darstellt) und ein Release-Werkzeug.
Wenn mir ein Projekt dazu zu klein wäre, würde ich vielleicht die jeweils aktuelle Fassung als PDF auf einer gut auffindbaren Seite ablegen. Vermutlich würde ich dann auch noch jede Gelegenheit nutzen, darauf hinzuweisen, damit die Leute das auch finden. Das wäre mir persönlich aber eher peinlich. Ich weiß, ich weiß: Tue Gutes und rede darüber oder lass es. So richtig das ist, tue ich mich schwer damit.
Übrigens mit der Einstellung: Ich nutze soviel freie Software, Zeit dass ich selbst mal was zurückgebe, habe ich auch angefangen. Daraus sind solche Mamutprojekte wie KOMA-Script geworden. Fast bin ich versucht, Dir zu wünschen, dass Dir nicht ähnliches passiert. ;-)
Jedenfalls finde ich die Einstellung von Dir sehr nobel und freue mich darüber. Da ist die geringste Unterstützung, die ich Dir bieten kann, irgendwo einen Link hinzupappen. Dazu ist es auch nicht notwendig, dass ich Deine Anleitung in allen Punkten ganz toll finde. Es genügt, wenn ich sie für insgesamt nützlich halte. Ich werde das also sicher nicht davon abhängig machen, was Du über das Sperren schreibst. Notfalls mache ich eben ein paar bissige Bemerkungen dazu. Das kann ich wirklich gut. ;-)
ich bin sprachlos...
daher einfach nur noch mal... danke.
Ich habe dann doch eine Frage, von der ich hoffe, dass du oder sonst jemand mir weiterhelfen kann. Das Paket listings macht mir Probleme. Im captions-Eintrag wird der Inhalt wirklich besch...aeh ... eiden gesetzt, wie man hier erkennen kann. Hat jemand dafuer vielleicht eine Loesung parat? Vielleicht ist die ganz simpel, und ich sehe grad vor lauter Baeume den Wald nicht mehr... jedenfalls SO ist das peinlich. Wenn ich das umschiffen will, und versuche, die captions im Flattersatz zu setzen (was auch Sinn ergeben wuerde), geht TeX mit einem Speicheroverflow in die Knie :(
Danke!
Keine Ahnung
Irgendwie sieht das aus, als wäre die Trennung abgeschaltet. Kannst Du mal ein Minimalbeispiel dafür basteln?
Minimalbeispiel
Hallo, Markus!
Beim Basteln des Minimalbeispiels bin ich auf die Einstellung gestossen, die fuer diesen Mist verantwortlich ist. Es ist der Befehl \renewcommand{\lstlistingname}{Beispielquellcode}, der die "Uberschrift "Listing" der caption der Listing-Umgebung durch "Beispielquellcode" ersetzt.
Der Befehl befindet sich in Zeille 82 des Minibalbeispiels, das du hier findest. Mir scheint das ein Bug im Listings-Paket zu sein...
Simon
Das kann nicht das Problem sein
Das macht allenfalls das Problem sichtbar. Genausogut könntest Du sagen, das Problem ist
\typearea[current]{classic}
. Auch das ist schuld daran, dass weniger Breite zur Verfügung steht. Die Frage ist aber eigentlich, warum der Umbruch dann derart daneben ist. Und da besteht eben der Verdacht, dass keine Trennung erlaubt ist. Wenn das so ist, stellt sich die Frage, warum das so ist. Tatsächlich funktioniert der Umbruch einwandfrei, wenn man entweder manuelle Trennung beispielsweise bei »Abhängigkeit« die Trennstellen »Ab\-häng\-ig\-keit« im caption-Argument einfügt, oder abercaptionpos=b
oderbreaklines=true
auskommentiert. Das Problem ist also wohl tatsächlich, dass beicaptionpos=b
die caption noch mit abgeschalteter Trennung erfolgt. Falls Du für Deinen Bug-Report an den listings-Maintainer ein echtes Minimalbeispiel brauchst:Das Beispiel zeigt sehr schön, die Abhängigkeit von der Platzierung und von
breaklines
. Ich vermute stark, dass die Wirkung vonbreaklines
nicht hinreichend stark auf das eigentliche Listing begrenzt wird.Weitere Anmerkungen zum Quellcode:
Statt Option
pdftex
würde ich übrigens Optionpagesize
empfehlen. PDF-Ausgabe können alle Pakete selbst detektieren.Da Du lmodern verwendest, brauchst Du kein fix-cm. Das brauchst Du nur mit CM oder EC.
Mit lmodern und textcomp braucht man eigentlich auch kein eurosym, weil dann \texteuro durchaus verwendbar ist (eventuell bei fontenc zusätzlich TS1 als erster Option angeben). Übrigens hat textcomp auch noch Optionen wie "euro", "amostfull", "full". Die Doku dazu ist in ltoutenc.dtx zu finden.
Bitte nicht! Zum einen sind die verwendeten Anweisungen nicht zur Verwendung in einer
titlepage
-Umgebung gedacht, zum anderen ist fast jede LaTeX-Umgebung vor\begin{document}
Unsinn. Die einzige Umgebung, die mir gerade einfällt. für die das nicht zutrifft, istfilecontents
.Ich komm mir bloed vor
Das ist irgendwie fuer mich ein ganz komisches Gefuehl: Das Problem mit lstlistings hat ja nix mit KOMA zu tun. Trotzdem nimmst Du dir die Zeit und findest akribisch den Bug heraus, und damit nicht genug, du lieferst sogar ein Minimalbeispiel, das ich dem Maintainer des Paketes senden kann. Ich meine, das ist das erste Mal, dass ich direkte Korrespondenz mit jemanden habe, der so Grossartiges leistet und mir persoenlich weiterhilft. Ich finde es auf keinen Fall selbstverstaendlich, ich bin dir ziemlich dankbar, und ein schechtes Gewissen hab ich auch... Ich guck mal in den offenstehenden Aufgaben, ob ich mit meinen bescheidenen Faehigkeiten irgendwas anfangen kann, um mich zu revangieren... Ich kann die Leute nicht verstehen, die dir den Anlass geliefert haben, den Blog-Eintrag "Hassen [sS]ie mich?" zu schreiben. Nicht ansatzweise. Ich glaub, ueber einen halb legalen Weg find ich deine Adresse raus und schick dir ne Flasche Wein oder so...;)
Trotzdem hab ich noch eine bloede Frage:
Was genau gefaellt dir denn an der Titelei nicht??! (das \begin{document} steht jetzt ueber der Titelei). Im Original kommt es sogar noch schlimmer: Das Fontispiz hab ich sogar mim Floater gesetzt, um es vertikal zu zentrieren... Bevor ich dich das jetzt gefragt hab, hab ich in l2tabu nachgesehen, und dazu nix gefunden, aber dafuer Sachen, die ich in meinem Skript angewendet und sogar dokumentiert hab. Das hab ich gestern abend noch ausgewetzt, aber peinlich ist das trotzdem.
Schoenes Wochenende
Simon
Entweder \title, \author ... \maketilte oder titlepage
Wenn ich mich recht erinnere, hast Du eine
titlepage
-Umgebung und darin Anweisungen wie\title
etc. Diese Anweisungen machen nichts anderes, als interne Makro zu definieren, die den Inhalt des Arguments enthalten. Beispielsweise ist\title{Testtitel}
letztlich so etwas wie\renewcommand*{\@title}{Testtitle}
(in Wirklichkeit sieht es etwas anders aus, u. a. auch um Bedienfehler wie Deinen ein wenig abzufangen). Diese ganzen internen Makros werden dann verwendet, um mit\maketitle
eine Titelei zu setzen. Intern verwenden\maketitle
dabei einetitlepage
-Umgebung. Der Anwender sollte jedoch keine der Titelei-Anweisungen innerhalb einer solchen Umgebung verwenden.Die
titlepage
-Umgebung kann der Anwender verwenden, wenn ihm die von\maketitle
produzierte Titelei nicht gefällt, und er deshalb eine eigene Titelei frei gestalten will. Es hat dann auch wenig Sinn, Anweisungen wie\title
,\author
etc. zu verwenden.Im Beispiel hattest Du noch nicht einmal ein
\maketitle
verwendet, wenn ich mich recht erinnere. Das wäre also vergleichbar gewesen mit:Auf die Idee würde vermutlich nie jemand kommen. An der Sinnhaftigkeit ändert sich nicht wirklich etwas, wenn man
quote
durchtitlepage
ersetzt.Um es nochmal ganz deutlich zu machen:
Ist es jetzt klarer geworden? Wenn nicht, musst Du Dir trotzdem nicht blöd vorkommen. Manche Dinge sind etwas kompliziert. Andere Dinge sind so lange etwas kompliziert, bis man sie verstanden hat.
ah jetzt ja!
DAS habe ich verstanden. Damit hast du noch einen Fehler in meinem Skript aufgedeckt, den ich jetzt behoben habe. Vielen Dank auf jeden Fall! Ich hoffe, dass ich jetzt nicht mehr nerven muss. Ich wuensch Dir ne ruhige Woche!
Simon