将边距标题与浮动行和标题对齐

将边距标题与浮动行和标题对齐

我希望 marginpar 中的标题左对齐。我正在使用包raggedright中的选项caption以及floatrow包。只有长标题才会左对齐。

在此处输入图片描述

平均能量损失

\documentclass{report}

\usepackage{geometry,caption,floatrow}

\geometry{showframe=true, includemp,marginparwidth=5cm, marginparsep=1em}
%
\newlength{\figWidthForMarginCap}%
\setlength{\figWidthForMarginCap}{\textwidth}%
\addtolength{\figWidthForMarginCap}{-1em}%
\addtolength{\figWidthForMarginCap}{\marginparsep}%
%
\captionsetup{
  format=plain,
  margin=0em,
  labelsep=newline,
  justification=raggedright
}
%
\begin{document}
  \thisfloatsetup{%
    capposition=beside,
    capbesidewidth=\marginparwidth,
    capbesideposition={bottom,right},
    floatwidth=\figWidthForMarginCap
  }
  \begin{figure}
    \centering
    \rule{3cm}{2cm}
    \caption{Small Caption}
    %\caption{This is a needlessly long caption to which runs at least two lines.}
  \end{figure}
\end{document}

答案1

使用选项singlelinecheck=false

\captionsetup{
  format=plain,
  margin=0em,
  labelsep=newline,
  justification=raggedright,
  singlelinecheck=false
}

我引用caption手册中的一段话:

如果标题适合一行,标准 LATEX 文档类(文章、报告和书籍)会自动将标题居中...

标题包适应这种行为,因此通常会忽略您使用 justification= & indention= 设置的对齐和缩进。但您可以使用选项关闭对此类短标题的特殊处理

singlelinecheck=<bool>

使用falsenooff0关闭bool额外居中

相关内容