文本在标题内对齐

文本在标题内对齐

我在论文中格式化图表标题时遇到了一些问题。首先我想描述一下我的最终结果。

  • 上方标题:左对齐
  • 以下标题 - 第一行(来源):右对齐
  • 以下标题 - 其余部分:左对齐

最后结果

不幸的是 - 上面的标题:在中心 - 下面的标题:右对齐

我尝试过各种不同的对齐方法 ( \raggedleft, \begin{flushleft})

这就是我的代码

\documentclass[12pt,a4paper]{report}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{ragged2e}
\usepackage[left=2cm,right=2cm,top=2cm,bottom=2cm]{geometry}


\usepackage{graphicx}
\usepackage{caption}

\makeatletter
  \AtBeginDocument{%
    \def\Ginclude@graphics#1{%
      \begingroup\fboxsep=-\fboxrule
      \fbox{\rule{\@ifundefined{Gin@@ewidth}{150pt}{\Gin@@ewidth}}{0pt}%
      \rule{0pt}{\@ifundefined{Gin@@eheight}{100pt}{\Gin@@eheight}}}\endgroup}}
\makeatother

% Begin Document
\begin{document}

% Begin Figure
\begin{figure}[ht!]
    \centering
    \caption{Figure 1 - Title}
    \includegraphics[width=0.6\textwidth]{demo}
    \captionsetup{width=0.6\textwidth}
    \caption*{Source: Source1\ \\Captiontex Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt \label{fig:3}}
    \label{overflow}
\end{figure}


\end{document}

答案1

假设您的图片宽度可能不同。因此,您将不得不使用\captionsetup{width=X}for every手动调整宽度figure

在此处输入图片描述

\documentclass{report}
\usepackage{ragged2e,graphicx}
\usepackage[margin=2cm]{geometry}

\usepackage{caption}
\captionsetup[figure]{%
  justification   = RaggedRight,% Or justified
  singlelinecheck = off}

% \imagesource{<source>}{<desc>}
\newcommand{\imagesource}[2]{%
  \par\vspace{\abovecaptionskip}%
  \parbox{\captionwidth}{\raggedleft Source: #1 \par
    \noindent\justifying #2
  }%
}

\begin{document}

\begin{figure}
  \centering\captionsetup{width=0.6\linewidth}
  \caption{Title}
  \includegraphics[width=0.6\linewidth, height=150pt]{example-image}
  \imagesource{Source1}{Captiontex Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt}
\end{figure}

\end{document}

singlelinecheck=off当标题适合一行时,使用可以启动适当的对齐。此外,我定义了\imagesource{<source>}{<desc>}可以启动适当的对齐。此外,我已经定义了使用一些预先指定的布局设置图像源(如您的示例所示)。最好为此类事情定义宏,因为它可以提高一致性。

相关内容