惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

罗磊的独立博客
L
LangChain Blog
aimingoo的专栏
aimingoo的专栏
IT之家
IT之家
B
Blog
博客园_首页
博客园 - 司徒正美
有赞技术团队
有赞技术团队
博客园 - 聂微东
I
InfoQ
美团技术团队
GbyAI
GbyAI
阮一峰的网络日志
阮一峰的网络日志
H
Help Net Security
大猫的无限游戏
大猫的无限游戏
MyScale Blog
MyScale Blog
WordPress大学
WordPress大学
The GitHub Blog
The GitHub Blog
A
About on SuperTechFans
人人都是产品经理
人人都是产品经理
Microsoft Azure Blog
Microsoft Azure Blog
Engineering at Meta
Engineering at Meta
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
The Cloudflare Blog

XeTeX and LaTeX

Author per chapter (a.k.a. Proceedings) Subscript and superscript in text mode Typesetting tilde or backslash First gloss line in italics (gb4e) Table lines starting with square bracket Filetype recognition in Vim Vim for XeTeX/LaTeX First word of a paragraph Tables Block comment Line spacing in tables Assign another catcode Verbatim text as command argument Newcommand with an optional argument LaTeX’s new era started: XeTeX
Phantomas command
noreply@blogger.com (Anonymous) · 2009-05-20 · via XeTeX and LaTeX

Recently I have found that there is a useful TeX command \phantom{Phantom Text} which behaves just like it would typeset its argument except that nothing is typeset and there is a blank space of the corresponding dimensions.

When I have been using it I imagined it would be sometimes even more useful to have a command which can put some other stuff in the reserved space instead of the phantom stuff.

Luckily, some smart guys have already written such a command.

Here is a modified version of their minimal example which illustrates nicely the use of this command:


\documentclass{article}
\usepackage{calc} % for the \phantomas command

% The following command is a better version of \phantom and requires the "calc" package
% Credits: Jean-Côme Charpentier & Scott Pakin
% Source: comp.text.tex, "Phantom-ish command"
% usage: \phantomas[l]{phantom words which will be overwritten}{with these words}
% the optional parameter [l] says that the words "with these words" will appear aligned left to the reserved space
% another optional parameter is [r] for aligning the words right
% if no optional parameter is given, the words will be centred in the reserved space
\newcommand*\phantomas[3][c]{%
\ifmmode
\makebox[\widthof{$#2$}][#1]{$#3$}%
\else
\makebox[\widthof{#2}][#1]{#3}%
\fi
}

\begin{document}

A long entry another long entry and our last long entry\par
\phantomas{A long entry}{centred} \phantomas[l]{another long entry}{on the left}
\phantomas[r]{and our last long entry}{on the right}

$\sin^2 x + \cos^2 x = 1$\par
$\phantomas{\sin^2 x + \cos^2 x}{f(x)} = 1$\par
$\phantomas[l]{\sin^2 x + \cos^2 x}{f(x)} = 1$\par
$\phantomas[r]{\sin^2 x + \cos^2 x}{f(x)} = 1$

\end{document}