OSDN Git Service

ltj-base.{sty,lua}: cleanup
authorHironori Kitagawa <h_kitagawa2001@yahoo.co.jp>
Sun, 31 Jan 2016 06:31:49 +0000 (15:31 +0900)
committerHironori Kitagawa <h_kitagawa2001@yahoo.co.jp>
Sun, 31 Jan 2016 06:32:24 +0000 (15:32 +0900)
34 files changed:
doc/ltjclasses.pdf
doc/ltjsclasses.pdf
doc/luatexja.dtx
src/ltj-base.lua
src/ltj-base.sty
src/ltj-direction.lua
src/ltj-jfmglue.lua
src/ltj-otf.lua
src/ltjarticle.cls
src/ltjbk10.clo
src/ltjbk11.clo
src/ltjbk12.clo
src/ltjbook.cls
src/ltjclasses.dtx
src/ltjreport.cls
src/ltjsarticle.cls
src/ltjsbook.cls
src/ltjsclasses.dtx
src/ltjsize10.clo
src/ltjsize11.clo
src/ltjsize12.clo
src/ltjskiyou.cls
src/ltjspf.cls
src/ltjtarticle.cls
src/ltjtbk10.clo
src/ltjtbk11.clo
src/ltjtbk12.clo
src/ltjtbook.cls
src/ltjtreport.cls
src/ltjtsize10.clo
src/ltjtsize11.clo
src/ltjtsize12.clo
src/luatexja-core.sty
src/luatexja.lua

index 7861972..f788616 100644 (file)
Binary files a/doc/ltjclasses.pdf and b/doc/ltjclasses.pdf differ
index 32534ff..f5487c7 100644 (file)
Binary files a/doc/ltjsclasses.pdf and b/doc/ltjsclasses.pdf differ
index c71100b..8b199df 100644 (file)
@@ -8,6 +8,7 @@
 
 %%%%% section ==> 章
 %%%%% subsection => 節
+\IfFileExists{luatex85.sty}{\RequirePackage{luatex85}}{}
 
 %<en>\documentclass[a4paper,titlepage]{article}
 %<ja>\documentclass[a4paper,titlepage]{ltjsarticle}
@@ -23,7 +24,6 @@
 
 %%%%%%%% fonts
 \usepackage{luatexja-otf}
-\directlua{luatexja.otf.enable_ivs()}
 \usepackage[no-math]{fontspec}
 \setmainfont[Ligatures=TeX]{Linux Libertine O}
 \setmonofont[Scale=MatchLowercase, ItalicFont=lmmono10-italic.otf,
@@ -3960,8 +3960,8 @@ JFM中における \texttt{kanjiskip\_natural}, \texttt{kanjiskip\_stretch},\
   \hbox{\tate\Large\vrule
   \parbox{7\zw}{%
     \addjfontfeatures{TateFeatures={Opacity=0.5, Color=#2, JFM=#1}}\noindent
-    ◆◆◆◆◆◆◆\
-    ã\81\82ã\82\8bæ\97¥ã\83¢ã\83¢ã\81¡ã\82\83ã\82\93ã\81\8cã\81\8a使ã\81\84で迷子になって泣きました。
+    ◆◆◆◆◆◆◆
+    ã\81\82ã\82\8bæ\97¥ã\83¢ã\83¢ã\81¡ã\82\83ã\82\93ã\81\8cã\80\8cã\81\8a使ã\81\84ã\80\8dで迷子になって泣きました。
   }\vrule}}
 \def\s#1#2{%
   \hbox{\tate\Large
@@ -6774,12 +6774,16 @@ JFMの\texttt{chars}テーブルのエントリとして \verb+'AJ1-xxx'+ の形
 正しく半角幅で組むために利用されている.
 %</ja>
 
+\directlua{luatexja.otf.enable_ivs()}
 %<*en>
 \paragraph{IVS support}
 Recent fonts support Ideographic Variation Selector (IVS).
 It seems that \Pkg{luaotfload} and \Pkg{fontspec} packages do not support
 IVS, so we implemented IVS support in \Pkg{luatexja-otf}.
-\emph{IVS support is experimental; if you want to enable this, load
+\emph{IVS support by the \Pkg{luatexja-otf} package is experimental.
+If this feature is enabled with current \LuaTeX\ (not with LuaJIT\TeX), 
+we cannot use any OpenType feature, including {\tt vert}~and~{\tt vrt2},
+in vertical writing mode. If you want to enable IVS support nevertheless, load
 \Pkg{luatexja-otf} and execute the following:}
 %</en>
 %<*ja>
@@ -6794,9 +6798,14 @@ IVSに対応してはいないようである.これらのパッケージで
 
 \medskip
 
-\emph{IVS対応は試験的なものである.
-有効にするには,\Pkg{luatexja-otf}パッケージを読み込んだ上で以下の命令を実行する%
-\footnote{この命令を2回以上実行しても意味がない.}:}
+\emph{\Pkg{luatexja-otf}によるIVS対応は試験的なものである.現行の\LuaTeX
+でIVS対応を一旦有効にすると,縦組時に句読点などが横組用字形のままで組版されたり,
+\Pkg{luaotfload}によるOpenType
+featureが(\texttt{vert},~\texttt{vrt2}を含め)一切効かないといった
+不具合がある\footnote{なぜかLuaJIT\TeX では大丈夫である.}.}
+そのような不具合を知りながら有効にするには,
+\Pkg{luatexja-otf}パッケージを読み込んだ上で以下の命令を実行する%
+\footnote{この命令を2回以上実行しても意味がない.}:
 %</ja>
 \begin{lstlisting}
 \directlua{luatexja.otf.enable_ivs()}
index f5535d6..f48c2ab 100644 (file)
@@ -251,200 +251,6 @@ do
 --! ixbase.length は tex.skip と全く同じなので不要.
 end
 
--------------------- Number handling in TeX source
-do
-
-  local tok_escape = token.create("ltj@@q@escape")
-  local tok_num = token.create("ltj@@q@escapenum")
-  local c_id_assign_int = token.command_id("assign_int")
-  local c_id_char_given = token.command_id("char_given")
-
-  local function error_scan()
-    package_error("luatexja",
-      "Missing number of a permitted form, treated as zero",
-      "A number should have been here; I inserted '0'.")
-  end
-
-  local function get_expd_next()
-    local next = token.get_next()
-    while token.is_expandable(next) do
-      token.expand(next)
-      next = token.get_next()
-    end
-    return next
-  end
-
-  local function grab_decimal(next, res)
-    table.insert(res, next)
-    while true do
-      next = get_expd_next()
-      if not (next[1] == 12 and 0x30 <= next[2] and next[2] <= 0x39) then
-        break
-      end
-      table.insert(res, next)
-    end
-    if next[1] == 10 then next = nil end
-    return true, next
-  end
-
-  local function grab_hexa(next, res)
-    local ok = false
-    table.insert(res, next)
-    while true do
-      next = get_expd_next()
-      if not ((next[1] == 12 and (0x30 <= next[2] and next[2] <= 0x39)) or
-              ((next[1] == 12 or next[1] == 11) and
-               (0x41 <= next[2] and next[2] <= 0x46))) then
-        break
-      end
-      ok = true
-      table.insert(res, next)
-    end
-    if next[1] == 10 then next = nil end
-    return ok, next
-  end
-
-  local function grab_octal(next, res)
-    local ok = false
-    table.insert(res, next)
-    while true do
-      next = get_expd_next()
-      if not (next[1] == 12 and (0x30 <= next[2] and next[2] <= 0x37)) then
-        break
-      end
-      ok = true
-      table.insert(res, next)
-    end
-    if next[1] == 10 then next = nil end
-    return ok, next
-  end
-
-  local function grab_charnum(next, res)
-    table.insert(res, next)
-    next = token.get_next()
-    table.insert(res, next)
-    next = get_expd_next()
-    if next[1] == 10 then next = nil end
-    return true, next
-  end
-
-  local function scan_with(delay, scanner)
-    local function proc()
-      if delay ~= 0 then
-        if delay > 0 then delay = delay - 1 end
-        return token.get_next()
-      else
-        local cont, back = scanner()
-        if not cont then
-          ltb.remove_from_callback("token_filter", "ltj@grab@num")
-        end
-        return back
-      end
-    end
-    ltb.add_to_callback("token_filter", proc, "ltj@grab@num", 1)
-  end
-
-  local function scan_brace()
-    scan_with(1, function()
-      local next = token.get_next()
-      if next[1] == 1 then
-        return false, { tok_escape, next }
-      elseif next[1] == 10 then
-        return true, { next }
-      else
-        return false, { next }
-      end
-    end)
-  end
-
-  local function scan_number()
-    scan_with(1, function()
-      local next = get_expd_next()
-      local res, ok = { tok_num }, false
-      while true do
-        if next[1] == 12 and (next[2] == 0x2B or next[2] == 0x2D) then
-          table.insert(res, next)
-        elseif next[1] ~= 10 then
-          break
-        end
-        next = get_expd_next()
-      end
-      if next[1] == 12 and 0x30 <= next[2] and next[2] <= 0x39 then
-        ok, next = grab_decimal(next, res)
-      elseif next[1] == 12 and next[2] == 0x22 then
-        ok, next = grab_hexa(next, res)
-      elseif next[1] == 12 and next[2] == 0x27 then
-        ok, next = grab_octal(next, res)
-      elseif next[1] == 12 and next[2] == 0x60 then
-        ok, next = grab_charnum(next, res)
-      elseif next[1] == c_id_assign_int or next[1] == c_id_char_given then
-        table.insert(res, next)
-        ok, next = true, nil
-      end
-      if ok then
-         table.insert(res, tok_num)
-      else
-         error_scan()
-         res = { tok_escape }
-      end
-       if next then table.insert(res, next) end
-       return false, res
-    end)
-  end
-
-  ltjb.scan_brace = scan_brace
-  ltjb.scan_number = scan_number
-end
-
--------------------- TeX register allocation
--- not used in current LuaTeX-ja
-
-do
-  local cmod_base_count = token.create('ltj@@count@zero')[2]
-  local cmod_base_attr = token.create('ltj@@attr@zero')[2]
-  local cmod_base_dimen = token.create('ltj@@dimen@zero')[2]
-  local cmod_base_skip = token.create('ltj@@skip@zero')[2]
-
-  local function const_number(name)
-    if name:sub(1, 1) == '\\' then name = name:sub(2) end
-    return token.create(name)[2]
-  end
-
-  local function count_number(name)
-    if name:sub(1, 1) == '\\' then name = name:sub(2) end
-    return token.create(name)[2] - cmod_base_count
-  end
-
-  local function attribute_number(name)
-    if name:sub(1, 1) == '\\' then name = name:sub(2) end
-    return token.create(name)[2] - cmod_base_attr
-  end
-
-  local function dimen_number(name)
-    if name:sub(1, 1) == '\\' then name = name:sub(2) end
-    return token.create(name)[2] - cmod_base_dimen
-  end
-
-  local function skip_number(name)
-    if name:sub(1, 1) == '\\' then name = name:sub(2) end
-    return token.create(name)[2] - cmod_base_skip
-  end
-
-  ltjb.const_number = const_number
-  ltjb.count_number = count_number
-  ltjb.attribute_number = attribute_number
-  ltjb.dimen_number = dimen_number
-  ltjb.skip_number = skip_number
-end
-
--------------------- getting next token
-local cstemp = nil
-local function get_cs(s)
-   cstemp = token.csname_name(token.get_next())
-   tex.sprint(cat_lp,'\\' .. s)
-end
-ltjb.get_cs = get_cs
-
 -------------------- common error message
 do
    local function in_unicode(c, admit_math)
index 1c7e3b7..75e2b7a 100644 (file)
   #4
 }
 
-%% \ltj@burst-`>TEXT
-%! トリックに使う \romannumeral をエイリアスしておく.
-% Gets the head of TEXT expanded repeatedly until an unexpandable
-% token is seen, and if the token is a space then it is gobbled.
-\let\ltj@burst\romannumeral
-
 %%------------------ LaTeX vs plain
 \ifltj@in@latex            %<*LaTeX>
 
 %% \ltj@gobble@num <number>
 %! 次に続く整数を(2 回展開で)読み捨てる. 
 \def\ltj@gobble@num{
-  \ltj@burst-`>\ltj@@gobble@num
-}
-\def\ltj@@gobble@num{
-  \expandafter\ltj@@gobble@numA\the\parshapeindent
-}
-\begingroup
-  \lccode`8=`p\lccode`9=`t
-\lowercase{\endgroup
-  \def\ltj@@gobble@numA#189{ }
+  \directlua{luatexja.token.scan_int()}
 }
 
 %% \ltj@gobble@glue <glue>
 %! 次に続くグルー値を(2 回展開で)読み捨てる. 
-\def\ltj@gobble@glue{%
-  \ltj@burst-`>\ltj@@gobble@glue
-}
-\def\ltj@@gobble@glue{
-  \expandafter\ltj@@gobble@glueA\the\glueshrinkorder
+\def\ltj@gobble@glue{
+  \directlua{luatexja.token.scan_glue()}
 }
-\def\ltj@@gobble@glueA#1{ }
 
 %% \ltj@gobble@dimen <dimen>
 %! 次に続く寸法値を(2 回展開で)読み捨てる. 
-\def\ltj@gobble@dimen{%
-  \ltj@burst-`>\ltj@@gobble@dimen
-}
-\def\ltj@@gobble@dimen{
-  \expandafter\ltj@@gobble@dimenA\the\glueshrinkorder
-  0pt minus
-}
-\def\ltj@@gobble@dimenA#1{ }
-
-%% \ltj@@scan@brace
-% This is to be followed by a macro with one argument; if the macro is
-% followed by an open-group token (catcode 1), then it receives as the
-% argument a token \bxnt@escape instead of the group initiated by the
-% open-group, which is left untouched.
-\def\ltj@@scan@brace{
-  \directlua{luatexja.base.scan_brace()}
-}
-
-%% \ltj@@scan@number
-\def\ltj@@scan@number{
-  \directlua{luatexja.base.scan_number()}
+\def\ltj@gobble@dimen{
+  \directlua{luatexja.token.scan_dimen()}
 }
 
 %% \ltj@grab@num <number>
 %!   (command_name が "assign_int" であるトークン).
 %! (注意: まだ文字表記(`A)に対応していません.)
 \def\ltj@grab@num{
-  \ltj@burst-`>\ltj@@grab@num
-}
-\def\ltj@@grab@num{
-  \ltj@@scan@brace\ltj@@grab@numA
-}
-\def\ltj@@grab@numA#1{
-  \ltj@ifx{#1\ltj@@q@escape}{}{%else
-    \ltj@@scan@number\ltj@@grab@numB#1
-  }
-}
-\def\ltj@@grab@numB#1{
-  \ltj@ifx{#1\ltj@@q@escape}{
-    {0}
-  }{
-    \ltj@@grab@numC
-  }
-}
-\def\ltj@@grab@numC#1\ltj@@q@escapenum{
-  {#1}
+  \directlua{tex.sprint('{' .. luatexja.token.scan_int() .. '}')}
 }
 
 %%------------------ Safe passing
index a4f2ff2..a46fdeb 100644 (file)
@@ -141,6 +141,7 @@ do
    local STCK = luatexja.userid_table.STCK
    local IHB = luatexja.userid_table.IHB
    local sid_local = node.subtype('local_par')
+   local id_local = node.id('local_par')
 
    local function test_list(h, lv)
       if not h then
@@ -161,7 +162,7 @@ do
               elseif ps~=sid_local then
                  flag = 0; break
               end
-           else
+           elseif p.id~=id_local then
               flag = 0; break
            end
         end
@@ -489,10 +490,12 @@ local function get_box_dir(b, default)
    local bh = getfield(b,'head')
    -- b は insert node となりうるので getlist() は使えない
    local c
-   for bh in traverse_id(id_whatsit, bh) do
-      if getsubtype(bh)==sid_user and getfield(bh, 'user_id')==DIR then
-        c = bh
-        dir = (dir==0) and has_attr(bh, attr_dir) or dir
+   if bh~=0 then -- bh != nil
+      for bh in traverse_id(id_whatsit, bh) do
+         if getsubtype(bh)==sid_user and getfield(bh, 'user_id')==DIR then
+            c = bh
+           dir = (dir==0) and has_attr(bh, attr_dir) or dir
+         end
       end
    end
    -- for i=1,2 do
index af80272..12f350a 100644 (file)
@@ -523,6 +523,9 @@ calc_np_auxtable[13]        = calc_np_auxtable.box_like
 calc_np_auxtable[id_ins]    = calc_np_auxtable.skip
 calc_np_auxtable[id_mark]   = calc_np_auxtable.skip
 calc_np_auxtable[id_adjust] = calc_np_auxtable.skip
+if node.id('local_par') then
+   calc_np_auxtable[node.id('local_par')] = calc_np_auxtable.skip
+end
 
 function calc_np(last, lp)
    local k
index ea92d60..ed1a197 100644 (file)
@@ -209,7 +209,7 @@ luatexbase.add_to_callback("luatexja.find_char_class",
                           cid_set_char_class, "ltj.otf.find_char_class", 1)
 
 -------------------- IVS
-local enable_ivs
+local enable_ivs, disable_ivs
 do
    local is_ivs_enabled = false
 -- 組版時
@@ -231,13 +231,13 @@ do
       while p do
         local pid = getid(p)
         if pid==id_glyph then
-            local pf = getfont(p)
             local q = node_next(p) -- the next node of p
             if q and getid(q)==id_glyph then
                local qc = getchar(q)
                if (qc>=0xFE00 and qc<=0xFE0F) or (qc>=0xE0100 and qc<0xE01F0) then
                   -- q is a variation selector
                   if qc>=0xE0100 then qc = qc - 0xE0100 end
+                  local pf = getfont(p)
                   local pt = ltjf_font_extra_info[pf]
                   pt = pt and pt[getchar(p)];  pt = pt and  pt[qc]
                   head, r = node_remove(head,q)
@@ -278,17 +278,25 @@ do
                                    luatexbase.priority_in_callback('hpack_filter',
                                                                    'ltj.set_stack_level')+1)
         luatexbase.add_to_callback('pre_linebreak_filter',
-                                   do_ivs_repr, 'ltj.do_ivs', 
+                                   do_ivs_repr,  'ltj.do_ivs', 
                                    luatexbase.priority_in_callback('pre_linebreak_filter',
                                                                    'ltj.set_stack_level')+1)
         is_ivs_enabled = true
       end
    end
+   disable_ivs = function ()
+      if is_ivs_enabled then
+        luatexbase.remove_from_callback('hpack_filter', 'ltj.do_ivs')
+        luatexbase.remove_from_callback('pre_linebreak_filter', 'ltj.do_ivs')
+        is_ivs_enabled = false
+      end
+   end
 end
 
 luatexja.otf = {
   append_jglyph = append_jglyph,
   enable_ivs = enable_ivs,  -- 隠し機能: IVS
+  disable_ivs = disable_ivs,  -- 隠し機能: IVS
   cid = cid,
 }
 
index a90b1e2..65b87c3 100644 (file)
@@ -39,7 +39,7 @@
 %%
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesClass{ltjarticle}
-  [2015/10/18 v1.6-ltj-10
+  [2016/01/31 v1.6-ltj-11
  Standard LuaLaTeX-ja class]
 \RequirePackage{luatexja}
 \newcounter{@paper}
 \setlength\columnseprule{0\p@}
 \setlength{\@tempdima}{\paperwidth}
 \setlength{\@tempdimb}{\paperheight}
-\iftombow
-  \advance \@tempdima 2in
-  \advance \@tempdimb 2in
-\fi
 \ifdefined\pdfpagewidth
+  \iftombow
+    \advance \@tempdima 2in
+    \advance \@tempdimb 2in
+  \fi
   \setlength{\pdfpagewidth}{\@tempdima}
   \setlength{\pdfpageheight}{\@tempdimb}
 \else
+  \iftombow
+    \advance \@tempdima 2in
+    \advance \@tempdimb 2in
+  \fi
   \setlength{\pagewidth}{\@tempdima}
   \setlength{\pageheight}{\@tempdimb}
 \fi
index eb605cc..289f7cb 100644 (file)
@@ -39,7 +39,7 @@
 %%
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesFile{ltjbk10.clo}
-  [2015/10/18 v1.6-ltj-10
+  [2016/01/31 v1.6-ltj-11
   Standard LuaLaTeX-ja file (size option)]
 \renewcommand{\normalsize}{%
     \@setfontsize\normalsize\@xpt{15}%
index bdd9b97..9642641 100644 (file)
@@ -39,7 +39,7 @@
 %%
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesFile{ltjbk11.clo}
-  [2015/10/18 v1.6-ltj-10
+  [2016/01/31 v1.6-ltj-11
   Standard LuaLaTeX-ja file (size option)]
 \renewcommand{\normalsize}{%
     \@setfontsize\normalsize\@xipt{15.5}%
index e9ec276..db1eaff 100644 (file)
@@ -39,7 +39,7 @@
 %%
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesFile{ltjbk12.clo}
-  [2015/10/18 v1.6-ltj-10
+  [2016/01/31 v1.6-ltj-11
   Standard LuaLaTeX-ja file (size option)]
 \renewcommand{\normalsize}{%
     \@setfontsize\normalsize\@xiipt{16.5}%
index 8a474c3..34b4ed3 100644 (file)
@@ -39,7 +39,7 @@
 %%
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesClass{ltjbook}
-  [2015/10/18 v1.6-ltj-10
+  [2016/01/31 v1.6-ltj-11
  Standard LuaLaTeX-ja class]
 \RequirePackage{luatexja}
 \newcounter{@paper}
 \setlength\columnseprule{0\p@}
 \setlength{\@tempdima}{\paperwidth}
 \setlength{\@tempdimb}{\paperheight}
-\iftombow
-  \advance \@tempdima 2in
-  \advance \@tempdimb 2in
-\fi
 \ifdefined\pdfpagewidth
+  \iftombow
+    \advance \@tempdima 2in
+    \advance \@tempdimb 2in
+  \fi
   \setlength{\pdfpagewidth}{\@tempdima}
   \setlength{\pdfpageheight}{\@tempdimb}
 \else
+  \iftombow
+    \advance \@tempdima 2in
+    \advance \@tempdimb 2in
+  \fi
   \setlength{\pagewidth}{\@tempdima}
   \setlength{\pageheight}{\@tempdimb}
 \fi
index 47be704..a5e7d41 100644 (file)
@@ -10,7 +10,7 @@
 %
 % \fi
 %
-% \CheckSum{4509}
+% \CheckSum{4515}
 %% \CharacterTable
 %%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
 %%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
@@ -85,6 +85,7 @@
 % \changes{v1.6-ltj-8}{2014/11/22}{縦組時のgeometry.styへの対応を別ファイル(lltjp-geometry.sty)に分離.それに伴いv1.6-ltj-3での変更を削除.}
 % \changes{v1.6-ltj-9}{2015/01/01}{縦組クラスの日付出力でエラーになることなどを修正.}
 % \changes{v1.6-ltj-10}{2015/10/18}{Lua\TeX\ 0.81.0に伴うプリミティブ名の変更に対応.}
+% \changes{v1.6-ltj-11}{2016/01/31}{2015-10-18の変更が不完全であったことの修正}.
 % \fi
 %
 % \iffalse
 %<11pt&bk>\ProvidesFile{ltjtbk11.clo}
 %<12pt&bk>\ProvidesFile{ltjtbk12.clo}
 %</tate>
-  [2015/10/18 v1.6-ltj-10
+  [2016/01/31 v1.6-ltj-11
 %<article|report|book> Standard LuaLaTeX-ja class]
 %<10pt|11pt|12pt>  Standard LuaLaTeX-ja file (size option)]
 %<*driver>
 ]
 \documentclass{ltjltxdoc}
 \GetFileInfo{ltjclasses.dtx}
-\usepackage{fontspec}
+\ifdefined\pagewidth
+  \let\pagewidth=\pdfpagewidth
+  \let\pageheight=\pdfpageheight
+\else
+  \let\pdfpagewidth=\pagewidth
+  \let\pdfpageheight=\pageheight
+\fi
 \usepackage[ipaex,nfssonly]{luatexja-preset}
-\usepackage{unicode-math}
-\setmathfont{Latin Modern Math}
 \usepackage[unicode]{hyperref}
 \title{Lua\LaTeX-ja用\texttt{jclasses}互換クラス}
 \author{Lua\TeX-jaプロジェクト}
   \setlength\columnsep{10\p@}
 \fi
 \setlength\columnseprule{0\p@}
+\setlength{\@tempdima}{\paperwidth}
+\setlength{\@tempdimb}{\paperheight}
 %    \end{macrocode}
 % \end{macro}
 % \end{macro}
 %
 % [2015-10-18 LTJ] Lua\TeX\ 0.81.0ではプリミティブの名称変更がされたので,
 % それに合わせておきます.
+%
+% [2016-01-31 LTJ] [2015-10-18]の処理は不完全でした.
 %    \begin{macrocode}
-\setlength{\@tempdima}{\paperwidth}
-\setlength{\@tempdimb}{\paperheight}
-\iftombow
-  \advance \@tempdima 2in
-  \advance \@tempdimb 2in
-\fi
 \ifdefined\pdfpagewidth
+  \iftombow
+    \advance \@tempdima 2in
+    \advance \@tempdimb 2in
+  \fi
   \setlength{\pdfpagewidth}{\@tempdima}
   \setlength{\pdfpageheight}{\@tempdimb}
 \else
+  \iftombow
+    \advance \@tempdima 2in
+    \advance \@tempdimb 2in
+  \fi
   \setlength{\pagewidth}{\@tempdima}
   \setlength{\pageheight}{\@tempdimb}
 \fi
index aa9a1de..03686aa 100644 (file)
@@ -39,7 +39,7 @@
 %%
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesClass{ltjreport}
-  [2015/10/18 v1.6-ltj-10
+  [2016/01/31 v1.6-ltj-11
  Standard LuaLaTeX-ja class]
 \RequirePackage{luatexja}
 \newcounter{@paper}
 \setlength\columnseprule{0\p@}
 \setlength{\@tempdima}{\paperwidth}
 \setlength{\@tempdimb}{\paperheight}
-\iftombow
-  \advance \@tempdima 2in
-  \advance \@tempdimb 2in
-\fi
 \ifdefined\pdfpagewidth
+  \iftombow
+    \advance \@tempdima 2in
+    \advance \@tempdimb 2in
+  \fi
   \setlength{\pdfpagewidth}{\@tempdima}
   \setlength{\pdfpageheight}{\@tempdimb}
 \else
+  \iftombow
+    \advance \@tempdima 2in
+    \advance \@tempdimb 2in
+  \fi
   \setlength{\pagewidth}{\@tempdima}
   \setlength{\pageheight}{\@tempdimb}
 \fi
index 081136e..6ce444d 100644 (file)
 \fi
 \setlength\paperwidth{\inv@mag\paperwidth}%
 \setlength\paperheight{\inv@mag\paperheight}%
-\setlength{\@tempdima}{\paperwidth}
-\setlength{\@tempdimb}{\paperheight}
-\iftombow
-  \advance \@tempdima 2in
-  \advance \@tempdimb 2in
-\fi
 \ifdefined\pdfpagewidth
+  \iftombow
+    \advance \@tempdima 2in
+    \advance \@tempdimb 2in
+  \fi
   \setlength{\pdfpagewidth}{\@tempdima}
   \setlength{\pdfpageheight}{\@tempdimb}
 \else
+  \iftombow
+    \advance \@tempdima 2in
+    \advance \@tempdimb 2in
+  \fi
   \setlength{\pagewidth}{\@tempdima}
   \setlength{\pageheight}{\@tempdimb}
 \fi
index 8cbba92..671ca38 100644 (file)
 \fi
 \setlength\paperwidth{\inv@mag\paperwidth}%
 \setlength\paperheight{\inv@mag\paperheight}%
-\setlength{\@tempdima}{\paperwidth}
-\setlength{\@tempdimb}{\paperheight}
-\iftombow
-  \advance \@tempdima 2in
-  \advance \@tempdimb 2in
-\fi
 \ifdefined\pdfpagewidth
+  \iftombow
+    \advance \@tempdima 2in
+    \advance \@tempdimb 2in
+  \fi
   \setlength{\pdfpagewidth}{\@tempdima}
   \setlength{\pdfpageheight}{\@tempdimb}
 \else
+  \iftombow
+    \advance \@tempdima 2in
+    \advance \@tempdimb 2in
+  \fi
   \setlength{\pagewidth}{\@tempdima}
   \setlength{\pageheight}{\@tempdimb}
 \fi
index a3a3c6e..436eb93 100644 (file)
 %
 % [2015-10-18 LTJ] Lua\TeX\ 0.81.0ではプリミティブの名称変更がされたので,
 % それに合わせておきます.
+%
+% [2016-01-31 LTJ] [2015-10-18]の処理は不完全でした.
 %    \begin{macrocode}
-\setlength{\@tempdima}{\paperwidth}
-\setlength{\@tempdimb}{\paperheight}
-\iftombow
-  \advance \@tempdima 2in
-  \advance \@tempdimb 2in
-\fi
 \ifdefined\pdfpagewidth
+  \iftombow
+    \advance \@tempdima 2in
+    \advance \@tempdimb 2in
+  \fi
   \setlength{\pdfpagewidth}{\@tempdima}
   \setlength{\pdfpageheight}{\@tempdimb}
 \else
+  \iftombow
+    \advance \@tempdima 2in
+    \advance \@tempdimb 2in
+  \fi
   \setlength{\pagewidth}{\@tempdima}
   \setlength{\pageheight}{\@tempdimb}
 \fi
index 0598ed7..456da14 100644 (file)
@@ -39,7 +39,7 @@
 %%
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesFile{ltjsize10.clo}
-  [2015/10/18 v1.6-ltj-10
+  [2016/01/31 v1.6-ltj-11
   Standard LuaLaTeX-ja file (size option)]
 \renewcommand{\normalsize}{%
     \@setfontsize\normalsize\@xpt{15}%
index 23e9b5c..0482f88 100644 (file)
@@ -39,7 +39,7 @@
 %%
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesFile{ltjsize11.clo}
-  [2015/10/18 v1.6-ltj-10
+  [2016/01/31 v1.6-ltj-11
   Standard LuaLaTeX-ja file (size option)]
 \renewcommand{\normalsize}{%
     \@setfontsize\normalsize\@xipt{15.5}%
index 15ea37b..6a95889 100644 (file)
@@ -39,7 +39,7 @@
 %%
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesFile{ltjsize12.clo}
-  [2015/10/18 v1.6-ltj-10
+  [2016/01/31 v1.6-ltj-11
   Standard LuaLaTeX-ja file (size option)]
 \renewcommand{\normalsize}{%
     \@setfontsize\normalsize\@xiipt{16.5}%
index 93db07e..c0acedf 100644 (file)
 \def\inv@mag{1.02354}
 \setlength\paperwidth{\inv@mag\paperwidth}%
 \setlength\paperheight{\inv@mag\paperheight}%
-\setlength{\@tempdima}{\paperwidth}
-\setlength{\@tempdimb}{\paperheight}
-\iftombow
-  \advance \@tempdima 2in
-  \advance \@tempdimb 2in
-\fi
 \ifdefined\pdfpagewidth
+  \iftombow
+    \advance \@tempdima 2in
+    \advance \@tempdimb 2in
+  \fi
   \setlength{\pdfpagewidth}{\@tempdima}
   \setlength{\pdfpageheight}{\@tempdimb}
 \else
+  \iftombow
+    \advance \@tempdima 2in
+    \advance \@tempdimb 2in
+  \fi
   \setlength{\pagewidth}{\@tempdima}
   \setlength{\pageheight}{\@tempdimb}
 \fi
index 638ee8f..21b523f 100644 (file)
 \fi
 \setlength\paperwidth{\inv@mag\paperwidth}%
 \setlength\paperheight{\inv@mag\paperheight}%
-\setlength{\@tempdima}{\paperwidth}
-\setlength{\@tempdimb}{\paperheight}
-\iftombow
-  \advance \@tempdima 2in
-  \advance \@tempdimb 2in
-\fi
 \ifdefined\pdfpagewidth
+  \iftombow
+    \advance \@tempdima 2in
+    \advance \@tempdimb 2in
+  \fi
   \setlength{\pdfpagewidth}{\@tempdima}
   \setlength{\pdfpageheight}{\@tempdimb}
 \else
+  \iftombow
+    \advance \@tempdima 2in
+    \advance \@tempdimb 2in
+  \fi
   \setlength{\pagewidth}{\@tempdima}
   \setlength{\pageheight}{\@tempdimb}
 \fi
index 228d6d3..a94a069 100644 (file)
@@ -39,7 +39,7 @@
 %%
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesClass{ltjtarticle}
-  [2015/10/18 v1.6-ltj-10
+  [2016/01/31 v1.6-ltj-11
  Standard LuaLaTeX-ja class]
 \RequirePackage{luatexja}
 \newcounter{@paper}
 \setlength\columnseprule{0\p@}
 \setlength{\@tempdima}{\paperwidth}
 \setlength{\@tempdimb}{\paperheight}
-\iftombow
-  \advance \@tempdima 2in
-  \advance \@tempdimb 2in
-\fi
 \ifdefined\pdfpagewidth
+  \iftombow
+    \advance \@tempdima 2in
+    \advance \@tempdimb 2in
+  \fi
   \setlength{\pdfpagewidth}{\@tempdima}
   \setlength{\pdfpageheight}{\@tempdimb}
 \else
+  \iftombow
+    \advance \@tempdima 2in
+    \advance \@tempdimb 2in
+  \fi
   \setlength{\pagewidth}{\@tempdima}
   \setlength{\pageheight}{\@tempdimb}
 \fi
index 4565ea4..6cc2f93 100644 (file)
@@ -39,7 +39,7 @@
 %%
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesFile{ltjtbk10.clo}
-  [2015/10/18 v1.6-ltj-10
+  [2016/01/31 v1.6-ltj-11
   Standard LuaLaTeX-ja file (size option)]
 \renewcommand{\normalsize}{%
     \@setfontsize\normalsize\@xpt{17}%
index 65c4594..d339d29 100644 (file)
@@ -39,7 +39,7 @@
 %%
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesFile{ltjtbk11.clo}
-  [2015/10/18 v1.6-ltj-10
+  [2016/01/31 v1.6-ltj-11
   Standard LuaLaTeX-ja file (size option)]
 \renewcommand{\normalsize}{%
     \@setfontsize\normalsize\@xipt{17}%
index b5c89c4..2f1e1c9 100644 (file)
@@ -39,7 +39,7 @@
 %%
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesFile{ltjtbk12.clo}
-  [2015/10/18 v1.6-ltj-10
+  [2016/01/31 v1.6-ltj-11
   Standard LuaLaTeX-ja file (size option)]
 \renewcommand{\normalsize}{%
     \@setfontsize\normalsize\@xiipt{18}%
index 36d9a46..52f38c1 100644 (file)
@@ -39,7 +39,7 @@
 %%
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesClass{ltjtbook}
-  [2015/10/18 v1.6-ltj-10
+  [2016/01/31 v1.6-ltj-11
  Standard LuaLaTeX-ja class]
 \RequirePackage{luatexja}
 \newcounter{@paper}
 \setlength\columnseprule{0\p@}
 \setlength{\@tempdima}{\paperwidth}
 \setlength{\@tempdimb}{\paperheight}
-\iftombow
-  \advance \@tempdima 2in
-  \advance \@tempdimb 2in
-\fi
 \ifdefined\pdfpagewidth
+  \iftombow
+    \advance \@tempdima 2in
+    \advance \@tempdimb 2in
+  \fi
   \setlength{\pdfpagewidth}{\@tempdima}
   \setlength{\pdfpageheight}{\@tempdimb}
 \else
+  \iftombow
+    \advance \@tempdima 2in
+    \advance \@tempdimb 2in
+  \fi
   \setlength{\pagewidth}{\@tempdima}
   \setlength{\pageheight}{\@tempdimb}
 \fi
index 312af11..70ce3c8 100644 (file)
@@ -39,7 +39,7 @@
 %%
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesClass{ltjtreport}
-  [2015/10/18 v1.6-ltj-10
+  [2016/01/31 v1.6-ltj-11
  Standard LuaLaTeX-ja class]
 \RequirePackage{luatexja}
 \newcounter{@paper}
 \setlength\columnseprule{0\p@}
 \setlength{\@tempdima}{\paperwidth}
 \setlength{\@tempdimb}{\paperheight}
-\iftombow
-  \advance \@tempdima 2in
-  \advance \@tempdimb 2in
-\fi
 \ifdefined\pdfpagewidth
+  \iftombow
+    \advance \@tempdima 2in
+    \advance \@tempdimb 2in
+  \fi
   \setlength{\pdfpagewidth}{\@tempdima}
   \setlength{\pdfpageheight}{\@tempdimb}
 \else
+  \iftombow
+    \advance \@tempdima 2in
+    \advance \@tempdimb 2in
+  \fi
   \setlength{\pagewidth}{\@tempdima}
   \setlength{\pageheight}{\@tempdimb}
 \fi
index 5eb5897..eb4ad05 100644 (file)
@@ -39,7 +39,7 @@
 %%
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesFile{ltjtsize10.clo}
-  [2015/10/18 v1.6-ltj-10
+  [2016/01/31 v1.6-ltj-11
   Standard LuaLaTeX-ja file (size option)]
 \renewcommand{\normalsize}{%
     \@setfontsize\normalsize\@xpt{17}%
index 706e5c6..d240f11 100644 (file)
@@ -39,7 +39,7 @@
 %%
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesFile{ltjtsize11.clo}
-  [2015/10/18 v1.6-ltj-10
+  [2016/01/31 v1.6-ltj-11
   Standard LuaLaTeX-ja file (size option)]
 \renewcommand{\normalsize}{%
     \@setfontsize\normalsize\@xipt{17}%
index e999c9e..8c8f608 100644 (file)
@@ -39,7 +39,7 @@
 %%
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesFile{ltjtsize12.clo}
-  [2015/10/18 v1.6-ltj-10
+  [2016/01/31 v1.6-ltj-11
   Standard LuaLaTeX-ja file (size option)]
 \renewcommand{\normalsize}{%
     \@setfontsize\normalsize\@xiipt{18}%
index bf39e78..c881570 100644 (file)
 
 %%%% \hbox, \vbox, \vtop
 \setbox\z@\hbox{%
+  \primitive\everymath{}
   $\directlua{% This value depends on the version of LuaTeX.
-    luatexja.stack.mmode = -tex.nest[tex.nest.ptr].mode
+     luatexja.stack.mmode = -tex.nest[tex.nest.ptr].mode
   }$%
 }
 \setbox\z@\box\voidb@x
index 1baeb94..491454c 100644 (file)
@@ -481,12 +481,12 @@ local function debug_show_node_X(p,print_fn, limit)
             prefix, inner_depth = k, bid
          end
       else
-         s = s .. node.subtype(p.subtype)
+         s = s .. (node.subtype(p.subtype) or '')
         if p.subtype==1 then
            s = s .. ' stream=' .. p.stream
            print_fn(s)
            for i=1,#p.data do
-              print_fn(s .. '  [' .. i .. '] = ' .. tostring(token.command_name(p.data[i])))
+              print_fn(s .. '  [' .. i .. '] = ' .. tostring(p.data[i].csname))
            end
         else
            print_fn(s)