2010-05-30 5 views
6

Je suis en train de déterminer comment obtenir la hauteur sur un bloc de latex sortie (pas le document entier, et pas le code..but plutôt un bloc de sortie). À titre d'exemple de ce que je suis en train d'accomplir: je devais avoir le code de latexobtenir la hauteur sur un bloc de sortie de latex

$\sum_{i=0}^\infty \frac{1}{n}>\infty$ \newline hello world \newline hello universe 

La hauteur du bloc au-dessus du texte dépend d'un certain nombre de choses police, la taille de la marge, et bien sûr ce que le texte est, en changeant n'importe lequel de ces paramètres change combien de pouces cette sortie serait, mais avec le formatage par défaut sa sortie serait quelque chose comme 2 pouces de haut.

J'espère qu'il y a un paquet qui fait cela! Je suis reconnaissant de tout pointeur dans la bonne direction!

Merci d'avance!

Georg Raba

+0

Pourriez-vous élaborer sur les raisons de vouloir cela? Je suis curieux à quoi cela servirait :). – Pieter

Répondre

8

Habituellement, l'astuce est de mettre ce vous voulez mesurer dans une boîte et ensuite ne pas simplement composer la boîte, mais mesurez-le:

\newdimen\height 
\setbox0=\hbox{\Huge Hello, World!} 
\height=\ht0 \advance\height by \dp0 
The height is: \the\height 
+0

Cela ne fonctionnera pas avec \ newline. existe-t-il une solution de contournement pour cela ou une approche différente? Merci d'avance! georg – georg

+0

Oh, c'est vrai. Pardon. Pour plusieurs lignes, utilisez '\ vbox' (boîte verticale) à la place. –

+0

cela fonctionne parfaitement. Bien, je me demandais où je pourrais en savoir plus sur ce qui se passe ici .. pourquoi avez-vous besoin de \ in \ the \ height? danke im Voraus! – georg

7

Je pense que cela va fonctionner:

\newlength{\somenamehere} 
\settoheight{\somenamehere}{\hbox{...}} 

... est votre contenu vous mesurer. Et vous pouvez ensuite utiliser \somenamehere comme hauteur de ce contenu.


Exemple:

\documentclass[english]{article} 
\usepackage[T1]{fontenc} 
\usepackage[latin9]{inputenc} 
\usepackage{babel} 

\begin{document} 
\newlength{\heightofhw} 
\settoheight{\heightofhw}{\hbox{Hello World!}} 
Value = \the\heightofhw 
\end{document} 

Affichera:

Valeur = 6.8872pt


Note:

  • Les valeurs de longueurs sont stockées sous forme de points et 1 pouce ≈ 72,27 pt
  • Cela ne nécessite pas de paquets supplémentaires.

Mise à jour:

Utilisez \hbox pour calculer correctement la hauteur d'un environnement de taille différente, mais il ne fonctionnera pas avec les nouvelles lignes :-(

Questions connexes