\multirow 表格文字居中(latex強制換行)
阿新 • • 發佈:2018-12-11
這個問題真是花了大半天時間,哎~~太不容易了,為了給後來人方便,我還是決定寫這個部落格。
這裡要說的是,一個表格中的cell裡面如果放的內容比較多,要如何換行的問題 比如下表 這裡我希望第一列分成兩行,並且第一行的sigma_r以及其他都要居中。首先要做的是分行,這要用到
\multirow{}*{}
分成兩行,故使用的是:
\multirow{2}{2cm}{\centering $\sigma_r$\\$(\sigma_F=0.01)$}
第一個2表示要分成2行,第二個2cm表示這個cell的大小是2cm長,後面要居中,使用\centering(否則預設左對齊,像第二列的N95N150那樣),接著\表示從這裡強制換行
\documentclass{article} \usepackage[UTF8]{ctex} \usepackage{listings} \usepackage{amsthm} \usepackage{amsmath} \usepackage{amssymb} \usepackage{graphicx} \usepackage{hyperref} \usepackage[table]{xcolor} \usepackage{fancyhdr} \usepackage{lastpage} \usepackage{pythonhighlight} \pagestyle{fancy} \usepackage{enumitem} \setlist[trivlist]{topsep=\baselineskip} \usepackage{multirow} \usepackage{multicol} \usepackage{array} \usepackage{booktabs} \begin{document} \begin{table} \centering \begin{tabular}{|c|c|} \hline \multirow{2}{2cm}{\centering $\sigma_r$\\$(\sigma_F=0.01)$} & \multirow{2}{3cm}{$N_{95}N_{150}$}\\ & \\ \hline \end{tabular} \caption{\small{This is a simple table for testing}} \end{table} \end{document}
另外,這裡想提一下\newcommand{} 圖如下 這裡同樣用到
\multirow{3}*{\tabincell{l}{$\sigma_r$\\$(\sigma_F=1)$}}
第一個3表示有3行,\tabincell{1}表示將三行視為一行操作(因此才會跟後面的三行水平對齊),然而,這裡筆者無法讓sigma_r居中,預設左對齊,google了半天沒找到,看到這裡恰巧會的大家,麻煩給我回復一下教我吧(也給後來人一個指示)。 完整程式碼:
\documentclass{article}
\usepackage[UTF8]{ctex}
\usepackage{listings}
\usepackage{amsthm}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{graphicx}
\usepackage{hyperref}
\usepackage[table]{xcolor}
\usepackage{fancyhdr}
\usepackage{lastpage}
\usepackage{pythonhighlight}
\pagestyle{fancy}
\usepackage{enumitem}
\setlist[trivlist]{topsep=\baselineskip}
\usepackage{multirow}
\usepackage{multicol}
\usepackage{array}
\usepackage{booktabs}
\newcommand{\tabincell}[2]{\begin{tabular}
{@{}# [email protected]{}}#2\end{tabular}}
\begin{table}
\centering
\begin{tabular}{m{2cm}m{3cm}}
\noalign{\smallskip}\hline\noalign{\smallskip}
% \renewcommand{\multirowsetup}{\centering}
% after \\: \hline or \cline{col1-col2} \cline{col3-col4} ...
% \multirow{3}*{\tabincell{1}{This\\is a\\test}}
\multirow{3}*{\tabincell{l}{$\sigma_r$\\$(\sigma_F=1)$}}
&Method 1\\
&Method 2\\
&Method 3\\
\noalign{\smallskip}\hline\noalign{\smallskip}
\end{tabular}
\end{table}
\end{document}