Керниган Бриан В., Ритчи Деннис М.
--
"Язык программирования Си"
издание второе, переработанное и дополненное
--
перевод с английского Вик. С. Штаркман
--
1992 год

hk eda9342fd9 update of build links hace 6 años
appendixes 2aad8c8dd7 full text hace 6 años
chapters 2aad8c8dd7 full text hace 6 años
images 2aad8c8dd7 full text hace 6 años
.gitignore 2aad8c8dd7 full text hace 6 años
Kernigan_B.W.,Ritchie_D.M.-Yazyk_programmirovaniya_Si[2nd_ed][1992y]-russian.tex 2aad8c8dd7 full text hace 6 años
README.md eda9342fd9 update of build links hace 6 años
bookknrrus.cls 2aad8c8dd7 full text hace 6 años
build_script 2aad8c8dd7 full text hace 6 años
definitions.tex 2aad8c8dd7 full text hace 6 años
final_tech_pages.tex 2aad8c8dd7 full text hace 6 años
index_referenced_entries.tex 2aad8c8dd7 full text hace 6 años
index_style_and_order.xdy 2aad8c8dd7 full text hace 6 años
title_pages.tex 2aad8c8dd7 full text hace 6 años

README.md

Керниган Бриан В.

Ритчи Деннис М.

Язык программирования Си

издание второе, переработанное и дополненное

перевод с английского Вик. С. Штаркман

под редакцией и с предисловием Вс. С. Штаркмана

1992 год

Оригинал

ed2k       torrent

Готовая сборка

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 укажите номер страницы, на которой размещён список страниц по ключевому слову "рекурсия" и сохраните файл;

    (г) из корневого каталога проекта осуществите повторную сборку командой

    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. Это сделано в связи с тем, что оригинальное представление дерева было сочтено крайне неясным и шрифтозависимым, однако, в своих сборках ничего не мешает вам раскомментировать моноширинное представление дерева и использовать его.

  4. Для отображения основного текста использован шрифт "Adobe Garamond Premier Pro", однако в оригинале использовалась гарнитура "Литературная" (ГОСТ-3489.33-72). Если удастся получить набор всех начертаний гарнитуры "Литературная", этот недостаток будет исправлен.

  5. Не удалось точно установить каким шрифтом в оригинале набраны исходные тексты программ, но вероятнее всего это шрифт ремингтоновских печатных машинок. Принципиально этот шрифт доступен под именем "LTC Remington Typewriter Pro", но так как реализован шрифт с ошибками при описании глифов, использовать его не представляется возможным до исправления ошибок. В связи с этим в данном коммите использована несколько избыточная система замен и подстановки моноширинных шрифтов с уменьшением кернинга. Со временем этот недостаток будет исправлен.

  6. При восстановлении предметного указателя были найдены откровенные ошибки и ряд неясностей, для разрешения которых приходилось обращаться к англоязычному изданию. Кроме того, список ключей в переводе был асимметричен, то есть мог быть ключ "ААА, БББ", но не быть ключа "БББ, ААА", что, если было замечено, то исправлено. Поэтому предметный указатель имеет значительные расхождения с оригиналом, но его полнота и точность не снижены, а наоборот увеличены.

  7. Восстановлена шутка присутствующая в оригинальном англоязычном издании, но утраченная при переводе. Шутка заключается в том, что в предметном указателе (англ. Index) в списке номеров страниц по ключевому слову "рекурсия" (англ. recursion) последним указан номер страницы, где и напечатано ключевое слово "рекурсия" предметного указателя.