Программирование Викиданных/Статья в LaTeX на русском
Факультет компьютерных технологий |
Главы (2021):
Алгоритм работы (для авторов): |
Скопируйте и оформите тексты своих статей в LaTeX на русском языке в проекте wd_book в папке "wd_book/ru".
Сейчас не нужно копировать листинги запросов.
Дополнительное задание: ПетрГУ — написать, перевести или озвучить раздел статьи Википедии о Петрозаводском государственном университете.
Листинги программ
[править]Для красивого представления кода используем пакет lstlisting. См. также документацию в Викиучебнике: b:en:LaTeX/Source Code Listings.
Пример оформления листинга, которого мы будем придерживаться, см. в файле wd_book/ru/intro/listings_about.tex.
Комментарии внутри блока lstlisting можно писать только по-английски. Иначе компилятор LaTeX выдаст ошибку.
В статье Викиверситета перед каждым листингом представлен блок "Используется" с описанием объектов и свойств, используемых в коде. Это достаточно громоздкая конструкция, поэтому пишем по-английски комментарии в листинге вместо этого блока.
Результаты запроса (количество полученных записей) отображаем так:
- если какого-либо вдумчивого последующего анализа нет, а приводится только число полученных записей в какой-то год, то оформляйте результаты с помощью сноски. См. пример листинга (ссылка выше) с командами \protect\footnotemark и \footnotetext.
- пишем в следующем абзаце после листинга. Обязательна ссылка на номер листинга при упоминании листинга или его результатов, например: (листинг 2.1).
Дополнительное задание: WRN — написать рецензию на научную статью для m:Research:Newsletter.
Оформление
[править]Обратите внимание на конструкцию \wdq и \wdqName в примере по ссылке выше. Эти конструкции позволяют сделать компактную ссылку на объект Викиданных. Например, команда \wdqName{city}{515} преобразуется в текст city (Q515) с гиперссылкой на страницу этого объекта в Викиданных.
Для ссылки на свойства Викиданных используйте конструкцию \wdProperty{ID}{Name}. Тогда команда \wdProperty{31}{<<экземпляр>>} преобразуется в текст "«экземпляр» (P31)".
Используйте конструкцию \num{}, например \num{20800} для указания чисел больше 999 или вещественных чисел. Это позволит единообразно решить вопрос, как писать 10 000 или 10000 или 10'000 и 1.23 или 1,23. Подробности по ссылке: Digit grouping — Apostrophe or space as decimal point.
Для ссылки на статьи Русской Википедии из LaTeX используйте команду \ruwiki с двумя параметрами. Например, \ruwiki{vDw}{МиГ}. Эта команда эквивалентна коду \href{https://w.wiki/vDw}{МиГ}. Перечислим параметры команды \ruwiki:
- суффикс короткой ссылки, получаемой с помощью сервиса URL Shortener. В примере выше первый параметр vDw получается из ссылки https://w.wiki/vDw
- название статьи в Русской Википедии, например МиГ.
Будущая работа, упражнения и задачи
[править]- Будущая работа (Викиверситет) → Упражнения (LaTeX)
Раздел статей Викиверситета «Будущая работа» переносим в LaTeX. Соответствующий подраздел главы назовите «Упражнения». Обычно в учебниках главы заканчивают задачами для самостоятельно решения и для закрепления пройденного материала.
- Упражнения (Викиверситет) → Задачи, вопросы и ответы (LaTeX)
Переносим в LaTeX раздел статьи Викиверситета «Упражнения».
Задачи (в Викиверситете в разделе «Упражнения») можно вставлять в любом месте главы в LaTeX, предпочтительно на полях. Если какая-то часть главы ближе по смыслу к задаче, то добавляйте задачу ближе к этому тексту главы.
Также как и всю статью, викифицируйте вопросы и ответы, если в них упоминаются какие-либо термины, о которых есть статьи в Википедии.
В LaTeX мы пишем вопросы к тексту и темам, обсуждаемым в главе. Вопросы и ответы на них должны (1) иметь образовательный характер, (2) сообщать новые нетривиальные сведения или (3) могут быть яркими и интересными по теме главы.
См. пример вопроса в главе Программы и программки в книге (listings_about.tex).
К вопросам прилагаются развёрнутые ответы с иллюстрациями, размещайте их в главе Ответы (answers.tex). В этих двух главах посмотрите то, каким образом связаны между собой вопросы и ответы гиперссылками в итоговом PDF-файле.
Приводить ли в ответах листинги SPARQL-запросов? У вас есть варианты:
- привести и листинг, и короткую ссылку. Особенно, если есть какие-то особенности в коде, которые вы упоминаете.
- привести только короткую гиперссылку на код (используйте URL Shortener). Таким образом, даже с помощью бумажной книги читатель сможет запустить скрипт и получить ответ.
Дополнительное задание: w:Участник:AKA MBG/Ptz — фото объекта на Земле и коллаж города России.
Оформление ссылок на литературу и веб-ресурсы
[править]Для оформления ссылок в LaTeX редактируйте файл wd_references.bib. Всё хорошо, если ссылка появилась, а файл LaTeX продолжает компилироваться без ошибок.
См. пример оформления ссылки на книгу \cite{Krizhanovsky2015} во «Введении», файл intro.tex. Обратите внимание, что библиографическая запись есть как на полях, так и в разделе «Литература» в конце книги.
Если ссылаетесь на книгу или статью больше 10 страниц (и если в них указаны страницы), то укажите в ссылке номер страницы или диапазон страниц. Это позволит быстрее проверить ссылку.
См. примеры оформления библиографических ссылок BibTeX Style Examples.
- В русской версии команда \autocite{} для коротких ссылок на полях
В русской версии LaTeX мы используем вместо \cite{} команду \autocite{}, см. примеры в файле anime.tex. Если ссылка встречается на странице несколько раз, то второй раз на поля будет выводится укороченная ссылка на литературу. В разделе «Литература» будет полная библиографическая ссылка.
Чтобы команда \autocite{} правильно работала, в файле со списком библиографических ссылок wd_references.bib нужно
- в своей библиографической ссылке указать дополнительное поле shorttitle с коротким заголовком, обычно дублирует текст в поле title;
- если автор отсутствует, то в поле автор указать выключение запятой после имени автора: author = {\nopunct}. См. пример в файле wd_references.bib (ссылка выше).
Индексирование ключевых слов в LaTeX
[править]Укажите ключевые слова в своём разделе в соответствующих абзацах текста, чтобы они появились на предпоследней странице «Предметный указатель». Указать тематический подраздел, к которому относится то или иное ключевое слово, чтобы этот подраздел также появился в индексе. Например, если в разделе определено понятие «листинга», относящееся к программированию, то пишите следующую команду рядом с текстом о листинге
\index{Программирование!Определения / Листинг} И рядом текст книги с определением «листинга».
Не забудьте при компиляции выполнить команду построения индекса, см. componavt / wd_book на GitHub.
Теперь в PDF-файле в разделе «Предметный указатель» появятся две такие строчки, где 17 — это гиперссылка на 17-ю страницу с определением «листинга»:
Программирование Определения / Листинг, 17
- 1. Команды SPARQL в индексе
В первую очередь хотелось бы дать читателю индекс интересных команд SPARQL, разбросанных по листингам. Интересными командами я называю команды FILTER, MAX, REPLACE, STR. То есть команды, встречающиеся далеко не в каждом скрипте.
Например, если в скрипте с названием "Листинг 3.6: Численность населения «малых городов»" есть команда MAX, то индекс такой:
\index{SPARQL!MAX!Численность населения «малых городов»}
Восклицательный знак — это разделитель. Пишите команду после первого разделителя, а название скрипта после второго разделителя.
- 2. Типы графиков в индексе
Сгруппируем ссылки на рисунки по типу графика, указанного в первых строчках скрипта. Например, если рисунок называется "Рис. 3.4: Пузырьковая диаграмма по числу побратимов у страны, 2020 год", а в начале скрипта есть строчка "#defaultView:BubbleChart", то пишем такой индекс:
\index{График!BubbleChart!Пузырьковая диаграмма по числу побратимов у страны}
Лучше более краткий вариант:
\index{График!BubbleChart!Число побратимов у страны}
Ссылки на учебный материал по работе с индексом в LaTeX:
- Indian TEX Users Group. Index // On-line Tutorial on LaTeX. 2000. с. 9-13.
- b:en:LaTeX/Indexing ‒ глава об индексировании.