0%

这是一篇简单的记录,缘起于有人在 XeLaTeX 中插入 .png 格式的图片,但提示 no boundingbox。这与我的认知不同:这一错误通常只在 LaTeX 方式编译时才会出现,而且加上 bmpsize 宏包结合 DVIPDFMx 驱动就能解决。但这次问题出现在 XeLaTeX 下,我感到很奇怪,也引起了我的兴趣。

阅读全文 »

最近在写 YTL 中的字符串相关辅助函数。实现到 split 函数时,希望能够实现类似 Python 当中的 str.split 方法的功能。

If sep is not specified or is None, a different splitting algorithm is applied: runs of consecutive whitespace are regarded as a single separator, and the result will contain no empty strings at the start or end if the string has leading or trailing whitespace.
——https://docs.python.org/3/library/stdtypes.html#str.split

也就是说,在最基本的 split 的基础上,要添加两个功能:

  • 删除输入字符串首尾的空白;
  • 将字符串中的连续分隔符当成一个分隔符看待。

前一个功能很好实现。将空白符保存在 const char* trim_chars = " \t\n\r\v\f" 当中,然后使用 std::string::find_first_not_of 以及 std::string::find_last_not_of 即可找到有效内容的起止位置,最后再 std::string::erase 一下就好了。

后一个功能也不复杂。但要写得优雅——最好是能利用上标准库的设施——就不那么容易了。

阅读全文 »

近日大概重拾了一点对 LaTeX 的兴趣,遇见这样一个问题:如何在 LaTeX 中实现缩印效果(即,将两页或更多页排版在一页纸上),并且实现水印效果的页码?

阅读全文 »

Mac 升级 Mojave (10.14) 之后,尝试编译以前编译通过的 C++ 项目,g++-6 提示找不到各种头文件。例如有如下报错。

1
2
3
4
./third_party/catch.hpp:69:33: fatal error: TargetConditionals.h: No such file or directory
# include <TargetConditionals.h>
^
compilation terminated.

经查,这是因为 macOS 在升级过程中,移除了过时的开发者工具。(不得不说这种无声移除的设计非常傻屄)解决的办法也很简单,重新安装 Command Line Tools 及其头文件包即可。

1
2
xcode-select --install
open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg

参考:https://forums.developer.apple.com/thread/104296

本文是对经济机器是怎样运行的的整理和再创作。感谢原作者 Ray Dalio。

经济虽然可能看起来复杂,但是其实是以简单和机械的方式运行的。经济有几个简单的零部件和无数次重复的简单交易组成,这些交易首先是由人的天性所驱动,因而形成三股主要的经济动力:一,生产率的提高;二,短期债务周期;三,长期债务周期。

下面我们谈一下这三股动力,并介绍如何把它们组合在一起,得出一个良好的模型,便于我们跟踪经济走势并理解当前正在发生的事情。

阅读全文 »