Как я могу поместить содержимое в LaTeX так, чтобы все блоки находились на одной строке и на одной высоте? - PullRequest
2 голосов
/ 02 ноября 2009

Мне нужно представлять нажатия клавиш калькулятора текстом для нажатия клавиш в рамке. Я пытался сойти с рук только нажатием клавиши (без коробки), но я получил за это должное, потому что, похоже, мой оценщик немного педантичен.

Во всяком случае, некоторые исследования выявили подобные \ boxit и \ fbox.

Я дал им обоим шанс, но \ boxit выдает почти одинаковые результаты с \ fbox. Проблема заключается в том, что высота и базовая линия рамки зависят от глифов, которые она содержит.

Возьмите следующий пример, который представляет нажатие 5, умножение, х;

\documentclass{article}
\usepackage{fullpage}
\begin{document}
\fbox{5} \fbox{$\times$} \fbox{$x$}
\end{document}

Это генерирует рамки вокруг содержимого, но они находятся на разных базовых уровнях и имеют разную высоту.

Учитывая то, что я видел до сих пор о LaTeX, я бы сказал, что это определенно возможно, но пока что CTAN, группы новостей и Google не нашли ничего полезного.

Есть какие-нибудь намеки?

Ответы [ 3 ]

5 голосов
/ 02 ноября 2009

Использование \strut для получения одинаковой высоты.

\def\press#1{\fbox{\hbox to 1em{\strut\hfil#1\hfil}}}
\press{5} \press{$\times$} \press{$x$}

или установите любую высоту и глубину вашей коробки:

\def\press#1{{\setbox0=\hbox to 1em{\hfil#1\hfil}\ht0=7.5pt \dp0=2.5pt \fbox{\box0}}}
\press{5} \press{$\times$} \press{$x$}
4 голосов
/ 02 ноября 2009

Это похоже на то, что вы пытаетесь сделать.

\framebox[2em][c]{5\strut} 
\framebox[2em][c]{$\times$\strut} 
\framebox[2em][c]{$x$\strut}

Вы можете создать новую команду для создания ключей, чтобы избежать повторения:

\newcommand{\key}[1]{\framebox[2em][c]{#1\strut}}
\key{5}
\key{$\times$}
\key{$x$}

Я нашел пакет с именем keystroke.sty , но он может быть излишним для того, что вы пытаетесь сделать.

1 голос
/ 02 ноября 2009

Лучшее, что я могу придумать:

\newcommand{\vlen}[1]{\parbox[c][#1]{0cm}{}}
\fbox{\vlen{1cm}5} \fbox{\vlen{1cm}$\times$} \fbox{\vlen{1cm}$x$}

Yegh.

...