0

I'm very new to latex. I want to create cheat sheet for my training purpose using latex.

Below is the latex code -

\documentclass[10pt,english,landscape]{article}
\usepackage{multicol}
\usepackage{calc}
\usepackage[landscape]{geometry}
\usepackage{color,graphicx,overpic}

\usepackage[T1]{fontenc}
\usepackage[bitstream-charter]{mathdesign}
\usepackage[utf8]{inputenc}
\usepackage{url}
\usepackage{amsfonts}
\usepackage{array,booktabs}
\usepackage{textcomp}
\usepackage[usenames,dvipsnames,table]{xcolor}
\usepackage[most]{tcolorbox}
\usepackage{tabularx}
\usepackage{multirow}
\usepackage{colortbl}
\usepackage{tikz}
\usepackage{environ}

\usetikzlibrary{calc}
\pgfdeclarelayer{background}
\pgfdeclarelayer{foreground}
\pgfsetlayers{background,main,foreground}

\geometry{top=-0.5cm,left=1cm,right=1cm,bottom=1cm}

\pagestyle{empty} % Turn off header and footer

% \renewcommand\rmdefault{phv} % Arial
% \renewcommand\sfdefault{phv} % Arial

% Redefine section commands to use less space
\makeatletter
\renewcommand{\section}{\@startsection{section}{1}{0mm}%
    {-1ex plus -.5ex minus -.2ex}%
    {0.5ex plus .2ex}%x
    {\normalfont\large\bfseries}}
\renewcommand{\subsection}{\@startsection{subsection}{2}{0mm}%
    {-1explus -.5ex minus -.2ex}%
    {0.5ex plus .2ex}%
    {\normalfont\normalsize\bfseries}}
\renewcommand{\subsubsection}{\@startsection{subsubsection}{3}{0mm}%
    {-1ex plus -.5ex minus -.2ex}%
    {1ex plus .2ex}%
    {\normalfont\small\bfseries}}
\makeatother

\setcounter{secnumdepth}{0} % Don't print section numbers
\setlength{\parindent}{0pt}
\setlength{\parskip}{0pt plus 0.5ex}

\definecolor{TableHead}{rgb}{0.353, 0.329, 0.667}
\definecolor{TableRow}{rgb}{0.816, 0.812, 0.902}

\NewEnviron{keys}[2][2]{% <-- Modified by default, 2 columns
    % \begin{center}
    \smallskip
    \begin{tikzpicture}
    \rowcolors{1}{}{TableRow}
    \centering
    \node (tbl) [inner sep=0pt] {
        \begin{tabular}{*{#1}{p{3.25cm}}} % <-- Modified
        \rowcolor{TableHead}
        \multicolumn{#1}{l}{\normalsize\textbf{\color{white}{#2}}}\parbox{0pt}{\rule{0pt}{0.3ex+\baselineskip}}\\ % <-- Modified
        \BODY
        \arrayrulecolor{TableHead}\specialrule{.17em}{0em}{.2em}
        \end{tabular}};
    \begin{pgfonlayer}{background}
    \draw[rounded corners=2pt,top color=TableHead,bottom color=TableHead, draw=white]
    ($(tbl.north west)-(0,-0.05)$) rectangle ($(tbl.north east)-(0.0,0.15)$);
    \draw[rounded corners=2pt,top color=TableHead,bottom color=TableHead, draw=white]
    ($(tbl.south west)-(0.0,-0.11)$) rectangle ($(tbl.south east)-(-0.0,-0.02)$);
    \end{pgfonlayer}
    \end{tikzpicture}
    % \end{center}
}

\begin{document}
    
    \raggedright\
    
    \begin{center}
        \Large{\underline{Emacs Cheatsheet}}
    \end{center}
    
    \footnotesize
    \begin{multicols}{2}
        
        \centering\section{Glossary}
        
        \begin{keys}[3]{Glossary} % <-- use the optional parameter
            Control (Ctrl) key  & \texttt{C} & \texttt{C key for your OS} \\
            Alt (Meta) key      & \texttt{M} & \texttt{M Key for your OS} \\
            Shift key           & \texttt{S} & \texttt{M Key for your OS} \\
            Command (Super) key & \texttt{CMD} & \texttt{M Key for your OS} \\
            Function (Fn) key   & \texttt{fn} & \texttt{M Key for your OS} \\
            Home/end            & \texttt{fn-left / fn-right}  & \texttt{M Key for your OS} \\
        \end{keys}
        
        \centering\section{Basic}
        \begin{keys}{Basic}
            Execute command by name          & \texttt{M-x} \\
            Cancel command                   & \texttt{C-g} \\
            Exit Emacs                       & \texttt{C-x C-c} \\
            Help: describe a key combination & \texttt{C-h k} \\
            Help: describe a function        & \texttt{C-h f} \\
        \end{keys}
    
    
        
    \end{multicols}
    
\end{document}

enter image description here

It works well when the number of columns of table is same. But when there is different number of columns there is space between the tables and also I want the table size between the latex columns to be uniform even though there are different number of columns.

Is it possible. Any idea how can I achieve this?

2
  • Please clarify what you mean by "space between the tables" (horizontal? vertical?) and "table size between the latex columns".
    – Mico
    Dec 19, 2020 at 7:57
  • Multicols is probably not the best package for this, paracol can handle different column widths, or just use a tabular. Dec 19, 2020 at 16:51

1 Answer 1

1

I guess you want both tables to be equally wide irrespective of the number of columns they contain. To achive this, I changed the table definition from \begin{tabular}{*{#1}{p{3.25cm}}} to \begin{tabularx}{\linewidth}{*{#1}{X}}. This results in the following output:

enter image description here

\documentclass[10pt,english,landscape]{article}
\usepackage{multicol}
\usepackage{calc}
\usepackage[landscape]{geometry}
\usepackage{color,graphicx,overpic}

\usepackage[T1]{fontenc}
\usepackage[bitstream-charter]{mathdesign}
\usepackage[utf8]{inputenc}
\usepackage{url}
\usepackage{amsfonts}
\usepackage{array,booktabs}
\usepackage{textcomp}
\usepackage[usenames,dvipsnames,table]{xcolor}
\usepackage[most]{tcolorbox}
\usepackage{tabularx}
\usepackage{multirow}
\usepackage{colortbl}
\usepackage{tikz}
\usepackage{environ}

\usetikzlibrary{calc}
\pgfdeclarelayer{background}
\pgfdeclarelayer{foreground}
\pgfsetlayers{background,main,foreground}

\geometry{top=-0.5cm,left=1cm,right=1cm,bottom=1cm}

\pagestyle{empty} % Turn off header and footer

% \renewcommand\rmdefault{phv} % Arial
% \renewcommand\sfdefault{phv} % Arial

% Redefine section commands to use less space
\makeatletter
\renewcommand{\section}{\@startsection{section}{1}{0mm}%
    {-1ex plus -.5ex minus -.2ex}%
    {0.5ex plus .2ex}%x
    {\normalfont\large\bfseries}}
\renewcommand{\subsection}{\@startsection{subsection}{2}{0mm}%
    {-1explus -.5ex minus -.2ex}%
    {0.5ex plus .2ex}%
    {\normalfont\normalsize\bfseries}}
\renewcommand{\subsubsection}{\@startsection{subsubsection}{3}{0mm}%
    {-1ex plus -.5ex minus -.2ex}%
    {1ex plus .2ex}%
    {\normalfont\small\bfseries}}
\makeatother

\setcounter{secnumdepth}{0} % Don't print section numbers
\setlength{\parindent}{0pt}
\setlength{\parskip}{0pt plus 0.5ex}

\definecolor{TableHead}{rgb}{0.353, 0.329, 0.667}
\definecolor{TableRow}{rgb}{0.816, 0.812, 0.902}

\NewEnviron{keys}[2][2]{% <-- Modified by default, 2 columns
    % \begin{center}
    \smallskip
    \begin{tikzpicture}
    \rowcolors{1}{}{TableRow}
%    \centering
    \node (tbl) [inner sep=0pt] {
        \begin{tabularx}{\linewidth}{*{#1}{X}} % <-- Modified
        \rowcolor{TableHead}
        \multicolumn{#1}{l}{\normalsize\textbf{\color{white}{#2}}}\parbox{0pt}{\rule{0pt}{0.3ex+\baselineskip}}\\ % <-- Modified
        \BODY
        \arrayrulecolor{TableHead}\specialrule{.17em}{0em}{.2em}
        \end{tabularx}};
    \begin{pgfonlayer}{background}
    \draw[rounded corners=2pt,top color=TableHead,bottom color=TableHead, draw=white]
    ($(tbl.north west)-(0,-0.05)$) rectangle ($(tbl.north east)-(0.0,0.15)$);
    \draw[rounded corners=2pt,top color=TableHead,bottom color=TableHead, draw=white]
    ($(tbl.south west)-(0.0,-0.11)$) rectangle ($(tbl.south east)-(-0.0,-0.02)$);
    \end{pgfonlayer}
    \end{tikzpicture}
    % \end{center}
}

\begin{document}
    
    \raggedright\
    
    \begin{center}
        \Large{\underline{Emacs Cheatsheet}}
    \end{center}
    
    \footnotesize
    \begin{multicols}{2}
        
        \centering\section{Glossary}
        \begin{keys}[3]{Glossary} % <-- use the optional parameter
            Control (Ctrl) key  & \texttt{C} & \texttt{C key for your OS} \\
            Alt (Meta) key      & \texttt{M} & \texttt{M Key for your OS} \\
            Shift key           & \texttt{S} & \texttt{M Key for your OS} \\
            Command (Super) key & \texttt{CMD} & \texttt{M Key for your OS} \\
            Function (Fn) key   & \texttt{fn} & \texttt{M Key for your OS} \\
            Home/end            & \texttt{fn-left / fn-right}  & \texttt{M Key for your OS} \\
        \end{keys}
        
        \centering\section{Basic}
        \begin{keys}{Basic}
            Execute command by name          & \texttt{M-x} \\
            Cancel command                   & \texttt{C-g} \\
            Exit Emacs                       & \texttt{C-x C-c} \\
            Help: describe a key combination & \texttt{C-h k} \\
            Help: describe a function        & \texttt{C-h f} \\
        \end{keys}
    
    
        
    \end{multicols}
    
\end{document}

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.