如何在 LaTeX 中左对齐表格

如何在 LaTeX 中左对齐表格

关于表格内容单元格或表格标题左对齐的问题有很多。我想将表格(或任何/所有浮动元素)左对齐。我希望能够在序言中说明这一要求。

编辑:我的序言如下所示(我不知道是什么产生了这种行为,所以我将所有内容都转储到这里。大部分由 pandoc 生成):

\documentclass{article}
\usepackage{amssymb,amsmath}
\usepackage[mathletters]{ucs}
\usepackage[utf8x]{inputenc}
\usepackage{array}
% This is needed because raggedright in table elements redefines \\:
\newcommand{\PreserveBackslash}[1]{\let\temp=\\#1\let\\=\temp}
\let\PBS=\PreserveBackslash
\usepackage{graphicx}
% We will generate all images so they have a width \maxwidth. This means
% that they will get their normal width if they fit onto the page, but
% are scaled down if they would overflow the margins.
\makeatletter
\def\maxwidth{\ifdim\Gin@nat@width>\linewidth\linewidth
\else\Gin@nat@width\fi}
\makeatother
\let\Oldincludegraphics\includegraphics
\renewcommand{\includegraphics}[1]{\Oldincludegraphics[width=\maxwidth]{#1}}
\usepackage[breaklinks=true,unicode=true]{hyperref}
\setlength{\parindent}{0pt}
\setlength{\parskip}{6pt plus 2pt minus 1pt}
\setcounter{secnumdepth}{0}
\usepackage[finnish]{babel}
%\usepackage{times}
\usepackage{tgpagella}
\usepackage{tgheros}
\usepackage{fancyhdr}
\usepackage[font={sf,footnotesize}]{floatrow}
\usepackage{calc}
\floatsetup[table]{style=ruled,
  objectset=raggedleft,
  justification=raggedleft,
  margins=raggedright,
  midcode=captionskip,
  captionskip=10pt}
\pagestyle{fancy}
\usepackage[font={small,it},
  justification=justified,
  format=hang,
  labelfont={bf},
  singlelinecheck=false,
  labelsep=quad]{caption}
\usepackage[protrusion=true,expansion]{microtype}

答案1

\let\centering\relax在序言中会\centering到处取消,或者为了更有选择性,只在浮动中取消,你可以尝试

\makeatletter
\let\old@float\@float
\def\@float{\let\centering\relax\old@float}
\makeatother

您仍然需要\floatsetup{}按照 lockstep 的描述来编辑该行。

答案2

floatrow 包的命令\floatsetup是罪魁祸首。在你的序言中,替换

\floatsetup[table]{style=ruled,
  objectset=raggedleft,
  justification=raggedleft,
  margins=raggedright,
  midcode=captionskip,
  captionskip=10pt}

\floatsetup[table]{style=ruled,
  objectset=raggedright,
  margins=raggedright,
  midcode=captionskip,
  captionskip=10pt}
\floatsetup[figure]{%
  objectset=raggedright,
  margins=raggedright,
  midcode=captionskip,
  captionskip=10pt}

首先。然后决定是否真的要为表格和图形(以及可能的其他浮动类型)采用不同的样式。如果不是,请用一个\floatsetup命令(不带[table][figure])替换我的建议。

编辑:仅省略\floatsetup仍然会产生水平居中的浮点数 - 这是 floatrow 的默认行为。

答案3

我在使用 Beamer 中的表格并想使表格左对齐时遇到了这个问题。

\hfill\我发现一个简单的技巧就是在后面放置一个\end{tabular}。它会填满整个空间(后面\\hfill,从而将表格推到左边。

当然,这不具有可扩展性,因为您\hfill\每次都需要添加。

相关内容