Створюйте геометричні фігури за допомогою LaTeX
Відтворюйте текст, таблиці та графіку LaTeX у PNG або SVG за допомогою C++
LaTeX, відомий як система верстки, виділяється як високоповажний інструмент для створення фігур, призначених для публікацій. Його особливості та переваги позиціонують його як оптимальний вибір для таких завдань, і ось чому:
- Високоякісна типографіка: LaTeX забезпечує точне керування шрифтами, інтервалами між символами, розривами рядків і загальним макетом, гарантуючи, що отримані фігури виглядатимуть якісно.
- Математичний набір: в першу чергу розроблена для математичного набору, ця система відмінно підходить для ефективної обробки складних математичних рівнянь і символів.
- LaTeX насамперед працює з векторною графікою, гарантуючи, що ваші фігури зберігають масштабованість без шкоди для якості. Така графіка не залежить від роздільної здатності, що особливо вигідно для наукових або технічних ілюстрацій.
- Узгодженість із документом: оскільки LaTeX — це система підготовки документів, ви можете без особливих зусиль підтримувати єдиний стиль і форматування для всіх малюнків, забезпечуючи цілісність у всьому документі.
Таким чином, LaTeX пропонує надійну основу для створення фігур, забезпечуючи виняткову типографіку, легке написання математичних формул, масштабованість, узгодженість у всьому документі, відтворюваність, контроль версій, інтеграцію з пакетами та можливості автоматизації.
Серед інших функцій рішення Aspose.TeX API містить можливість обрізати та відтворювати будь-який фрагмент LaTeX, що представляє фігуру у форматі PNG або SVG. Нижче ви знайдете фрагмент коду, який демонструє ці операції, а результат зберігається як файл PNG. Більше прикладів коду можна знайти тут.
Для запуску прикладів нам потрібно:
- API Aspose.TeX для C++ - багатофункціональний, потужний і простий у використанні API для обробки та перетворення документів для платформи C++.
- Відкрийте менеджер пакетів NuGet, знайдіть і встановіть Aspose.TeX. Ви також можете використати таку команду з консолі диспетчера пакетів:
Package Manager Console Command
PM> Install-Package Aspose.TeX
Кроки для відтворення фігур LaTeX у SVG C++
Фрагмент коду демонструє, як використовувати API візуалізації фігур Aspose.TeX для створення зображення математичної діаграми. Ось порядок:
- Створіть екземпляр класу SvgFigureRendererOptions .
- Вкажіть властивість Preamble об’єкта параметрів.
- Встановіть коефіцієнт масштабування та колір фону.
- Налаштуйте об’єкт MemoryStream для запису вихідних даних журналу, згенерованих у процесі візуалізації. Призначте цей потік властивості LogStream. Якщо для властивості ShowTerminal встановлено значення true, вихідні дані терміналу відображатимуться на консолі.
- Потім створіть потік файлів, щоб зберегти вихідне зображення.
- Створіть екземпляр класу SvgFigureRenderer і запустіть процес візуалізації, викликавши метод Render().
- Отримайте звіт про помилку та розмір вихідного зображення.
// Create rendering options.
System::SharedPtr<Features::SvgMathRendererOptions> options = System::MakeObject<Features::SvgMathRendererOptions>();
// Specify the preamble.
options->set_Preamble("\usepackage{pict2e}");
// Specify the background color.
options->set_BackgroundColor(System::Drawing::Color:get_White());
// Specify the output stream for the log file.
options.set_LogStream(new System::IO::MemoryStream());
// Specify whether to show the terminal output on the console or not.
options.set_ShowTerminal(true);
// Create the output stream for the formula image.
System::SharedPtr<System::IO::Stream> stream = System::IO::File::Open(
System::IO::Path::Combine(RunExamples::OutputDirectory, u"math-formula.png"), System::IO::FileMode::Create);
// Clearing resources under 'using' statement
System::Details::DisposeGuard<1> __dispose_guard_0({ stream });
try
{
// Run rendering.
System::MakeObject<Features::SvgFigureRenderer>()->Render(
"\setlength{\unitlength}{0.8cm}\r\n" +
"\begin{picture}(6,5)\r\n" +
"\thicklines\r\n" +
"\put(1,0.5){\line(2,1){3}} \put(4,2){\line(-2,1){2}} \put(2,3){\line(-2,-5){1}}\r\n" +
"\put(0.7,0.3){$A$} \put(4.05,1.9){$B$} \put(1.7,2.95){$C$}\r\n" +
"\put(3.1,2.5){$a$} \put(1.3,1.7){$b$} \put(2.5,1.05){$c$}\r\n" +
"\put(0.3,4){$F=\sqrt{s(s-a)(s-b)(s-c)}$} \put(3.5,0.4){$\displaystyle s:=\frac{a+b+c}{2}$}\r\n" +
"\end{picture}",
stream, options);
}
catch(...)
{
__dispose_guard_0.SetCurrentException(std::current_exception());
}
// Show other results.
System::Console::get_Out()->WriteLine(options->get_ErrorReport());
System::Console::get_Out()->WriteLine();
System::Console::get_Out()->WriteLine(System::String(u"Size: ") + size);
LaTeX What is LaTeX File Format
LaTeX — це формат TeX, якщо коротко. Файли LaTeX — це звичайні текстові файли, написані власною мовою розмітки. Вони можуть вимагати включення інших даних, таких як зображення та/або інші файли LaTeX. LaTeX надає вам багато розширених функцій для створення таблиць, додавання графіки, написання математичних рівнянь і формул тощо. Усі ці функції доступні в так званих пакетах.