1. 程式人生 > >\multirow 表格文字居中(latex強制換行)

\multirow 表格文字居中(latex強制換行)

這個問題真是花了大半天時間,哎~~太不容易了,為了給後來人方便,我還是決定寫這個部落格。

這裡要說的是,一個表格中的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}