Перейти до основного вмісту

LaTeX

LaTeX

LaTeX — це потужна мова розмітки документів, що забезпечує професійну типографіку, неперевершену підтримку математичних формул, чітку структуризацію документів, автоматичну нумерацію та перехресні посилання, ефективне керування бібліографією та широкі можливості розширення завдяки пакетам. Хоча LaTeX вимагає вивчення команд, він є ідеальним інструментом для створення високоякісних наукових, технічних та інших документів.

Встановлення на Ubuntu

Для встановлення LaTeX на Ubuntu можна використати такі команди:


sudo apt update
sudo apt install texlive-full

Варто враховувати, що повна установка займе більше 6Gb і певний час. Альтернативою є встановлення базової версії з подальшим додаванням необхідних пакетів


sudo apt update
sudo apt install texlive-latex-base

Якщо в LaTeX-документах передбачається використання програмного коду, то для його підсвітки можна використовувати minted. Підсвічування в minted працює не через сам LaTeX, а через зовнішній інструмент Pygments. Тобто minted передає фрагменти коду Pygments через команду -shell-escape, і той повертає красиво підсвічений LaTeX-код.

Для цього потрібно виконати команду:


sudo apt install python3-pygments

Для роботи з українською мовою потрібно додати:


sudo apt install texlive-lang-cyrillic

Налаштування VS Code

Для роботи з LaTeX в VS Code можна використати розширення LaTeX Workshop (вілкрити пошук розширень можна за допомогою комбінації клавіш Ctrl+Shift+X).

Для автоматичного перебудовування pdf-файлів після збереження файлів з LaTeX-кодом (Ctrl+S) можна зробити наступне:

  1. В поточному проєкті створити директорію .vscode та додати в неї файл з таким кодом
    
    {
      "latex-workshop.latex.recipes": [
        {
          "name": "latexmk (pdf)",
          "tools": ["latexmk"]
        }
      ],
      "latex-workshop.latex.tools": [
        {
          "name": "latexmk",
          "command": "latexmk",
          "args": [
            "-pdf",
            "-shell-escape",
            "-interaction=nonstopmode",
            "-synctex=1",
            "%DOC%"
          ]
        }
      ],
      "latex-workshop.latex.autoBuild.run": "onSave",
      "latex-workshop.view.pdf.viewer": "tab",
      "latex-workshop.latex.clean.fileTypes": [
        "*.aux",
        "*.log",
        "*.out",
        "*.toc",
        "*.synctex.gz",
        "*.fdb_latexmk",
        "*.fls"
      ]
    }
    
  2. Відкрити pdf для перегляду, натиснувши Ctrl+Alt+V

Коментарі

Популярні публікації

Дамп бази даних Postgresql локально

Що потрібно встановити локально (Ubuntu) Встанови клієнтські утиліти PostgreSQL: pg_dump , psql , pg_restore . sudo apt update sudo apt install postgresql-client Кроки міграції Ідея: не зберігати дамп на серверах. Зробити дамп з віддаленого сервера на свій локальний ПК, потім передати його на новий сервер і там відновити. 1) Створення дампу з віддаленого сервера локально pg_dump -h OLD_SERVER_IP -U OLD_USER -Fc -d OLD_DB -f dump_file.dump Пояснення ключів: -h (хост), -U (користувач), -Fc (custom format), -d (БД), -f (вихідний файл локально). 1.1) Варіант з розбиттям на частини (якщо треба) pg_dump -h OLD_SERVER_IP -U OLD_USER -Fc -d OLD_DB | split -b 10G - dump_file.dump.part_ Це створить локально файли типу dump_file.dump.part_aa , dump_file.dump.part_ab тощо. 2) Передача дампу на новий сервер Один файл: scp dump_file.dump NEW_USER@NEW_SERVER_IP:/tmp/ Або частинами: scp dump_file.dump.part_* NEW_USER@NEW_SERVER_IP:/tmp/ 3) Збирання файл...

Основи Next.js

Що таке Next.js? Next.js — це прогресивний фреймворк для розробки веб-застосунків на основі React. Він розширює можливості React, додаючи готову інфраструктуру для Server-Side Rendering (SSR), генерації статичних сторінок, маршрутизації через файлову систему, а також можливість створювати backend-ендпоінти прямо в проєкті. Чому він став популярним? Next.js швидко здобув популярність завдяки тому, що пропонує: SEO-дружні сторінки завдяки SSR / SSG; швидкий перший рендер (First Page Load); просту маршрутизацію без налаштування; розгортання в один клік через Vercel; вбудовану оптимізацію зображень та продуктивності. Чим відрізняється від класичного React У класичному React ми отримуємо лише клієнтську бібліотеку для побудови UI-компонентів. Усе інше (SSR, маршрути, API) треба налаштовувати вручну або через сторонні бібліотеки (наприклад, React Router, Redux, Express, etc.). Next.js — це уже повноцінний фреймворк. Він одразу має: серверний рендеринг...

ООП у TypeScript

Короткий вступ TypeScript додає статичну типізацію поверх JavaScript і підтримує класичні концепти ООП: класи , успадкування , інтерфейси , інкапсуляцію , поліморфізм та абстракції . Нижче — практичні приклади та пояснення. Класи — декларація, конструктор, властивості та методи class Person { public name: string; private age: number; protected email?: string; // необов’язкове static species = 'Homo sapiens'; constructor(name: string, age: number, email?: string) { this.name = name; this.age = age; this.email = email; } public greet(): string { return `Hi, I'm ${this.name}.`; } private getBirthYear(currentYear: number): number { return currentYear - this.age; } } const p = new Person('Ivan', 30, 'ivan@example.com'); console.log(p.greet()); // console.log(p.age); // помилка: 'age' приватне console.log(Person.species); Успадкування і перевизначення (extends, super) class Employee extends Person { ...

Створення проєкту на TypeScript, модулі

Крок 1. Ініціалізація проєкту Спочатку створимо нову теку та ініціалізуємо Node.js-проєкт за допомогою npm : mkdir my-typescript-app cd my-typescript-app npm init -y Крок 2. Встановлення TypeScript Додаємо TypeScript як dev-залежність: npm install --save-dev typescript ts-node @types/node - typescript — компілятор TypeScript - ts-node — дозволяє запускати TS-файли без попередньої компіляції - @types/node — типи для стандартних Node.js API Крок 3. Створення файлу tsconfig.json Ініціалізуємо конфігурацію TypeScript: npx tsc --init Приклад файлу tsconfig.json { "compilerOptions": { "target": "ES2020", // Версія JS у вихідному коді "module": "CommonJS", // Система модулів (для Node.js) "rootDir": "src", // Вхідна папка з TypeScript-кодом "outDir": "dist", // Куди компілюється код JS "str...

Інструменти для роботи з Node.js

Що таке npm? npm (Node Package Manager) — це офіційний пакетний менеджер для Node.js . Він дозволяє: Встановлювати сторонні бібліотеки та фреймворки Керувати залежностями проєкту Запускати скрипти (команди) через package.json Приклад ініціалізації проєкту з npm npm init -y Файл package.json (скорочений приклад) { "name": "my-project", "version": "1.0.0", "scripts": { "start": "ts-node src/index.ts", "build": "tsc" }, "dependencies": { "express": "^4.18.0" }, "devDependencies": { "typescript": "^5.0.0", "ts-node": "^10.0.0" } } Що таке tsconfig.json? tsconfig.json — це файл конфігурації для компілятора TypeScript, який визначає, як слід компілювати код. Приклад файлу tsconfig.json { "compilerOptions": { "target": "ES2020...