相关疑难解决方法(0)

IPython(Jupyter)MathJaX序言

如何设置MathJax"序言"以便在IPython(或Jupyter)笔记本中重复使用,方便其他人阅读我的文档(在http://nbviewer.org上)并且适用于LaTeX/PDF代?

背景

我想使用IPython(现在是Jupyter)笔记本来处理我后来通过LaTeX(使用ipython nbconvert)转换为PDF的文档.问题是如何在几乎每个文档中包含一堆宏定义.就像是:

\newcommand{\vect}[1]{\vec{#1}}
\newcommand{\abs}[1]{\lvert#1\rvert}
\DeclareMathOperator{\erf}{erf}
Run Code Online (Sandbox Code Playgroud)

就笔记本电脑而言,一个令人不满意的解决方案是将它们简单地包含在笔记本顶部的降价单元中,嵌入两个美元符号之间,$$因此它被解释为数学.如果这是在一些介绍性文本之后完成的,那么它甚至不会影响输出.

问题是,当转换为LaTeX(用于PDF导出)时,这些命令嵌入在LaTeX文件的数学环境中.这有几个问题:

  1. 类似的命令\DeclareMathOperator必须出现在LaTeX文档前言中.
  2. 命令定义是等式的本地,在文档的后面部分不可用.(这可以通过使用\gdef或者克服来解决,\global\def但是必须要求MathJax识别这些命令,其中某些东西\let\gdef{\def}在某种程度上是从LaTeX中隐藏的.我发现使这项工作的任何方式都相当于一个丑陋的黑客.)
  3. 有时命令已经在LaTeX中定义并且需要\renewcommand(MathJax不支持,但也可以由\let\renewcommand\newcommand等等提供,这对我来说似乎是合理的,因为MathJax无法知道前导码可能用于最终的LaTeX文件) .

可能解决方案是通过添加代码(不确定等效于此处......)为MathJax提供一组宏\DeclareMathOperator.

<script type="text/x-mathjax-config">
MathJax.Hub.Config({
  TeX: {
    Macros: {
      vect: ["{\\vec #1}",1],
      abs: ["{\\lvert #1 \\rvert}",1]
    }
  }
});
</script>
Run Code Online (Sandbox Code Playgroud)

custom.js文件,然后在转换为PDF时提供包含的LaTeX包.我对这种方法的问题是:如何custom.js为其他人(协作者和查看者)分发文件和LaTeX样式文件?

  1. 我希望协作者能够编辑和阅读我的文档,而无需在其全局配置中安装自定义扩展.具体来说,我可以要求他们运行一个命令,就像python setup.py configure他们下载/签出我的代码一样,对项目进行本地修改,比如ipython_notebook_config.py在包含笔记本的所有目录中填充文件,但是不喜欢安装扩展或修改他们的个人全局custom.js文件.

    我的绊脚石是我不知道如何将本地custom.js文件中的贡献添加到笔记本链中,并怀疑这可能违反了安全策略.

    最好的解决方案不需要我的协作者的任何操作.

  2. 我希望我的笔记本能够在http://nbviewer.org上工作,并且人们能够下载笔记本并制作PDF.(我认为这排除了使用 …

ipython mathjax pandoc ipython-notebook

16
推荐指数
1
解决办法
3961
查看次数

是否有可能在jupyter笔记本中将'print`输出显示为LaTeX?

我正在写一个非常简单的脚本来计算椭球面积和体积以及其他一些东西.我正在展示我的输出打印出来像这样:

print('Dims: {}x{}m\nArea: {}m^2\nVolume: {}m^3'.format(a, round(b,2), P, V))
Run Code Online (Sandbox Code Playgroud)

当然,这给了这个输出(带有样本数据):

Dims: 13.49x2.25m
Area: 302.99m^2
Volume: 90.92m^3
Run Code Online (Sandbox Code Playgroud)

正如我之前写的,我使用的是jupyter笔记本,因此我可以在markdown单元格中使用$运算符来创建LaTeX公式.

我的问题是,是否有可能使用Python代码生成输出,它将被理解为LaTeX公式并以这样的方式打印:

Latex_example

感谢所有回复.

latex python-3.x jupyter-notebook

10
推荐指数
2
解决办法
8998
查看次数

如何在 Visual Studio 代码中的 Jupyter 笔记本中使用 Latex?

我已经看到了与这个问题相关的一些其他链接,如下:

  1. 如何在IPython Notebook中编写LaTeX?
  2. https://towardsdatascience.com/write-markdown-latex-in-the-jupyter-notebook-10985edb91fd
  3. https://colab.research.google.com/drive/18_2yFdH8G-6NXY_7fTcshMoScgJ-SYac#scrollTo=go3imAWqE9au

然而,我在 Jupyter Notebook 中使用 Latex 代码时仍然面临一些问题。

例如,

\begin{align*}
  f(x) &= x^2\\
  g(x) &= \frac{1}{x}\\
  F(x) &= \int^a_b \frac{1}{3}x^3
\end{align*}
Run Code Online (Sandbox Code Playgroud)

这工作正常,Markdown但是

\begin{equation*}
  f(x) &= x^2\\
  g(x) &= \frac{1}{x}\\
  F(x) &= \int^a_b \frac{1}{3}x^3
\end{equation*}
Run Code Online (Sandbox Code Playgroud)

才不是。

在尝试使用以下命令创建有序列表时

\begin{enumerate}
  \item The labels consists of sequential numbers.
  \item The numbers starts at 1 with every call to the enumerate environment.
\end{enumerate}
Run Code Online (Sandbox Code Playgroud)

然而,$\textbf{This is a bold text.}$有效。

我真的很困惑我能用什么和什么不能用。有什么方法可以让我在 Visual Studio 代码中仅使用 Latex 代码(而不是 HTML 或其他代码)来格式化我的文本和方程,而不必担心哪些有效哪些无效?

formatting markdown latex visual-studio-code jupyter-notebook

8
推荐指数
1
解决办法
2万
查看次数

iPython笔记本上的内联数学模式

在iPython笔记本中,我如何编写一个数学公式,如r^2一行(乳胶词汇表中的内联数学模式).即.打印公式时是否可以不换行.

如果喜欢在LaTeX中,它应该是\(r^2\)但它不起作用......

谢谢你的帮助 !

latex ipython mathjax ipython-notebook

6
推荐指数
1
解决办法
8138
查看次数

Google Colab API

是否有Google Colab API?我正在寻找完成类似的事情:

  1. 建立使用者
  2. 创建笔记本
  3. 与用户共享笔记本
  4. 检索笔记本的内容

google-drive-api google-colaboratory

5
推荐指数
2
解决办法
5136
查看次数