Wie Latex in Jupyter Notebook?
Verfasst: Donnerstag 31. März 2016, 12:36
Hallo, gerne würde ich einen Latex Text in Jupyter Notebook darstellen. Es wäre also sinnvoll ein Tool zu haben, dass den Latex Text so darstellt. Ich denke, da MathJax genutzt wird, dass alle Formeln dann in MathJax Code ausgedrückt werden, und die anderen Sachen, wie centering etc. werden dann mit HTML dargestellt. Gibt es eine Lösung für dieses Problem? Ich selbst habe ein kleines Javaprogramm geschrieben um /centering zu ersetzten durch ein
\begin{bfseries}
Dies ist ein Satz.
\end{bfseries}
Weiß noch nicht, ob das in Jupyter Notebook dargestellt werden kann. Aber das Programm verdeutlicht was ich suche.
Dadurch wird folgende tex Datei transformiert:
\begin{bfseries}
Dies ist ein Satz.
\end{bfseries}
Weiß noch nicht, ob das in Jupyter Notebook dargestellt werden kann. Aber das Programm verdeutlicht was ich suche.
Code: Alles auswählen
import java.io.*;
import java.util.ArrayList;
import java.util.Scanner;
public class Transform_bsp1 {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
ArrayList<String> eingabe= new ArrayList<String>();
File f = new File("Bsp_1_copy.tex");
Scanner sc = null;
try {
sc = new Scanner(f);
} catch (FileNotFoundException e) {
System.exit(1);
}
while (sc.hasNextLine()){
// System.out.println("Nächste Zeile ist jetzt " + sc.nextLine());
eingabe.add(sc.nextLine());
}
System.out.println("Der ursprüngliche Text");
for (int t1=0; t1< eingabe.size(); t1++){
System.out.println(eingabe.get(t1));
}
sc.close();
boolean enthalten=false;
for (int i= 0; i< eingabe.size(); i++){
if (eingabe.get(i).contains("\\centering")){
enthalten=true;
eingabe.set(i,"\\begin{bfseries}");
}
if (eingabe.get(i).contains("\\end") && enthalten){
ArrayList<String> append = new ArrayList<String>();
String last= eingabe.get(i);
for (int j=i; j<eingabe.size(); j++){
append.add(eingabe.get(j));
}
for (int w=0; w<append.size(); w++){
eingabe.remove(w+i);
}
enthalten=false;
eingabe.add("\\end{bfseries}");
for (int h= 0; h< append.size(); h++){
eingabe.add(append.get(h));
}
}
}
System.out.println("Der verbesserte Text");
for (int t=0; t< eingabe.size(); t++){
System.out.println(eingabe.get(t));
}
}
}
Dadurch wird folgende tex Datei transformiert:
Code: Alles auswählen
% das Papierformat zuerst
\documentclass[a4paper, 11pt]{article}
% hier beginnt das Dokument
\begin{document}
\centering
Dies ist ein Satz.
% das ist wohl jetzt das Ende des Dokumentes
\end{document}