小编tow*_*owi的帖子

如何使用XeTeX获取所有可用(TTF-)字体的列表?

非常简洁,我可以使用MikTex和XeTeX在我的Windows机器上使用任何可用的Truetype字体.

%!TEX TS-program = xelatex
%!TEX encoding = UTF-8 Unicode
\documentclass[]{article}
\usepackage{xltxtra,fontspec,xunicode}
\defaultfontfeatures{Scale=MatchLowercase}
\title{Fonttest}   
\begin{document} 
  \section{Section Title} {
    \setromanfont{Palatino Linotype}
      The quick brown fox jumps over the lazy dog.
  }
  \section{Section Title} {
    \setromanfont{ProggyCleanTTSZBP}
      The quick brown fox jumps over the lazy dog.
  }
\end{document}
Run Code Online (Sandbox Code Playgroud)

有没有办法为每个可用的字体自动生成一个fotn测试页?这样我就不必手动为每个可用字体键入测试页面了吗?

实际上,我甚至不知道如何获得所需的长字体名称\setromanfont - 除了从屏幕输入它.Windows目录显然只列出文件名.也许这可以在TeX本身完成,但我可以使用Python脚本等管理它.

latex miktex truetype xetex

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

Dropbox中的git repo,在Linux和Windows上同步,空白问题

我的Dropbox中有一个git repo,它在Linux和Windows机器之间同步.我在文本文件的两台机器上工作(.cpp在linux和win,.tex/ .txton win).因此,我的编辑和程序都编写了 CRLF(win程序)和LF(linux程序)文件,所有程序都能理解读取的所有变体.

我想告诉混帐,以纠正一切LF(我最喜欢它这种方式).在两个平台上.

唉我所有的尝试core.autocrlf= true/false/inputcore.eol= lf我得到各种各样的消息."将从LF转换为CRLF","所有文件都已更改"等等.目前我有

core.eol=lf
core.autocrlf=input
Run Code Online (Sandbox Code Playgroud)

我在我的Windows机器上.

当明天一切都同步到我的Linux机器时,我会看到什么?

  • 会不会有LF(我现在在这里)?
  • 我会看到所有文件都已更改?

希望我终于明白了一切,但我真的不确定.input?听起来很奇怪......

git whitespace newline dropbox

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

将不可复制的对象放入std容器中

这个类设计是标准的C++ 0x方式来防止复制分配,以保护客户端代码免遭意外双重删除data吗?

struct DataHolder {
  int *data;   // dangerous resource
  DataHolder(const char* fn); // load from file or so
  DataHolder(const char* fn, size_t len); // *from answers: added*
  ~DataHolder() { delete[] data; }

  // prevent copy, to prevent double-deletion
  DataHolder(const DataHolder&) = delete;
  DataHolder& operator=(const DataHolder&) = delete;

  // enable stealing
  DataHolder(DataHolder &&other) {
    data=other.data; other.data=nullptr;
  }
  DataHolder& operator=(DataHolder &&other) {
    if(&other!=this) { data = other.data; other.data=nullptr};
    return *this;
  }
};
Run Code Online (Sandbox Code Playgroud)

你注意到,我在这里定义了新的move和 …

c++ stl noncopyable rvalue-reference c++11

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

快速ByteBuffer到CharBuffer或char []

什么是一个转换最快的方法java.nio.ByteBuffer a为(新建)CharBuffer bchar[] b.

通过这样做很重要a[i] == b[i].这意味着,不是a[i]a[i+1]在一起构成一个价值b[j],getChar(i)做什么,但价值应该"扩散".

byte a[] = { 1,2,3, 125,126,127, -128,-127,-126 } // each a byte (which are signed)
char b[] = { 1,2,3, 125,126,127,  128, 129, 130 } // each a char (which are unsigned)
Run Code Online (Sandbox Code Playgroud)

注意,它byte:-128具有相同(低8位)的位char:128.因此,我假设"最佳"解释将如上所述,因为位是相同的.

之后我还需要相反的翻译:最有效的方式来获得char[]java.nio.CharBuffer重新进入java.nio.ByteBuffer.

java arrays nio bytebuffer bytearray

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

我可以使用 FILE* 来初始化 C++ ostream 对象吗?

我可以使用在其他地方打开的吗

FILE* f = ...
Run Code Online (Sandbox Code Playgroud)

初始化某个std::ostream实例的东西?像这样(伪代码):

FILE *f = ...;
std::ostream os;
os./*bind_to_f*/( f );    // HOW?
os << "Hello world" << std::endl;
Run Code Online (Sandbox Code Playgroud)

c++ iostream stream

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

C++ 0x元组没有迭代器,对吗?

查看标准N3291我没有找到任何tuple支持begin()和参考end().但是当我多年前看到我的笔记时,我似乎已经记下了我需要稍后再研究一下.我们在这里.

我找不到任何痕迹tuple<...>.begin()tuple<...>.end()在当前的C++ 0x标准中,这是正确的吗?将迭代器的元组传递给算法是不可能的,也不能将for它遍在它上面,对吧?

tuple<int,string,double> val;
for(auto a : val) cerr << val;     // very wrong!
Run Code Online (Sandbox Code Playgroud)

这当然是胡说八道,因为应该auto是什么?

我需要确认我的笔记包含一个错误,并且没有办法获得元组元素的迭代器.或者标准讨论中可能有一条废弃的道路?

注意:我知道可以使用TMPVariadic模板来实现do-for-all-element-of-a-tuple,但我的问题实际上是关于迭代器.

c++ iterator tuples c++11

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

git push 一个子目录到另一个主仓库

我有一个很大的主项目,其中有几个目录作为子树

我想一个特定子树中的更改送到其原点,这是一个单独的存储库。

问题似乎是,我想要推送的当前子树最初并不是来自我想要推送的存储库。它来自不同的 repo,通过我通过谷歌搜索找到的子树指南。它看起来非常相似。

大项目布局,important_subtree我担心的事情在哪里。

~/devel/bigproject
  .git/
  some_subtree/
  other_subtree/
  important_subtree/
    abc.txt
    efg.txt   <--- new version
    hij.txt
Run Code Online (Sandbox Code Playgroud)

并且important_subtree与该回购“密切相关”:

~/devel/important
   .git/
    abc.txt
    efg.txt   <--- old version
    hij.txt
Run Code Online (Sandbox Code Playgroud)

现在~/devel/bigproject/important_subtree/efg.txt发生了变化,我想将 important_subtree 推送到 repo 上~/devel/important。所以后来~/devel/important/efg.txt也有变化。

我设法做的唯一的事情是推动推动一切bigproject重要,这显然不是我想要的。应该只推送子树中的更改。

git git-push git-subtree

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

C++ 0x,用户定义的文字与朋友操作符""()

定义operator "" (...)作为朋友函数是否可行和/或有用?

class Puzzle {
  friend Puzzle operator "" _puzzle(const char*, size_t);
  ...
};
void solve(Puzzle);
int main() {
  solve("oxo,xox"_puzzle);
};
Run Code Online (Sandbox Code Playgroud)

我正在考虑"有用",因为规则只operator ""应在命名空间中定义 - 至少是因为_以全局命名空间中保留的标识符开头.这friend打破了这条规则吗?所以,这种不完全封装没有任何好处,对吧?

c++ friend-function user-defined-literals c++11

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

C++0x:用于测试的 noexcept(ndebug)?

我读到有关过度使用noexcept可能会阻碍可测试库的担忧。

考虑:

T& vector::front() noexcept {
    assert(!empty());         // <- this may throw in some test-frameworks
    return data[0];
}
Run Code Online (Sandbox Code Playgroud)

使用noexcept编译器的注释可能会优化异常代码,这会/可能会阻止正确处理assert()(或作者想在这里使用的任何函数进行测试)。

因此,我想知道,在库中从不使用无条件,noexcept而是始终将其与 am-I-in-a-test-condition “链接”是否可行。像这样:

#ifdef NDEBUG    // asserts disabled
static constexpr bool ndebug = true;
#else            // asserts enabled
static constexpr bool ndebug = false;
#end

T& vector::front() noexcept(ndebug) {
    assert(!empty());
    return data[0];
}
Run Code Online (Sandbox Code Playgroud)

然后也许将它添加为一个宏(虽然,我讨厌那样):

#define NOEXCEPT noexcept(ndebug)

T& vector::front() NOEXCEPT {
    assert(!empty());
    return data[0];
}
Run Code Online (Sandbox Code Playgroud)

你怎么认为?这有任何意义吗?还是不可行?还是不能解决问题?或者根本没有问题?:-)

testing noexcept c++11

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

如何使用xml.etree解析外部实体,如lxml.etree

我有一个脚本,使用lxml.etree以下方法解析XML :

from lxml import etree

parser = etree.XMLParser(load_dtd=True, resolve_entities=True)
tree = etree.parse('main.xml', parser=parser)
Run Code Online (Sandbox Code Playgroud)

我需要load_dtd=Trueresolve_entities=True可以具有&emptyEntry;globals.xml解决:

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE map SYSTEM "globals.xml" [
    <!ENTITY dirData "${DATADIR}"> 
]>
<map 
    xmlns:map="http://my.dummy.org/map"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsschemaLocation="http://my.dummy.org/map main.xsd"
>

  &emptyEntry; <!-- from globals.xml -->

  <entry><key>KEY</key><value>VALUE</value></entry>
  <entry><key>KEY</key><value>VALUE</value></entry>
</map>
Run Code Online (Sandbox Code Playgroud)

globals.xml

<?xml version="1.0" encoding="UTF-8"?>
<!ENTITY emptyEntry "<entry></entry>">
Run Code Online (Sandbox Code Playgroud)

现在我想从非标准lxml转向标准xml.etree.但这与我的文件失败,因为load_dtd=True并且resolve_entities=True不受支持xml.etree.

是否有xml.etree解决这些实体的问题?

python xml lxml elementtree xml-entities

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