Giter VIP home page Giter VIP logo

phd_thesis_markdown's Introduction

Markdown (Pandoc) Template für Abschlussarbeiten

Das Template basiert auf auf dem Repository DOI von Tom Pollard et al:

This repository provides a framework for writing a PhD thesis in Markdown. I used the template for my PhD submission to University College London (UCL), but it should be straightforward to adapt suit other universities too.

Bisher habe ich vor allem mit LaTex gearbeitet. Markdown hat aber eindeutig die schönere und einfachere Syntax. Mit Pandoc lassen sich die Vorteile beider Systeme nutzen. Ich habe die Vorlage für meine Bedürfnissen (Bachelorarbeit an der Hochschule München) angepasst. Ich habe aus der Original-README die folgenden Abschnitte übernommen und sinngemäß übersetzt:

Warum sollte ich meine Abschlussarbeit mit Markdown schreiben?

Markdown ist ein benutzerfreundliches Klartextformat, das einfach in eine Reihe anderer Formate wie PDF, Word und LaTex umgewandelt werden kann. Du wirst die Arbeit mit Markdown lieben, weil:

  • Es handelt sich um ein übersichtliches Klartextformat.
  • Du kannst LaTeX verwenden, wenn du es brauchst (z.B. für Matheformeln).
  • Auch bei großen und bildlastigen Dokumenten lässt es dich nicht im Stich.
  • automatische Verzeichnisse (Inhalt, Abbildungen, Tabellen, Literatur, ...) sind Dank Pandoc kein Problem.
  • Kommentare, Textentwürfe etc. können innerhalb des Dokuments gespeichert werden, indem du sie mit <!-- Kommentare ... --> umgibst.
  • Es arbeitet gut mit Git zusammen. Das erleichtert dir Backups. Checke einfach deine Änderungen ein und lade sie in dein Repository.
  • Wenn Markdown doch nichts für dich sein sollte, kannst du einfach die bisherige Arbeit umwandeln und woanders weiterarbeiten.

Gibt es irgendwelche Gründe nicht mit Markdown zu arbeiten?

Es gibt ein paar kleine Probleme:

  • Derzeit ist es nicht möglich Kurzbeschriftungen bei Tabellen und Abbildungsverzeichnissen (bei Abbildungen ist es mittlerweile möglich, Dank an @martisak) zu verwenden. /listoftables nutzt lange Beschriftungen. Wenn du das nicht willst, musst du das Tabellenverzeichnis am Ende manuell schreiben.
  • Das Design einiger Ausgabeformate könnte verbessert werden. Die Ausgabe als PDF und HTML (Danke an @ArcoMul) ist ok. Wenn du Worddokumente als Ausgabeformat benötigst, wirst du noch etwas Arbeit haben.
  • Wenn dir weitere Punkte auffallen, kannst du sie hier einfügen.

Wie ist die Vorlage strukturiert?

  • README.md => diese Hinweise.
  • License.md => Regeln für die Verwendung (MIT license).
  • Makefile => enthält Befehle mit denen das Dokument erzeugt wird.
  • output/ => Ordner, der das erzeugte Dokument enthält.
  • source/ => Ordner, der den Inhalt der Abschlussarbeit enthält. Auch die Datei references.bib, die die Literaturhinweise enthält.
  • source/figures/ => Ordner für Abbildungen.
  • style/ => Ordner mit den Styledolumenten.

Wie fange ich an?

  1. Installiere folgende Software:

    • Einen Texteditor wie Atom, Sublime, emacs, ...
    • Eine LaTeX Distribution (z.B., TeX Live für Linux- und Windowsnutzer).
    • Pandoc für die Konvertierung von Markdown in das gewünschte Format. Möglicherweise musst du auch Pandoc cite-proc installieren, um das Literaturverzeichnis erstellen zu können.
    • Installiere @martisak's "shortcaption" Modul für Pandoc mit pip install pandoc-shortcaption
    • Git, für Versionskontrolle
  2. Forke das Repository oder das Original Repository on Github

  3. Klone das Repository auf deinen PC (oder downloade die ZIP-Datei).

  4. Wechsel in das Verzeichnis mit der Makefile, lege den Ordner "output" an und führe in der Konsole "make pdf" (oder "make html") aus. Die erzeugte Datei findest du dann im Output-Ordner. Im Falle eines Fehlers (e.g. make: *** [pdf] Error 43) hilfen die Ausgaben in der Datei pandoc.log. Führe ggf. folgende Befehle aus:

    sudo tlmgr install truncate
    sudo tlmgr install tocloft
    sudo tlmgr install wallpaper
    sudo tlmgr install morefloats
    sudo tlmgr install sectsty
    sudo tlmgr install siunitx
    sudo tlmgr install threeparttable
    sudo tlmgr update l3packages
    sudo tlmgr update l3kernel
    sudo tlmgr update l3experimental
    
  5. Bearbeite die Dateien im Ordner 'source' und gehe dann wieder zu Schritt 4.

Was sollte ich sonst noch wissen?

Einige hilfreiche Punkte in zufälliger Reihenfolge:

  • Jedes Kapitel muss mit mindestens einer Leerzeile enden, sonst wird die Überschrift des folgenden Kapitels eventuell nicht erfasst.
  • Einen Zeilenumbruch kannst du mit zwei Leerzeichen am Ende der Zeile erzwingen.
  • die Vorlage verwendet Markdown (Pandoc)
  • PDFs werden mithilfe von LaTeX-Vorlagen aus dem 'style'-Ordner erzeugt. Änderungen nimmst du am besten dort vor.
  • Um den Zitierstil zu ändern, überschreibe einfach ref_format.csl mit dem neuen Style. Styledateien bekommst du unter citationstyles.org/
  • Für Webentwickler gibt es einen Grunt Task (Gruntfile.js), der die Markdowndateien überwachen kann. Mit $ npm install und anschließendem $ npm run watch wird die PDF immer dann erzeugt, wenn du eine Markdowndatei speicherst.

Beitragen

Beiträge zum Template sind herzlich willkommen! Es gibt vieles, was verbessert werden kann, z.B.:

  • Finde einen Weg, wie die Kurzbeschriftungen von Tabellen im Tabellenverzeichnis landen.
  • Aufräumarbeiten in den LaTeX-Vorlagen, die derzeit etwas chaotisch sind.
  • Styleverbesserungen für die Ausgabe im Word- bzw. TeX-Format.

Bitte forke und bearbeite das Projekt und schicke anschließend einen Pullrequest.

phd_thesis_markdown's People

Contributors

089 avatar arcomul avatar davidsan avatar dennisweissmann avatar k1ngb0b1 avatar martisak avatar matthewgthomas avatar nowosad avatar therealmarv avatar tobiasbueschel avatar tompollard avatar wandmalfarbe avatar wcaleb avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.