如何使部分彩色文本右对齐?

如何使部分彩色文本右对齐?

我的问题听起来相当简单,但我还没有找到解决方案。我正在尝试排版一个较长的彩色标题(跨越两行),以便第二行右对齐。换句话说,我正在寻找类似multline,但用于彩色文本。听起来很简单,但右对齐文本的一般解决方案都不是这里(也不这里) 工作。

\documentclass[a4paper, 11pt, ngerman]{scrartcl}

\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenx}
\renewcommand*\sfdefault{phv}

\parindent0mm
\usepackage[a4paper, left=12.7mm, right=12.7mm, top=12.7mm, bottom=13mm]{geometry}
\usepackage{showframe}
\usepackage{setspace}
\onehalfspacing

\usepackage{xcolor}

\title{Alignment inside Textcolor}
\author{rotton}
\date{}

\begin{document}

{\sffamily
%% Not working as expected
\textcolor{blue}{\LARGE Richard David Precht: Wer bin ich -- und wenn ja, wie viele? \\
{\raggedleft{} Eine philosophische Reise}}

%% Not working as expected
\textcolor{red}{\LARGE Richard David Precht: Wer bin ich -- und wenn ja, wie viele? \\
\hfill Eine philosophische Reise}

%% Working, but with big vertical offset
\textcolor{green}{\LARGE Richard David Precht: Wer bin ich -- und wenn ja, wie viele? \\
\begin{flushright} Eine philosophische Reise \end{flushright}}

%% Working, but not inside textcolor
{\LARGE Richard David Precht: Wer bin ich -- und wenn ja, wie viele? \par
\hfill Eine philosophische Reise}
}

Etwas mehr Text.
\end{document}

我想要实现的效果应该类似于第四个示例,但是带有彩色文本: 右对齐彩色文本

答案1

下面应该可以完成这项工作。(\leavevmode 允许您用相同的颜色写几个段落,因此它可能会很有用。)

    \documentclass[a4paper, 11pt, ngerman]{scrartcl}

    \usepackage[ngerman]{babel}
    \usepackage[T1]{fontenc}
    \usepackage[utf8]{inputenx}
    \renewcommand*\sfdefault{phv}

    \parindent0mm
    \usepackage[a4paper, left=12.7mm, right=12.7mm, top=12.7mm, bottom=13mm]{geometry}
    \usepackage{showframe}
    \usepackage{setspace}
    \onehalfspacing

    \usepackage{xcolor}

    \newcommand{\Blue}[1]{{\leavevmode\color{blue}{#1}}}


    \title{Alignment inside Textcolor}
    \author{rotton}
    \date{}

    \begin{document}

    {\sffamily
    \Blue{\LARGE Richard David Precht: Wer bin ich -- und wenn ja, wie viele? \par
    \hfill Eine philosophische Reise}
    }

    Etwas mehr Text.
    \end{document}

答案2

也许不是最好的解决方案,但它可以与 \textcolor 配合使用。

为了解决@rotton提到的第二行末尾的空格问题,我编辑了我的代码示例。空格是由于在单独的行上关闭花括号而导致的。我对此没有技术解释,但添加了几个如何解决问题的示例。

% produces space at the end of the second line
{\sffamily
\textcolor{red}{\LARGE Richard David Precht: Wer bin ich -- und wenn ja, wie viele? \\
\mbox{}\hfill Eine philosophische Reise}
}

% no space at the end of the second line
\textcolor{red}{\LARGE Richard David Precht: Wer bin ich -- und wenn ja, wie viele? \\
\mbox{}\hfill Eine philosophische Reise}

% no space at the end of the second line
{\sffamily
\textcolor{red}{\LARGE Richard David Precht: Wer bin ich -- und wenn ja, wie viele? \\
\mbox{}\hfill Eine philosophische Reise}% <--
}

% no space at the end of the second line
{\sffamily
\textcolor{red}{\LARGE Richard David Precht: Wer bin ich -- und wenn ja, wie viele? \\
\mbox{}\hfill Eine philosophische Reise}}

% no space at the end of the second line
\textcolor{red}{\sffamily\LARGE Richard David Precht: Wer bin ich -- und wenn ja, wie viele? \\
\mbox{}\hfill Eine philosophische Reise}

% no space at the end of the second line
\sffamily
\textcolor{red}{\LARGE Richard David Precht: Wer bin ich -- und wenn ja, wie viele? \\
\mbox{}\hfill Eine philosophische Reise}

相关内容