Tutup

Write some Software

Proyek ini menerima 6 penawaran dari para freelancer berbakat dengan harga penawaran rata-rata $185 USD.

Dapatkan penawaran gratis untuk proyek seperti ini
Pemberi kerja bekerja
Anggaran Proyek
$30 - $250 USD
Total Penawaran
6
Deskripsi Proyek

Написати програму, яка аналізуватиме TeX-файл, що містить створені користувачем власні команди (і оголошення (описи), і використання), та розкривати використання цих команд у відповідності з наведеними оголошеннями, за тими ж правилами, за якими це зробив би сам (La)TeX. Програма має обробляти (розкривати) команди користувача, задані за допомогою \def та задані за допомогою \newcommand та \renewcommand, а також середовища користувача, задані за допомогою \newenvironment та \newenvironment.

> >

> > І вхідним(и) файл(ом/ами), і вихідним файлом програми має бути TeX-файл, але вихідний повинен містити лише ті команди, яким не було дано означення користувача (або які були згадані в переліку виключень, див. далі).

> >

> > При проектуванні програми обов’язково врахувати, що команди користувача можуть бути вкладеними, тобто одні команди користувача можуть використовувати інші команди користувача. Можна обмежитися випадком без рекурсії.

> >

> > При проектуванні програми обов’язково врахувати можливість, що у різні моменти часу (у різних частинах документу) одне й те саме ім’я може мати різні означення.

> >

> > При проектуванні програми обов’язково врахувати, що TeX зберігає тексти команд у нерозгорнутому вигляді, розгортаючи вже під час використання, згідно поточних на момент використання означень інших команд.

> >

> > При проектуванні програми обов’язково врахувати, що усі означення користувача за замовчуванням (при відсутності \global) є локальними, тобто після закінчення чергового блоку (фігурних дужок) всі означення, задані всередині нього, завершуються (командам повертається той смисл, який був перед початком цього блоку).

> >

> > Програма повинна вміти підключати файли (виконувати TeX-команду \input).

> >

> > Програма повинна дозволяти (але не вимагати) задавати два переліки виключень: перелік команд користувача, які не треба розкривати (хоча їхні означення й зустрічаються у тексті), та перелік команд користувача, які треба розкривати не згідно означень заданих у тексті, а згідно означень заданих у додатковому файлі. Ці переліки мають записуватися у файли, імена цих файлів вказуватися за допомогою спеціальних ключів у параметрах командного рядка.

> >

> > Програма повинна працювати як фільтр (читати вхідн(ий/і) TeX-файл(и) і створювати вихідний TeX-файл, керування та налаштування опцій здійснюється за допомогою параметрів командного рядка). Додатково слід написати просту програму-оболонку, яка забезпечуватиме інтуїтивно зрозумілий графічний інтерфейс, просту довідку, тощо. При цьому програма-оболонка повинна викликати основну програму (а не дублювати її роботу).

Keahlian yang Diperlukan

Ingin menghasilkan uang?

  • Atur anggaran Anda dan jangka waktunya
  • Uraikan proposal Anda
  • Dapatkan bayaran atas pekerjaan Anda

Pekerjakan para freelancer yang juga menawar di proyek ini

    • Forbes
    • The New York Times
    • Time
    • Wall Street Journal
    • Times Online