成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

初學者的LaTeX TikZ快速入門

開發 開發工具
實際上,tikz還為我們提供了許多其他工具。例如,我們迄今為止展示的工具并不足以繪制更復雜的圖形——例如余弦函數的圖像。

一、前言

從第一次學習LaTeX開始,可能對tikz有一種幾乎與生俱來的恐懼。實際上,對學習tikz的抗拒程度之高,甚至在所有與LaTeX相關的谷歌搜索中加上了“……不使用tikz”的后綴。

大多數時候,這種恐懼源于tikz和pgf共享的龐大且詳盡的文檔(https://ftp.cc.uoc.gr/mirrors/CTAN/graphics/pgf/base/doc/pgfmanual.pdf)——順便提一句,在使用tikz繪制了這么多頁面和數字之后,這些文檔已經成為互聯網上最有幫助的資源之一。但是,和大多數事情一樣,當你有了學習tikz的具體理由時,學習tikz就會變得簡單得多。

線條與顏色線條與顏色

因此,讓我們從兩個簡單的例子開始。

二、線條與節點

看看下面的圖:

圖片圖片

這可能是你能想到的最簡單的函數之一,對吧?

如果你有任何疑問,這不過是以下函數的圖像:

圖片圖片

簡單吧。

生成上述圖像的代碼如下:

\documentclass[tikz, margin=5mm]{standalone}
  
\begin{document}
    \begin{tikzpicture}
      \draw[dashed] (-2.99,-2.99) grid (2.99,2.99);
      \draw[thick, ->] (-3,0) -- (3,0)node[pos=1,below]{$x$};
      \draw[thick, ->] (0,-3) -- (0,3)node[pos=1,left]{$y$};
      \draw[thick] (0,0) -- (3,3);
      \draw[thick] (-3,-2) -- (0,1);
      \node[circle, draw=black, inner sep=1.5pt, fill=white](a) at (0,1){};
      \node[circle, draw=black, inner sep=1.5pt, fill=black](b) at (0,0){};
    \end{tikzpicture}
\end{document}

接下來,我們逐行解釋上述代碼片段:

  • 首先,作為簡寫,我們在documentclass的可選參數中包含了tikz。此外,通過參數margin=5mm,我們要求LaTeX在我們的圖形周圍插入5mm的邊距。不過,我們也可以像使用其他軟件包一樣,常規地通過\usepackage{tikz}來包含tikz。
  • 通過\begin{document}和\begin{tikzpicture}命令,我們分別進入文檔和tikz環境。
  • 代碼中第一條重要的命令是第5行。在那里,我們從點(-2.99,-2.99)開始繪制一條虛線網格,延伸至點(2.99,2.99)(作為一個矩形)。默認情況下,網格被視為矩形,而提供的兩個點對應于矩形的左下角和右上角。
  • 接下來的兩行代碼繪制了兩個坐標軸。也就是說,我們繪制了兩條thick線,線的末端帶有箭頭(->),起點和終點均為特定點。
  • 在每條線的末尾,我們添加了一個節點以表示每個坐標軸的名稱。這是通過node關鍵字完成的,我們使用兩個參數對其進行定位。第一個參數pos=1表示節點應放置在線的末端(100%),而第二個參數(below或left)則決定節點相對于線段末端的位置。最后,花括號內的任何代碼{...}都對應于節點的文本——即使是空文本也應始終提供。
  • 在第8行和第9行中,我們繪制了兩條直線——它們對應于我們函數的圖像。
  • 在第10行和第11行中,我們使用兩個節點繪制了出現在圖中的兩個點。我們可以使用draw參數確定節點的繪制顏色,而如果想改變節點的填充顏色(默認情況下為none,即無填充,因此所有節點內部都是透明的),則可以使用fill參數。此外,雖然tikz節點默認為矩形,但通過使用circle關鍵字,我們可以將它們的形狀更改為圓形。最后,inner sep關鍵字決定了節點文本(這里為空)與節點邊框之間的間距——在這種情況下,它充當了節點的“半徑”。
  • 在方括號外,我們在圓括號內提供了每個節點的名稱,然后使用at關鍵字以絕對坐標確定其位置,最后使用{...}提供了它們的文本。

以上內容有兩個關鍵要點。首先,\draw的抽象語法如下:

\draw[options] (...) <shape> (...);

在選項部分,方括號內的[...]可以傳遞多個參數,主要涉及繪制線條的樣式。然后,使用括號,我們通常通過點來確定相應線條的起始和結束點(在某種相關的意義上),而shape參數則決定線條的形狀。在我們的例子中,我們使用了rectangle、grid和--作為形狀類型,它們分別對應于矩形、網格和直線。

我們學習了另一個重要命令是\node,它可以在繪圖中放置一個節點。一般來說——但并非嚴格意義上的——節點作為點存在,遵循以下抽象語法:

\node[options] (name) at (position) {text};

同樣,任何關于樣式的內容都放在選項部分。節點的名稱可以是任何字符串——包括字母數字字符和空格——作為每個節點的唯一內部標識符。節點的位置通常以笛卡爾坐標的形式給出,格式為(x,y),而節點的文本可以為空或包含一些文本/數學內容。

作為一個重要的提示,請注意,所有繪圖命令都應以分號;結束!

三、關于標簽

如果我們想繪制一個如下所示的圖形,并且其中包含了許多標簽,該怎么辦呢?

圖片圖片

一個漂亮的矩形。

你肯定可以弄清楚這是哪個函數的圖像,但你能寫出生成它的代碼嗎?如果不能,讓我們來看看以下代碼:

\documentclass[tikz, margin=5mm]{standalone}
\usepackage{xfrac} % Used to load to \sfrac command which typesets nice inline fractions.
 
\begin{document}
    \begin{tikzpicture}
      \draw[dashed, step=3] (-0.49,-0.49) grid (3.99,3.99);
      \draw[thick, ->] (-.5,0) -- (4,0) node[pos=1,below]{$x$};
      \draw[thick, ->] (0,-.5) -- (0,4) node[pos=1,left]{$y$};
      \draw[thick] (0,0) -- (4,4);
      \node[circle, draw=black, inner sep=1.5pt, fill=white, label={right,yshift=8pt}:{(1,1)}](a) at (3,3){};
      \node[circle, draw=black, inner sep=1.5pt, fill=white, label={left,yshift=-8pt}:{(0,0)}](b) at (0,0){};
      \node[circle, draw=black, inner sep=1.5pt, fill=black, label={left}:{$(0,\sfrac{1}{2})$}](c) at (0,1.5){};
      \node[circle, draw=black, inner sep=1.5pt, fill=black, label={right}:{$(1,\sfrac{1}{2})$}](d) at (3,1.5){};
    \end{tikzpicture}
\end{document}

如你所見,有些部分你可以從之前的繪圖中識別出來。不過,我們也引入了一些新的內容。

首先,可以通過在\draw命令的選項中提供step參數來確定網格的步長,如上所示——默認情況下,任何值都被解釋為厘米。

我們還通過label={}:{}選項提供了一些節點標簽。那么,我們為什么使用這個而不是簡單地將一些文本/數學內容添加到節點的“本地”標簽(即text)中呢?原因在于,默認情況下,節點的文本錨定在中心,并隨節點一起移動。然而,在我們的例子中,我們想要實現的是在每個點旁邊添加一些文本以指示其在平面上的位置。為此,可以使用label={}:{}關鍵字,其一般語法如下:

label = {parameters} : {text / math}

參數可以涉及相對定位、錨點等多個方面。目前,我們使用了left和right將標簽分別定位于對應節點的左側和右側——正如你可能猜測的那樣,還有它們的垂直對應關系,above和below。

注意,我們還使用了xfrac軟件包,以一種更優雅的方式來排版內聯分數——至少在這種情況下是如此。這是通過\sfrac{}{}命令實現的,它的使用方法與常規的\frac{}{}命令相同。

四、結語

以上就是我們的所有內容,希望能幫助你快速入門。同時,似乎我們已經可以使用它們做很多事情了。實際上,tikz還為我們提供了許多其他工具。例如,我們迄今為止展示的工具并不足以繪制更復雜的圖形——例如余弦函數的圖像。

因此,可以在此入門基礎上探索更多有關LaTeX Tikz的使用技巧。

責任編輯:武曉燕 來源: Java學研大本營
相關推薦

2014-03-12 10:11:57

Python設計模式

2010-09-27 14:39:22

Android

2020-08-16 13:10:46

TensorFlow深度學習數據集

2011-08-24 17:05:01

Lua

2021-08-05 14:40:45

操作系統UNIXLINUX

2023-10-14 17:21:53

Scala編程

2011-09-16 09:38:19

Emacs

2022-04-24 15:21:01

MarkdownHTML

2011-04-12 10:13:24

2011-03-02 12:43:40

vsFTPd

2009-06-05 11:01:07

淘寶Open API入門教程

2010-11-24 16:15:09

UI設計Windows Pho

2011-06-27 14:56:46

Qt Designer

2024-05-14 08:49:35

PytestPython測試框架

2009-06-15 13:17:37

Java初學者Java概念

2011-07-04 14:14:54

java

2009-09-28 09:45:00

CCNA學習經驗CCNA

2022-10-10 15:28:45

負載均衡

2015-07-20 13:56:59

SDN
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩资源 | 男女午夜免费视频 | 亚洲视频精品 | 成人免费毛片片v | 亚洲激情在线 | 日韩视频一区在线观看 | 欧美videosex性极品hd | 精品一区二区久久久久久久网精 | 天天草狠狠干 | 日韩欧美在线观看 | 中文字幕在线一区二区三区 | av免费看片 | 97在线播放 | 亚洲国产中文字幕 | 香蕉av免费 | 国产精品久久av | 日韩第一夜 | 国产精品久久久久久影院8一贰佰 | 成人一区二区三区 | 孕妇一级毛片 | 国产在线视频一区二区 | 91xxx在线观看 | 免费视频二区 | 黄视频在线网站 | 精品久久久久久亚洲精品 | 日韩1区 | 亚洲色图插插插 | 国产免费xxx | 欧美日韩久久久 | 国产一级电影网 | 韩国主播午夜大尺度福利 | 美女天天操 | 精品一区二区三区视频在线观看 | 日本高清aⅴ毛片免费 | 高清成人免费视频 | 国产高清视频在线 | 福利视频一区 | 99精品视频免费在线观看 | 玖玖爱365| 欧美日韩免费在线 | 久草在线|