I am editing a book and I want each page to contain two columns, one larger and one smaller, as it appears in the example, so that when you print it you can fill it without any problem.
If I use minipage the construction becomes very difficult to work since it is a book.
Asked
Active
Viewed 143 times
2
Samuel Diaz
- 763
1 Answers
1
Here I illustrate what one can do with paracol. Note, however, that I am not implying that the way I design the headings is the way to go. Rather, you might use titlesec in order to design sections, subsections and so on. However, I'd like to separate these things and therefore like to ask you to ask a separate question on this if you have problems carrying this out.
The purpose of this answer is just to say that judging from your screenshot paracol might be worthwhile being employed. This MWE is supposed to illustrate this.
\documentclass{article}
\usepackage{paracol}
\usepackage{tikz}
\usetikzlibrary{shapes.geometric,fit,positioning}
\pgfdeclarelayer{front}
\pgfdeclarelayer{back}
\pgfdeclarelayer{behind back}
\pgfsetlayers{behind back,back,main,front}
\newcounter{trick}
\columnratio{0.3}
\begin{document}
\begin{paracol}{2}
\centering
{\large\sffamily Inverse function}\medskip
\begin{tikzpicture}[font=\sffamily,node distance=2mm and 1.6cm,scale=0.8]
\begin{scope}[local bounding box=L]
\node (1a){a};
\node[below=of 1a] (1b){b};
\node[below=of 1b] (1c){c};
\node[below=of 1c] (1d){d};
\node[right=of 1a] (1e){e};
\node[below=of 1e] (1f){f};
\node[below=of 1f] (1g){g};
\node[below=of 1g] (1h){h};
\begin{pgfonlayer}{back}
\node[ellipse,draw,fill=cyan,fit=(1a) (1d)] (fit1){};
\node[ellipse,draw,fill=cyan,fit=(1e) (1h)] (fit2){};
\end{pgfonlayer}
\foreach \X [count=\Y starting from 5] in {a,b,c,d}
{\setcounter{trick}{\Y}
\draw[-latex,red] (1\X) to[bend left=12] (1\alph{trick});}
\end{scope}
\begin{pgfonlayer}{behind back}
\node[draw,fill=blue!20,fit=(L.south west) (L.north east)] (Lfit){};
\end{pgfonlayer}
\end{tikzpicture}
\switchcolumn
\centering
{\Large\sffamily Inverse function}\medskip
\begin{tikzpicture}[font=\sffamily,node distance=2mm and 2cm]
\begin{scope}[local bounding box=L]
\node (1a){a};
\node[below=of 1a] (1b){b};
\node[below=of 1b] (1c){c};
\node[below=of 1c] (1d){d};
\node[right=of 1a] (1e){e};
\node[below=of 1e] (1f){f};
\node[below=of 1f] (1g){g};
\node[below=of 1g] (1h){h};
\begin{pgfonlayer}{back}
\node[ellipse,draw,fill=cyan,fit=(1a) (1d)] (fit1){};
\node[ellipse,draw,fill=cyan,fit=(1e) (1h)] (fit2){};
\end{pgfonlayer}
\foreach \X [count=\Y starting from 5] in {a,b,c,d}
{\setcounter{trick}{\Y}
\draw[-latex,red] (1\X) to[bend left=12] (1\alph{trick});}
\end{scope}
\begin{pgfonlayer}{behind back}
\node[draw,fill=blue!20,fit=(L.south west) (L.north east)] (Lfit){};
\end{pgfonlayer}
\begin{scope}[xshift=4.5cm,local bounding box=R]
\node (2a){a};
\node[below=of 2a] (2b){b};
\node[below=of 2b] (2c){c};
\node[below=of 2c] (2d){d};
\node[right=of 2a] (2e){e};
\node[below=of 2e] (2f){f};
\node[below=of 2f] (2g){g};
\node[below=of 2g] (2h){h};
\begin{pgfonlayer}{back}
\node[ellipse,draw,fill=cyan,fit=(2a) (2d)] (fit2){};
\node[ellipse,draw,fill=cyan,fit=(2e) (2h)] (fit2){};
\end{pgfonlayer}
\foreach \X [count=\Y starting from 5] in {a,b,c}
{\setcounter{trick}{\Y}
\draw[-latex,red] (2\X) to[bend left=12] (2\alph{trick});}
\draw[-latex,red] (2d) to[bend left=12] (2f);
\end{scope}
\begin{pgfonlayer}{behind back}
\node[draw,fill=red!20,fit=(R.south west) (R.north east)] (Rfit){};
\end{pgfonlayer}
\end{tikzpicture}
\end{paracol}
\end{document}
It does have two separate columns of different widths, which are however synchronized in a way that may make it straightforward to produce something along the lines of your screenshot (which I actually like).
-
Thank you but the message continues to appear "File `paracol.sty' not found. \usepackage" when I give you the document. I will rephrase the question as you advised me. – Samuel Diaz Nov 16 '18 at 03:49

paracolpackage, which allows you to assign the columns different widths by saying, e.g.,\columnratio{0.6}. – Nov 16 '18 at 02:45