簡體   English   中英

TikZ 和 PGF LaTeX 包的混淆 - 它們是什么,MiKTeX 如何存儲它們,以及 LaTeX 編譯器如何解釋它們

[英]Confusion on TikZ and PGF LaTeX packages - what they are, how they are stored by MiKTeX, and how they are interpreted by LaTeX compilers

我使用 VSCode 使用 LaTeX-Workshop VSCode 擴展、MiKTeX 和 pdflatex 編寫 LaTeX。 LaTeX-Workshop 擴展附帶了一個方便的功能,可以使用 hover 包並查看它們的文檔,但我注意到此功能在 tikz package 上不起作用。截圖有更多細節。

我開始研究為什么會這樣,因為鏈接的 ctan 頁面有這么長且非常詳細的 TikZ 和 PGF 手冊 事實證明,MiKTeX 甚至沒有列出一個名為 TikZ 的 package ,這令人困惑,因為 my.tex 文件在包含 \usepackage{tikz} 行時似乎可以正常編譯,而嘗試使用任何其他“不存在的”package 會導致編譯錯誤。

我瀏覽了六個網頁,試圖更詳細地了解 PGF 和 TikZ 是什么,但它非常令人困惑。 ctan PGF 頁面說“PGF 是一個用於創建圖形的宏 package...它帶有一個名為 TikZ 的用戶友好語法層”,但我對這意味着什么有點困惑。 為什么 package 和語法有不同的名稱?

我的問題可以總結為:

  • PGF 和 TikZ 到底是什么? 兩者之間有什么區別,它們有不同名稱的原因是什么?
  • 如果我沒有安裝該名稱的 package,我的 LaTeX 編譯器如何解釋“\usepackage{tikz}”?
  • 什么是 TikZ 庫以及像“\usetikzlibrary{arrows}”這樣的行到底做了什么? 它們與包裹基本相同嗎?
  • 如果我使用的是 MiKTeX,我的機器 (Windows 10) 上存儲的 TikZ 庫在哪里? 我已經能夠在“C:\Users\{USERNAME}\AppData\Local\Programs\MiKTeX 2.9\”的子文件夾中找到大多數其他包及其文檔。
  • 有關如何將 TikZ/PGF 手冊 pdf 鏈接到 MiKTeX 以便我可以輕松訪問 VSCode 中的文檔的說明會很好,但這並不是本文的重點。

為了澄清,我不是在尋找有關如何使用 PGF/TikZ 的教程(有許多其他好的資源),也不是在尋找一個過於高級的答案,如“PGF/TikZ 是一個 LaTeX package 用於創建圖形”沒有提供更多細節,我已經知道很多了。

預備注:

在 latex 世界中,“包”一詞有兩種略有不同的用法,一種是您從 latex 文檔中了解到的傳統\usepackage{....} ,另一種是 ctan/miktex/texlive package。一次,ctan/miktex/texlive package 只包含同名的 latex package,但有時它可以有不同的名稱和/或一次包含多個 latex 包。


  • PGF 和 TikZ 到底是什么? 兩者之間有什么區別,它們有不同名稱的原因是什么?

pgf 提供低級命令,如筆畫等,tikz 在此基礎上構建並使用低級 pgf 命令繪制更復雜的東西,如幾何形狀或橡皮鴨(無恥的插頭)

低級和高級代碼之間的這種划分非常有用,因為它允許用戶根據需要加載。 以 beamer class 為例。它使用各種低級 pgf 命令在幻燈片上繪制裝飾,因此它加載(部分)pgf package。它不需要來自 tikz package 的所有花哨的東西,所以它確實不加載它,這樣可以節省大量時間,因為加載所有 tikz 是相對緩慢的。

  • 如果我沒有安裝該名稱的 package,我的 LaTeX 編譯器如何解釋“\usepackage{tikz}”?

你確實安裝了它,它包含在 ctan/miktex/texlive pgf package 中\usepackage{tikz}基本上轉換為\input{tikz.sty} 作為回報,此文件將加載 latex pgf package(以及許多其他內容)

  • 什么是 TikZ 庫以及像“\usetikzlibrary{arrows}”這樣的行到底做了什么? 它們與包裹基本相同嗎?

是的,它們基本上是 tikz 的軟件包,您可以使用它們進一步擴展 tikz 的功能。

  • 如果我使用的是 MiKTeX,我的機器 (Windows 10) 上存儲的 TikZ 庫在哪里? 我已經能夠在“C:\Users\{USERNAME}\AppData\Local\Programs\MiKTeX 2.9\”的子文件夾中找到大多數其他包及其文檔。

您可以在您的 .log 文件中自行查找。 在其中搜索tikz.sty ,此行和以下行將告訴您所有文件的位置。

  • 有關如何將 TikZ/PGF 手冊 pdf 鏈接到 MiKTeX 以便我可以輕松訪問 VSCode 中的文檔的說明會很好,但這並不是本文的重點。

如果你在 vscode 中打開一個新的終端(ctrl+shift+`),你可以通過輸入texdoc tikztexdoc pgf打開用戶指南(同一個文件,只是多種打開方式)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM