Bei meinen ersten Experimenten mit dem neuen R Notebook von RStudio, Python und dem Tufte CSS hatte ich ja zum ersten beklagt, daß sich das Notebook (und R Markdown) nur mit dem System-Python von Apple (einem Python 2.7.5), nicht aber mit meinem Anaconda Python 3.5 vermählen läßt. Mit einem Trick habe ich das nun doch hinbekommen (dafür danke ich Karsten W., der mich in meinem Kommentaren auf die Spur brachte).
Denn zwar gibt untenstehender R-Code wie erwartet das System-Python von Apple aus
Sys.which("python")
## python
## "/usr/bin/python"
wenn man jedoch zu Beginn jeder Sitzung
Sys.setenv(PATH="/Users/kantel/anaconda/bin")
Sys.which("python")
## python
## "/Users/kantel/anaconda/bin/python"
eingibt, dann findet auch R Markdown mein Anaconda-Python, Python-3-Code wird korrekt ausgeführt mit UTF-8 und korrekten deutschen Umlauten. Leider habe ich noch keine Möglichkeit gefunden, wie man dies in einer projektbezogenen Konfigurationsdatei für jedes Projekt permanent machen kann, zur Zeit führe ich den Code mit `echo=FALSE’ einfach zu Beginn eines jeden R-Markdown-Dokuments aus.
Natürlich muß der Path dem jeweiligen System angepaßt werden und es gibt keine Abkürzungen wie ~
oder $
. Da der Pfad zum Anaconda-Python auf einem meiner Rechner /Users/admin/anaconda/bin
und auf einem anderen /Users/kantel/anaconda/bin
heißt, ist das nicht unproblematisch.
Das zweite Problem war, daß Code-Zeilen ebenfalls nur maximal die Breite der (aus lesefreundlichen Gründen recht schmalen) Hauptspalte einnehmen durften. So entstanden recht schnell die häßlichen horizontalen Scrollbalken, die eigentlich niemand mag. Daher habe ich dem Tufte CSS noch eine user.css
untergejubelt, die als letzte eingelesen wird und bisher folgenden Code enthält:
body {
background-color: #ffffff; }
pre { width: 90%;
padding-left: 2.5%;
overflow-x: auto; }
Damit habe ich erstens das in meinen Augen häßliche beige des Originals durch einen weißen Hintergrund ersetzt und zum anderen den Code-Blöcken eine Weite von 90 Prozent zugewiesen. Das dürfte in den meisten Fällen ausreichen, so daß die vertikalen Scrollbalken nur noch selten auftauchen sollten.
Allerdings muß man nun darauf achten, daß man neben den Code-Ausgaben keine Randnotizen oder Bilder mehr setzen darf. Denn sonst entstehen sehr häßliche Lücken zwischen den Absätzen.
Nun sieht alles schon recht brauchbar aus. Damit Ihr vergleichen könnt, könnt Ihr Euch meine aktualisierte Testseite hier anschauen und damit Ihr seht, was ich alles an der »Frontmatter« herumgeschraubt habe, gibt es auch die R-Markdown-Quelldatei zum Download.
Herausbekommmen habe ich das alles, weil ich mir den Quellcode zu Dave Liepmanns Tufte CSS von GitHub heruntergeladen und genauer angeschaut hatte. Denn ich spiele mit dem Gedanken, diesen Tufte-Handout-Stil in leicht veränderter Form auch in dieses Blog Kritzelheft einzubauen. Warum? Weil es geht!
Über …
Der Schockwellenreiter ist seit dem 24. April 2000 das Weblog digitale Kritzelheft von Jörg Kantel (Neuköllner, EDV-Leiter, Autor, Netzaktivist und Hundesportler — Reihenfolge rein zufällig). Hier steht, was mir gefällt. Wem es nicht gefällt, der braucht ja nicht mitzulesen. Wer aber mitliest, ist herzlich willkommen und eingeladen, mitzudiskutieren!
Alle eigenen Inhalte des Schockwellenreiters stehen unter einer Creative-Commons-Lizenz, jedoch können fremde Inhalte (speziell Videos, Photos und sonstige Bilder) unter einer anderen Lizenz stehen.
Der Besuch dieser Webseite wird aktuell von der Piwik Webanalyse erfaßt. Hier können Sie der Erfassung widersprechen.
Diese Seite verwendet keine Cookies. Warum auch? Was allerdings die iframes
von Amazon, YouTube und Co. machen, entzieht sich meiner Kenntnis.
Werbung