LaTex 如何计算双列文档中的 \linewidth?

LaTex 如何计算双列文档中的 \linewidth?

我想计算从 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

也就是\linewidth减去列 sep 后\columnwidth的一半(文章类中为 10pt)。\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

相关内容