如何使表格中的文本垂直居中

如何使表格中的文本垂直居中

我用 LaTeX 编写了一个表格tabular,并且想将一列垂直居中。

这是我的代码:

\documentclass{11pt}{article}
\usepackage{pst-all}
\usepackage{pstricks-add}

% to choose length and the left/right/center text
\usepackage{array,multirow,makecell}
\setcellgapes{1pt}
\makegapedcells
\newcolumntype{R}[1]{>{\raggedleft\arraybackslash }b{#1}}
\newcolumntype{L}[1]{>{\raggedright\arraybackslash }b{#1}}
\newcolumntype{C}[1]{>{\centering\arraybackslash }b{#1}}

\renewcommand{\arraystretch}{1.6}
\begin{tabular}{|C{2cm}|C{2cm}|C{6cm}|C{3cm}|C{3cm}|}
\hline
$I$ & $J$ & $\textrm{Représentation graphique}$ & $I\cap J$ & $I \cup J$ \\
\hline
$]-4;5]$ & $[0;6[$ & \psset{xunit=0.4cm, yunit=0cm, yAxis=false}    %scales the picture, removes the y-axis
\begin{pspicture}(-5,0)(7,0)    
\psaxes[Dx=2, subticks=0]{->}(0,0)(-5,0)(7,0)   %creates axes
\psline[linewidth=1pt, linecolor=red]{]-]}(-4,0)(5,0)
\psline[linewidth=1pt, linecolor=blue]{[-[}(0,0)(6,0)
\end{pspicture}  & $[0;5]$ & $]-4;6[$ \\
\hline
\end{tabular}

\end{document}

我得到了什么

但是我的间隔超出了界限,我注意到文本实际上没有垂直居中。

我该如何解决这个问题?我的意思是,我不想写很长的行来解决我的问题。

答案1

(1) 表格本身超出了文本的宽度。使用tabularx计算所选列的宽度以使表格适合文本宽度的包可以轻松修复此问题。

(2) pspicture可以使用可选的 进行移位[shift=<number>]

b

% !TeX TS-program =xelatex 
    
\documentclass[11pt]{article}
\usepackage{pst-all}
\usepackage{pstricks-add}
    
\usepackage{array}
\newcolumntype{C}[1]{>{\centering\arraybackslash }b{#1}}

\usepackage{tabularx}% added <<<<<<<<<
\newcolumntype{W}{>{\centering\arraybackslash}X} % added <<<<<<<<<

\usepackage{showframe} % ONLY to show the magins <<<<<<<<<
\begin{document}    
\renewcommand{\arraystretch}{1.8}   

\noindent\begin{tabularx}{\textwidth}{|W|W|C{6cm}|W|W|}
\hline
$I$ & $J$ & Représentation graphique & $I\cap J$ & $I \cup J$ \\
\hline
$]-4;5]$ & $[0;6[$ & \psset{xunit=0.4cm, yunit=0cm, yAxis=false}    %scales the picture, removes the y-axis
\begin{pspicture}[shift=0.3](-5,0)(7,0)    
    \psaxes[Dx=2, subticks=0]{->}(0,0)(-5,0)(7,0)   %creates axes
    \psline[linewidth=1pt, linecolor=red]{]-]}(-4,0)(5,0)
    \psline[linewidth=1pt, linecolor=blue]{[-[}(0,0)(6,0)
\end{pspicture}  & $[0;5]$ & $]-4;6[$ \\[0.7ex]% increase the height of the row
\hline
\end{tabularx}

\end{document}

相关内容