将表格中单个单元格中的多行文本左对齐

将表格中单个单元格中的多行文本左对齐

我有下表:

\documentclass[Journal]{IEEEtran}
\usepackage[utf8]{inputenc}
\usepackage[table]{xcolor}
%\arrayrulecolor{mycolor}
\setlength{\arrayrulewidth}{0.5mm}
\setlength{\tabcolsep}{4pt}    
\usepackage{tikz}
\def\checkmark{\tikz\fill[scale=0.4](0,.35) -- (.25,0) -- (1,.7) -- (.25,.15) -- cycle;}
\usepackage{tabularx,ragged2e}
\usepackage{caption}
\usepackage{booktabs}
\usepackage{fancyhdr} % for header footer

\begin{document}
\begin{table*}
    \centering
    \caption{Some caption}
    \label{table:tab1}
    \begin{tabular}{rcccccc}
        \toprule
        \textbf{Column 1} & \multicolumn{1}{c}{\textbf{Column 2}} & \multicolumn{1}{c}{\textbf{Column 3}} & \multicolumn{1}{c}{\textbf{Column 4}} & \multicolumn{1}{c}{\textbf{ Column 5}} & \multicolumn{1}{c}{\textbf{ Column 6}} & \multicolumn{1}{c}{\textbf{ Column 7}} \\
        \midrule
        ABC et al [21] &  &  &\checkmark&& \checkmark& \shortstack{Some text goes here\\and some here}\\ 
        \midrule
        XYZ et al [23] &  &  \checkmark&    \checkmark& & & \shortstack{Similarly some text here\\and some here}\\

        \bottomrule
    \end{tabular}%
    \label{tab:dvar}%
\end{table*}%

\end{document}

此代码产生下表: 在此处输入图片描述

我希望第 7 列第一个单元格的第二行“和一些此处”从“一些文本在此处”下方开始。第 7 列的所有单元格也一样。简而言之,我希望第 7 列每个单元格中的两行都左对齐。如果您注意到在当前情况下第一行是左对齐的,但第二行不是。我该怎么做。非常感谢。

答案1

我在这里找到:https://tex.stackexchange.com/a/42860/120578
\shortstack有一个关于所含文本对齐方式的可选参数。

最后一行的列类型左对齐也是必须的,因为如果不使用,则只有每个的当前文本\shortstack才会对齐,并且不同单元格之间不会产生对齐。

因此,只需使用如下方法:

\documentclass[landscape]{article}
\usepackage{tikz}
\def\checkmark{\tikz\fill[scale=0.4](0,.35) -- (.25,0) -- (1,.7) -- (.25,.15) -- cycle;} 

\begin{document}
\noindent\begin{tabular}{rcccccl}\hline
        \textbf{Column 1} & \multicolumn{1}{c}{\textbf{Column 2}} & \multicolumn{1}{c}{\textbf{Column 3}} & \multicolumn{1}{c}{\textbf{Column 4}} & \multicolumn{1}{c}{\textbf{ Column 5}} & \multicolumn{1}{c}{\textbf{ Column 6}} & \multicolumn{1}{c}{\textbf{ Column 7}} \\\hline
        ABC et al [21] &  &  &\checkmark&& \checkmark& \shortstack[l]{Some text goes here\\and some here}\\ \hline
        XYZ et al [23] &  &  \checkmark&    \checkmark& & & \shortstack[l]{Similarly some text here\\and some here}\\\hline
    \end{tabular}%
\end{document}

\checkmark来自这里:https://tex.stackexchange.com/a/132790/120578

在此处输入图片描述

PS:谢谢你\shortstack向我介绍命令`

答案2

您还可以使用该makecell包,它允许您在标准列中使用换行符,并定义\makecell和参数的通用格式\thead

另一个不相关的评论:我不认为TikZ应该使用像 hammersledge 这样的符号来表示复选标记,因为有些符号字体包已经定义了它们。我在以下代码中使用了其中两个:

\documentclass[Journal]{IEEEtran}
\usepackage[utf8]{inputenc}
\usepackage[table]{xcolor}
\setlength{\arrayrulewidth}{0.5mm}
\setlength{\tabcolsep}{4pt}
\usepackage{tikz}
\def\checkmark{\tikz\fill[scale=0.4](0,.35) -- (.25,0) -- (1,.7) -- (.25,.15) -- cycle;}
\usepackage{tabularx,ragged2e}
\usepackage{caption, makecell}
\usepackage{booktabs}
\usepackage{fancyhdr} % for header footer
\usepackage{bbding, pifont}

\begin{document}

\begin{table*}
    \centering\renewcommand{\cellalign}{bl}
\renewcommand{\theadfont}{\normalsize\bfseries}
    \caption{Some caption}
    \label{table:tab1}
    \begin{tabular}{@{}rcccccl@{}}
        \toprule
        \thead{Column 1} & \thead{Column 2} & \thead{Column 3} & \thead{Column 4} & \thead{ Column 5} & \thead{ Column 6} & \thead{Column 7} \\
        \midrule
        ABC et al [21] & & &\checkmark&& \checkmark& \makecell{Some text goes here\\and some here}\\
        \midrule
        XYZ et al [23] & & \ding{51}& \Checkmark& & & \makecell{Similarly some text here\\and some here}\\

        \bottomrule
    \end{tabular}%
    \label{tab:dvar}%
    \end{table*}%

    \end{document} 

在此处输入图片描述

相关内容