2009-12-15 34 views
3

在這種sample code,筆者做以下查詢有關圖紙TikZ圖

\draw ($(closedStart.south) + (-.5em,0)$) 
     edge[stateEdge] node[edgeLabel, xshift=-3em]{\emph{Passive open}} 
     ($(listen.north) + (-.5em,0)$); 

最令我激怒了這些基於標記的繪圖工具是,我已經測量值和指定。在這種情況下,作者指定.5em

我還沒有理解如何解決這個問題? .5em多少錢?我甚至不知道基礎對象的大小,所以如何確定如果我給出一個值,它將是有效的?

有沒有辦法做到這一點?我應該如何確定價值和單位?他們總是最好的單位使用?

回答

2

谷歌是您的朋友:http://en.wikipedia.org/wiki/Em_%28typography%29

em是測量在排版領域的單位,等於當前字體的字號。這個單位沒有按照任何特定的字體來定義,因此對於給定的點大小的所有字體是相同的。所以,16點字體中的1點是16點。

可以度量單位改爲由乳膠支持什麼,我敢肯定:在,毫米,釐米,PTS,皮卡,等等等等

+0

這很有道理。但是,我如何知道.5em是否足夠,或者我是否需要1em或2em或.25em ......試用和錯誤是唯一的出路嗎?還是有一個系統和簡單的方法來估計這些值? – user855

+0

試驗和錯誤基本上 - 但切換到您感覺舒適的測量單位。你可以用'in'或者'cm'替換'em'或者你有什麼。如果你使用足夠的類型,你會學會衡量單位的大小。 – Mica

+0

你寫的是ems,「這個單位沒有用任何特定的字體來定義」 - 雖然你後來說「16點的字體是16點」,但我認爲值得說明的是,字體的縮放比例,簡單來說,大寫字母「M」的寬度是多少。 –

1

要展開什麼雲母說:

em s是測量字符間空間的常用方式,歷史上是給定字體中字符「M」的寬度(「M」通常是拉丁字體中最寬的字母):重要的是,它是一個相對測量和下標字體,例如,比正常文本的em小。現代字體通常具有比歷史上更窄的「M」字符,並且存在許多非拉丁字體,所以em量度現在從字體設計者放置字符的正方形(或長方形)的尺寸導出,並且被傳達作爲參數,連同文本所在的基線高度等事實,它告訴我們字體的大小。

字體的點大小是指em的點數(通常是1/72英寸),所以12點字體是其字符「M」是1/6英寸寬(即12/72英寸)。 12點字體的下標通常以7點字體顯示,其中em僅爲1/10英寸。

如果要在頁面上進行定位,請使用點。如果要控制文本中的間距,請使用em因爲它們會縮放。

後記

固定的字符'M」,由於雲母的討論。

1

不太確定TikZ如何處理它,但在LaTeX中,您可以將度量指定爲已知長度的分數(大於或小於1),因此您可以將長度設置爲0.5 \ textwidth。我敢打賭,TikZ有這樣的設施,所以如果你想成爲一個長期的用戶,你會想出來。