如何更改 flushright 以设置边距和文本之间的空间?

如何更改 flushright 以设置边距和文本之间的空间?

在我的表中我有类似这样的内容:

\multicolumn{1}{p{12cm}}{\rule{0pt}{1cm}\small\begin{flushright}\noindent keywords:\\ aaa\\bbb\\ccc\end{flushright}} \\

有人知道是否可以设置右边距和文本之间的间距(例如 1cm)吗?文本对齐后,将右对齐,并且此间距等于零。

答案1

列说明符@可用于设置1cm单元格右侧的空间:

\documentclass{article}

\begin{document}
\begin{tabular}{|c|}
\hline
\multicolumn{1}{|p{12cm}@{\hspace{1cm}}|}{%
  \raggedleft
  \small
  \rule{0pt}{1cm}%
  keywords:\\
  aaa\\
  bbb\\
  ccc
}\\
\hline
\end{tabular}
\end{document}

结果

当然,它看起来很奇怪,但我不知道你格式化表格的意图是什么。


另一种解释。仅keywords:在右对齐单元格中向左移动 1cm:

\documentclass{article}

\begin{document}
\begin{tabular}{|c|}
\hline
\multicolumn{1}{|p{12cm}|}{%
  \raggedleft
  \small
  \rule{0pt}{1cm}%
  keywords:\hspace{1cm}\null\\
  aaa\\
  bbb\\
  ccc
}\\
\hline
\end{tabular}
\end{document}

结果

评论:

  • LaTeX 会删除\unskip单元格末尾的上一个粘连符 ( )(通常是为了删除尾随空格)。因此,后面会添加一个空框 ( \null= ) ,以隐藏后者。\hbox{}\hspace\unskip

又一次向黑暗中射击:

\documentclass{article}

\begin{document}
\begin{tabular}{|c|}
\hline
\multicolumn{1}{|p{12cm}|}{%
  \raggedleft
  \small
  \begin{tabular}{@{}l@{ }r@{}}
    \rule{0pt}{1cm}%
    keywords:&\\
    &aaa\\
    &bbb\\
    &ccc
  \end{tabular}
}\\
\hline
\end{tabular}
\end{document}

结果

相关内容