LINUX.ORG.RU

LaTeX и документирование библиотек

 , ,


0

0

Товарищи, подскажите, пожалуйста. Может есть в природе пакеты для Латеха (Doxygen не интересует) специально для документирования библиотек, т.е. констант, переменных, функций и т.д.? Имеется в виду стандартная форма документирования типа:

прототип функции(аргумент1, аргумент2)
аргумент1 - описание
аргумент2 - описание
описание функции
возвращаемые значения
Вот в Texinfo это можно организовать, но он потом не хочет генерить pdf на русском, и как это лечить - я хз. Но это другая история.



Последнее исправление: klaks (всего исправлений: 2)

Ответ на: комментарий от klaks

It can help you in three ways:

It can generate an on-line documentation browser (in HTML) and/or an off-line reference manual (in $\mbox{\LaTeX}$) from a set of documented source files. There is also support for generating output in RTF (MS-Word), PostScript, hyperlinked PDF, compressed HTML, and Unix man pages. The documentation is extracted directly from the sources, which makes it much easier to keep the documentation consistent with the source code.

You can configure doxygen to extract the code structure from undocumented source files. This is very useful to quickly find your way in large source distributions. You can also visualize the relations between the various elements by means of include dependency graphs, inheritance diagrams, and collaboration diagrams, which are all generated automatically.

You can also use doxygen for creating normal documentation (as I did for this manual).

А что не так-то?

Rakot ★★
()
Ответ на: комментарий от Rakot

Могу ли я расценивать это как отрицательный ответ на вопрос в первом посте? Пишу в Латехе руками, генераторы не использую, ибо вывод их будет трудно прикрутить способом, отличным от их стандартного. Вот как мне сделать с Doxygen'ом, чтобы в Латехе писался большой кусок текста и только в отдельных главах (необязательно идущих последовательно) были описания отдельных сущностей библиотеки, причем не всех? Или там на каждую функцию и константу генерится свой tex-файл, который я могу указать в \input?

klaks
() автор топика

Зачем вам такого рода документация на русском? Я вот недавно с похожей проблемой мучался, но у меня книжка :)

buddhist ★★★★★
()
Ответ на: комментарий от klaks

Так автоматизация это и есть путь джедая. Кстати думаю Evgueni поможет с ответом на ваш вопрос

pylin ★★★★★
()
Ответ на: комментарий от klaks

Вот как мне сделать с Doxygen'ом, чтобы в Латехе писался большой кусок текста и только в отдельных главах (необязательно идущих последовательно) были описания отдельных сущностей библиотеки, причем не всех?

Посмотри в сторону Sphinx. Он как раз рассчитан на написание нормальной документации и позволяет вставлять документацию из сорцов. Генератор LaTeX'овских файлов в комплекте.

fat_angel ★★★★★
()
Ответ на: комментарий от buddhist

Ну как зачем... Мануал для пользователя. Просто хочу сделать структуру документа такой, как задумал, а не такой, как мне сгенерит сторонняя тулза. Неужели нет пакета для такой элементарной задачи?

klaks
() автор топика
Ответ на: комментарий от klaks

Неужели нет пакета для такой элементарной задачи?

Коли задача элементарная, зачем для нее пакет?

А вообще, я советую сначала сформулировать по-человечески ТЗ, потому как из текста темы ничего не понятно. Просто намеки на окружение description — и все!

И вообще, за то время, что эта тема здесь провисела, можно было бы свой пакет написать!

Eddy_Em ☆☆☆☆☆
()
Последнее исправление: Eddy_Em (всего исправлений: 1)
Ответ на: комментарий от Evgueni

О! Спасибо, Евгений. Я как раз и имел в виду, что мне нужно название пакета :) Гляну, что они позволяют. Чем мне Texinfo понравился, так это его заточенность под программные мануалы. Там тебе и @defun для определения не строго типизированных функций, и @deftypefun для строго типизированных, и @var для упоминания в тексте метапеременных, и еще куча других вкусностей... Ждем поддержки русского. Кстати, вот показательный пример. На Texinfo написал достаточно большой кусок документации за несколько часов. В Латехе только знаю как абзацы писать, все остановилось на форматировании описаний функций и констант.

klaks
() автор топика
Ответ на: комментарий от Eddy_Em

Не элементарной, а распространенной, имхо, задачи. Просто не так выразил мысль. А что не так в первом посте? Мне это и нужно. Какой-то пакет, имеющий уже реализованные команды для описания констант, переменных, типов данных, битовых масок, функций, классов, чтобы у всего этого было какое-то общее не очень режущее глаз оформление, нужные отступы, курсив, где надо и т.д. Ну то есть если я пишу:


\defproto{int}{lib_func}{(int param1, int param2)}
\defparam{param1}{Описание параметра 1.}
\begin{funcdescr}
Описание функции
\end{funcdescr}
\begin{return}
Возвращаемые значения.
\end{return}
[\code]
в pdf вставляется хорошо отформатированный текст описания функции. Сам бы написал, но изучать Латех настолько глубоко пока времени нет.

klaks
() автор топика
Ответ на: комментарий от Evgueni

Хм, не сразу понял, что это Вы автор мануала Латех Линукс и русский стиль :) Только пару дней назад распечатал его, чтобы в метро почитать. Спасибо за очень хороший и доступный манул!

klaks
() автор топика
Ответ на: комментарий от klaks

И что здесь сложного? Пакет xcolor поможет сделать цветной вывод; listings оформит красиво куски кода; всякие minipage'ы, parbox'ы, hangindent'ы — сделать красиво оформленные блоки текста. И т.д., и т.п.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от klaks

Есть более продвинутая версия: http://ctan.org/tex-archive/info/russian/Computer_Typesetting_Using_LaTeX — там есть специальная глава, посвящённая оформлению кода.

listings там описан, а minted нет. Проблема listings состоит, что он не умеет обрабатывать unicode за пределом латиницы.

texinfo вещь приятная (я немного поучаствовал в переводе документации к этому пакету), но сейчас совершенно не развивается (это включает в себя и меееедленную скорость исправления ошибок).

Evgueni ★★★★★
()
Последнее исправление: Evgueni (всего исправлений: 1)
Ответ на: комментарий от Evgueni

listings там описан, а minted нет. Проблема listings состоит, что он не умеет обрабатывать unicode за пределом латиницы.

умеет же уже, с extendedchars=\true или если \lstinput{filename}

qnikst ★★★★★
()
Ответ на: комментарий от qnikst

Давно? В смысле в TeX Live 2011 работает? Комментарии не сбиваются? Там же вроде бы была проблема, что обработка идёт побайтово.

Раньше я это с помощью escapechar в комментариях обходил.

Evgueni ★★★★★
()
Последнее исправление: Evgueni (всего исправлений: 1)
Ответ на: комментарий от Evgueni

Давно? В смысле в TeX Live 2011 работает? Комментарии не сбиваются? Там же вроде бы была проблема, что обработка идёт побайтово.

насколько давно сказать не могу, но сейчас работает с texlive-2011, во всяком случае на моих примерах.

qnikst ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.