src2(la)tex 不能真正解释 Mathematica 笔记本吗?

src2(la)tex 不能真正解释 Mathematica 笔记本吗?

src2(la)tex是一个 Linux 应用程序,它从不同的商业文件格式(如、、...笔记本)获取输入maple并将mathematica它们作为(la)tex代码发出。

但是当我给它输入某个笔记本时,它会评论说它stdout将该文件识别为 Mathematica 笔记本,但生成的乳胶只是 .nb 笔记本中经过漂亮化的文本内容latex,即没有图形等的解释...

答案1

我不相信它src2(la)tex应该这样工作。它实际上只是一个非常简单的源代码漂亮打印机,它允许您在代码中插入 TeX 命令(如公式甚至图像)。您必须先以 TeX 格式插入这些命令,用{\ ... }$ ... $或标记它们$$ ... $$,然后src2(la)tex将它们直接复制到输出文件中,而不进行漂亮打印。据我所知,它本身无法解释任何源代码。

例如,如果您的源代码包含:

void plot_f (float a, b) /* will plot the function $f(x) = \sqrt{x^2 - 1}$ from $a$ to $b$, 
                resulting in a plot like {\includegraphics{plot}} */
{
   /* do something */
}

它将被翻译成

\documentstyle{article}
\begin{document}

\ifx\sevenrm\undefined
  \font\sevenrm=cmr7 scaled \magstep0
\fi

\newread\MyStyle
\openin\MyStyle=src2latex.s2t
\ifeof\MyStyle
  \closein\MyStyle
\else
  \input src2latex.s2t
  \closein\MyStyle
\fi

\ifx\gtfam\undefined
  \ifx\dm\undefined
    \ifx\tendm\undefined
      \def\mc{\null}
    \else
      \def\mc{\tendm}
    \fi
  \else
    \def\mc{\dm}
  \fi
  \ifx\dg\undefined
    \ifx\tendg\undefined
      \def\gt{\null}
    \else
      \def\gt{\tendg}
    \fi
  \else
    \def\gt{\dg}
  \fi
\fi
\ifx\sc\undefined
  \def\sc{\null}
\fi

\tt\mc 

\noindent
void{\tt\mc \kern0.500em}plot{\tt\_\kern.141em}f{\tt\mc \kern0.500em}(float{\tt\mc \kern0.500em}a,{\tt\mc \kern0.500em}b){\tt\mc \kern0.500em}\rm\mc {\tt /}{\tt *}\kern0.500em will\kern0.500em plot\kern0.500em the\kern0.500em function\kern0.500em $f(x) = \sqrt{x^2 - 1}$\rm\mc \kern0.500em from\kern0.500em $a$\rm\mc \kern0.500em to\kern0.500em $b$\rm\mc ,\kern0.500em 

\noindent
{\tt\mc \kern4.000em}{\tt\mc \kern4.000em}{\tt\mc \kern4.000em}\kern2.000em resulting\kern0.500em in\kern0.500em a\kern0.500em plot\kern0.500em like\kern0.500em  \includegraphics{plot} \rm\mc \kern0.500em {\tt *}{\tt /}
\tt\mc 

\noindent
{}{\tt\char'173}

\noindent
{}{\tt\mc \kern1.500em}\tt\mc {\tt /}{\tt *}\kern0.500em do\kern0.500em something\kern0.500em {\tt *}{\tt /}
\tt\mc 

\noindent
{}{\tt\char'175}

\noindent
{}

\rm\mc

\end{document}

请注意,结果是旧版 LaTeX 2.09 格式。更改第一行并加载graphicx包后,我便可以生成以下内容:

src2latex 的结果

相关内容