Zum Inhalt springen

Diskussion:Mathe für Nicht-Freaks: Archiv/2017 Gedanken zum PDF-Version

Seiteninhalte werden in anderen Sprachen nicht unterstützt.
Abschnitt hinzufügen
Aus Wikibooks
Letzter Kommentar: vor 8 Jahren von Dirk Hünniger in Abschnitt PDF Version mit mediawiki2latex

PDF-Version

[Bearbeiten]

Hallo Kulla, ich habe gesehen, dass du einen PDF Version von Mathe für nicht Freaks erstellen willst. Ich habe schon mal einen Rohversion angefertigt File:Grundlagen der Mathematik.pdf, der LaTeX Quellcode ist der PDF Datei angehängt.

Im Prinzip kann man mit recht vertretbaren Aufwand und grundlegenden LaTeX Kenntnissen aus dieser Datei eine fertige PDF Version machen. Ich selbst habe nur nicht die Zeit dafür und kann auch kaum Beraten. Du hattest den Vorschlag gemacht für 2500 EUR eine Programmierer zu beschäftigen der einen Automatischen Export der Mathe für nicht Freaks zu entwickeln. Ich denke nicht, dass du für 2500 EUR jemanden findest der so etwas entwickeln wird. Ich selbst habe Jahre Gebraucht um es zu bauen, und mein Arbeitgeber zahlt für mich ca. 5000 EUR pro Monat. Man könnte meinen Quelltext weiter verwenden, aber das macht die Sache auch nur wenig kostengünstiger.Dirk Hünniger 10:59, 29. Dez. 2015 (CET)Beantworten

Ich möchte ein paar Hinweise ergänzen. PDF über LaTeX liefert sehr schöne Ergebnisse, aber nur, wenn LaTeX selbst gut formatiert ist. Sowohl bei Einführung in SQL als auch bei Wikijunior Europa habe ich den LaTeX-Quelltext, den Dirks Programm erzeugt hat, manuell intensiv bearbeitet (bearbeiten müssen); erst dann konnte das PDF-Ergebnis vom Layout her überzeugen. Jede neue Erstellung des LaTeX-Quelltexts durch wb2pdf würde diese Nachbearbeitung zunichte machen!
Das hat zur Konsequenz, dass seither der LaTeX-Quelltext für mich maßgebend ist. Wenn Änderungen anstehen (und das kommt immer wieder vor, z.B. durch EU-Erweiterung oder die Euro-Einführung in baltischen Staaten), muss ich beide Quellversionen auf den neuesten Stand bringen. Dieses Vorgehen ist natürlich nur deshalb akzeptabel, weil die Bücher wirklich abgeschlossen sind und es keine Änderungen mehr geben wird, die über einzelne Absätze hinausgehen. Bei einem Werk, das sich noch in der Entwicklung befindet, wäre das ausgeschlossen.
Dirks Programm könnte eine Grundlage bieten. Beispielsweise könnte man die MFNF-Vorlagen in LaTeX-Umgebungen konvertieren und damit eine einheitliche Formatierung nutzen. Ob sich jemand (mit Haskell) schnell genug einarbeiten und den gewünschten automatischen Export entwickeln kann, wage ich nicht zu beurteilen. Ich befürchte, dass Dirks Warnung sehr berechtigt ist. -- Jürgen 11:36, 29. Dez. 2015 (CET)Beantworten

@Dirk Hünniger: Danke für deine Nachricht. Ich wollte dir eh gerade eine Mail diesbezüglich schreiben.

Das die 3000€ Preisgeld zur Umsetzung des Projekts knapp bemessen sind, ist mir bewusst. Diese können auch nur als Aufwandsentschädigung und weniger als ein vollwertiges Gehalt angesehen werden. Notfalls kann ich das Projekt auch selbst umsetzen, wenn wir keinen anderen (ehrenamtlichen) Programmierer finden sollten. Zunächst habe ich folgende Fragen an dich:

  1. Kann man wb2pdf auch benutzen, ohne dass man eine Seite wie Benutzer:Dirk Hünniger/mnf hat, die den kompletten Inhalt eines Lehrbuchs einbindet? Im Projekt Mathe für Nicht-Freaks haben wir nämlich recht große Lehrbücher, so dass eine solche Seite riesig werden kann. Dies erschwert die Bearbeitung einer solchen Seite. Ideal wäre es auch, wenn die Lehrbücher direkt aus Mathe für Nicht-Freaks: Sitemap generiert werden können. Ist dies möglich bzw. nachimplementierbar?
  2. Funktioniert wb2pdf so, dass zunächst ein Zwischenformat des Quelltexts erzeugt wird, aus dem die LaTeX-Version aber möglicherweise auch eine epub-Version erzeugt werden kann?
  3. Hast du Erfahrungen mit Pandoc? Ist es gut geeignet bzw. könnte man es zusammen mit wb2pdf einsetzen?

@Dirk Hünniger: Hast du Lust (und Zeit :)) bei der Erstellung einer PDF-Version von „Mathe für Nicht-Freaks“ zu helfen? Sollten wir den fOERder-Award 2016 gewinnen, könnten wir dir auch etwas Geld als Entschädigung dafür anbieten. Du weißt ja, es ist nicht viel, aber es wäre zumindestens etwas Lohn für deine Mühe :)

@Jürgen: Danke für deinen Erfahrungsbericht. Dieser bestärkt mich darin, dass wir für MFNF eine Lösung finden sollten, bei dem eine nachträgliche manuelle Bearbeitung des Quelltexts nicht mehr notwendig ist (zumal sich unser Inhalt noch oft ändern wird). Sind die LaTeX-Quelltexte für Einführung in SQL und Wikijunior Europa öffentlich einsehbar?

Viele Grüße, Stephan Kulla 17:11, 29. Dez. 2015 (CET)Beantworten

Tut mir leid, nein. Das ist so viel individuelle redaktionelle Arbeit, dass es kaum sinnvoll ist, das frei zur Verfügung zu stellen. Beispiele: eigene Datenstruktur (Unterverzeichnis und getrennte Dateien für die Kapitel), Umgebungen für Vorlagen (standardmäßig löste wb2pdf Wiki-Vorlagen auf), Indexerstellung, Grafiken passend zum Seitenumbruch formatiert. Ich könnte es dir zum Herunterladen auf meiner Homepage zur Verfügung stellen, wenn du dich ernsthaft in einen (kaum dokumentierten) fremden Quelltext einlesen möchtest. -- Jürgen 19:15, 29. Dez. 2015 (CET)Beantworten

Hallo, ich habe zwar Lust am PDF mitzuwirken, aber keine Zeit. Ab Montag muss ich wieder arbeiten. Die Nächsten Ferien sind dann erst wieder im August. Geld möchte ich auf keinen Fall, da dann Fragen des Nebentätigkeitsrechts zu klären wären. Ich denke es ist am Einfachsten wenn wir mal telefonieren. Meine Nummer 028453799850. Unter der auf deiner Webseite angegeben Nummer erreiche ich dich leider nicht. Ferner bin ich heute Abend ab 18:15 weg so dass du mich besser schnell anrufst oder bis morgen wartest. Ich schreibe gleich noch ein bisschen mehr und warte derweil auf deinen Anruf. Dirk Hünniger 17:23, 29. Dez. 2015 (CET)Beantworten

Nun zu den Fragen im einzelnen.

  1. Man braucht eine Seite auf der das Komplette Buch steht. Es wäre aber auch kein Problem das Datenformat der Collections zu lesen. Im Prinzip ist eine Seite leicht aus dem Inhaltsverzeichnis des Buches zu generieren. Ich mache das jedes mal from Scratch mit Python um brauche selten länger als 10 Minuten. Im Prinzip könnte ich aber auch eine Generierung aus der Sitemap einbauen.
  2. In der Tat gibt es ein zwischenformat. Dieses kann man auch in eine Datei Schreiben, was ich jedoch nur zu debugging Zwecken tue. Es ist eigentlich nur ein Parsetree wie bei jedem anderen Compiler auch, dieser kann jedoch Menschenlesbar geschrieben und auch wieder gelesen werden. Dies ist eine Funktion der Programmiersprache Haskell. Die Erzeugung einer Epub Datei aus dem Parsetree ist möglich. Jedoch braucht schon die Erzeugung des LaTeX Quelltextext viele tausend Zeilen Quelltext, so dass der Programmieraufwand wohl nicht geleistet werden kann.
  3. Pandoc ist ebenfalls in Haskell geschrieben und arbeitet ebenfalls mit einem Parsetree. Dieser lehnt sich jedoch stark an Markdown an, was die Verwendung für Mediawiki nicht wirklich leichter macht.

Dirk Hünniger 18:17, 29. Dez. 2015 (CET)Beantworten

Hallo Stephan, ich habe die Idee vom unserem Telefonat neulich gerade mal programmiert. Es wäre also zumindest im Prinzip denkbar alles über einen HTML Zwischenbaum zu konvertieren und Abkürzungen die für bestimmte Elemente den Zwischenbaum vermeiden einzubauen. Das könnte auch für dieses Buch bei der Konvertierung helfen.

import Control.Monad
import Data.Maybe
data PreAny = H Html | L LaTeX | M MediaWiki
 deriving Show 
data Any = A PreAny [Any] 
 deriving Show 
data Html = B | C Char
 deriving Show 
data LaTeX = LaTeXBold | LaTeXTemplate String | LaTeXChar Char
 deriving Show 
data MediaWiki = MediaWikiBold | MediaWikiChar Char | MediaWikiTemplate String
 deriving Show 
type Way =PreAny->Maybe PreAny 

test= A (M MediaWikiBold) [A (M (MediaWikiTemplate "MyOuterTemplate")) [A (M MediaWikiBold) [A (M (MediaWikiTemplate "MyInnerTemplate")) [A (M (MediaWikiChar 'H')) [],A (M (MediaWikiChar 'i')) []]]]]

boldh2l::Way
boldh2l (H B) = Just (L LaTeXBold)
boldh2l _ = Nothing   
boldm2h::Way
boldm2h (M MediaWikiBold) = Just (H B)
boldm2h _ = Nothing   
charm2h::Way
charm2h (M (MediaWikiChar x)) = Just (H (C x))
charm2h _ = Nothing
charh2l::Way
charh2l (H (C x)) = Just (L (LaTeXChar x))
charh2l _ = Nothing
templatem2l (M (MediaWikiTemplate s))= Just (L (LaTeXTemplate s))
templatem2l _ = Nothing 

apply::[Way]->PreAny->PreAny
apply ways (L x) = L x
apply ways x = apply ways (fromJust (msum [w x|w<-ways]))

mediawiki2latex::[Way]->Any->Any
mediawiki2latex ways (A preany []) = A (apply ways preany) []
mediawiki2latex ways (A preany x) = A (apply ways preany) (map (mediawiki2latex ways) x)
main = print (mediawiki2latex [templatem2l,charh2l,charm2h,boldm2h,boldh2l] test)

Dirk Hünniger 16:13, 7. Feb. 2016 (CET)Beantworten

PDF Version mit mediawiki2latex

[Bearbeiten]

Hallo, ich stelle mal fest das wir begonnen haben eine PDF Version mit mediawiki2latex zu erstellen. Sie ist hier File:Grundlagen der Mathematik.pdf, der LaTeX Quellcode ist der PDF Datei angehängt. Weiterhin habe ich eine erst Epub Version erstellt und bei Wikibook hochgeladen Datei:GrundlagenDerMathematikEPub.pdf. Jetzt geht es an die Feinheiten. Ich habe die PDF Version von Hand nach Fehlern durchsucht. Diese stehen hier Benutzer:Dirk_Hünniger/mnftodo. Es gibt zwei Gruppen von Fehlern über die wir ein Entscheidung treffen müssen.

  • Was machen wir mit Videos und gif Animationen im PDF.
  • Was machen wir wenn Formeln in der Breite über den Seitenrand hinaus ragen.

Bitte schlag vor welche Möglichkeiten ihr seht hier zu reagieren. Viele Grüße Dirk Hünniger 20:06, 21. Feb. 2016 (CET)Beantworten

@Dirk Hünniger: Nice! Super! Das hört sich ja bereits schon sehr gut an... -- Stephan Kulla 00:09, 22. Feb. 2016 (CET)Beantworten

Animationen und Videos

[Bearbeiten]

Ich schlage vor sie aus dem PDF zu entfernen und ggfs. durch Alternativen zu ersetzen. Über den templates.user Mechanismus ließen sich leicht einzelne Teile des Buches auf dem PDF herausnehmen ohne das Erscheinungsbild im Web zu verändern.Dirk Hünniger 20:14, 21. Feb. 2016 (CET)Beantworten

Videos können ignoriert werden. Bei den Gif-Animationen wäre es gut, wenn nur das letzte Bild eingebunden wird. Für eine erste PDF-Version reicht es aber auch aus, wenn die Animationen ignoriert werden. -- Stephan Kulla 00:06, 22. Feb. 2016 (CET)Beantworten

Zu Breite Formeln

[Bearbeiten]

Ich schlage vor die Formeln im PDF zu verkleinern und die Skalierungsfaktoren im Wikiquelltext explizit anzugeben. Auch hierfür bietet sich der templates.user Mechanismus an. Dirk Hünniger 20:14, 21. Feb. 2016 (CET)Beantworten

Hier muss ich mir mal die Formeln anschauen. Ich würde aber alle Formeln in den Kapitel anpassen (sprich durch zusätzliche Umbrüche kleiner machen), die zu breit für A4 sind. Hier ist die Chance nämlich auch groß, dass die Formeln zu breit für mobile Endgeräte sind... -- Stephan Kulla 00:08, 22. Feb. 2016 (CET)Beantworten

Ja das finde ich sinnvoll. Ich denke aber das du bzw. jemand der näher mit mnf vertraut ist sich um den Umbau der Formeln kümmern sollte, da nur ihr letztlich wisst wie die Formeln nachher aussehen sollen. In mediawiki2latex sind auch Papierformate einstellbar so dass man sich eine Vorstellung davon verschaffen kann wie es wohl auf mobilen Geräten aussieht. Dirk Hünniger 18:59, 22. Feb. 2016 (CET)Beantworten