我对 Latex 还很陌生。我想使用 Latex 创建用于培训目的的备忘单。
以下是乳胶代码 -
\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}
当表格的列数相同时,它工作得很好。但是当列数不同时,表格之间会有间隙,而且我希望乳胶列之间的表格大小是统一的,即使列数不同。
有可能吗?你知道该如何实现吗?
答案1
我猜你想让两个表的宽度相等,而不管它们包含的列数是多少。为了实现这一点,我将表定义从 更改为\begin{tabular}{*{#1}{p{3.25cm}}}
。\begin{tabularx}{\linewidth}{*{#1}{X}}
这导致以下输出:
\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}