Skip to content

Instantly share code, notes, and snippets.

@pickoba
pickoba / satysfi-page-break.md
Last active October 22, 2023 18:26
SATySFi のページ分割一般化と多段組

SATySFi のページ分割一般化と多段組

この記事は SATySFi Advent Calendar 21 日目の記事です。

もともと個人的なメモとしてまとめていた、SATySFi のページ分割に関するアイデアを公開します。あくまでも一ユーザの意見なのでツメが甘いところが多々あるかと思いますが、その際はご指摘いただけると幸いです。また、具象構文は SATySFi 0.1.0 のものを採用しています。

想定読者

SATySFi を使ったことがあり、block-boxes 等の概念を理解している人

@youxkei
youxkei / a_puzzle_a_day.pl
Created June 24, 2021 12:11
A Puzzle A Day Solver
:- use_module(library(clpfd)).
:- use_module(library(lists)).
month_rows([
[[jan, _, _, _, _, _, xxx], [_, _, _, _, _, _, xxx]],
[[_, feb, _, _, _, _, xxx], [_, _, _, _, _, _, xxx]],
[[_, _, mar, _, _, _, xxx], [_, _, _, _, _, _, xxx]],
[[_, _, _, apr, _, _, xxx], [_, _, _, _, _, _, xxx]],
[[_, _, _, _, may, _, xxx], [_, _, _, _, _, _, xxx]],
[[_, _, _, _, _, jun, xxx], [_, _, _, _, _, _, xxx]],
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
module With_position = struct
type 'a t =
{ value : 'a
; pos : Lexing.position
}
end
type 'dict atom =
[ `Symbol of string
| `Vector of 't array
@k16shikano
k16shikano / wakati-test.tex
Created December 7, 2020 09:23
Mecabを使って改行位置をいい感じに調整する(LuaTeX)
% inspired by https://tech.aptpod.co.jp/entry/2020/11/20/160000
% with http://taku910.github.io/mecab/
% ref. https://tex.stackexchange.com/questions/500372/conditional-string-replacements-in-lualatex
\documentclass[a4paper]{ltjsarticle}
\usepackage[no-math]{luatexja-fontspec}
\usepackage{luacode,luatexbase}
%\usepackage[callback={preline},verbosity=1]{nodetree}
%\usepackage{lipsum}
\usepackage[textwidth=32em,textheight=5cm,paperwidth=32em,paperheight=5cm]{geometry}
@matsud224
matsud224 / satysfiadvent2020-satyrographos-package-index.md
Last active January 3, 2024 12:50
satysfiadvent2020-satyrographos-package-index

Satyrographos Package Index の紹介

この記事は SATySFi Advent Calendar 2020 2日目の記事です。

はじめに

SATySFi向けパッケージマネージャとして、na4zagin3さんが開発されたSatyrographosがあり、現時点で40パッケージ以上が登録されています。これまで、パッケージを導入する際は手動でファイルをダウンロードし、適切な場所に配置したりフォントハッシュの更新を行う必要がありましたが、Satyrographosを使えばコマンドひとつ叩くだけで自動で行ってくれます。

大変便利なSatyrographosですが、欲しいパッケージを探すのには少々苦労します。検索やパッケージ情報の表示を行うコマンドにopam searchopam showがありますが、もう少し使い勝手の良いものがほしいです。また、SATySFi Wikiにもパッケージ紹介ページは存在しますが、人力での更新なので情報が古くなっています。このような状況のため、SATySFi Conf 2020でもパッケージ一覧サイトがほしいという要望が出ていました。

そこで、Satyrographosパッケージの一覧表示および検索を行えるWebサイト Satyrographos Package Index (GitHub) を作ってみました。なお、本サイトはあくまで非公式のものです。

@namachan10777
namachan10777 / cleardoublepage.satyh
Created February 20, 2020 09:27
cleardoublepage.satyh
let cleardoublepage ctx label =
let hook = line-break false false ctx
(hook-page-break (fun pbinfo _ -> (
let should-inser-new-page =
(!ref-inserted-page-number + pbinfo#page-number) mod 2 == 0
in
let () = ref-not-aligned <- !ref-not-aligned || should-inser-new-page in
if !ref-not-aligned
then (
if should-inser-new-page
@jimmychu0807
jimmychu0807 / string-conversion.rs
Created November 21, 2019 10:20
Conversion between String, str, Vec<u8>, Vec<char> in Rust
use std::str;
fn main() {
// -- FROM: vec of chars --
let src1: Vec<char> = vec!['j','{','"','i','m','m','y','"','}'];
// to String
let string1: String = src1.iter().collect::<String>();
// to str
let str1: &str = &src1.iter().collect::<String>();
// to vec of byte

Comparision of JaneStreet Base and OCaml Stdlib

How to use Base

Either use Base selectively:

# #show List.hd;;
@zr-tex8r
zr-tex8r / saizeriya-test.saty
Created May 28, 2019 12:59
SATySFi:「サイゼリヤで1000円あれば最大何kcal摂れるのか」を解くパッケージ
@require: stdja
@require: saizeriya
%@import: saizeriya
%------------------------------------------------- メニューデータ
let the-menu = [
(|calorie=130;cost=299;name=`彩りガーデンサラダ`|);
(|calorie=115;cost=349;name=`小エビのサラダ`|);
(|calorie=134;cost=299;name=`やわらかチキンのサラダ`|);
(|calorie=92;cost=299;name=`わかめサラダ`|);