我怎样才能在 ConTeXt 中仅获取一张图片,而不是整个页面上的图片?

我怎样才能在 ConTeXt 中仅获取一张图片,而不是整个页面上的图片?

我希望 ConTeXt 中实现与 LaTeX 中相同的效果。

\documentclass[tikz]{standalone}

\begin{document}

\begin{tikzpicture}
\draw (0,0) rectangle (2,3);
\end{tikzpicture}

\end{document} 

也就是说,我只想要一张图片的结果,而不是整个页面上的图片。有人能告诉我该怎么做吗?

提前致谢。

答案1

要获取裁剪为其内容的页面,请使用\start...\stopTeXpage。该\startTEXpage指令还充当隐式的\starttext,因此如果您的文档应该只包含带有绘图的单页,则以下内容就足够了:

\usemodule[tikz]
\startTEXpage
  \starttikzpicture
    \draw (0,0) rectangle (2,3);
  \stoptikzpicture
\stopTEXpage

如果适合的页面应该包含 MetaFun 绘图,那么还有一种更简短的方法来实现: \start...\stopMPpage

\startMPpage
draw fullsquare xyscaled (2cm,3cm) ;  
\stopMPpage

答案2

根据 Wolfgang Schuster 的建议,更正后的答案如下。

% example.tex
\usemodule[tikz]

\setupTEXpage[pagestate=start]

\starttext

\startTEXpage
  \starttikzpicture
    \draw (-1.5,0) -- (1.5,0);
    \draw (0,-1.5) -- (0,1.5);
  \stoptikzpicture
\stopTEXpage

\startTEXpage
  \starttikzpicture
    \draw (0,0) rectangle (2,3);
  \stoptikzpicture
\stopTEXpage

\startTEXpage
  \starttikzpicture
    \draw (0,0) circle (3cm);
  \stoptikzpicture
\stopTEXpage

\stoptext

答案3

经过多次尝试和错误后,我发现了如何制作多个适合的页面,所以我想在这里与其他人分享。

% example.tex
\usemodule[tikz]

\setcounter[userpage][0]

\starttext

\incrementcounter[userpage]
\startTEXpage
  \starttikzpicture
    \draw (-1.5,0) -- (1.5,0);
    \draw (0,-1.5) -- (0,1.5);
  \stoptikzpicture
\stopTEXpage

\incrementcounter[userpage]
\startTEXpage
  \starttikzpicture
    \draw (0,0) rectangle (2,3);
  \stoptikzpicture
\stopTEXpage

\incrementcounter[userpage]
\startTEXpage
  \starttikzpicture
    \draw (0,0) circle (3cm);
  \stoptikzpicture
\stopTEXpage

\stoptext

以下是如何将结果的.pdf 文件中的每个页面转换为.svg 文件。

$ context example.tex

$ pdf2svg
Usage: pdf2svg <in file.pdf> <out file.svg> [<page no>]

$ pdf2svg example.pdf example-1.svg 1
$ pdf2svg example.pdf example-2.svg 2
$ pdf2svg example.pdf example-3.svg 3

$ ls -l example-?.svg
-rw-r--r-- 1 philos philos 1039  Jun 10 15:21 example-1.svg
-rw-r--r-- 1 philos philos  735  Jun 10 15:21 example-2.svg
-rw-r--r-- 1 philos philos  939  Jun 10 15:21 example-3.svg

相关内容