Is there any way to calculate the height of a node in a tikz pictures and to divide a length by an another length to get a counter and to round it up? If yes where could i read after the subject of calculating with different types of variables?
Here is an example:
\documentclass [a4paper] {article}
\usepackage{calc}
\usepackage{tikz,pgf}
\usetikzlibary{arrows}
%in this case i want to do a framebox with the parameter of 1 line's length in a tikz pictures
%because i dont know how could i get the heigth of the node i try to calculate it by divide the full length of the text (what i got with the command \settototalheight from the calc package) by the length of 1 line (this is a parameter) so i got the number of lines(this is a value not a length so i cannot use the \divide command because the type of the variable)
\newlength \widthofone \fullwidth \heightoneline \fullheight
\nemcounters \numberoflines
\newcommand {\altframe}[2] { %#1 the text #2 the width of the lines
\widthofone=#2pt %im not sure how to convert a length from a value but i try to input the 2nd parameter into a length variable
\settototalheight{\heightoneline}{qwe} %i get the height of one line by the calc package
\setwidth{\totalwidth}{#1} %i calculate the width of the text
%And now i would divide \fullwidth by \widthofone ,if i would know how to do it, to get \numberoflines
%I would multiply it by \height to get \fullheight
\begin{tikzpictures}
\node[text width=#2pt] at (0,0) {#1};%i write out the text
\draw[->,color=black] (\fullwidth/2,\fullheight/2) -- (0-\fullwidth/2,\fullheight/2); %i draw out the lines (i use height/2 becouse of the fact that the (0,0) coordinate is the middle of the picture)
\draw[->,color=black] (\fullwidth/2,0-\fullheight/2) -- (0-\fullwidth/2,0-\fullheight/2);
\draw[->,color=black] (\fullwidth/2,\fullheight/2) -- (\fullwidth/2,0-\fullheight/2);
\draw[->,color=black] (0-\fullwidth/2,\fullheight/2) -- (0-\fullwidth/2,0-\fullheight/2);
\end{tikzpictures}
}
\begin{document}
\altframe{i love this sample text}{100}
\end{document}
Best Answer
I cannot figure out what are you going to do. But for your subquestions:
Similar to \widthof within tikzpicture
you can
\usetikzlibrary{math}
, and simply writeHowever, please notice that
{x xx}
,{M MM}
, and{j jj}
are of different height.\settototalheight
gives you. Usually the former is\baselineskip
, but it can be larger.So I guess the following code is closer to your approach