-
Notifications
You must be signed in to change notification settings - Fork 0
/
FormLatex.java
79 lines (68 loc) · 2.29 KB
/
FormLatex.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
/**
* This class create the .tex file and convert it in a PDF file.
*
* @author Mak Fazlic & Roberto Ferrari - Latex project.
* @version v1.0
*/
public class FormLatex {
/**
* To complete with a correct desctription.
*
* @param commands is an ArrayList of Strings.
* @return a String.
*/
public static String form(final ArrayList<String> commands) {
String output;
final String latex;
final String begin = "\\documentclass{article}" +
"\\usepackage[english]{babel}"+
"\\usepackage[utf8]{inputenc}"+
"\\usepackage{fancyhdr}"+
"\\pagestyle{fancy}"+
"\\fancyhf{}"+
"\\rhead{ROberto Ferrari and Mak Fazlic}"+
"\\lhead{Latex Converter}"+
"\\rfoot{Page \\thepage}" +
"\\begin{document}";
final String end = "\\end{document}";
String middle = "";
for (final String str : commands) {
if (str.contains("section") || str.contains("textit")) {
middle = middle + str;
} else {
middle = middle + "\\[ " + str + " \\]";
}
}
try { // try create output.tex
final FileWriter myWriter = new FileWriter("output.tex");
myWriter.write(begin + middle + end);
myWriter.close();
output = "Succesfully parsed to output.tex";
} catch (IOException ex) {
System.out.println("An error occurred.");
ex.printStackTrace();
return "An error occurred.";
}
/*
final String command = "pdflatex output.tex";
try { // try create output.pdf
final Process process = Runtime.getRuntime().exec(command);
final BufferedReader reader = new BufferedReader(
new InputStreamReader(process.getInputStream()));
String line;
line = reader.readLine();
while (line != null) {
line = reader.readLine();
}
reader.close();
output = "Succesfully compiled to: output.pdf";
} catch (IOException ex) {
ex.printStackTrace();
}
*/
return output;
}
}