我一直在使用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 -E和convertImageMagick 的程序.这样做的好处是可以稍微控制缩放等内容,并且可以轻松实现透明背景.好奇的人可以检查这个例子.
我不能向任何人推荐这个解决方案.但我不能推荐MathTeX.
我的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)
这些属性中的一个是否适用于它?
*实际上是SML,但这是99%相同,但在阳光下没有人知道.
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) 我经常在我的IPython笔记本中运行长时间运行的单元格.我希望笔记本能够在单元格执行完毕后自动发出蜂鸣声或播放声音.有没有办法在iPython笔记本中做到这一点,或者我可以在一个自动播放声音的单元格末尾放置一些命令?
如果这有任何区别,我正在使用Chrome.
我有一个带有几个可选参数的抽象基类:
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关于构造函数的想法,但是如果没有这个的语法,我会很失望的:(
因为我第二次遇到这个烦人的问题,我觉得这个问题会有所帮助.
有时候我必须从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变形函数,通过输入以下内容来实现上述示例...
/root/elem/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) 我刚开始使用Scala并遇到了一个问题:
Scala有类型的Tuple1,Tuple2,..., Tuple22.在迭代查询时,Scalaquery返回元组.
我现在有一个给定的类(ZK ListitemRenderer),它接受Objects并用行填充gui列表,每个行包含一些单元格.但ListitemRenderer不是通用的.所以我的问题是我有一个Object"数据",它实际上是一个任意长度的元组,我必须迭代创建单元格(简单地用data._1.toString,...).
以来 没有 我不知道超类型Tuple1-22,我不能 不能做到的data.asInstanceOf[Tuple].productIterator foreach {…}
我能做什么?
下面的答案告诉我,所有元组确实都有一个特征Product- 提供所需的foreach功能.
我有多个函数处理可能缺少的参数.
我有
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"缺失,没有默认值
在调试过程中,我发现了以下内容:
mainfunction,missing(somearg)返回TRUEmytest,missing(somearg)返回TRUEsubfunction,missing(somearg)return FALSE(!!!!)因此matrix …
我想读取字节.sys.stdin在textmode中打开,但它有一个可用于读取字节的缓冲区:sys.stdin.buffer.
我的问题是,当我将数据传输到python时,我似乎只有2个选项,如果我想要readahead,否则我得到一个 io.UnsupportedOperation: File or stream is not seekable.
读取缓冲文本sys.stdin,将该文本解码为字节,然后回顾
(sys.stdin.read(1).decode(); sys.stdin.seek(-1, io.SEEK_CUR).
由于输入流中的不可编码字节而不可接受.
利用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) …
我正在写一个有时必须通过R脚本传递数据的网络服务器.
不幸的是启动很慢,因为我必须加载一些加载其他库等的库.
还有办法吗?
加载库,将解释器状态保存到文件,并在下次调用时快速加载该状态?要么
维护一个可以发送消息的后台R进程(不仅仅是低级数据流),这些消息被委托给异步工作者(即在解析前一个消息之前发送新消息不应该阻塞)
不幸的是,R-Websockets是同步的.
python ×4
scala ×3
python-3.x ×2
r ×2
constructor ×1
elementtree ×1
html ×1
inheritance ×1
ipython ×1
iterable ×1
latex ×1
lxml ×1
markdown ×1
promise ×1
scalaquery ×1
tuples ×1
xml ×1
xpath ×1