
Estoy intentando hacer esta tabla:
pero no puedo hacerlo. En la última línea, la división celular no es buena:
Podrías ayudarme
\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}
Respuesta1
Aquí hay una sugerencia:
\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}
Respuesta2
En el siguiente programa, he usado {NiceTabular}
of nicematrix
. Este entorno (similar a {tabular}
) crea nodos PGF/Tikz debajo de las celdas, filas y columnas de la matriz.
Es posible utilizar estos nodos para dibujar cualquier regla que queramos.
He dibujado la regla problemática con Tikz (exactamente en el medio de la columna que contiene 10, 12, 220 y 245) y he puesto los cuatro últimos números exactamente en el medio de las celdas creadas por la regla anterior.
El posicionamiento no necesita ajuste manual (por ejemplo, he cambiado 750 por 750000).
Necesitas varias compilaciones..
\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}
Respuesta3
La propuesta del OP no funciona como se esperaba porque, con el uso de \multicolumn
, hay columnas cuyas celdas están implícitas en \multicolumn
. Estas columnas tienen un ancho natural igual a 0 pt (y la X
columna de tabularx
no tiene ningún efecto sobre estas columnas). En ese caso, el resultado dado por el \multicolumn
puede resultar a menudo sorprendente.
Es posible dar ancho natural a estas columnas (en cuyas celdas están involucradas \multicolumn
) agregando una fila ficticia al tabular:
\omit & \omit & \omit & \omit &\omit\hspace*{6mm}&\omit\hspace*{6mm}\\
Eso es lo único que he modificado en el código del 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}