左边距在哪里?

左边距在哪里?

我正在开发 TikZ-from-TeX-SX 包,特别是开发在 tikzpicture 环境中放置方程编号的代码。为此,我需要知道文本在页面上的水平起始和终止位置。通过查看几个图表,似乎左侧边距位于:\hoffset+ 1in + \oddsidemargin(但这\oddsidemargin让我有点担心!),为了获得右侧边距,我添加了\textwidth

所以问题是:我如何可靠地找出我的左边距和右边距在哪里(比如说,从页面的左边缘测量)?

如果这很重要,那么我宁愿选择 TeX他们比他们实际上也就是说,如果用户更改了某个分组的长度,从而暂时欺骗了 TeX,但在 TeX 真正将任何内容放到页面上之前,欺骗已经结束,那么我将加入 TeX 的梦幻世界。

另外,我想知道我在哪个页面上也很重要。在这种情况下,我可以运行两次 TeX 来弄清楚,因为我已经需要运行两次 TeX 来处理包中的其他内容。

笔记:这个问题与 TikZ 完全无关

答案1

\hoffset+ 1in + \oddsidemargin+\leftskip并为右边距添加\textwidth- \rightskip

对于展示材料,还有\displayindent\displaywidth

我还应该提到layout包裹。

答案2

zref一个包可以获取页面布局或任何文本的位置的参考。

\documentclass{article}
\usepackage[user,pagelayout,savepos]{zref}

\begin{document}
\section{pagelayout}

During page shipout, \verb|\oddsidemargin| is
\zref[oddsidemargin]{thepage}sp. (You won't be fooled)

\section{savepos}

\zsavepos{leftanchor}\fbox{FOO}\zsavepos{rightanchor}

FOO begins at (\zposx{leftanchor}sp, \zposy{leftanchor}sp)
and ends at (\zposx{rightanchor}sp, \zposy{rightanchor}sp).
\end{document}

相关内容