小编DGr*_*ady的帖子

如何在没有JavaScript的情况下自动编号HTML + CSS中的交叉引用?

在LaTeX中创建交叉引用的常用方法是在\label内部放置一些您想要引用的内容,然后使用\ref.因此,例如,as we saw in Section~\ref{intro}在LaTeX源代码中写入可能会产生"正如我们在第1节中所见"的最终输出.是否可以仅使用HTML和CSS获得相同的效果?CSS的新功能允许部分等自动编号,但我没有找到任何允许您从文档中的其他位置引用这些计数器值的内容.

这是一个具体的例子:

<!DOCTYPE html>
<html>
<head>
    <title>Cross references</title>
    <meta charset="utf-8">
    <style type="text/css">
        body {
            counter-reset: section;
        }
        section > h1::before {
            counter-increment: section;
            content: counter(section) ". ";
        }
    </style>
</head>
<body>
<section>
    <h1 id="intro">Introduction</h1>
    <p>Pineapples contain essential vitamins.</p>
</section>

<section>
    <h1>Further discourse on pineapples</h1>
    <p>As we saw in Section ??, pineapples contain essential vitamins.</p>
</section>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

在此示例中,所有章节标题前面都有一个自动生成的数字.我想知道是否有任何HTML标记或CSS样式,我可以使用??它来插入对应的数字#intro.

我意识到我可以使用<a href="#intro">创建一个交叉超链接到引言,但我也想在链接文本中包含节号.

如果仅使用HTML和CSS无法做到这一点,是否有任何用于在文档中添加交叉引用的JavaScript库?

html

15
推荐指数
1
解决办法
2075
查看次数

从Mathematica 8导出的PDF将无法打印

更新:我写了Wolfram对此的支持,并将更新帖子,如果他们可以解决问题.很抱歉因为技术支持问题而向SO发送垃圾邮件,但此处仍有其他人遇到同样的问题.

Mathematica 8有没有其他人遇到这个问题?我最近升级并注意到,当我将图形导出为PDF文件时,虽然我的计算机上的文件显示正常,但它会打印为空白页面.例如,试试

Rectangle[{1,1}]//
Graphics//
Export["~/test.pdf",#]&
Run Code Online (Sandbox Code Playgroud)

这会创建一个包含黑色方块的PDF文件.此文件打开正常,但如果我将其发送到我的部门打印机,我只会得到一个空白页面.如果我不导出图形但是从MM打印笔记本,没问题,图形打印按预期方式.如果我使用MM 7做同样的事情,PDF文件将按预期打印.在MM8中导出到PNG似乎工作正常.并且,使用上下文菜单Save Graphics As ...File > Save Selection As ...创建仅包含图形的PDF也可以使用.但是,这些图形最终会包含在TeX文档中,如果我可以继续使用我不需要任何按钮点击生成它们的脚本,那将会好得多.

我在Mac OS 10.6.7上运行MM 8.0.0.0.我还没能在另一台打印机上测试这个,但是这台打印机以前从来没有给我带来任何问题,并打印其他PDF文档.任何想法为什么会这样?

Wolfram Research回应:

...此问题也已被其他用户报告,我们的开发人员目前正在调查此问题.我已将您的详细信息添加到报告中,以便在解决此问题时收到通知.

与此同时,您可以尝试的替代方案是:

  1. 尝试使用其他打印机.
  2. 导出前使用"栅格化"功能栅格化图像.如果光栅化图像失去某种分辨率,您可以使用"ImageResolution"选项对其进行编辑.

栅格化[image,ImageResolution - > xxx]

pdf wolfram-mathematica export

11
推荐指数
1
解决办法
1880
查看次数

如何使用Python 3的标准库测试不像字符串的序列

一段时间以来,Python已经有了抽象基类(PEP 3119中的 orignally ),特别是对于容器类型,可以更容易地编写跨越自定义类型的代码.例如,

from collections.abc import Sequence, Set

if isinstance(x, Sequence):
    # Handle lists, tuples, or custom objects that behave like lists
elif isinstance(x, Set):
    # Handle anything that behaves like a set
Run Code Online (Sandbox Code Playgroud)

一个多数民众赞成我绊倒了几次"陷阱"的是str,bytesbytearray都被认为是SequenceS,除了更为明显列表类似的对象:

from collections.abc import ByteString, Sequence

s = 'hello'
b = b'hello'
ba = bytearray(b'hello')
lst = [0, 1, 2]
t = (0, 1, 2)

islistlike = lambda x: isinstance(x, Sequence)

list(map(islistlike, [s, b, ba, …
Run Code Online (Sandbox Code Playgroud)

python abstract-class types interface python-3.x

7
推荐指数
1
解决办法
100
查看次数

为什么Python不包含从文件名加载pickle的函数?

我经常在Python脚本和IPython笔记本中包含这个或接近它的东西.

import cPickle
def unpickle(filename):
    with open(filename) as f:
        obj = cPickle.load(f)
    return obj
Run Code Online (Sandbox Code Playgroud)

这似乎是一个常见的用例,标准库应提供执行相同操作的功能.有这样的功能吗?如果没有,怎么样?

python pickle

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

Why does installing numpy using pip fail, while building directly does not?

I'm trying to install numpy under Python 3.3.0 running Mac OS 10.7.5 (Lion) and using the compilers that come with Xcode 4.5.1. I installed Python 3 and gfortran using homebrew without any hiccups, but pip3 install numpy fails. Looking at other suggestions online, I tried setting Clang as the C compiler using:

export CC=clang
export CXX=clang
export FFLAGS=-ff2c
Run Code Online (Sandbox Code Playgroud)

但收到了同样的错误.最后一行报告ValueError: underlying buffer has been detached,我发布了完整的输出.

所以,我尝试使用SciPy.org说明直接从源代码构建.这似乎成功了; 构建和安装过程运行完成,尽管他们并不羞于报告警告.完整日志再次作为Gist提供.然后我可以numpy.test('full')从Python …

python numpy pip python-3.3

5
推荐指数
1
解决办法
1712
查看次数

`pandas.read_csv` 中的 `str` 和 `object` 数据类型有什么区别?

根据熊猫文档pandas.read_csv允许我为dtypeCSV 文件中的列指定 a 。

dtype:类型名称或列的字典 -> 类型,默认无数据或列的数据类型。例如 {'a': np.float64, 'b': np.int32} (不支持 engine='python')。使用strobject来保留而不是解释 dtype。

要将每一列视为文本数据,我可以使用

df = pandas.read_csv(... , dtype=str)
Run Code Online (Sandbox Code Playgroud)

或者

df = pandas.read_csv(..., dtype=object)
Run Code Online (Sandbox Code Playgroud)

据我所知,这两种方法的行为总是完全一样的。在任何情况下,这两种方法的行为是否不同?如果是这样,有什么区别?

python python-3.x pandas

4
推荐指数
1
解决办法
5055
查看次数

如何在Spark DataFrame中将列除以总和

如何有效地在Spark DataFrame中将列除以其自身的总和,而又不立即触发计算?

假设我们有一些数据:

import pyspark
from pyspark.sql import SparkSession, Window
import pyspark.sql.functions as spf

spark = SparkSession.builder.master('local').getOrCreate()

data = spark.range(0, 100)

data # --> DataFrame[id: bigint]
Run Code Online (Sandbox Code Playgroud)

我想在此数据框架上创建一个包含“”的新列id / sum(id)。一种方法是预先计算总和,如下所示:

s = data.select(spf.sum('id')).collect()[0][0]
data2 = data.withColumn('normalized', spf.col('id') / s)
data2 # --> DataFrame[id: bigint, normalized: double]
Run Code Online (Sandbox Code Playgroud)

效果很好,但立即触发了计算;如果为许多列定义类似的内容,将导致对数据进行多次冗余传递。

另一种方法是使用包含整个表的窗口规范:

w = Window.rowsBetween(Window.unboundedPreceding, Window.unboundedFollowing)
data3 = data.withColumn('normalized', spf.col('id') / spf.sum('id').over(w))
data3 # --> DataFrame[id: bigint, normalized: double]
Run Code Online (Sandbox Code Playgroud)

在这种情况下,可以定义data3,但是一旦尝试实际计算,Spark 2.2.0会将所有数据移动到单个分区中,这通常会导致大型数据集作业失败。

还有什么其他方法可以解决此问题,而不会触发立即计算并且可以处理大型数据集?我对任何解决方案都感兴趣,不一定是基于的解决方案pyspark

apache-spark apache-spark-sql pyspark

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