我有一份报告的标题页。该标题分为两行,第二行只有单词“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}