如何将 \columnwidth 写入外部文件

如何将 \columnwidth 写入外部文件

我使用 Python 生成的 LaTeX 文档中的一些图形。通常我会手动检查图片的宽度,\showthe\columnwidth并相应地调整图像宽度。(这对于不调整文本标签的大小很重要)

有没有办法可以将其写入文件,这样我就可以神奇地做到这一点?\columnwidth在我的文档中始终相同,因此只需写入一次。如果在值未更改时不重写文件,那就太好了(对我的 Makefile 来说很好)。

答案1

这似乎可以实现您的愿望。

\documentclass[twocolumn]{article}
\newdimen\tempcolwidth \tempcolwidth0pt
\newwrite\widthfile
\AtBeginDocument{\checkcolwidth}
\newcommand\checkcolwidth{%
        \InputIfFileExists{\jobname.width}{}{}%
        \ifdim\columnwidth=\tempcolwidth\else
                \openout\widthfile=\jobname.width
                \write\widthfile{\tempcolwidth=\the\columnwidth}%
                \closeout\widthfile
        \fi
}
\begin{document}
asdf
\end{document}

我应该指出,如果您的文件名为foo.tex,那么这将生成一个名为 的文件,其中包含是列的实际宽度的foo.width行。如果在读取文件后,和同意,则不会写入文件。否则,将打开文件并写出列宽的值。\tempcolwidth =...pt...\columnwidth\tempcolwidth

相关内容