我想計算從 R 匯出並包含在 LaTeX 文件中的圖形的理想大小(因此圖形標籤的文字大小與結果文件的字體大小成已知比例)。但是,對於雙列文檔,我不知道 LaTeX 如何計算 \linewidth。有沒有一個公式可以計算這個?我需要類似的東西:
(paperwidth - margins)/2 - distance_of_the_columns_as_a_function_of_font_size
當然,我可以編譯pdf並包含
\the\linewidth
取得目前文件的線寬(然後我可以手動提供給 R),但我想編寫一個可以「盲目」運行的 R 腳本,並自動從純 .tex 檔案計算所需的值。
編輯:我測試過
\the\columnsep
對於 8pt、10pt、11pt 和 12pt 文章和 scrartcl 文檔,總是得到10分,因此我假設該值對於常規情況是恆定的。這將使事情變得相當容易,因為\columnwidth
那時將是:
(\paperwidth - margins - 10pt)/2```
答案1
計算公式為
\def \twocolumn {%
\clearpage
\global\columnwidth\textwidth
\global\advance\columnwidth-\columnsep
\global\divide\columnwidth\tw@
\global\hsize\columnwidth
\global\linewidth\columnwidth
即減去 sep 欄位(文章類中的 10pt)後\linewidth
的\columnwidth
一半。\textwidth
\textwidth
預設情況下,在每個文件類別中以不同的方式設定(並且通常由諸如 之類的包重新設定geometry
),在article
具有預設10pt
選項的類別中,它由
\if@compatibility
\if@twocolumn
\setlength\textwidth{410\p@}
\else
\setlength\textwidth{345\p@}
\fi
\else
\setlength\@tempdima{\paperwidth}
\addtolength\@tempdima{-2in}
\setlength\@tempdimb{345\p@}
\if@twocolumn
\ifdim\@tempdima>2\@tempdimb\relax
\setlength\textwidth{2\@tempdimb}
\else
\setlength\textwidth{\@tempdima}
\fi
\else
\ifdim\@tempdima>\@tempdimb\relax
\setlength\textwidth{\@tempdimb}
\else
\setlength\textwidth{\@tempdima}
\fi
\fi
\fi
\if@compatibility\else
\@settopoint\textwidth
\fi
約 345pt 或 2in 小於\paperwidth