小编fly*_*eep的帖子

如何将LaTeX与Markdown混合使用?

我一直在使用Markdown作为课堂笔记,这很棒.我甚至对Markdown做了一些预处理,所以我可以做像桌子这样的事情.但是这个学期我正在教一个有很多数学的课,而且我很乐意将LaTeX公式与Markdown一起使用,如下所示:

The refinement relation is written $a \sqsubseteq b$, which can be 
pronounced "$a$ approximates $b$" or "$b$ is at least as defined as $a$".
Run Code Online (Sandbox Code Playgroud)

我希望能够获取LaTeX的每个片段并将其预处理成一个很好的抗锯齿PNG文件,然后我可以通过HTML <img>标记将其包含在我的Markdown中.但我完全不知道如何拍摄LaTeX片段并获得一个漂亮的图像

  • 有合适的边界框
  • 是抗锯齿的

我所知道的是如何获得DVI,PostScript或PDF格式的完整页面.

我确定这个问题已得到解决,但我无法猜出正确的搜索条件.有任何建议如何解决或在哪里寻找现有的解决方案?


编辑:安装了mathTeX之后,我可以说代码是不灵活的,它违反了Linux文件系统层次结构标准,而且它是业余工作 - 无论是好词还是坏词.代码非常复杂,没有明显的错误.我会寻找替代品.

此外,很明显,在底部,解决方案是基于dvipng.


一年之后:我从来没有得到过我一直希望的无缝集成,但我一直在用自己设计的脚本跛行.事实证明,而不是dvipng它更容易使用dvips -EconvertImageMagick 的程序.这样做的好处是可以稍微控制缩放等内容,并且可以轻松实现透明背景.好奇的人可以检查这个例子.

我不能向任何人推荐这个解决方案.但我不能推荐MathTeX.

html markdown latex mathematical-typesetting

174
推荐指数
8
解决办法
11万
查看次数

Scala:"任何"和"所有"功能

我的Haskell*有点生疏,所以我可以想象我错过了显而易见的事情:

def any[A](s: Traversable[A], f: A => Boolean): Boolean = {
    s.foldLeft(false)((bool, elem) => bool || f(elem))
}
Run Code Online (Sandbox Code Playgroud)

这些属性中的一个是否适用于它?

  1. 预定义在Scala库中的某个位置
  2. 间接的,更快写成一些单行
  3. 错了(我没试过,对不起;))

*实际上是SML,但这是99%相同,但在阳光下没有人知道.

functional-programming scala

62
推荐指数
2
解决办法
3万
查看次数

迭代python3中的各个字节

bytes在Python 3中迭代对象时,可以将个体bytes作为ints:

>>> [b for b in b'123']
[49, 50, 51]
Run Code Online (Sandbox Code Playgroud)

如何获得1长度的bytes对象?

以下是可能的,但对于读者来说不是很明显,并且很可能表现不好:

>>> [bytes([b]) for b in b'123']
[b'1', b'2', b'3']
Run Code Online (Sandbox Code Playgroud)

python python-3.x

43
推荐指数
6
解决办法
3万
查看次数

在IPython笔记本中自动播放声音

我经常在我的IPython笔记本中运行长时间运行的单元格.我希望笔记本能够在单元格执行完毕后自动发出蜂鸣声或播放声音.有没有办法在iPython笔记本中做到这一点,或者我可以在一个自动播放声音的单元格末尾放置一些命令?

如果这有任何区别,我正在使用Chrome.

python ipython ipython-notebook

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

Scala继承参数化构造函数

我有一个带有几个可选参数的抽象基类:

abstract case class Hypothesis(
    requirement: Boolean = false,
    onlyDays:   Seq[Int] = Nil,
    …
) extends Something {…}
Run Code Online (Sandbox Code Playgroud)

我是否真的需要在顶部使用附加关键字override val明确重复所有参数‽

case class SomeHypothesis(
    anotherArg: SomeType,
    override val requirement: Boolean = false,
    override val onlyDays:   Seq[Int] = Nil,
    …
) extends Hypothesis(
    requirement,
    onlyDays,
    …
) {…}
Run Code Online (Sandbox Code Playgroud)

或者是否有类似的语法

case class SomeHypothesis(anotherArg: SomeType, **) extends Hypothesis(**) {…}
Run Code Online (Sandbox Code Playgroud)

我甚至不需要anotherArg,只是将所有关键字args传递给超级构造函数的方法.


我真的很喜欢Scala关于构造函数的想法,但是如果没有这个的语法,我会很失望的:(

inheritance constructor scala

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

如何通过Python中的XPath以命名空间无关的方式查找XML元素?

因为我第二次遇到这个烦人的问题,我觉得这个问题会有所帮助.

有时候我必须从XML文档中获取Elements,但是这样做的方法很尴尬.

我想知道一个python库,它可以实现我想要的,一种优雅的方式来表示我的XPath,一种在前缀中自动注册命名空间的方法,或者在内置XML实现中的隐藏首选项,或者在lxml中完全删除命名空间.澄清之后,除非你已经知道我想要什么:)

实施例-doc的:

<root xmlns="http://really-long-namespace.uri"
  xmlns:other="http://with-ambivalent.end/#">
    <other:elem/>
</root>
Run Code Online (Sandbox Code Playgroud)

我可以做什么

ElementTree API是唯一内置的(我知道)提供XPath查询.但它需要我使用"UNames".这看起来像这样:/{http://really-long-namespace.uri}root/{http://with-ambivalent.end/#}elem

如您所见,这些都非常冗长.我可以通过以下方式缩短它们:

default_ns = "http://really-long-namespace.uri"
other_ns   = "http://with-ambivalent.end/#"
doc.find("/{{{0}}}root/{{{1}}}elem".format(default_ns, other_ns))
Run Code Online (Sandbox Code Playgroud)

但是,这是双方{{{丑陋}}}和脆弱的,因为http…end/#http…end#http…end/http…end和我是谁知道哪个变种会用吗?

此外,lxml支持名称空间前缀,但它既不使用文档中的名称前缀,也不提供处理默认名称空间的自动方法.我仍然需要从每个命名空间中获取一个元素以从文档中检索它.命名空间属性不会保留,因此也无法自动从这些属性中检索它们.

有一种与命名空间无关的XPath查询方式,但它在内置实现中既详细又丑陋且不可用: /*[local-name() = 'root']/*[local-name() = 'elem']

我想做的事

我想找到一个库,选项或通用的XPath变形函数,通过输入以下内容来实现上述示例...

  1. Unnamespaced: /root/elem
  2. 来自文档的命名空间前缀: /root/other:elem

...加上可能是一些我确实想要使用文档前缀或剥离命名空间的语句.

进一步澄清:虽然我目前的用例很简单,但将来我将不得不使用更复杂的用例.

谢谢阅读!


解决了

用户samplebias将我的注意力引向了py-dom-xpath ; 正是我在寻找什么.我的实际代码现在看起来像这样:

#parse the document into a DOM tree
rdf_tree = xml.dom.minidom.parse("install.rdf")
#read the default namespace and prefix from the root node
context = xpath.XPathContext(rdf_tree)

name    = context.findvalue("//em:id", rdf_tree)
version …
Run Code Online (Sandbox Code Playgroud)

python xml xpath lxml elementtree

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

迭代任意长度的元组

我刚开始使用Scala并遇到了一个问题:

Scala有类型的Tuple1,Tuple2,..., Tuple22.在迭代查询时,Scalaquery返回元组.

我现在有一个给定的类(ZK ListitemRenderer),它接受Objects并用行填充gui列表,每个行包含一些单元格.但ListitemRenderer不是通用的.所以我的问题是我有一个Object"数据",它实际上是一个任意长度的元组,我必须迭代创建单元格(简单地用data._1.toString,...).

以来 没有 我不知道超类型Tuple1-22,我不能 不能做到的data.asInstanceOf[Tuple].productIterator foreach {…}

我能做什么?


下面的答案告诉我,所有元组确实都有一个特征Product- 提供所需的foreach功能.

iterable scala tuples scalaquery

10
推荐指数
1
解决办法
2436
查看次数

R懒惰的评价悖论(R bug?)

我有多个函数处理可能缺少的参数.

我有

mainfunction <- function(somearg) {
    mytest(somearg)
    fun <- function() { subfunction(somearg) }
    fun()
}
Run Code Online (Sandbox Code Playgroud)

有趣mytest(somearg)的是,与arg 的唯一交互是它测试参数是否没有丢失:

mytest = function(somearg) {
    print(missing(somearg))
}
Run Code Online (Sandbox Code Playgroud)

subfunction 然后再次测试它是否缺失并相应地对待它:

subfunction = function(somearg) {
    if (missing(somearg))
        somearg = NULL
    else
        somearg = matrix(somearg, cols = 2)
    # somearg is used here…
}
Run Code Online (Sandbox Code Playgroud)

踢球者是因为somearg失踪,这不起作用:matrix(somearg, cols = 2)投掷

参数"somearg"缺失,没有默认值

在调试过程中,我发现了以下内容:

  1. 在开始时mainfunction,missing(somearg)返回TRUE
  2. mytest,missing(somearg)返回TRUE
  3. in subfunction,missing(somearg)return FALSE(!!!!)

因此matrix …

r lazy-evaluation promise

10
推荐指数
1
解决办法
174
查看次数

python 3:使用readahead从stdin管道读取字节

我想读取字节.sys.stdin在textmode中打开,但它有一个可用于读取字节的缓冲区:sys.stdin.buffer.

我的问题是,当我将数据传输到python时,我似乎只有2个选项,如果我想要readahead,否则我得到一个 io.UnsupportedOperation: File or stream is not seekable.

  1. 读取缓冲文本sys.stdin,将该文本解码为字节,然后回顾

    (sys.stdin.read(1).decode(); sys.stdin.seek(-1, io.SEEK_CUR).

    由于输入流中的不可编码字节而不可接受.

  2. 利用peek来从标准输入的缓冲一些字节,切片,要适当的数量,并祈祷,因为peek并不能保证任何事情:它可能会少于或多于您的请求......

    (sys.stdin.buffer.peek(1)[:1])

    peek实际上是未被记录的,并且为您提供了一堆字节,您必须对性能密切切片.

顺便说一句.这个错误实际上只适用于管道:for ./myscript.py <somefile,sys.stdin.buffer支持寻求.但是sys.stdin对象的层次结构始终是相同的:

$ cat testio.py
#!/usr/bin/env python3
from sys import stdin
print(stdin)
print(stdin.buffer)
print(stdin.buffer.raw)"
$ ./testio.py
<_io.TextIOWrapper name='<stdin>' mode='r' encoding='UTF-8'>
<_io.BufferedReader name='<stdin>'>
<_io.FileIO name='<stdin>' mode='rb'>
$ ./testio.py <somefile
[the same as above]
$ echo hi | ./testio.py
[the same as above]
Run Code Online (Sandbox Code Playgroud)

一些初始的想法,如将字节流包装到随机访问缓冲区失败,出现与上述相同的错误:BufferedRandom(sys.stdin.buffer).seek(0) …

python python-3.x

9
推荐指数
1
解决办法
6317
查看次数

异步服务器或在R中快速加载状态

我正在写一个有时必须通过R脚本传递数据的网络服务器.

不幸的是启动很慢,因为我必须加载一些加载其他库等的库.

还有办法吗?

  • 加载库,将解释器状态保存到文件,并在下次调用时快速加载该状态?要么

  • 维护一个可以发送消息的后台R进程(不仅仅是低级数据流),这些消息被委托给异步工作者(即在解析前一个消息之前发送新消息不应该阻塞)

不幸的是,R-Websockets是同步的.

r

9
推荐指数
1
解决办法
370
查看次数