
Estou tentando fazer esta tabela:
mas não consigo. Na última linha, a divisão celular não é boa:
Você pode por favor me ajudar
\documentclass[czech,12pt,oneside,openright,titlepage]{book}
\usepackage[hidelinks]{hyperref} %odkazy
\usepackage{lmodern}
\usepackage[czech]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc} %cestina
%\usepackage{indentfirst} % odsazení prvního odstavce
\usepackage{parskip} % nastavení odsazení odstavců
\usepackage{multirow}
\usepackage[table,xcdraw]{xcolor} %tabulky
\usepackage{tabularx} %tabulky na celou stránku
\newcolumntype{C}{>{\centering}X} % Centrování sloupce
\usepackage{graphicx}
\usepackage{epstopdf} % Grafgika eps
\usepackage{float}
\usepackage{pdfpages} % PDF vkládaní
\usepackage{amsmath,amsfonts,amssymb} %matematika
%\input{mathdef.sty}
\usepackage{caption}
\usepackage{subcaption}
\usepackage[font=small,labelfont=bf,format=hang]{caption}
\usepackage[a4paper, top=2.5cm, left=2cm, right=2cm, bottom=2.5cm]{geometry} % Nastavení okrajů
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{}
\lhead {Příručka pro pracovníky dispečerského řízení}
\rhead { \qquad 2019}
\cfoot {\thepage}
\renewcommand{\headrulewidth}{0.4pt} %zahlavi
%\linespread{1.5}
\setlength{\parindent}{0em}% odsazení odstavce
\setlength{\parskip}{0.5em}% mezera mezi odstavci
\usepackage{titlesec}
\titlespacing{\chapter}{0pt}{-15pt}{10pt}
\titleformat{\chapter}[hang]{\normalfont\LARGE\bfseries}{\thechapter . \ \thispagestyle{fancy}}{0pt}{} %nastavení kapitol
\newcommand{\nadpis}[1]{\large\textbf{#1} \normalsize \medskip \\ }
\renewcommand{\figurename}{Obr.}
\renewcommand{\tablename}{Tab.} %prejmenovani
\begin{document}
\begin{table}[H]
\catcode`\-=12
\centering
\begin{tabularx}{\textwidth}{|c|c|C|C|C|C|C|c|}
\hline
Nízké napětí & jmenovité & \multicolumn{4}{c|}{0,4 / 0,23} & 0,50 & 0,69 \\ \cline{2-8}
(nn) (kV) & max. provozovací & \multicolumn{4}{c|}{0,42 / 0,241} & --- & 0,73 \\ \hline
Vysoké napětí & jmenovité & 3 & 6 & \multicolumn{2}{c|}{10} & 22 & 35 \\ \cline{2-8}
(vn) (kV) & max. provozovací & 3,6 & 7,2 & \multicolumn{2}{c|}{12} & 25 & 37 \\ \hline
Velmi vysoké napětí & jmenovité & \multicolumn{2}{c|}{110} & \multicolumn{2}{c|}{220} & --- & --- \\ \cline{2-8}
(vvn) (kV) & max. provozovací & \multicolumn{2}{c|}{123} & \multicolumn{2}{c|}{245} & --- & --- \\ \hline
Zvláště vysoké napětí & jmenovité & \multicolumn{3}{c|}{400} & \multicolumn{3}{c|}{750} \\ \cline{2-8}
(zvn) (kV) & max. provozovací & \multicolumn{3}{c|}{420} & \multicolumn{3}{c|}{800} \\ \hline
\end{tabularx}
\end{table}
\end{document}
Responder1
Aqui está uma sugestão:
\documentclass[czech,12pt,oneside,openright,titlepage]{book}
\usepackage{lmodern}
\usepackage[czech]{babel}
\usepackage[T1]{fontenc}
\usepackage{multirow}
\usepackage[table,xcdraw]{xcolor}
\usepackage{graphicx}
\usepackage{amsmath,amsfonts,amssymb}
\usepackage[a4paper, top=2.5cm, left=2cm, right=2cm, bottom=2.5cm]{geometry} % Nastavení okrajů
\begin{document}
\begin{table}
\catcode`\-=12
\centering
\begin{tabular}{|c|c|c|*{5}{wc{1cm}|}}
\hline
Nízké napětí & jmenovité & \multicolumn{3}{c|}{0,4 / 0,23} & 0,50 & 0,69 \\ \cline{2-7}
(nn) (kV) & max. provozovací & \multicolumn{3}{c|}{0,42 / 0,241} & --- & 0,73 \\ \hline
Vysoké napětí & jmenovité & 3 & 6 & 10 & 22 & 35 \\ \cline{2-7}
(vn) (kV) & max. provozovací & 3,6 & 7,2 & 12 & 25 & 37 \\ \hline
Velmi vysoké napětí & jmenovité & \multicolumn{2}{c|}{110} & 220 & --- & --- \\ \cline{2-7}
(vvn) (kV) & max. provozovací & \multicolumn{2}{c|}{123} & 245 & --- & --- \\ \hline
Zvláště vysoké napětí & jmenovité &\multicolumn{5}{c|}{400\hspace{1.5cm}\vline\hspace{1.5cm}750} \\ \cline{2-7}
(zvn) (kV) & max. provozovací &\multicolumn{5}{c|}{420\hspace{1.5cm}\vline\hspace{1.5cm}800} \\ \hline
\end{tabular}
\end{table}
\end{document}
Responder2
No programa a seguir, usei {NiceTabular}
of nicematrix
. Este ambiente (semelhante ao {tabular}
) cria nós PGF/Tikz sob as células, linhas e colunas do array.
É possível usar esses nós para desenhar qualquer regra que quisermos.
Desenhei a regra problemática com Tikz (exatamente no meio da coluna que contém 10, 12, 220 e 245) e coloquei os quatro últimos números exatamente no meio das células criadas pela regra anterior.
O posicionamento não precisa de ajuste manual (por exemplo, mudei 750 para 750.000).
Você precisa de várias compilações.
\documentclass[czech,12pt,oneside,openright,titlepage]{book}
\usepackage{lmodern}
\usepackage[czech]{babel}
\usepackage[T1]{fontenc}
\usepackage{xcolor}
\usepackage{graphicx}
\usepackage{amsmath,amsfonts,amssymb}
\usepackage{nicematrix}
\usepackage{tikz}
\usepackage[a4paper, top=2.5cm, left=2cm, right=2cm, bottom=2.5cm]{geometry}
\usetikzlibrary{calc}
\begin{document}
\begin{table}
\catcode`\-=12
\centering
\begin{NiceTabular}{|c|c|c|c|c|c|c|}
\hline
Nízké napětí & jmenovité & \multicolumn{3}{c}{0,4 / 0,23} & 0,50 & 0,69 \\ \cline{2-7}
(nn) (kV) & max. provozovací & \multicolumn{3}{c}{0,42 / 0,241} & --- & 0,73 \\ \hline
Vysoké napětí & jmenovité & 3 & 6 & 10 & 22 & 35 \\ \cline{2-7}
(vn) (kV) & max. provozovací & 3,6 & 7,2 & 12 & 25 & 37 \\ \hline
Velmi vysoké napětí & jmenovité & \multicolumn{2}{c}{110} & 220 & --- & --- \\ \cline{2-7}
(vvn) (kV) & max. provozovací & \multicolumn{2}{c}{123} & 245 & --- & --- \\ \hline
Zvláště vysoké napětí & jmenovité & \multicolumn{5}{c}{} \\ \cline{2-7}
(zvn) (kV) & max. provozovací & \multicolumn{5}{c}{} \\ \hline
\CodeAfter
\begin{tikzpicture}
\coordinate (A) at ($(7-|5)!0.5!(7-|6)$) ;
\draw (A) -- (9-|A) ;
\coordinate (B) at ($(7-|3)!0.5!(A)$) ;
\coordinate (C) at ($(A)!0.5!(7-|8)$) ;
\draw (row-7-base-|B) node [anchor=base] {$400$} ;
\draw (row-7-base-|C) node [anchor=base] {$750000$} ;
\draw (row-8-base-|B) node [anchor=base] {$420$} ;
\draw (row-8-base-|C) node [anchor=base] {$800$} ;
\end{tikzpicture}
\end{NiceTabular}
\end{table}
\end{document}
Responder3
A proposição do OP não funciona como esperado porque, com o uso de \multicolumn
, existem colunas cujas células estão implícitas em \multicolumn
. Essas colunas têm largura natural igual a 0 pt (e a X
coluna de tabularx
não tem efeito nessas colunas). Nesse caso, o resultado dado pelo \multicolumn
pode muitas vezes ser surpreendente.
É possível dar largura natural a essas colunas (cujas células estão envolvidas \multicolumn
) adicionando uma linha fictícia à tabela:
\omit & \omit & \omit & \omit &\omit\hspace*{6mm}&\omit\hspace*{6mm}\\
Essa é a única coisa que modifiquei no código do OP.
\documentclass[czech,12pt,oneside,openright,titlepage]{book}
\usepackage[hidelinks]{hyperref} %odkazy
\usepackage{lmodern}
\usepackage[czech]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc} %cestina
%\usepackage{indentfirst} % odsazení prvního odstavce
\usepackage{parskip} % nastavení odsazení odstavců
\usepackage{multirow}
\usepackage[table,xcdraw]{xcolor} %tabulky
\usepackage{tabularx} %tabulky na celou stránku
\newcolumntype{C}{>{\centering}X} % Centrování sloupce
\usepackage{graphicx}
\usepackage{epstopdf} % Grafgika eps
\usepackage{float}
\usepackage{pdfpages} % PDF vkládaní
\usepackage{amsmath,amsfonts,amssymb} %matematika
%\input{mathdef.sty}
\usepackage{caption}
\usepackage{subcaption}
\usepackage[font=small,labelfont=bf,format=hang]{caption}
\usepackage[a4paper, top=2.5cm, left=2cm, right=2cm, bottom=2.5cm]{geometry} % Nastavení okrajů
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{}
\lhead {Příručka pro pracovníky dispečerského řízení}
\rhead { \qquad 2019}
\cfoot {\thepage}
\renewcommand{\headrulewidth}{0.4pt} %zahlavi
%\linespread{1.5}
\setlength{\parindent}{0em}% odsazení odstavce
\setlength{\parskip}{0.5em}% mezera mezi odstavci
\usepackage{titlesec}
\titlespacing{\chapter}{0pt}{-15pt}{10pt}
\titleformat{\chapter}[hang]{\normalfont\LARGE\bfseries}{\thechapter . \ \thispagestyle{fancy}}{0pt}{} %nastavení kapitol
\newcommand{\nadpis}[1]{\large\textbf{#1} \normalsize \medskip \\ }
\renewcommand{\figurename}{Obr.}
\renewcommand{\tablename}{Tab.} %prejmenovani
\begin{document}
\begin{table}[H]
\catcode`\-=12
\centering
\begin{tabularx}{\textwidth}{|c|c|C|C|C|C|C|c|}
\omit & \omit & \omit & \omit &\omit\hspace*{6mm}&\omit\hspace*{6mm}\\
\hline
Nízké napětí & jmenovité & \multicolumn{4}{c|}{0,4 / 0,23} & 0,50 & 0,69 \\ \cline{2-8}
(nn) (kV) & max. provozovací & \multicolumn{4}{c|}{0,42 / 0,241} & --- & 0,73 \\ \hline
Vysoké napětí & jmenovité & 3 & 6 & \multicolumn{2}{c|}{10} & 22 & 35 \\ \cline{2-8}
(vn) (kV) & max. provozovací & 3,6 & 7,2 & \multicolumn{2}{c|}{12} & 25 & 37 \\ \hline
Velmi vysoké napětí & jmenovité & \multicolumn{2}{c|}{110} & \multicolumn{2}{c|}{220} & --- & --- \\ \cline{2-8}
(vvn) (kV) & max. provozovací & \multicolumn{2}{c|}{123} & \multicolumn{2}{c|}{245} & --- & --- \\ \hline
Zvláště vysoké napětí & jmenovité & \multicolumn{3}{c|}{400} & \multicolumn{3}{c|}{750} \\ \cline{2-8}
(zvn) (kV) & max. provozovací & \multicolumn{3}{c|}{420} & \multicolumn{3}{c|}{800} \\
\hline
\end{tabularx}
\end{table}
\end{document}