
Я пытаюсь сделать эту таблицу:
но я не могу этого сделать. В последней строке деление клеток нехорошо:
Не могли бы вы мне помочь
\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}
решение1
Вот предложение:
\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}
решение2
В следующей программе я использовал {NiceTabular}
. nicematrix
Эта среда (похожая на {tabular}
) создает узлы PGF/Tikz под ячейками, строками и столбцами массива.
С помощью этих узлов можно нарисовать любое правило.
Я нарисовал проблемное правило с помощью Tikz (точно посередине столбца, содержащего 10, 12, 220 и 245), а четыре последних числа поместил точно посередине ячеек, созданных предыдущим правилом.
Позиционирование не требует ручной настройки (например, я изменил 750 на 750000).
Вам нужно несколько компиляций.
\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}
решение3
Предложение OP не работает так, как ожидалось, потому что при использовании \multicolumn
, есть столбцы, все ячейки которых подразумеваются в \multicolumn
. Эти столбцы имеют естественную ширину, равную 0 pt (и столбец X
не tabularx
оказывает никакого влияния на эти столбцы). В этом случае результат, выдаваемый , \multicolumn
часто может быть неожиданным.
Можно задать естественную ширину этим столбцам (все ячейки которых задействованы \multicolumn
), добавив фиктивную строку в таблицу:
\omit & \omit & \omit & \omit &\omit\hspace*{6mm}&\omit\hspace*{6mm}\\
Это единственное, что я изменил в коде ОП.
\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}