居中忽略符号 ®

居中忽略符号 ®

我有一份报告的标题页。该标题分为两行,第二行只有单词“BRAND®”。它应该居中,但应忽略 ®,因为它位于第三行(仅用于演示)。

\begin{center}  
    Report with longer title that should break right before the word\\
    BRAND\textsuperscript{\textregistered}\\
    BRAND
\end{center}

在此处输入图片描述

我怎样才能做到这一点?

(pdfTeX,版本 3.1415926-2.4-1.40.13(MiKTeX 2.9),在 Windows 7 x64 上,如果这很重要的话)

答案1

将 ® 放入\rlap

\documentclass{article}
\begin{document}
\begin{center}
    Report with longer title that should break right before the word\\
    BRAND\rlap{\textsuperscript{\textregistered}}\\
    BRAND
\end{center}
\end{document}

在此处输入图片描述

答案2

显而易见的补救措施是将“注册”标记设置为不占用水平空间;当然它必须出现在行的末尾。

LaTeX 中记录的方式是\makebox

\begin{center}
Report with longer title that should break right before the word\\
BRAND\makebox[0pt][l]{\textsuperscript{\textregistered}}\\
BRAND
\end{center}

\makebox[0pt][l]{...}命令将文本排版在一个零宽度的矩形内,内容位于此框的左边缘。结果是它粘在这个零宽度框的右侧(就 TeX 而言,不占用任何空间)。

如果您多次需要这样的零宽度符号,最好定义几个快捷方式:

\newcommand{\reg}{\textsuperscript{\textregistered}}
\newcommand{\zreg}{\makebox[0pt][l]{\reg}}

答案3

事实上我的第一个选择也是一个\makebox(我过度使用这个命令)或\rlap(也被过度使用,很高兴知道这不是一个段落的开头)或者只是发挥想象力,另一个相当大的框,从\hbox到一个\parbox甚至一个minipage,但只是为了好玩,一个完全不同的方法:在左侧添加一个等效的幻影空间:

\documentclass{article}
\usepackage{calc}

\def\R{\textsuperscript{\textregistered}}

\newlength\spaR
\setlength{\spaR}{\widthof{\R}}

\begin{document}
\begin{center}

    Report with longer title that should break right before the word

    \hspace{\spaR}BRAND\R

    BRAND

    BRAND\hbox to 0pt \R


    BRAND\parbox{0pt}\R

    BRAND

\end{center}
\end{document}

相关内容