2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Multirow и выравнивание по центру
Сообщение24.11.2016, 13:16 
Подскажите, что я делаю не так. Понадобилось сделать табличку. И вроде бы все хорошо, но в ячейках с multirow не работает нормально выравнивание - ближе к левой стороне (сравнить "норма" и "соотв." в ячейках)
Изображение
код: [ скачать ] [ спрятать ]
Используется синтаксис LaTeX
\newcolumntype{L}[1]{>{\raggedright\arraybackslash}p{#1}}% Выравнивание столбца по левому краю
\newcolumntype{C}[1]{>{\centering\arraybackslash}p{#1}}% Выравнивание столбца по левому центру
\newcolumntype{R}[1]{>{\raggedleft\arraybackslash}p{#1}}% Выравнивание столбца по правому краю
\newcolumntype{P}[1]{>{\centering\arraybackslash}p{#1}}
\newcolumntype{M}[1]{>{\centering\arraybackslash}m{#1}}

\begin{longtable}{|C{25mm}|M{17mm}|M{17mm}|M{22mm}|C{20mm}|C{20mm}|C{22mm}|}  
\caption{Сложноватая} \label{appendix:t:3} \\
\hline
\multirow{3}{25mm}{ Проверяемый параметр}                                      &
\multicolumn{2}{C{34mm}|}{ По \mbox{КПВЕ.xxxxxx.yyyyy}}       &
\multicolumn{3}{C{62mm}|}{Результаты испытаний}               &
\multirow{3}{22mm}{Примечание} \\ \cline{2-6}                                   &                          

\multirow{2}{15mm}{норма}                                                                    &
\multirow{2}{22mm}{номер пункта методики}                                      &
\multicolumn{1}{C{22mm}|}{Нормальные условия}                            &
\multicolumn{1}{C{20mm}|}{плюс 50 °С}                                       &
\multicolumn{1}{C{20mm}|}{минус 40 °С}                                             &
\\ \cline{4-6}

&&& \multicolumn{3}{C{62mm}|}{Напряжение питания}                        &
\\ \cline{4-6}
&&& \multicolumn{1}{C{22mm}|}{2,2 В}                                             &
\multicolumn{1}{C{20mm}|}{5 В}                                                                   &
\multicolumn{1}{C{20mm}|}{5 В}                                                                   &
\\ \cline{1-7}
\endfirsthead
\endhead

\multicolumn{1}{|L{25mm}|}{ 1 Работоспособность RS-232C} &
\multicolumn{1}{C{17mm}|}{соотв.}                                           &
\multicolumn{1}{C{17mm}|}{5.2.1}                                                 &&  
\multicolumn{2}{C{40mm}|}{\multirow{2}*{Не проверяется}} &
\\ \cline{1-4} \cline{7-7}


\multicolumn{1}{|L{25mm}|}{ 2 Работоспособность RS-485}  &
\multicolumn{1}{C{17mm}|}{соотв.}                        &
\multicolumn{1}{C{17mm}|}{5.2.2.1}                                       &&  
\multicolumn{2}{C{40mm}|}{}                                                              &
\\ \hline

     &    &    &  12 &  12 &  12&  12 \\ \hline
     &    &    &  12 &  12 &  12&  12 \\ \hline
     &    &    &  12 &  12 &  12&  12 \\ \hline
     &    &    &  12 &  12 &  12&  12 \\ \hline
     &    &    &  12 &  12 &  12&  12 \\ \hline
     &    &    &  12 &  12 &  12&  12 \\ \hline
     &    &    &  12 &  12 &  12&  12 \\ \hline
     &    &    &  12 &  12 &  12&  12 \\ \hline
\end{longtable}


И еще, как в multirow сделать выравнивание по центру вертикальное?

 
 
 
 Re: Multirow и выравнивание по центру
Сообщение24.11.2016, 14:11 
Аватара пользователя
Полный пример: с преамбулой, чтобы можно было сразу процессировать.

 
 
 
 Re: Multirow и выравнивание по центру
Сообщение24.11.2016, 16:04 
код: [ скачать ] [ спрятать ]
Используется синтаксис LaTeX
 \documentclass[a4paper,12pt,russian]{article} %draft
\usepackage[T2A]{fontenc}% Поддержка русских букв

% XeTeX packages
\usepackage[cm-default]{fontspec} % or install lmodern and remove cm-default opt
\usepackage{xunicode} % some extra unicode support
\usepackage{xltxtra} % \XeLaTeX macro

\tolerance=1000
\emergencystretch=0.74cm
\usepackage{indentfirst} %делать отступ в начале параграфа

\usepackage[pdfborder = {0 0 0}]{hyperref} %гиперссылки в документе.

\usepackage[utf8]{inputenc}     % кодировка текста
\usepackage[russian]{babel}     % руссификация по Бабелю
\usepackage{graphics}

\usepackage[clean,pdf]{svg}

\usepackage{amsmath, amsfonts} % для расширенных настроек ссылок на формулы
\usepackage{extsizes}   % использование шрифтов большего кегля

\usepackage{fancyvrb} % Добавляет продвинутые Verbatim и Verb

\usepackage{epsfig} % удобно вставлять рисунки в строку текста
\usepackage[usenames,dvipsnames]{pstricks}
\usepackage{pst-grad} % For gradients
\usepackage{pst-plot} % For axes



\usepackage{graphicx,xcolor}

%\usepackage[MakeStamp]{eskdi}
\usepackage[MakeStamp, SubSectInToc]{eskdi}
%\usepackage[MakeStamp, SubSubSectInToc]{eskdi}
%\usepackage[MakeStamp, ParagraphInToc]{eskdi}
%\usepackage[twoside, MakeStamp, ParagraphInToc]{eskdi}
%\usepackage{eskdi}
%\usepackage[SubSectInToc]{eskdi}
%\usepackage[SubSubSectInToc]{eskdi}
%\usepackage[ParagraphInToc]{eskdi}
%\usepackage[twoside, ParagraphInToc]{eskdi}
%\usepackage[twoside, MakeEmptyStamp, SubSectInToc]{eskdi}
%\usepackage[twoside, MakeEmptyStamp, ParagraphInToc]{eskdi}
%\usepackage[twoside, MakeEmptyStamp]{eskdi}
%\usepackage[MakeEmptyStamp, ParagraphInToc]{eskdi}


\usepackage{array}
\usepackage{tabularx}
\usepackage{supertabular}
\usepackage{longtable} % для создания таблиц, переносящихся на другую страницу
%\usepackage{listingsutf8}%
\usepackage{listings} % для включения листинга кода в приложения. Русский язык глючит.


\lstloadlanguages{bash,[LaTeX]TeX,MetaPost,Clean,Matlab}


\usepackage{textcomp}   % Ввод различных знаков
\usepackage{keystroke} % для отображения символов клавиш
\usepackage{bytefield} %для создания таблиц с битовыми полями
\usepackage{filecontents} %для включения в документ содержимого файлов

\usepackage{tikz} % Пакет для рмсования диаграмм
\usepackage{tikz-timing}[2009/12/09]
\usetikzlibrary{positioning,arrows,automata,plotmarks} %В данном случае нам потребуются positioning и arrows, которые нужны для расположения элементов друг относительно друга и рисования стрелок между ними соответственно.
\usetikzlibrary{shapes,snakes}
\usepackage{schemabloc}
\usepackage{lscape}
\usepackage{makecell} % Для многострочных ячеек таблицы
\usepackage{colortbl} % Для раскрашивания ячеек в таблицах
\usepackage{multirow}
\usepackage{hhline}

\gostSetRomanfont{Times New Roman}%
\gostSetSansfont{Times New Roman}%
\gostSetMonofont{Times New Roman}%
\gostSetMainfont{Times New Roman}%
\gostSetStampfont{Times New Roman}%
\verbatimfont{\fontspec[Scale=1.0]{Arial} \itshape}% % Для замены стиля начертания verbatim и verb

%\renewcommand{\SetStampfontIt}{\itshape}%
\usepackage{array,booktabs}
\usepackage{tabularx}

\input commands.tex %Файл включает такие команды как надчёркивание, запрещение переноса ТУ и др.


\setpage % Разметка текста на странице

\begin{document}% Начало самого документа (содержательной части)

\input ./muucos/title.tex %Здесь информация о названии файла, авторах и т.д.

\maketitle % Поместили Титульный лист

\SetEvenPage
\makesecondpage

\tableofcontents % Содержание
%\input ./muucos/begin.tex
\input ./muucos/Part_1.tex
\SetEmptyPage
\SetEvenPage

\input ./muuos/Part_7.tex

\clearpage

\end{document}



 

 
 
 
 Re: Multirow и выравнивание по центру
Сообщение24.11.2016, 19:43 
В вашем примере
Цитата:
! LaTeX Error: File `eskdi.sty' not found.

И ещё изучите http://meta.tex.stackexchange.com/a/3225

 
 
 
 Re: Multirow и выравнивание по центру
Сообщение24.11.2016, 20:50 
Аватара пользователя
1) Примеры должны быть минимальными (т.е. не загружать кучи не относящихся к делу пакетов, особенно левых вроде eskdi (на CTAN нет, значит левый) и шрифтов)
2) И быть возможно меньше. А тут у Вас еще куча всего \input и бог знает чего

 
 
 
 Re: Multirow и выравнивание по центру
Сообщение24.11.2016, 23:34 
Так проблема в том, что у меня оформление по ГОСТ реализовано eskdi пакетом, и у меня в нем куча документации сделана. А сейчас понадобилось добавить такую таблицу. И как мне быть?

 
 
 
 Re: Multirow и выравнивание по центру
Сообщение24.11.2016, 23:41 
Аватара пользователя
Вы можете сделать все в один файл, исключая eskdi.sty, и отдельно eskdi.sty?

 
 
 
 Re: Multirow и выравнивание по центру
Сообщение28.11.2016, 13:45 
В два файла не смог. Максимально упростил все и выкинул все неиспользуемое.

http://rgho.st/6VLV2Szjs

 
 
 
 Re: Multirow и выравнивание по центру
Сообщение28.11.2016, 15:05 
Аватара пользователя
Минимальный пример: не нужен ни xelatex, ни tikz, ничего кроме того, что используется в конкретном месте

 
 
 
 Re: Multirow и выравнивание по центру
Сообщение28.11.2016, 15:47 
Red_Herring в сообщении #1172400 писал(а):
Минимальный пример: не нужен ни xelatex, ни tikz, ничего кроме того, что используется в конкретном месте

Ну вроде бы так.

Код:
\documentclass[a4paper,12pt,russian]{article} %draft
\usepackage[T2A]{fontenc}% Поддержка русских букв

% XeTeX packages
\usepackage[cm-default]{fontspec} % or install lmodern and remove cm-default opt
\tolerance=1000
\emergencystretch=0.74cm

\usepackage[utf8]{inputenc}   % кодировка текста
\usepackage[russian]{babel}   % руссификация по Бабелю
\usepackage{fancyvrb} % Добавляет продвинутые Verbatim и Verb
\usepackage[MakeStamp, SubSectInToc]{eskdi}

\usepackage{array}
\usepackage{tabularx}
\usepackage{supertabular}
\usepackage{longtable} % для создания таблиц, переносящихся на другую страницу
%\usepackage{listingsutf8}%
\usepackage{listings} % для включения листинга кода в приложения. Русский язык глючит.

\usepackage{makecell} % Для многострочных ячеек таблицы
\usepackage{multirow}
\usepackage{hhline}

\gostSetRomanfont{Times New Roman}%
\gostSetSansfont{Times New Roman}%
\gostSetMonofont{Times New Roman}%
\gostSetMainfont{Times New Roman}%
\gostSetStampfont{Times New Roman}%
\verbatimfont{\fontspec[Scale=1.0]{Arial} \itshape}% % Для замены стиля начертания verbatim и verb

\usepackage{booktabs}
\begin{document}
\input ./mus/title.tex %Здесь информация о названии файла, авторах и т.д.

\newcolumntype{L}[1]{>{\raggedright\arraybackslash}p{#1}}% Выравнивание столбца по левому краю
\newcolumntype{C}[1]{>{\centering\arraybackslash}p{#1}}% Выравнивание столбца по левому центру
\newcolumntype{R}[1]{>{\raggedleft\arraybackslash}p{#1}}% Выравнивание столбца по правому краю
\newcolumntype{P}[1]{>{\centering\arraybackslash}p{#1}}
\newcolumntype{M}[1]{>{\centering\arraybackslash}m{#1}}


\begin{small}
\begin{longtable}{|M{25mm}|M{17mm}|M{17mm}|C{22mm}|C{20mm}|C{20mm}|M{22mm}|} 

\hline
\multirow{3}{25mm}{  Проверяемый параметр}                   &
\multicolumn{2}{M{34mm}|}{ По \mbox{КПВЕ.123456.12345}}       &
\multicolumn{3}{C{62mm}|}{ XXX}               &
\multirow{3}{22mm}{ Примечание} \\ \cline{2-6}               &                           

\multirow{2}{15mm}{  норма}                              &
\multirow{2}{17mm}{  номер пункта  методики}                 &
\multicolumn{1}{M{22mm}|}{ Нормальные условия}               &
\multicolumn{1}{M{20mm}|}{ плюс 50 °С}                       &
\multicolumn{1}{M{20mm}|}{ минус 40 °С}                     &
\\ \cline{4-6}

&&& \multicolumn{3}{M{62mm}|}{  Напряжение питания}  &
\\ \cline{4-6}
&&& \multicolumn{1}{M{22mm}|}{ 2,2 В}                     &
\multicolumn{1}{M{20mm}|}{ 5 В}                           &
\multicolumn{1}{M{20mm}|}{ 5 В}                           &
\\ \cline{1-7}
\endfirsthead


\endhead
\multicolumn{1}{|L{25mm}|}{ 1 Работоспособность RS-232C} &
\multicolumn{1}{M{17mm}|}{соотв.}                    &
\multicolumn{1}{M{17mm}|}{5.2.1}                    && 
\multicolumn{2}{M{40mm}|}{\multirow{2}*{Не проверяется}} &
\\ \cline{1-4} \cline{7-7}


\multicolumn{1}{|L{25mm}|}{ 2 Работоспособность RS-485}  &
\multicolumn{1}{M{17mm}|}{соотв.}                        &
\multicolumn{1}{M{17mm}|}{5.2.2.1}                    &&   
\multicolumn{2}{M{40mm}|}{}                         &
\\ \hline

\multicolumn{1}{|L{25mm}|}{ 3 Работоспособность Ethernet} &
\multicolumn{1}{M{17mm}|}{соотв.}                         &
\multicolumn{1}{M{17mm}|}{5.2.2.2}                     &&&&
\\ \hline


\end{longtable}
\end{small}

\clearpage
\SetEmptyPage
\end{document}




 
 
 [ Сообщений: 10 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group