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

推荐订阅源

奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Jina AI
Jina AI
博客园 - Franky
Apple Machine Learning Research
Apple Machine Learning Research
酷 壳 – CoolShell
酷 壳 – CoolShell
阮一峰的网络日志
阮一峰的网络日志
量子位
雷峰网
雷峰网
宝玉的分享
宝玉的分享
V
Visual Studio Blog
博客园_首页
小众软件
小众软件
The Cloudflare Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
大猫的无限游戏
大猫的无限游戏
博客园 - 聂微东
S
SegmentFault 最新的问题
博客园 - 【当耐特】
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 叶小钗
月光博客
月光博客
博客园 - 三生石上(FineUI控件)
人人都是产品经理
人人都是产品经理
WordPress大学
WordPress大学

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}