我正在尝试为我的公司制作一些 LaTeX 模板,但在垂直对齐方面遇到了困难tabu
。我尝试了很多版本,但仍然无法解决这个问题。有人能帮我解决这个问题吗?我只是想让所有文本垂直对齐到中心。这是我的代码
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[default]{opensans}
\usepackage{geometry}
\geometry{a4paper}
\usepackage[czech]{babel}
\usepackage{fancyhdr}
\usepackage{graphicx}
\usepackage{xcolor}
\usepackage{ifthen}
\usepackage{array}
\usepackage{tabu}
\usepackage{colortbl}
\usepackage{arydshln}
\usepackage[overload]{ragged2e}
%colors
\definecolor{tablegreylinebg}{RGB}{119, 119, 119}
\definecolor{tablegreylinetext}{RGB}{255, 255, 255}
%tables
\def\arraystretch{1.5}
\setlength\dashlinedash{0.5pt}
\setlength\dashlinegap{2.5pt}
\setlength\arrayrulewidth{0.3pt}
\newcolumntype{L}[1]{>{\raggedright\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
\newcolumntype{R}[1]{>{\raggedleft\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
\newenvironment{mytable}[2]
{\begin{tabu} to \textwidth {L{#1cm} X[l] R{#2cm}}}
{\end{tabu}
}
\newcommand{\addgrey}[2]{
\multicolumn{2}{l}{\cellcolor{tablegreylinebg}\fontsize{14}{11}\selectfont\color{tablegreylinetext}\textbf{\uppercase{#1}}} & \cellcolor{tablegreylinebg}\fontsize{14}{11}\selectfont\color{tablegreylinetext}\textbf{#2} \\[0.2ex]
}
\newcommand{\addnormal}[3]{
\textbf{#1} & \textit{#2} & \textbf{#3} \\
}
%document starts here
\begin{document}
\begin{mytable}{2.7}{4.5}
\addgrey{servisní smlouva exclusive}{3000 Kč / měsíc}
\addnormal{reakční doba}{do \color{red}1 hodiny \color{black}od nahlášení chyby či požadavku}{}
\hdashline
\addnormal{hodinová sazba}{za programátorské práce a drobné grafické úpravy}{\color{red}300 Kč}
\hdashline
\addnormal{redakční systém Ereso}{jednorázové školení používání redakčního systému u Vás na pracovišti}{zdarma}
\hdashline
\addnormal{reporty}{měsíční reporty návštěvnosti Vaší internetové prezentace}{zdarma}
\hdashline
\addnormal{zahrnuté hodiny}{v ceně servisní smlouvy za programátorské práce každý měsíc}{\color{red}6}
\end{mytable}
\end{document}
以下是使用 pdfLaTeX 打印的表格效果
答案1
您省略了中间列的垂直对齐说明符:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[default]{opensans}
\usepackage{geometry}
\geometry{a4paper}
\usepackage[czech]{babel}
\usepackage{fancyhdr}
\usepackage{graphicx}
\usepackage{xcolor}
\usepackage{ifthen}
\usepackage{array}
\usepackage{tabu}
\usepackage{colortbl}
\usepackage{arydshln}
\usepackage[overload]{ragged2e}
%colors
\definecolor{tablegreylinebg}{RGB}{119, 119, 119}
\definecolor{tablegreylinetext}{RGB}{255, 255, 255}
%tables
\def\arraystretch{1.5}
\setlength\dashlinedash{0.5pt}
\setlength\dashlinegap{2.5pt}
\setlength\arrayrulewidth{0.3pt}
\newcolumntype{L}[1]{>{\raggedright\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
\newcolumntype{R}[1]{>{\raggedleft\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
\newenvironment{mytable}[2]
{\begin{tabu} to \textwidth {L{#1cm} X[l,m] R{#2cm}}}
{\end{tabu}
}
\newcommand{\addgrey}[2]{
\multicolumn{2}{l}{\cellcolor{tablegreylinebg}\fontsize{14}{11}\selectfont\color{tablegreylinetext}\textbf{\uppercase{#1}}} & \cellcolor{tablegreylinebg}\fontsize{14}{11}\selectfont\color{tablegreylinetext}\textbf{#2} \\[0.2ex]
}
\newcommand{\addnormal}[3]{
\textbf{#1} & \textit{#2} & \textbf{#3} \\
}
%document starts here
\begin{document}
\begin{mytable}{2.7}{4.5}
\addgrey{servisní smlouva exclusive}{3000 Kč / měsíc}
\addnormal{reakční doba}{do \color{red}1 hodiny \color{black}od nahlášení chyby či požadavku}{}
\hdashline
\addnormal{hodinová sazba}{za programátorské práce a drobné grafické úpravy}{\color{red}300 Kč}
\hdashline
\addnormal{redakční systém Ereso}{jednorázové školení používání redakčního systému u Vás na pracovišti}{zdarma}
\hdashline
\addnormal{reporty}{měsíční reporty návštěvnosti Vaší internetové prezentace}{zdarma}
\hdashline
\addnormal{zahrnuté hodiny}{v ceně servisní smlouvy za programátorské práce každý měsíc}{\color{red}6}
\end{mytable}
\end{document}