Программирование Викиданных/Статья в LaTeX на английском

Для английской версии мы будем использовать шаблон fmarotta / kaobook. Документация и справка есть в файле kaobook/examples/documentation/main.pdf.

Факультет компьютерных технологий
Иконка программы Pywikibot

Программирование Викиданных

Главы (2021):

Алгоритм работы (для авторов):

Авторство

править

Если вы хотите, чтобы в этой версии книги среди авторов было ваше имя, то откройте файл проекта ./en/mainka.tex и напишите свои имя и фамилию в строке, начинающейся со слов "\author" в алфавитном порядке, но после фамилии "Крижановский". Преподаватель идёт первый в списке. Имя нужно ввести два раза.

Во введении будет указано, что в книге использованы материалы, разработанные вместе со студентами ПетрГУ в рамках курса Интернет-математика.


Компиляция проекта

править

Для компиляции PDF-файла запустите следующие команды:

cd wd_book/en
pdflatex mainka # Compile tutorial 
makeindex mainka # Compile index
biber mainka # Compile bibliography
makeglossaries mainka # Compile glossary
pdflatex mainka # Compile tutorial again
pdflatex mainka # Compile tutorial again 

Ваш рабочий файл

править

Найдите (или создайте) в папке проекта wd_book/en/chapters свой файл. Он называется также, как и исследуемый вами объект на английском языке (файл называется также, как в русской версии LaTeX).

Название главы и фоновая иллюстрация

править
Название главы и метка к ней
  1. В своём файле в строке \chapter{Название главы} напишите название своей главы. Для этого переведите на английский язык название своей главы из русской версии учебника.
  2. В третьей строке (\labch{метка главы}) вместо «метка главы» укажите метку для ссылок на эту главу. Можете использовать название своего объекта на английском языке.
Фоновая иллюстрация к заголовку (оформление ссылок на источник иллюстрации)

Выберите иллюстрацию, которая наиболее полно раскрывает ваш внутренний мир и при этом связана с по смыслу с текстом главы. Главное требование при выборе иллюстрации — это открытая лицензия. Итоговый учебник будет распространяться по открытой лицензии Creative Commons Attribution, поэтому мы не будем включать в него копирайтные иллюстрации.

Иллюстрирование заголовка главы с помощью фотографии или рисунка с открытой лицензией:

  • Выберите иллюстрацию для заголовка на Викискладе, например, на странице Featured pictures.
  • Сохраните файл с иллюстрацией в папку wd_book/en/graphics/chapter/intro (вместо intro выберите свою папку).
  • В первой строчке своего файла LaTeX укажите загрузку фотографии так (вместо intro укажите свою папку):
\setchapterimage[6cm]{chapter/intro/Petrozavodsk-University.jpg}

  • В конце названия главы укажите символ сноски с помощью команды \protect\footnotemark, например, так:
\chapter{Introduction\protect\footnotemark}
  • С помощью команды \footnotetext укажите подпись к этой иллюстрации. Подпись в виде примечания внизу страницы будет содержать:
  1. "Background image: "
  2. название иллюстрации, точка;
  3. Wikimedia Commons / имя автора (в скобках указана лицензия, если это СС BY-SA, если более открытая, то не указываем), например:
Wikimedia Commons / A. Savin (CC BY-SA)
  • Если другой сайт, например, DeviantArt, то так:
DeviantArt / Tyson Tan (CC BY-SA)

С имени автора в обоих случаях указываем ссылку на страницу с изображением, откуда оно было взято.


Пример оформления заголовка с иллюстрацией см. в файле wd_book/en/chapter/introduction.tex.

Введение (аннотация) для главы

править
  1. Переводите на английский язык аннотацию из русской версии учебника.
  2. Добавьте её в начало своего файла.
  3. Скомпилируйте LaTeX. Убедитесь, что файл компилируется без ошибок и мы получаем PDF-файл с требуемым содержимым.

Листинги программ

править

Для красивого представления кода используем пакет lstlisting. См. также документацию в Викиучебнике: b:en:LaTeX/Source Code Listings.

Пример оформления листинга, которого мы будем придерживаться, см. в файле wd_book/en/chapter/listings_about.tex.

Заголовок SPARQL-скрипта (caption) состоит из трёх частей (см. тот же файл listings_about.tex):

caption={List of cities\\\hspace{\textwidth}            % 1. название скрипта
    The result contains \num{20 800} cities in 2017,    % 2. результаты выполнения скрипта
    \num{9 260} cities in 2020.\\\hspace{\textwidth}
    SPARQL query: \href{https://w.wiki/ktn}{w.wiki/ktn} % 3. ссылка на скрипт для запуска онлайн
    },

Обратите внимание на конструкцию \\\hspace{\textwidth} для переноса строки второй и третьей части.

Оформление

править

Используйте команды \wdq и \wdqName для компактных ссылок на объект Викиданных.

Для ссылки на свойства Викиданных используйте конструкцию \wdProperty{ID}{Name}. Тогда команда \wdProperty{31}{instance of} преобразуется в текст "instance of (P31)".

Используйте конструкцию \num{}, например \num{20800} для указания чисел больше 999 или вещественных чисел. Это позволит единообразно решить вопрос, как писать 10 000 или 10000 или 10'000 и 1.23 или 1,23. Подробности по ссылке: Digit grouping — Apostrophe or space as decimal point.

Для ссылки на статьи Английской Википедии из LaTeX используйте конструкцию \Wikiref, например, \Wikiref{Moscow}.

Для сдвига комментария на полях в строчках, а не в пунктах или в сантиметрах, используйте следующую конструкцию (только в английской версии):

\sidenote[][*-1]{Text of the sidenote.}

Целое число после звёздочки указывает сдвиг в строчках.

Тексты и иллюстрации

править
  1. Добавьте свои иллюстрации в папку wd_book/en/graphics/chapter/intro (вместо intro выберите свою папку).
  2. Добавьте иллюстрации в свою главу.
  3. Скопируйте и оформите тексты своих статей в LaTeX на английском языке.
  4. Поставьте ссылки из текста на иллюстрации, листинги, таблицы (если они есть).

Дополнительное задание: wordlist — написать несколько словарных статей в Русском Викисловаре.

Будущая работа, упражнения и задачи

править
Future work (Wikiversity) → Exercises (LaTeX)

Раздел статей Викиверситета "Future work" переносим в LaTeX. Соответствующий подраздел главы назовите "Exercises". Обычно в учебниках главы заканчивают задачами для самостоятельно решения и для закрепления пройденного материала.

Tasks (Wikiversity) → Tasks, questions and and answers (LaTeX)
 
Рис. 1. Страница с вопросом и ссылкой на страницу с ответом. См. файл listings_about.tex. Метка в начале вопроса на полях \label{question:short-link-to-SPARQL} состоит из двух частей: "question" и после двоеточия краткая суть вопроса в имени метки.
Ссылка на ответ состоит из двух частей: на сам ответ \ref и на страницу с ответом \pageref.
 
Рис. 2. Страница с ответами и обратной ссылкой на страницу с вопросом. См. файл answers.tex. Глава с ответами содержит подразделы так, что вопросы из одной главы находятся в одном подразделе.
Повторите вопрос в блоке \begin{exercise} ... \end{exercise}. В начале этого блока поставьте метку, начинающуюся с "answer:", например, \label{answer:short-link-to-SPARQL}. Именно на эту метку нужно будет ссылаться из вопроса.
После этого блока напишите ответ.
После ответа поставьте обратную ссылку, например \pageref{question:short-link-to-SPARQL}, чтобы можно было вернуться к тому месту в книге, где был задан вопрос.

Переносим в LaTeX раздел статьи Викиверситета "Tasks".

Задачи (в Викиверситете в разделе "Tasks") можно вставлять в любом месте главы в LaTeX, предпочтительно на полях. Если какая-то часть главы ближе по смыслу к задаче, то добавляйте задачу ближе к этому тексту главы.

Также как и всю статью, викифицируйте вопросы и ответы, если в них упоминаются какие-либо термины, о которых есть статьи в Википедии.

В LaTeX мы пишем вопросы к тексту и темам, обсуждаемым в главе. Вопросы и ответы на них должны (1) иметь образовательный характер, (2) сообщать новые нетривиальные сведения или (3) могут быть яркими и интересными по теме главы.

См. пример вопроса на рис. 1 и ответ на рис. 2.

К вопросам прилагаются развёрнутые ответы с иллюстрациями, размещайте их в главе "Answers". Посмотрите пример в LaTeX (ссылки в подписи к обоим рисункам). Посмотрите, каким образом связаны между собой вопросы и ответы гиперссылками в итоговом PDF-файле.

Приводить ли в ответах листинги SPARQL-запросов? У вас есть варианты:

  1. привести и листинг, и короткую ссылку. Особенно, если есть какие-то особенности в коде, которые вы упоминаете.
  2. привести только короткую гиперссылку на код (используйте URL Shortener). Таким образом, даже с помощью бумажной книги читатель сможет запустить скрипт и получить ответ.

Оформление ссылок на литературу и веб-ресурсы

править

Для оформления ссылок в LaTeX редактируйте файл main.bib. Всё хорошо, если ссылка появилась, а файл LaTeX продолжает компилироваться без ошибок.

Если ссылаетесь на книгу или статью больше 10 страниц (и если в них указаны страницы), то укажите в ссылке номер страницы или диапазон страниц. Это позволит быстрее проверить ссылку.

См. примеры оформления библиографических ссылок BibTeX Style Examples.

Индексирование ключевых слов в LaTeX

править

Индексирование выполняется аналогичным способом, как и в русской версии LaTeX, см. Статья в LaTeX на русском#Индексирование.

Только вместо «Предметный указатель» в конце PDF-файла будет "Alphabetical Index". И по сравнению с русской версией будет другая команда для компиляции индекса, см. componavt / wd_book на GitHub.

Также особым и вполне определённым образом формируем индекс команд и типов графиков, см. Статья в LaTeX на русском#Индексирование.