CMP-03: Markdown lernen

Bildschirmfoto der ersten Seite eines Schummelzettel für die R Markdown-Befehle

Bildschirmfoto der ersten Seite eines Schummelzettel für die R Markdown-Befehle

Im dritten Teil des Kurses zu Cross Media Publishing CMP-03 beginnen Sie nun die Formatierung Ihres eigenen Textes zu lernen. Wir haben jetzt die notwendigen Vorarbeiten abgeschlossen, sodass wir nun (endlich!) mit der eigentlichen Textarbeit beginnen können. Die Details der Formatierung bildet den Hauptteil des Kurses, den ich in mehrere Kurseinheiten aufteilen werde. Sie lernen in dieser Lektion die wichtige Elemente von Markdown. Markdown ist eine Auszeichnungssprache, die auch für viele andere Anwendungsszenarien nützlich ist.

CMP-03: Voraussetzungen

  • Erfolgreiches Durcharbeiten von Cross Media Publishing Tutorial Nr. 1 (CMP-01)
  • Erfolgreiches Durcharbeiten von Cross Media Publishing Tutorial Nr. 2 (CMP-02)

CMP-03: Learning Outcomes

Wenn Sie dieses Tutorial durcharbeiten, dann können Sie

  • die Funktion der Auszeichnungssprache Markdown erklären
  • die häufigsten textlichen Formatierungselemente in RStudio umsetzen
  • die Ergebnisse Ihrer formatieren Texte in allen Publikationsformen vergleichen

CMP-03: Text eines Kapitels einspielen

Um die Bedeutung von Markdown besser einschätzen zu können, möchte ich Ihnen zuerst zeigen, wie sie funktioniert. Dazu brauchen wir Textbausteine, die dann mit Markdown formatiert werden. Es gibt dazu zwei Möglichkeiten:

  1. Sie erstellen den Text gleich direkt in RStudio; schreiben also Ihr Buch gleich „live“ mit Hilfe von Markdown in den Editor von RStudio.
  2. Sie haben bereits einen Text, den Sie in RStudio einfügen um ihn anschließend mit Markdown zu bearbeiten.

Ich gehe hier davon aus, dass Sie einen (Buch-)Text zur Hand haben. Soweit ich weiß, gibt es derzeit keine Standard-Lösung für das Importieren von reinen Textdateien. R ist als Statistik-Programm auf das Verarbeiten  (Importieren, Exportieren, Transformation etc.) von Tabellen („rectangular date“) und nicht auf Fließtext spezialisiert. Ich glaube allerdings, dass dies mit Hilfe der Programmiersprache R leicht zu implementieren wäre (Ich möchte mir bei nächster Gelegenheit anschauen, ob ich selbst dazu ein entsprechendes Dienstprogramm selbst entwickeln kann.) 

: Ich habe jetzt eine viel bessere Lösung gefunden, die ich in einer zusätzlicher Lektion CMP-03a Word-Datei in bookdown einspielen erläutert habe. Damit sind die nächsten drei Abschnitte zwar inhaltlich richtig, aber für effizienteres Arbeiten praktisch überholt.

Die einfachste Möglichkeit für diesen Kurs besteht darin, dass Sie sich eine Textpassage aus Ihrem Textverarbeitungsprogramm mit Copy & Paste in RStudio einfügen. Um eine gewisse Breite an Formatierungsmöglichkeiten zu haben, wählen Sie dazu Passagen, die möglichst viele unterschiedliche Elemente enthalten wie z.B. verschiedene Gliederungsstufen von Überschriften, numerierte und nicht numerierte Aufzählungen, Grafiken, Tabellen, Literturhinweise, interne und externe Links, Zitate, mathematische Formeln usw.

Ich verwende als Demonstrationsmaterial in Absprache mit Claudia Mair ihre Masterthese“‚audiemus‘: Hören um zu verstehen, verstehen, um zu hören“, die im Rahmen unseres Universitätslehrgangs eEducation geschrieben wurde. Für Referenz-, Vergleichs- und Übungszwecke habe ich diese Arbeit als PDF-Version (, 4.5 MB)   auf meinem Weblog hinterlegt.

Eine Textpassage mit copy & paste aus der Originaldatei (PDF bzw. Wordfile) in RStudio eingefügt.

Eine Textpassage mit copy & paste aus der Originaldatei (PDF bzw. Wordfile) in RStudio eingefügt

Ich habe einen Abschnitt aus dem 4. Kapitel ausgwählt und zwar den Text beginnend mit Kapitel 4 bis einschließlich 4.2.2 . Er enthält mehrere Zwischenüberschriften, eine lange/umfangreiche Tabelle, zwei Grafiken, ungeordnete Aufzählungen („Bulletpoints“) Literaturhinweise und wortgetreue Zitate. Trotz des relativ kurzen Textstückes also ein reiches Reservoir an Textarten, mit denen ich das Prinzip der Formatierung mit Markdown demonstrieren kann.

CMP 03: Markdown lernen

Markdown ist eine (vereinfachte) Auszeichnungssprache, die es ermöglicht Formatieren als reinen Text vorzunehmen. Der Vorteil liegt darin, dass der Text bereits in der Urform lesbar ist und keine speziellen Hilfsmittel (Software) benötigt. Diese Hilfsmittel kommen erst in einem zweiten Schritt – bei der Konvertierungssoftware – zum Tragen. Markdown-Texte sind daher transparent, frei zugänglich und unabhängig von laufenden Software-Updates oder Rechner-Fabrikaten.

So verwendet z.B. auch Mediawiki, das der Wikipedia zugrunde liegt, eine wiki markup Sprache (= Wikitext, Wiki-Code oder Wiki-Syntax). Diese Auszeichnungssprache ist allerdings nicht mehr ganz so einfach, weil bereits stark auf die besonderen Bedürfnisse der Wikipedia-Artikel zugeschnitten. Die „Mutter“ aller Markdown-Srpachen bzw. -Dialekte ist von John Gruber entwickelt worden. Neben der offiziellen Spezifikation, gibt dazu unzählige Hands-On-Anleitungen im Internet (z.B. das Markdown Cheatsheet oder auch StackEdit als interaktives Hilfsmittel zum Erstellen von Markdown Texten).

Wir verwenden die für das Statistik-Programmpaket speziell erweiterten Dialekt der R Markdown Sprache, der wunderbar mit R und RStudio harmoniert. RStudio bietet dazu auf seiner „Schummelzettel“-Seite (RStudio Cheat Sheet, PDF-Icon 3,3 MB) eine kurzgefassten und prägnanten Schummelzettel als auch einen Referenz-Leitfaden (R Markdown Reference Guide, PDF-Icon 553kB) an. Die Konvertierung übernimmt das Programm pandoc, ein universeller Dokumenten-Konvertierprogramm, sozusagen das Schweizer Messer für Textumwandlungen. Es arbeitet im Hintergrund von RStudio; sie brauchen sich deshalb (im Normalfall) um pandoc gar nicht kümmern. (Das Programm pandoc wurde übrigens von John MacFarlane, einem Philosophie-Professor aus Berkeley, entwickelt und auch aktuell gewartet.)

Lassen Sie sich durch die vielfältigen Befehle in diesen Schummelzettel nicht irritieren. Wir werden einen Abschnitt nach dem anderen besprechen. Vorerst konzentrieren wir uns auf „Pandoc’s Markdown“ auf Seite 2 des Schummelzettels.

CMP 03: Mit R Markdown Ihren Text formatieren

Sie werden es nicht glauben: Wir sind damit im Wesentlichen mit dem inhaltlichenVorbereitungen dieses Kurses fertig. Meistens was jetzt noch im Kurs kommt, sind „Übungen“ zur Anwendung und bezieht sich auf die praktische Umsetzung und die Erläuterung spezieller (Formatierungs-)Probleme.

Eigentlich sind es keine „Übungen“ mehr, sondern wir beginnen nun direkt unseren Text mit R Markdown für die Cross Media Publikation zu formatieren. Beim Publizieren wissen R bzw. RStudio dann – mit Hilfe des Wunderwuzzi-Werkzeugs von pandoc – wie die von Ihnen eingefügten speziellen Markierungen (Auszeichnungen) für die verschiedenen Formate umgewandelt werden müssen. Es gibt eigene Regeln für HTML-Seiten, für PDFs, für eBooks, für Word-Dateien usw. usf. Aber darüber brauchen Sie sich normalerweise nicht kümmern. (Das „normalerweise“ bezieht sich auf eine fehlerhafte Konvertierung. Bei auftretenden Fehlern ist es allerdings dann doch sehr nützlich über die Hintergründe Bescheid zu wissen.)

Syntax von Pandoc's Markdown und Darstellung des Ergebnisses

Syntax von Pandoc’s Markdown und Darstellung der Ergebnisse (siehe auch die englische Kurzanleitung unter Markdown Cheatsheet und die Übungsapplikation StackEdit).

Ich habe Ihnen oben die wichtigsten Befehle von Pandoc’s Markdown zusammengestellt. Es gibt noch einige weitere spezielle Befehle für Cross Media Publishing – doch dazu kommen wir später noch. Probieren Sie sie mal – so viele wie möglich – der obigen Standard-Kommandos aus. Sie können zur Kontrolle – wie gehabt (siehe Tutorial CMP-02, insbesondere Screenshot 5 und Screenshot 6) – dann jeweils kontrollieren, wie das Ergebnis aussieht.

Bitte stellen Sie noch nicht zu hohe Ansprüchean Ihre Formatierung: Vorerst geht es nur um das Prinzip: Wie funktioniert Markdown und wie wird damit gearbeitet? Viele Details wie z.B.

  • dass im PDF noch viele englische Ausdrücke vorkommen (Chapter/Content),
  • dass die Nummerierung der Kapitel nicht stimmt,
  • dass noch nicht klar ist, wie Kurzbelege zum Literaturverzeichnis verlinken usw. usf.

werden in späteren Lektionen noch ausführlich besprochen. Lassen Sie sich vorerst auch noch nicht über unglückliche Seitenumbrüche oder über eine schlechtere Darstellung bestimmter Kombinationen in einer der drei Ausgangsprodukte irritieren. Darüber sprechen wir später ebenfalls noch gesondert.

Als konkrete Aufgabe bis zur nächsten Lektion sollten Sie möglichst viele der obigen Formatierungselemente zumindest einmal probiert haben!

Insbesondere die einfacheren Elemente sollten Ihnen bis zum nächsten Mal vertraut sein. Das sind:

  • Kapitelüberschriften (#, ##, ### …)
  • ungeordnete Liste bzw. geordnete (=numerierte) Listen (* oder eine Zahl)
  • wörtliches Zitat bzw. Absatz hervorheben (= Blockquote, das Zeichen ‚>‘)
  • eine Wortfolge als fett und oder kursive auszeichnen (**fett**, _kursiv_)
  • einen externen Link setzen: [Meine Homepage](https://peter.baumgartner.name)
  • Absätze (= eine Leerzeile oder zwei Leerzeichen am Ende des Satzes)

Nächstes Mal werde ich im Detail über speziellere Formatierungen sprechen (Grafiken, Tabellen, Kurzbelege) und Ihnen ein paar Tipps zum Schnelleren Arbeiten geben.

Bei Unklarheiten oder Schwierigkeiten schreiben Sie bitte eine Meldung in das Forum zu dieser Seite.

CMP-03: Zusammenfassung

Mit dieser Lektion haben Sie nun begonnen Ihren eigenen Buchtext mit Hilfe von Markdown für Cross Media Publishing zu formatieren. Sie haben gelernt, wie Sie denursprünglichen Text mittels copy & paste in RStudio einspielen und mit den wichtigsten Formatierungselementen versehen können.

Wir sind jetzt bereits bei der unmittelbaren Umsetzung angelangt. Wenn Sie bei diesen Übungen bereits größere Textstellen formatieren, kommt Ihnen das am Ende zugute. Schließlich muss letztlich Ihr gesamter Text mit Markdown formatiert werden.

Flattr this!

Verschlagwortet mit , , . Bookmark the permalink.

2 Kommentare zu CMP-03: Markdown lernen

  1. Benjamin Meisenbichler sagt:

    Ist zwar etwas gewöhnungsbedürftig, funktioniert soweit aber alles problemlos. Tabellen richtig einzubinden, stelle ich mir noch schwierig vor bzw. ist mir beim Versuch nicht ordentlich gelungen.
    LG Benjamin Meisenbichler

    • Peter Baumgartner sagt:

      Zeigen Sie uns im Detail (Link, Screenshot etc.), woran es mangelt. Ich kann dann vielleicht eine Lösung finden…

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Time limit is exhausted. Please reload CAPTCHA.