非常简洁,我可以使用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脚本等管理它.
我的Dropbox中有一个git repo,它在Linux和Windows机器之间同步.我在文本文件的两台机器上工作(.cpp在linux和win,.tex/ .txton win).因此,我的编辑和程序都编写了 CRLF(win程序)和LF(linux程序)文件,所有程序都能理解读取的所有变体.
我想告诉混帐,以纠正一切LF(我最喜欢它这种方式).在两个平台上.
唉我所有的尝试core.autocrlf= true/false/input和core.eol= lf我得到各种各样的消息."将从LF转换为CRLF","所有文件都已更改"等等.目前我有
core.eol=lf
core.autocrlf=input
Run Code Online (Sandbox Code Playgroud)
我在我的Windows机器上.
当明天一切都同步到我的Linux机器时,我会看到什么?
我希望我终于明白了一切,但我真的不确定.input?听起来很奇怪......
这个类设计是标准的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和 …
什么是一个转换最快的方法java.nio.ByteBuffer a为(新建)CharBuffer b或char[] 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.
我可以使用在其他地方打开的吗
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) 查看标准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是什么?
我需要确认我的笔记包含一个错误,并且没有办法获得元组元素的迭代器.或者标准讨论中可能有一条废弃的道路?
注意:我知道可以使用TMP或Variadic模板来实现do-for-all-element-of-a-tuple,但我的问题实际上是关于迭代器.
我有一个很大的主项目,其中有几个目录作为子树。
我想将一个特定子树中的更改推送到其原点,这是一个单独的存储库。
问题似乎是,我想要推送的当前子树最初并不是来自我想要推送的存储库。它来自不同的 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为重要,这显然不是我想要的。应该只推送子树中的更改。
定义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打破了这条规则吗?所以,这种不完全封装没有任何好处,对吧?
我读到有关过度使用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)
你怎么认为?这有任何意义吗?还是不可行?还是不能解决问题?或者根本没有问题?:-)
我有一个脚本,使用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=True和resolve_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解决这些实体的问题?
c++ ×4
c++11 ×4
git ×2
arrays ×1
bytearray ×1
bytebuffer ×1
dropbox ×1
elementtree ×1
git-push ×1
git-subtree ×1
iostream ×1
iterator ×1
java ×1
latex ×1
lxml ×1
miktex ×1
newline ×1
nio ×1
noexcept ×1
noncopyable ×1
python ×1
stl ×1
stream ×1
testing ×1
truetype ×1
tuples ×1
whitespace ×1
xetex ×1
xml ×1
xml-entities ×1