Permalink
Switch branches/tags
Nothing to show
Find file
Fetching contributors…
Cannot retrieve contributors at this time
270 lines (228 sloc) 10.1 KB
\documentclass[oneside,openany]{book}
%\overfullrule=4bp
\usepackage{url}
\newcommand{\pclURL}[2]{\href{#1}{#2}\footnote{\href{#1}{#1.}}}
\usepackage[utf8]{inputenc}
\usepackage[T2A]{fontenc}
\usepackage[russian]{babel}
\usepackage{fancyvrb}
\usepackage{color}
\usepackage{stmaryrd}
\usepackage{tabularx,mdwtab}
%\usepackage{needspace}
\usepackage{indentfirst}
\usepackage{longtable,citehack,enumerate}
\usepackage{marginnote}
\usepackage{array}
\usepackage{ifmtarg}
\usepackage{centernot}
\usepackage{empheq}
\usepackage{needspace}
\usepackage{colonequals}
\usepackage[nottoc]{tocbibind}
\usepackage{emptypage}
\usepackage{verbatim}
%\usepackage[unicode,colorlinks=true]{hyperref}
\usepackage[unicode,]{hyperref}
%\usepackage{hyperref}
%\definecolor{pfpcolorint}{rgb}{0,0.4,0}
%\definecolor{pfpcolorext}{rgb}{0,0,0.6}
%\definecolor{pfpcolorint}{gray}{0.9}
%\definecolor{pfpcolorext}{gray}{0.9}
\hypersetup{%colorlinks,
% linkcolor=pfpcolorint,
% citecolor=pfpcolorint,
% filecolor=pfpcolorext,
% urlcolor=pfpcolorext,
bookmarksopen,bookmarksopenlevel=0,
pdffitwindow,
colorlinks=false,
pdfborder={0 0 0},
% pdfsubject={},
% pdfkeywords={}
pdftitle={Практичный Common Lisp}
}
\usepackage{epigraph}
\beforeepigraphskip 0pt plus 1fill
% 70х100/16 -> 170mmх240mm
\usepackage[papersize={160mm,220mm},asymmetric,% bindingoffset=5mm,
hmargin={1cm,1cm},vmargin={1cm,1cm},includehead,ignorefoot,heightrounded,headsep=12bp,headheight=12.5bp,footnotesep=10bp plus2bp minus2bp]{geometry}
% headers & footers
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhead{}
\fancyhead[RE]{\nouppercase{\rightmark{}}}
\fancyhead[LO]{\nouppercase{\leftmark{}}}
\fancyhead[LE,RO]{\thepage{}}
\fancyfoot{}
\usepackage{graphicx}
\usepackage[round]{natbib}
\bibliographystyle{plainnat}
\renewcommand{\cite}{\citep} % ???? citep*
\newcommand{\citeterse}{\citep}
\newcommand{\citeyr}[1]{(\citeyear{#1})}
\newcommand{\citeyropen}[1]{\citeyear{#1}}
\newcommand{\longcite}[1]{\citeauthor{#1} \citeyearpar{#1}}
\newcommand{\fulllongcite}[1]{\citeauthor*{#1} \citeyearpar{#1}}
\newcommand{\citeopen}[1]{\citealp{#1}} % citealp*
\newcommand{\citeopenterse}[1]{\citealp{#1}}
\usepackage{bold-extra}
\usepackage{listings}
\definecolor{listingcomment}{gray}{0.3}
\lstset{%
language=Lisp,
basicstyle=\footnotesize\upshape\ttfamily,
keywordstyle=\color{black},
showtabs=false,
showspaces=false,
showstringspaces=false,% OK?
tabsize=2,
commentstyle=\color{listingcomment},
extendedchars=\true{},
%mathescape=\true{},% allows to use math symbols in listings - may be dangerous
basewidth={.5em,.5em},% columns=fullflexible
xleftmargin=.943em, morekeywords={IF, QUOTE, EQ, EQL, EQUAL, EQUALP, NIL, T, FORMAT, if,
LOAD, DOLIST, PRINT, LIST, DEFUN, DEFMACRO, DO ACONS ADJOIN ADJUST-ARRAY AND APPEND
APPLY AREF ASH ASINH ASSOC ASSOC-IF ASSOC-IF-NOT ATAN ATANH BROADCAST-STREAM
BUILD-INDEX BYTE CADR CALL-ARGUMENTS-LIMIT CALL-NEXT-METHOD CAR CASE CATCH CDR CEILING
CERROR CHAR CHAR= CHARACTER CHAR-CODE CHAR-EQUAL CLASS-OF CLOSE CL-PPCRE CLRHASH
CL-USER CODE-CHAR COMPILE COMPILE-FILE COMPLEMENT CONCATENATE CONCATENATED-STREAM COND
CONDITION CONS CONTINUE CONTROL-ERROR COPY-LIST COPY-SEQ COPY-TREE COUNT DEBUG DECF
DECLARE *DEFAULT-PATHNAME-DEFAULTS* DEFCLASS DEFCONSTANT DEFGENERIC DEFINE-CONDITION
DEFINE-METHOD-COMBINATION DEFINE-SETF-EXPANDER DEFINE-SYMBOL-MACRO DEFMACRO DEFMETHOD
DEFPACKAGE DEFPARAMETER DEFSTRUCT DEFUN DEFVAR DELETE DELETE-DUPLICATES DELETE-FILE
DELETE-IF-NOT DESTRUCTURING-BIND DIRECTORY DIRECTORY-NAMESTRING DISASSEMBLE DO*
DOCUMENTATION DOLIST DOTIMES ECASE ECHO-STREAM ELT ENOUGH-NAMESTRING
ENSURE-DIRECTORIES-EXIST EQ EQL EQUAL EQUALP ERROR EVAL EVAL-WHEN EVENP EVERY EXP FAIL
*FEATURES* FILE-AUTHOR FILE-ERROR file-exists-p FILE-LENGTH FILE-NAMESTRING
FILE-POSITION FILE-WRITE-DATE FILL FIND FIND-CLASS FIND-IF FIND-IF-NOT FIND-METHOD
FIND-PACKAGE FIND-RESTART FIND-SYMBOL FIRST FIXNUM FLET FLOOR FORCE-OUTPUT FORMAT
FRESH-LINE FUNCALL FUNCTION GENSYM GET GETF GETHASH GET-INTERNAL-REAL-TIME
GET-INTERNAL-RUN-TIME GET-OUTPUT-STREAM-STRING GET-PROPERTIES GET-UNIVERSAL-TIME GO
GREATERP-OR-EQUALP HANDLER-BIND HANDLER-CASE IF IGNORE-ERRORS INCF INITIALIZE-INSTANCE
IN-PACKAGE INPUT INTEGER INTERN INTERNAL-TIME-UNITS-PER-SECOND INTERSECTION
INVOKE-RESTART KEYWORD LABELS LAMBDA LENGTH LESSP-OR-EQUALP LET LET* LIST LOAD
LOAD-TIME-VALUE LOCALLY LOG LOGAND LOGBITP LOGIOR LOOP LOOP-FINISH MACROEXPAND
MACROEXPAND-1 MACROLET MAKE-ARRAY MAKE-BROADCAST-STREAM MAKE-CONCATENATED-STREAM
MAKE-CONDITION MAKE-ECHO-STREAM MAKE-HASH-TABLE MAKE-INSTANCE MAKE-PATHNAME
MAKE-STRING-INPUT-STREAM MAKE-STRING-OUTPUT-STREAM MAP MAPC MAPCAN MAPCAR MAPCON
MAPHASH MAP-INTO MAPL MAPLIST MAX MEMBER-IF-NOT MERGE MERGE-PATHNAMES MIN MISMATCH MOD
MUFFLE-WARNING MULTIPLE-VALUE-BIND MULTIPLE-VALUE-CALL MULTIPLE-VALUE-LIST
MULTIPLE-VALUE-PROG1 MULTIPROCESSING NAMESTRING NCONC NOT NOTANY NOTEVERY NOT-GREATERP
NREVERSE NSTRING-UPCASE NSUBST NSUBST-IF-NOT NSUBSTITUTE NTH NTHCDR NULL NUNION ODDP
OPEN OPTIMIZE OR *PACKAGE* PAIRLIS PARSE-INTEGER PATHNAME PATHNAME-DEVICE
PATHNAME-DIRECTORY PATHNAME-HOST PATHNAME-TYPE PATHNAME-VERSION PI PLUSP POP POSITION
PPRINT PRIN1 PRINC PRINC-TO-STRING PRINT PRINT-OBJECT *PRINT-READABLY*
PRINT-UNREADABLE-OBJECT PROBE-DIRECTORY PROBE-FILE PROG1 PROG2 PROGN PROGV PUSH
PUSHNEW QUOTE RANDOM *RANDOM-STATE* RANDOM-STATE RASSOC-IF RASSOC-IF-NOT READ
*READ-BASE* READ-BYTE READ-CHAR *READ-EVAL READ-FROM-STRING READ-LINE READ-SEQUENCE
*READTABLE* REDUCE REM REMF REMHASH REMOVE REMOVE-DUPLICATES REMOVE-IF REMOVE-IF-NOT
REMOVE-METHOD REMPROP RENAME-FILE REPL REST RESTART-CASE RETURN RETURN-FROM REVERSE
ROTATEF ROUND RPLACD SAVE SELECT SEND SET-DIFFERENCE SET-EXCLUSIVE-OR SETF SETQ SHIFTF
SIGNAL SLOT-VALUE SORT SPECIAL STABLE-SORT STANDARD-CLASS *STANDARD-INPUT*
STANDARD-OBJECT *STANDARD-OUTPUT* *standard-output* STRING STRING= STRING-EQUAL STRING-STREAM SUBSEQ
SUBSETP SUBST SUBST-IF-NOT SUBSTITUTE SUBSTITUTE-IF SYMBOL-MACROLET SYMBOL-PLIST
TAGBODY TAN TENTH TERPRI THROW TIME TREE-EQUAL TRUNCATE TWO-WAY-STREAM TYPEP UNION
UNLESS UNWIND-PROTECT USE-PACKAGE USE-PACKAGE USE-VALUE VALUES VALUES-LIST VECTOR
VECTOR-POP VECTOR-PUSH VECTOR-PUSH-EXTEND WARN WHEN WITH-ACCESSORS WITH-GENSYMS
WITH-HASH-TABLE-ITERATOR WITH-OPEN-FILE WITH-OUTPUT-TO-STRING WITH-SLOTS
WITH-STANDARD-IO-SYNTAX WRITE-BYTE WRITE-CHAR WRITE-LINE WRITE-SEQUENCE WRITE-STRING
WRITE-TO-STRING СDR СHAR-CODE REMOVE-IF-NOT WHEN REVERSE Y-OR-N-P} }
\lstdefinestyle{lisp}{language=Lisp}
\usepackage{parskip}
\setlength{\parskip}{0.0pt plus 1.0pt}
\setlength{\parindent}{15pt}
\usepackage{alltt}
\newenvironment{myverb}[0]{\setlength{\topsep}{-\parskip}\setlength{\partopsep}{4pt}\begin{alltt}\setlength{\leftskip}{20pt}\footnotesize}{\end{alltt}}
\newcommand\bslash{\symbol{`\\}}
\lstdefinestyle{lisprepl}{keywords={}}
\DeclareRobustCommand{\code}[1]{\texttt{\small\texorpdfstring{\def\ldots{...}%
\spaceskip\codespaceskip\relax}{}% \spaceskip3bp plus 1.5bp minus1bp\relax
#1}}
\def\codespaceskip{\the\spaceskip}
%% proper captions for figures, etc
\usepackage{caption}
\DeclareCaptionLabelSeparator{Period}{.\hskip.5em}
\captionsetup{labelsep=Period,justification=centering}
% Добавляем точку после номера раздела
\usepackage[raggedright]{titlesec}
\titlelabel{\thetitle.\:}
\usepackage[dotinlabels]{titletoc}
\titlespacing\section{0pt}{8pt plus 1pt minus 1pt}{4pt plus 1pt minus 1pt}
\titlespacing\chapter{0pt}{19pt plus 1pt minus 1pt}{19pt plus 1pt minus 1pt}
% settings for floating objects
\renewcommand{\topfraction}{.9}
\renewcommand{\textfraction}{.1}
\renewcommand{\bottomfraction}{.9}
\setlength{\textfloatsep}{5pt plus 1.5pt minus 1pt}
\setlength{\intextsep}{5pt plus 1.5pt minus 1pt}
\setcounter{totalnumber}{2}
\fboxsep.25em
\definecolor{gray}{gray}{0.75}
\newcommand{\graybg}[1]{\colorbox{gray}{\mbox{#1}}}
\makeatletter
\newcommand{\translationnotemark}{{\renewcommand{\@makefnmark}{*}\footnotemark{}}}
\newcommand{\translationnotetext}[1]{{\renewcommand{\@makefnmark}{*}\footnotetext{#1 \@Acdash \emph{Прим. перев.}}}\addtocounter{footnote}{-1}}
\newcommand{\translationnote}[1]{\translationnotemark{}\translationnotetext{\hspace{1mm}#1}}
\newcommand{\unmarkednote}[1]{{\renewcommand{\@makefnmark}{}\footnotemark{}\footnotetext{#1}}\addtocounter{footnote}{-1}}
\makeatother
\usepackage[framemethod=default]{mdframed}
\mdfsetup{skipbelow=\topskip{}}
\newcommand{\textintable}[2]{
\begin{mdframed}[frametitle={#1},frametitlerule=true,linewidth=1pt,frametitlealignment=\centering,font=\small]
#2
\end{mdframed}}
\title{Практическое использование Common Lisp}
\author{Питер Сайбель}
\usepackage{tocloft}
\setlength{\cftchapnumwidth}{2em}
\setlength{\cftsecnumwidth}{2.7em}
\renewcommand\cftchapaftersnum{.\enspace}
\renewcommand\cftchapdotsep{\cftdotsep}
\renewcommand{\cftchappresnum}{\hfill{}}
\renewcommand\cftsecdotsep{\cftdotsep}
\renewcommand\cftsecaftersnum{.\enspace}
\makeatletter
\renewcommand\@makefnmark{\mbox{\textsuperscript{\normalfont\@thefnmark}\hspace{1mm}}}
\makeatother
\newsavebox\chonefiveone
\newsavebox\chonesixone
\newsavebox\chonesixtwo
\newsavebox\chonesixthree
\newsavebox\chonesixfour
\newsavebox\chonenineone
\newsavebox\choneninetwo
\newsavebox\choneninethree
\newsavebox\chtwosevenone
\newsavebox\chtwoeightone
\newsavebox\chtwonineone
\newsavebox\chthreezeroone
\newsavebox\chthreezerotwo
%\usepackage[punct-after=true]{fnpct}
\newlength{\footnotenegspace}
\setlength{\footnotenegspace}{-0.25em}
\newcommand{\pclfootnote}[1]{\footnote{#1}\hspace{\footnotenegspace}}
\usepackage[bottom,marginal]{footmisc}
\interfootnotelinepenalty=10000
\widowpenalty=5000
\clubpenalty=5000
\begin{document}
\thispagestyle{empty}
% Don't remove! used for tikz nodes align!
\newlength{\tikztextheight}\settoheight{\tikztextheight}{!}
\VerbatimFootnotes
\selectlanguage{russian}%
\hyphenation{уйму}
\frenchspacing
\righthyphenmin=2
\sloppy
\thispagestyle{empty}
\makeatletter
\@nameuse{ttl@ps@\string\chapter}
\makeatother
\input{all-chapters}
\end{document}
%%% Local Variables:
%%% mode: latex
%%% TeX-master: t
%%% End: