View asir-9999.ebuild
# Copyright 2017 Kazuki Maeda <kmaeda@kmaeda.net>
# Distributed under the terms of the Simplified BSD License
EAPI=6
inherit multilib
DESCRIPTION="Risa/Asir is an open source general computer algebra system."
HOMEPAGE="http://www.math.kobe-u.ac.jp/Asir/"
MY_P="openxm-head.tar.gz"
SRC_URI="http://www.math.sci.kobe-u.ac.jp/pub/OpenXM/Head/${MY_P}"
View test-scantokens.tex
%% 眠れないので書いた.etoolbox.sty を読むと勉強になるなあ(つらい).
%% まずは基本形で準備運動.
%% 一度保存された,パラメータ文字を含むトークン列を定義とする,
%% パラメータをとるマクロを定義したいとする.
\def\a{##2##1} % カテゴリコードが6である限り,# は二重にせざるをえない.
\expandafter\def\expandafter\b\expandafter#\expandafter1\expandafter#\expandafter2\expandafter{\a}
\show\b % #1#2->#2#1
%% これはひどい.\edef 使いましょうよ.
\edef\b{%
View etoolbox-mypatchcmd-test.tex
\documentclass{minimal}
\usepackage[T1]{fontenc}
\usepackage{etoolbox}
\makeatletter
% パッチを当てて,失敗したときだけ定型のエラーメッセージを出したいとする.
% いちいち面倒なのでマクロ化する.
\newrobustcmd*{\mypatchcmdi}[3]{% 一見良さそうだが,実はダメ.
\patchcmd{#1}{#2}{#3}{}{\message{^^JError!: \string#1, #2, #3^^J}}}
View utf-tool-23-cjk.patch
--- utf-tool.el.orig 2013-02-24 15:24:54.914062345 +0900
+++ utf-tool.el 2013-02-24 15:23:21.947814237 +0900
@@ -58,11 +58,13 @@
;; (charset-description charset)
;; (split (split-char char))
(pos (point))
- (unicode nil))
+ (unicode nil)
+ (cjk (string-match "CJK" (get-char-code-property char 'name))))
(unless
View utf-tool-23.patch
--- utf-tool.el.orig 2013-02-20 08:17:48.933065400 +0900
+++ utf-tool.el 2013-02-20 08:09:10.473884298 +0900
@@ -62,7 +62,7 @@
(unless
(memq charset '(ascii japanese-jisx0208 katakana-jisx0201))
(if (or (< char 256)
- (memq 'mule-utf-8 (find-coding-systems-region pos (1+ pos)))
+ (memq 'utf-8 (find-coding-systems-region pos (1+ pos)))
(get-char-property pos 'untranslated-utf-8))
(setq unicode (or (get-char-property pos 'untranslated-utf-8)
View shijo.pdf
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View letargswapped.tex
\catcode`\@=11
\def\letargswapped#1#2{%
\edef\def@macroB{\def\noexpand#1####1####2{\expandafter\unexpanded\expandafter{#2{##2}{##1}}}}%
\def@macroB}
\catcode`\@=12
\def\Frac#1#2{{#1\over#2}}
\letargswapped\RFrac\Frac
$$\RFrac{13}{42}$$ %==>分数「13分の42」が出力される
\edef\hogeA#1#2{#1\string~#2\noexpand~}
\letargswapped\hogeB\hogeA
View length.tex
\documentclass[a4paper]{article}
\begin{document}
\makeatletter
%% \length{<token list>}
% <token list> に含まれるトークンの数の * に展開される.完全展開可能.
\def\length#1{\len@begin#1{\len@end}}
%% \len@begin<token list>{
% { までのトークン列を取ってきて \len@count に渡す.
% 残りは \len@ifend に.
\def\len@begin#1#{\len@count{#1\len@count@end}\len@ifend}
View numtohex.tex
%#! luatex
\catcode`\@=11
\def\len@begin{\directlua{
local len_count = 0
local len_flag = true
while len_flag do
local t = token.get_next()
if token.csname_name(t) == 'len@end' then
len_flag = false
print(); print()
View numtohex.tex
%#! luatex
\catcode`\@=11
\def\len@begin{\directlua{
local len_count = 0
local len_flag = true
while len_flag do
local t = token.get_next()
if token.csname_name(t) == 'len@end' then
len_flag = false
print(); print()