private void Form1_Load(object sender, EventArgs e) { TextArea = new Scintilla(); TextPanel.Controls.Add(TextArea); // BASIC CONFIG TextArea.Dock = DockStyle.Fill; TextArea.TextChanged += (this.OnTextChanged); // INITIAL VIEW CONFIG TextArea.WrapMode = WrapMode.None; TextArea.IndentationGuides = IndentView.LookBoth; InitNumberMargin(); lt = new LatexDocument.Document(@"C:\Program Files\MiKTeX 2.9\miktex\bin\x64\pdflatex.exe", @"D:\Latex\"); LatexPageTitle title = new LatexPageTitle("Test File", "Simone Luconi", "18 Giugno 2017"); lt.Add(title); LatexFont font = new LatexFont(); font.Size = LatexFont.TEXT_Huge; lt.Add(new LatexTextTitle("Big Title", font)); LatexImage img = new LatexImage(@"C:\Users\Matteo\Desktop\Giugno 2017\sfondo1.jpg", "Test Image"); lt.Add(img); font.Color = "blue"; lt.Add(new LatexParagraph("Blue paragraph", LoremIpsum, font)); lt.NewLine(); font.Color = null; font.Type = LatexFont.TEXT_BOLD; lt.Add(new LatexText("Bold text, ", font)); font.Type = LatexFont.TEXT_ITALIC; lt.Add(new LatexText("Italic text, ", font)); font.Type = LatexFont.TEXT_UNDERLINE; lt.Add(new LatexText("UnderLine text", font)); font.Type = null; font.Color = "red"; lt.Add(new LatexText("Red text", font)); lt.Font = "cmss"; LatexImage img2 = new LatexImage(@"C:\Users\Matteo\Desktop\Giugno 2017\sfondo1.jpg"); lt.Add(img2); lt.Add(new LatexParagraph("Change Font: Computer Modern Sans Serif", LoremIpsum)); lt.Font = LatexFont.DEFAULT_FONT; lt.NewPage(); font.Size = LatexFont.TEXT_Huge; font.Color = "red"; lt.Add(new LatexTextTitle("Formulas (red title)", font)); lt.AddMath(@"\lim_{x \to \infty} \exp(-x) = 0"); lt.NewLine(); lt.AddMath(@"\frac{n!}{k!(n-k)!} = \binom{n}{k}"); lt.NewLine(); lt.AddMath(@"\cos (2\theta) = \cos^2 \theta - \sin^2 \theta"); lt.NewLine(); lt.NewLine(); font.Color = null; lt.Add(new LatexTextTitle("Table", font)); lt.NewLine(); string[,] elements = new string[3, 3]; elements[0, 0] = "Pizza"; elements[0, 1] = "Pane"; elements[0, 2] = "Spaghetti"; elements[1, 0] = "1"; elements[1, 1] = "2"; elements[1, 2] = "3"; elements[2, 0] = "4"; elements[2, 1] = "5"; elements[2, 2] = "6"; lt.Add(new LatexTable(elements)); lt.Add(new LatexParagraph(LoremIpsum)); lt.NewLine(); lt.NewLine(); lt.Add(new LatexTextTitle("Table (no borders) Wrapped", font)); lt.Add(new LatexTable(elements, false, true)); lt.Add(new LatexParagraph(LoremIpsum)); lt.NewPage(); lt.Add(new LatexTextTitle("Bullet List", font)); List <string> items = new List <string>(); items.Add("Pizza"); items.Add("Pane"); items.Add("Pasta"); items.Add("Spaghetti"); lt.Add(new LatexList(LatexList.BULLET, items)); lt.Add(new LatexTextTitle("Enumerate List", font)); lt.Add(new LatexList(LatexList.ENUMERATE, items)); lt.Add(new LatexTextTitle("Descriptive List", font)); Dictionary <string, string> desc = new Dictionary <string, string>(); desc.Add("Pizza", LoremIpsum.Substring(0, 175)); desc.Add("Pane", LoremIpsum.Substring(0, 175)); desc.Add("Pasta", LoremIpsum.Substring(0, 175)); desc.Add("Spaghetti", LoremIpsum.Substring(0, 175)); lt.Add(new LatexList(desc)); lt.NewPage(); lt.Add(new LatexTextTitle("Pie Graph", font)); lt.NewLine(); List <LatexGraphValue> datas = new List <LatexGraphValue>(); datas.Add(new LatexGraphValue(10, "Pizza", "red")); datas.Add(new LatexGraphValue(20, "Pane", "green")); datas.Add(new LatexGraphValue(30, "Pasta", "blue")); datas.Add(new LatexGraphValue(40, "Spaghetti", "orange")); LatexPieGraph graph = new LatexPieGraph(datas); lt.Add(graph); lt.Add(new LatexTextTitle("Bar Graph", font)); lt.NewLine(); LatexBarGraph graph2 = new LatexBarGraph(datas); lt.Add(graph2); lt.NewPage(); font.Size = LatexFont.TEXT_Huge; lt.Add(new LatexTextTitle("Coordinates Graph", font)); LatexPlotGraph plotGraph = new LatexPlotGraph(); plotGraph.Title = @"Temperature dependence of CuSO$_4\cdot$5H$_2$O solubility"; plotGraph.XLabel = "Temperature in celsius"; plotGraph.YLabel = "Solubility[g per 100 g water]"; plotGraph.XMin = 0; plotGraph.XMax = 100; plotGraph.YMin = 0; plotGraph.YMax = 100; plotGraph.XTick = new int[] { 0, 20, 40, 60, 80, 100 }; plotGraph.YTick = new int[] { 0, 20, 40, 60, 80, 100, 120 }; plotGraph.LegendPosition = "north west"; plotGraph.YMajorGrids = true; plotGraph.GridStyle = "dashed"; LatexPlot plot = new LatexPlot(); plot.LineColor = "blue"; plot.MarksStyle = "square"; System.Windows.Point[] coordinates = new System.Windows.Point[8]; coordinates[0] = new System.Windows.Point(0, 23.1); coordinates[1] = new System.Windows.Point(10, 27.5); coordinates[2] = new System.Windows.Point(20, 32); coordinates[3] = new System.Windows.Point(30, 37.8); coordinates[4] = new System.Windows.Point(40, 44.6); coordinates[5] = new System.Windows.Point(60, 61.8); coordinates[6] = new System.Windows.Point(80, 83.8); coordinates[7] = new System.Windows.Point(100, 114); plot.Coordinates = coordinates; plot.Legend = @"CuSO$_4\cdot$5H$_2$O"; plotGraph.Plots = new LatexPlot[] { plot }; lt.Add(plotGraph); lt.Add(new LatexTextTitle("Math Graph", font)); LatexPlotGraph plotGraph2 = new LatexPlotGraph(); LatexPlot plot2 = new LatexPlot(); plot2.LineColor = "red"; plot2.Expression = "x^2 - 2*x - 1"; plot2.Legend = "$x^2 - 2*x - 1$"; LatexPlot plot3 = new LatexPlot(); plot3.LineColor = "blue"; plot3.Expression = "x^2 + 2*x + 1"; plot3.Legend = "$x^2 + 2*x + 1$"; plotGraph2.Plots = new LatexPlot[] { plot2, plot3 }; lt.Add(plotGraph2); TextArea.Text = lt.ToString(); }
private void btnStartGeneration_Click(object sender, EventArgs e) { _txt.Clear(); string versionFile = Settings.Default.ResultFolderLocation + Path.DirectorySeparatorChar + "versions.json"; bool isSectionsUpdate = false; string section1FileName = Settings.Default.ResultFolderLocation + Path.DirectorySeparatorChar + "section1.json"; string section2FileName = Settings.Default.ResultFolderLocation + Path.DirectorySeparatorChar + "section2.json"; string section3FileName = Settings.Default.ResultFolderLocation + Path.DirectorySeparatorChar + "section3.json"; dynamic oldVersions = null, siteVersions; if (File.Exists(versionFile)) { string versions = File.ReadAllText(versionFile); oldVersions = JObject.Parse(versions); } string siteVersion = _mySender.Get("https://dbvirtualeducation.com/ielts/api/versions "); siteVersions = JObject.Parse(siteVersion); if (oldVersions == null || oldVersions.section1 == null | oldVersions.section1 != siteVersions.section1) { string section1 = _mySender.Get("https://dbvirtualeducation.com/ielts/api/section1 "); File.WriteAllText(section1FileName, section1); isSectionsUpdate = true; } if (oldVersions == null || oldVersions.section2 == null | oldVersions.section2 != siteVersions.section2) { string section2 = _mySender.Get("https://dbvirtualeducation.com/ielts/api/section2"); File.WriteAllText(section2FileName, section2); isSectionsUpdate = true; } if (oldVersions == null || oldVersions.section3 == null | oldVersions.section3 != siteVersions.section3) { string section3 = _mySender.Get("https://dbvirtualeducation.com/ielts/api/section3"); File.WriteAllText(section3FileName, section3); isSectionsUpdate = true; } if (isSectionsUpdate) { File.WriteAllText(versionFile, siteVersion); } if (!String.IsNullOrEmpty(Settings.Default.LaTexLocation)) { _lt = new Document(Settings.Default.LaTexLocation, Settings.Default.ResultFolderLocation); } LatexPageTitle title = new LatexPageTitle("IELTS Assistant"); if (!String.IsNullOrEmpty(Settings.Default.LaTexLocation)) { _lt.Add(title); } _txt.AppendLine("IELTS Assistant"); GenerateSection("Section 1", section1FileName); GenerateSection("Section 2", section2FileName); GenerateSection("Section 3", section3FileName); File.WriteAllText(Settings.Default.ResultFolderLocation + Path.DirectorySeparatorChar + Settings.Default.ResultFileName + (Settings.Default.IsDictionary ? Settings.Default.DictionaryPrefix : "") + (Settings.Default.IsAnswers ? Settings.Default.AnswerPrefix : "") + (Settings.Default.IsIdeas ? Settings.Default.IdeasPrefix : "") + ".txt", _txt.ToString()); if (!String.IsNullOrEmpty(Settings.Default.LaTexLocation)) { _lt.CreatePdf(Settings.Default.ResultFileName + (Settings.Default.IsDictionary ? Settings.Default.DictionaryPrefix: "") + (Settings.Default.IsAnswers ? Settings.Default.AnswerPrefix : "") + (Settings.Default.IsIdeas ? Settings.Default.IdeasPrefix : "")); } }
private void createtex() { TextArea = new Scintilla(); TextArea.Dock = DockStyle.Fill; TextArea.WrapMode = WrapMode.None; TextArea.IndentationGuides = IndentView.LookBoth; InitNumberMargin(); LatexDocumentMargins margins = new LatexDocumentMargins(0.25, 0.25, 0.75, 0.75); //lt = new LatexDocument.Document(@"C:\Program Files\MiKTeX 2.9\miktex\bin\x64\pdflatex.exe", @"C:\Users\stefa\Desktop\Porudzbine\", margins); lt = new LatexDocument.Document(@"C:\Program Files\MiKTeX 2.9\miktex\bin\x64\pdflatex.exe", @"C:\Users\user\Desktop\Porudzbine\", margins); LatexFont font = new LatexFont(); font.Size = LatexFont.TEXT_Huge; lt.StartCenterAlign(); StringBuilder title_text = new StringBuilder(naslov.Text.TrimEnd()); for (int i = 0; i < title_text.Length; i++) { if (title_text[i] == ' ') { title_text[i] = '-'; } } LatexTextTitle title = new LatexTextTitle(naslov.Text.TrimEnd(), font); lt.Add(title); lt.EndAlign(); font.Size = LatexFont.DEFAULT_FONT; lt.Add(new LatexText(doortype.Text, font)); lt.NewLine(); Bitmap bm = new Bitmap(mainpb.Image); int j = 0; int c = bm.Height; while (c > 840) { Bitmap temp = bm.Clone(new Rectangle(0, 0, 900, 840), bm.PixelFormat); bm = bm.Clone(new Rectangle(0, 840, bm.Width, bm.Height - 840), bm.PixelFormat); temp.Save(@"C:\Users\user\Desktop\Porudzbine\image" + j.ToString() + ".png"); LatexImage itmp = new LatexImage(@"C:\Users\user\Desktop\Porudzbine\image" + j.ToString() + ".png", 0.8); lt.Add(itmp); c = c - 840; j++; lt.NewPage(); } bm.Save(@"C:\Users\user\Desktop\Porudzbine\image" + (j).ToString() + ".png"); //bm.Save(@"C:\Users\stefa\Desktop\Porudzbine\image" + (j).ToString()+".png"); LatexImage img = new LatexImage(@"C:\Users\user\Desktop\Porudzbine\image" + (j).ToString() + ".png", 0.8); //LatexImage img = new LatexImage(@"C:\Users\stefa\Desktop\Porudzbine\image" + (j).ToString() + ".png", 0.8); lt.Add(img); if (allDoors.Count > 5) { lt.NewPage(); } else { lt.NewLine(); lt.NewLine(); lt.NewLine(); } font.Type = LatexFont.TEXT_BOLD; lt.Add(new LatexText("Vratno krilo: ", font)); font.Type = null; lt.Add(new LatexText(krilatb.Text, font)); List <string> tmp = new List <string>(); foreach (string i in krila.Items) { tmp.Add(i); } lt.Add(new LatexList(LatexList.BULLET, tmp)); tmp.Clear(); font.Type = LatexFont.TEXT_BOLD; lt.Add(new LatexText("MDF28mm: ", font)); font.Type = null; lt.Add(new LatexText(mdf28tb.Text, font)); foreach (string i in mdf28.Items) { string o = ""; if (!char.IsWhiteSpace(i[0])) { int p = i.IndexOf('c'); string tmp1 = i.Substring(p + 1); p += tmp1.IndexOf('c'); o = i.Substring(0, p + 3) + " \\quad \\quad" + i.Substring(p + 3); } else { o = " \\quad \\quad \\quad \\quad \\quad \\quad \\quad \\quad \\quad \\quad \\quad \\quad" + i; } tmp.Add(o); } lt.Add(new LatexList(LatexList.BULLET, tmp)); tmp.Clear(); font.Type = LatexFont.TEXT_BOLD; lt.Add(new LatexText("MDF18mm: ", font)); font.Type = null; lt.Add(new LatexText(mdf18tb.Text, font)); foreach (string i in mdf18.Items) { tmp.Add(i); } lt.Add(new LatexList(LatexList.BULLET, tmp)); tmp.Clear(); if (doortype.SelectedIndex == 3) { font.Type = LatexFont.TEXT_BOLD; lt.Add(new LatexText("Hrastove trake: ", font)); font.Type = null; lt.Add(new LatexText(mdf16tb.Text, font)); foreach (string i in mdf16.Items) { tmp.Add(i); } lt.Add(new LatexList(LatexList.BULLET, tmp)); tmp.Clear(); if (mdf22.Items.Count != 0) { font.Type = LatexFont.TEXT_BOLD; lt.Add(new LatexText("MDF28mmStaklo: ", font)); font.Type = null; lt.Add(new LatexText(mdf22tb.Text, font)); foreach (string i in mdf22.Items) { tmp.Add(i); } lt.Add(new LatexList(LatexList.BULLET, tmp)); tmp.Clear(); } } else { font.Type = LatexFont.TEXT_BOLD; lt.Add(new LatexText("MDF16mm: ", font)); font.Type = null; lt.Add(new LatexText(mdf16tb.Text, font)); foreach (string i in mdf16.Items) { tmp.Add(i); } lt.Add(new LatexList(LatexList.BULLET, tmp)); tmp.Clear(); font.Type = LatexFont.TEXT_BOLD; lt.Add(new LatexText("HDF4mm: ", font)); font.Type = null; lt.Add(new LatexText(hdf4.Text, font)); foreach (string i in hdf4.Items) { tmp.Add(i); } lt.Add(new LatexList(LatexList.BULLET, tmp)); tmp.Clear(); if (mdf22.Items.Count != 0) { font.Type = LatexFont.TEXT_BOLD; lt.Add(new LatexText("MDF22mm: ", font)); font.Type = null; lt.Add(new LatexText(mdf22tb.Text, font)); foreach (string i in mdf22.Items) { tmp.Add(i); } lt.Add(new LatexList(LatexList.BULLET, tmp)); tmp.Clear(); } } lt.CreatePdf(title_text.ToString(), true); string[] aux = System.IO.Directory.GetFiles(@"C:\Users\user\Desktop\Porudzbine\", "*.aux"); foreach (string file in aux) { System.IO.File.Delete(file); } string[] tex = System.IO.Directory.GetFiles(@"C:\Users\user\Desktop\Porudzbine\", "*.tex"); foreach (string file in tex) { System.IO.File.Delete(file); } string[] log = System.IO.Directory.GetFiles(@"C:\Users\user\Desktop\Porudzbine\", "*.log"); foreach (string file in log) { System.IO.File.Delete(file); } string[] png = System.IO.Directory.GetFiles(@"C:\Users\user\Desktop\Porudzbine\", "*.png"); foreach (string file in png) { System.IO.File.Delete(file); } /*string[] dirs = System.IO.Directory.GetDirectories(@"C:\Users\user\Desktop\Porudzbine\"); * foreach (string dir in dirs) * { * System.IO.File.Delete(dir); * }*/ }