Introduction
I've been using LaTeX for 15 years, but one year ago I started to write for the first time in my life a real book for students. So I followed usual widespread conviction: concentrate on the contents, the LaTeX will take care of the rest. However, this conviction holds only if you are writing a thesis or an article, where styling is largely unimportant (who reads theses anyway?).
Namely, after finishing my writing after one year of work I was into a real unpleasant surprise. I've received a modest lump of money to find a designer for a book. There is a big pool of good book designers out there, but not one has ever wrote a command in LaTeX. Which in fact means one year of intensive work shall be retyped in some other LaTeX incompatible program, figures shall be rescaled together with fonts... and everything I was so damn careful for over a year will be messed up in a second...
Question
Is it possible for a non-professional semi-experienced LaTeX user to implement design ideas to the document himself and save his precious work? Which document class should s/he start with?
To demonstrate poor performance of standard LaTeX classes for book design, I will show you part of the code written using KOMA-Script scrbook and approximate proposition from the designer.
Minimum working example:
\documentclass[12pt,parskip]{scrbook}
\usepackage[cp1250]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{amsmath}
\input{slike_1} % TikZ pictures
\begin{document}
\textit{Enakomerno večdimenzionalno gibanje} označuje gibanje, pri katerem je vektor hitrosti konstanten. Gibanje tem primeru opisuje enačba, ki je posplošitev enačbe~(...)
%
\begin{equation}
\vec{r} = \vec{v} t + \vec{r}_0,\label{k-umm}
\end{equation}
%
kjer $\vec{r}$ označuje trenutni, $\vec{r}_0$ pa začetni položaj telesa. Vektorju $\text{r}$, ki označuje položaj telesa, pravimo tudi \textit{krajevni vektor}.
\textit{Enakomerno pospešeno večdimenzionalno gibanje} označuje gibanje, pri katerem je vektor pospeška~$\vec{a}$ konstanten. Gibanje v tem primeru opisujejo enačbe, ki so posplošitve enačb~(...)
%
\begin{align}
\vec{r} &= \tfrac{1}{2} \vec{a} t^2 + \vec{v}_0 t + \vec{r}_0\label{k-uamm1}\\
\vec{v} &= \vec{a} t + \vec{v}_0 \label{k-uamm2}\\
v^2 &= v_0^2 + 2 \vec{a} \cdot (\vec{r} - \vec{r}_0) \label{k-uamm3}
\end{align}
%
kjer so $\vec{r}$ trenutni in $\vec{r}_0$ začetni krajevni vektor telesa, ter $\vec{v}$ trenutni in $\vec{v}_0$ začetni vektor hitrosti telesa. Pri tem je tretja enačba izpeljana iz prvih dveh.
\begin{figure}[!ht]
\centering
\Tpro
\caption{Poševni met}
\end{figure}
Če se telo nahaja v bližini Zemeljske površine, nanj deluje konstantni pospešek prostega pada $g = 10$~m/s$^2$ navpično navzdol. Vsako tako gibanje telesa je dejansko \textit{dvo}-dimenzionalno, saj se telo giblje po navpični ravnini. Po dogovoru $y$~os usmerimo navpično navzgor, torej nasproti smeri pospeška prostega pada ($\vec{a} = - g \vec{j}$), $x$~os pa tako, da začetna hitrost leži v $xy$ ravnini $\vec{v}_0 = v_{x0} \vec{i} + v_{y0} \vec{j}$. Potem lahko vsako od enačb~(...) razstavimo na \textit{dve} skalarni enačbi in dobimo
%
\begin{align}
x(t) &= v_{x0} t + x_0, \label{k-prsx}\\
y(t) &= -\tfrac{1}{2} g t^2 + v_{y0} t + y_0, \label{k-prsy}\\
v_x(t) &= v_{x0}, \label{k-prvx}\\
v_y(t) &= -g t + v_{y0}. \label{k-prvy}
\end{align}
Pri tem smo upoštevali, da je pospešek v $x$~smeri enak $a_x = 0$, pospešek v $y$~smeri pa $a_y = -g$, kar pomeni, da imamo v $x$~smeri enakomerno gibanje, v $y$~smeri pa enakomerno pospešeno gibanje.
\end{document}
Result of MWE
I think you agree with me this is totally unacceptable for a real book. The text is just too crowded, it gives 80-90 characters (including spaces) or 70-80 characters per line, and cca. 44 lines per page. I must agree with designers, this is just too crowded and unattractive for a university-freshman learning book.
Here is one of possible book designs:
EDIT: Since PGFTricks provided a bounty, I provide here the code for the picture, so you can test your ideas. It is scalable, \lmet provides the size of picture, \lms the lengths of vectors.
\tikzset{avec/.style = {->,green!75!black,line width=\wvec}} % acceleration vector style
\tikzset{vvec/.style = {->,red,line width=\wvec}} % velocity vec tor style
\tikzset{vlin/.style = {red}} % velocity vector style
\newcommand{\rang}[3]{
\begin{scope}[shift={#1},rotate=#2]
\draw[#3] (5pt,0) -- (5pt,5pt) -- (0,5pt);
\end{scope}}
\newcommand\Tpro{
\begin{tikzpicture}[>=stealth,auto]
\def\lms{0.005cm}
\def\lmet{0.0007cm}
\draw[->,very thin] (-500*\lmet,0) -- (13000*\lmet,0) node[right] {$\scriptstyle x$};
\draw[->,very thin] (0,-500*\lmet) -- (0,5000*\lmet) node[above] {$\scriptstyle y$};
\draw[very thin] (500*\lmet,0) arc (0:60:500*\lmet);
\node at +(30:500*\lmet+8pt) {$\alpha$};
\draw[vvec] (0,0) -- +(60:360*\lms) node[midway] {$\vec{v}_0$};
\draw[vlin] (0,0) -- +(180*\lms,0) node[midway,swap] {$v_{x0}$} -- +(60:360*\lms) node[midway,swap] {$v_{y0}$};
\rang{(180*\lms,0)}{90}{vlin};
\draw[vvec] (2372*\lmet,3240*\lmet) -- +(180*\lms,180*\lms) node[midway] {$\vec{v}_1$};
\draw[vlin] (2372*\lmet,3240*\lmet) -- ++(180*\lms,0) node[midway,swap] {$v_{x1}$} -- ++(0,180*\lms) node[midway,swap] {$v_{y1}$};
\rang{(2372*\lmet+180*\lms,3240*\lmet)}{90}{vlin};
\draw[vvec] (5612*\lmet,4860*\lmet) -- +(180*\lms,0) node[midway] {$\vec{v}_2$};
\draw[vvec] (8852*\lmet,3240*\lmet) -- +(180*\lms,-180*\lms) node[midway,swap] {$\vec{v}_3$};
\draw[vlin] (8852*\lmet,3240*\lmet) -- ++(180*\lms,0) node[midway] {$v_{x3}$} -- ++(0,-180*\lms) node[midway] {$v_{y3}$};
\rang{(8852*\lmet+180*\lms,3240*\lmet)}{180}{vlin};
\draw[vvec] (11224*\lmet,0) -- +(-60:360*\lms) node[midway,swap] {$\vec{v}_4$};
\draw[vlin] (11224*\lmet,0) -- +(180*\lms,0) node[midway] {$v_{x4}$} -- +(-60:360*\lms) node[midway] {$v_{y4}$};
\rang{(11224*\lmet+180*\lms,0)}{180}{vlin};
\draw[avec] (5612*\lmet,2430*\lmet) -- +(0,-180*\lms) node[midway] {$\vec{a}$};
\draw[densely dashed] (0,0) parabola bend (5612*\lmet,4860*\lmet) (11224*\lmet,0);
\filldraw[thick,fill=white] (0,0) circle (100*\lmet);
\filldraw[thick,fill=white] (2372*\lmet,3240*\lmet) circle (100*\lmet);
\filldraw[thick,fill=white] (5612*\lmet,4860*\lmet) circle (100*\lmet);
\filldraw[thick,fill=white] (8852*\lmet,3240*\lmet) circle (100*\lmet);
\filldraw[thick,fill=white] (11224*\lmet,0) circle (100*\lmet);
\end{tikzpicture}}
DIV=7
to the document class options and then changing the number to your taste (IIRC 9 is default and smaller numbers give larger margins). Have a look at the KOMA manual (entertexdoc scrguien
on the command line to open the documentation if you are using TeX Live) to find all these configuration options.\recalctypearea
after all font settings, that can help. See the manual for more information on that …