Автор Гілка: Дисертація, маленькі хитрощі  (Прочитано 1760 раз)

Відсутній Сергій Лисовенко

  • Літератор
  • ******
  • дописів: 1489
  • Карма: +0/-0
Пропоную сюди писати дрібниці, які є офтопом для інших LaTeX тем, але тим не менше божуть бути цікаві здобувачам.

Ось написав маленький скриптик, який збирає статистику дисертації і викидає її на стандартний вихід:
# distributed under the GNU license
# collecting statistics for thesis
fborpl()
{
if [ $1 -gt 10 ] && [ $1 -lt 20 ] || [ ${1: -1} -gt 4 ] \
|| [ ${1: -1} -eq 0 ]
then
echo "$4"
else
if [ ${1: -1} == "1" ]
then
echo "$2"
else
echo "$3"
fi
fi
}

Chapters=$(($(grep '^\\chapter{' *.tex | cat -n | tail -n1 | cut -f1)))
Pages=$(grep pages thesis.log | sed -e 's/.\+(\([0-9]*\).\+/\1/')
Figures=$(($(grep '^\\begin{figure}' *.tex | cat -n | tail -n1 |\
cut -f1)+1))
Tables=$(($(grep '^\\begin{table}' *.tex | cat -n | tail -n1 |\
cut -f1)))
Quotations=$(($(grep '^\\bibitem{' thesis.bbl | cat -n | tail -n1 |\
cut -f1)))
wChapters=$(fborpl $Chapters розділу розділів розділів)
wPages=$(fborpl $Pages сторінці сторінках сторінках)
wTables=$(fborpl $Tables таблицю таблиці таблиць)
wFigures=$(fborpl $Figures рисунок рисунки рисунків)
wQuotations=$(fborpl $Quotations найменування найменування найменувань)
cat <<- EOF
\paragraph{Структура та об'єм дисертації.}
Дисертація складається з вступу, $Chapters $wChapters, висновків та списку
цитованої літератури. Дисертаційна робота викладена на $Pages
$wPages друкованого тексту, включає $Figures $wFigures, $Tables
$wTables.  Список використаних джерел складає $Quotations
$wQuotations.
EOF


Розрахований на те, що розділи, картинки та таблиці, які мають увійти до статистики мають в притул прилягати дсвоїм початком (\chapter,\begin{figure/table}) до початку стрічки (на випадок, якщо елемент не має потрапляти до статистики - передним поставити відступ або втулити його в довільному дозволеному місці).
Додатків в мене нема, але їх в принципі теж додати можна.
Скрипт зроблено з тієї причини, що ручний перерахунок
 1) самовідкладається і забувається зробитись;
 2) автоматизація завжди цікава;
 3) треба ж якось демонструвати корисність Bash.
« Змінено: 2010-06-09 20:22:01 від serg_ik »
Якщо Лінукс написали студенти - нехай вони під ним і навчаються.