*Керниган Бриан В.* *Ритчи Деннис М.* **Язык программирования Си** издание второе, переработанное и дополненное *перевод с английского Вик. С. Штаркман* *под редакцией и с предисловием Вс. С. Штаркмана* 1992 год #### Оригинал ed2k       torrent #### Замечания по сборке 1. Сборка осуществляется скриптом `build_script`, который использует `xelatex`. Результат сохраняется в подкаталоге `build`. 2. Перед сборкой убедитесь в наличии всех пакетов, включаемых в файле `definitions.tex` инструкциями `\usepackage` и `\RequirePackage`. 3. Перед сборкой убедитесь в наличии всех используемых шрифтов, перечисленных в файле `definitions.tex` в параметрах инструкций `\set*font` и `\newfontfamily`. 4. Для восстановления шутки, которая присутствует в оригинальном англоязычном издании книги: (а) выполните сборку скриптом `build_script`; (б) в подкаталоге `build` в файле `Kernigan_B.W.,Ritchie_D.M.-Yazyk_programmirovaniya_Si[2nd_ed][1992y]-russian.pdf` в разделе "Предметный указатель" найдите ключевое слово "рекурсия" и запомните номер страницы, где оно находится; (в) в файле `build/Kernigan_B.W.,Ritchie_D.M.-Yazyk_programmirovaniya_Si.ind` найдите строку ``` \item рекурсия ... ``` и в конец строки добавьте последовательность "`, \hyperpage{n}`" (без кавычек), где вместо `n` укажите номер страницы, на которой размещён список страниц по ключевому слову "рекурсия" и сохраните файл; (г) из корневого каталога проекта осуществите повторную сборку командой ```Bash xelatex -interaction=nonstopmode -output-directory build \ 'Kernigan_B.W.,Ritchie_D.M.-Yazyk_programmirovaniya_Si[2nd_ed][1992y]-russian.tex' ``` #### Замечания по соответствию оригиналу 1. Исправлены замеченные опечатки и ошибки. Эти изменения относительно оригинала отмечены в исходном коде комментариями под абзацами, в которых произведены изменения. 2. Восстановлена буква "ё". 3. Схема дерева в разделе 6.5 книги в оригинале была выполнена моноширинным шрифтом. Её оригинальное исполнение присутствует в исходном коде, но закомментировано и заменено схемой, выполненной с использованием пакета [Xy-pic][xypic-homepage]. Это сделано в связи с тем, что оригинальное представление дерева было сочтено крайне неясным и шрифтозависимым, однако, в своих сборках ничего не мешает вам раскомментировать моноширинное представление дерева и использовать его. 4. Для отображения основного текста использован шрифт "Adobe Garamond Premier Pro", однако в оригинале использовалась гарнитура "Литературная" (ГОСТ-3489.33-72). Если удастся получить набор всех начертаний гарнитуры "Литературная", этот недостаток будет исправлен. 5. Не удалось точно установить каким шрифтом в оригинале набраны исходные тексты программ, но вероятнее всего это шрифт ремингтоновских печатных машинок. Принципиально этот шрифт доступен под именем "LTC Remington Typewriter Pro", но так как реализован шрифт с ошибками при описании глифов, использовать его не представляется возможным до исправления ошибок. В связи с этим в данном коммите использована несколько избыточная система замен и подстановки моноширинных шрифтов с уменьшением кернинга. Со временем этот недостаток будет исправлен. 6. При восстановлении предметного указателя были найдены откровенные ошибки и ряд неясностей, для разрешения которых приходилось обращаться к англоязычному изданию. Кроме того, список ключей в переводе был асимметричен, то есть мог быть ключ "ААА, БББ", но не быть ключа "БББ, ААА", что, если было замечено, то исправлено. Поэтому предметный указатель имеет значительные расхождения с оригиналом, но его полнота и точность не снижены, а наоборот увеличены. 7. Восстановлена шутка присутствующая в оригинальном англоязычном издании, но утраченная при переводе. Шутка заключается в том, что в предметном указателе (англ. Index) в списке номеров страниц по ключевому слову "рекурсия" (англ. recursion) последним указан номер страницы, где и напечатано ключевое слово "рекурсия" предметного указателя. [xypic-homepage]:http://tug.org/applications/Xy-pic/Xy-pic.html