VPLファイルについて

Re: VPLファイルについて

- かず の投稿
返信数: 1
しっぽ愛好家さん、本田さんありがとうございます。
参考にさせていただきます。
かず への返信

Re: VPLファイルについて

- かず の投稿
数式モードでも出来ないかcopilot君に相談していたらLaTeXでは難しいと言われLuaLaTeXで提案されました。
LuaLaTeXは全く分かりませんが提案されたソースだけ載せておきます。


\documentclass{article}
\usepackage{luacode}
\usepackage{amsmath}

\begin{document}

\begin{luacode}
function insert_italic_correction(head)
local current = head
while current do
if current.id == node.id("glyph") then
local char = unicode.utf8.char(current.char)
if char == "f" then
local kern = node.new(node.id("kern"))
kern.kern = 0.5 * tex.sp("1em")
node.insert_before(head, current, kern)
elseif char == "j" then
local kern = node.new(node.id("kern"))
kern.kern = tex.sp("1em")
node.insert_before(head, current, kern)
elseif char == "p" then
local kern = node.new(node.id("kern"))
kern.kern = 1.5 * tex.sp("1em")
node.insert_before(head, current, kern)
end
end
current = current.next
end
return head
end

luatexbase.add_to_callback("pre_linebreak_filter", insert_italic_correction, "insert_italic_correction")
luatexbase.add_to_callback("hpack_filter", insert_italic_correction, "insert_italic_correction")
\end{luacode}

通常モード:

[\textit{f}] [\textit{j}] [\textit{p}]

aaa \textit{f} aaa \textit{j} aaa \textit{p}

数式モード:

$(f)[f]\{f\}$

$\left( f \right) \left[ f \right]\left\{f \right\}$

\end{document}