2009-11-02 7 views
2

J'ai besoin de représenter les touches de la calculatrice par le texte pour les touches à enfoncer entourées d'une boîte. J'ai essayé de m'enfuir avec juste les touches nues (pas de boîte) mais j'ai été marqué pour cela parce qu'il semblerait que mon évaluateur est un peu un pédant.Comment est-ce que je peux encadrer le contenu dans LaTeX de telle sorte que toutes les boîtes soient sur la même ligne et la même taille?

Quoi qu'il en soit, un peu de recherche a trouvé les goûts de \ boxit et \ fbox. Je leur ai donné un go mais \ boxit produit presque des résultats identiques à \ fbox. Le problème est que la hauteur et la ligne de base de la boîte varie avec les glyphes qu'elle contient. Prenez l'exemple suivant qui représente l'appui sur 5, multiplier, x; Cela génère des boîtes autour du contenu, mais elles se trouvent sur des lignes de base différentes et toutes sont de hauteurs différentes. Compte tenu de ce que j'ai vu de LaTeX jusqu'à présent, je dirais que c'est certainement possible, mais CTAN, les groupes de nouvelles et Google n'ont rien trouvé d'utile jusqu'à présent.

Des indices?

Répondre

5

En utilisant \strut pour obtenir la même hauteur.

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

ou définir une hauteur et la profondeur de votre boîte:

\def\press#1{{\setbox0=\hbox to 1em{\hfil#1\hfil}\ht0=7.5pt \dp0=2.5pt \fbox{\box0}}} 
\press{5} \press{$\times$} \press{$x$} 
+0

Merci Alexey. Tu gères; J'étais seulement après un indice à la solution, mais j'ai obtenu une macro parfaite. Je vais décomposer ça plus tard pour voir comment ça marche: D – Mike

1

Le meilleur que je peux venir avec:

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

Yegh.

4

Cela ressemble à ce que vous essayez de faire.

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

Vous pouvez créer une nouvelle commande pour créer les clés pour éviter de vous répéter:

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

J'ai trouvé un paquet appelé keystroke.sty, mais il peut être trop pour ce que vous êtes essayer de faire.

+0

Merci à Stephan202 pour le \ newcommand traduction. Je veux donner à tout le monde +1 simplement pour être dans LaTeX, mais SO ne me laisse pas faire cela à moins que vous ne fassiez de nouvelles modifications. –

+0

Merci Ewan: D Roches LaTeX. Je n'ai rien trouvé de mieux pour les maths. Aussi, belle trouvaille avec des frappes. Je n'ai pas vraiment besoin des boutons de fantaisie mais encore une fois, merci: D – Mike

+0

Y at-il un moyen de définir cela avec une largeur dynamique, de sorte que ce widht est relatif au contenu? –