<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://lipidbank.jp/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Module%3AAuthorSummary</id>
	<title>Module:AuthorSummary - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://lipidbank.jp/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Module%3AAuthorSummary"/>
	<link rel="alternate" type="text/html" href="https://lipidbank.jp/mediawiki/index.php?title=Module:AuthorSummary&amp;action=history"/>
	<updated>2026-04-29T11:32:58Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://lipidbank.jp/mediawiki/index.php?title=Module:AuthorSummary&amp;diff=117038&amp;oldid=prev</id>
		<title>Editor: Created page with &quot;local getArgs = require(&#039;Module:Arguments&#039;).getArgs; local defArgs = require(&#039;Module:Arguments&#039;).defaultArgs; local authorSummary = {};  function authorSummary.vbar( frame )   local args = defArgs(getArgs(frame), 1, &quot;&quot;);   local arg = args[1];    local Ja = {} -- journals   local Yr = {} -- publication years   local first = 10000   local last = 0   for au, ja, yr in arg:gmatch(&quot;([%a:_]+),([%a_\.]+),(%d+),(%d+)&quot;)         do table.insert(Ja, ja);         yr = tonumber(yr)...&quot;</title>
		<link rel="alternate" type="text/html" href="https://lipidbank.jp/mediawiki/index.php?title=Module:AuthorSummary&amp;diff=117038&amp;oldid=prev"/>
		<updated>2023-01-30T04:51:28Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;local getArgs = require(&amp;#039;Module:Arguments&amp;#039;).getArgs; local defArgs = require(&amp;#039;Module:Arguments&amp;#039;).defaultArgs; local authorSummary = {};  function authorSummary.vbar( frame )   local args = defArgs(getArgs(frame), 1, &amp;quot;&amp;quot;);   local arg = args[1];    local Ja = {} -- journals   local Yr = {} -- publication years   local first = 10000   local last = 0   for au, ja, yr in arg:gmatch(&amp;quot;([%a:_]+),([%a_\.]+),(%d+),(%d+)&amp;quot;)         do table.insert(Ja, ja);         yr = tonumber(yr)...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local getArgs = require(&amp;#039;Module:Arguments&amp;#039;).getArgs;&lt;br /&gt;
local defArgs = require(&amp;#039;Module:Arguments&amp;#039;).defaultArgs;&lt;br /&gt;
local authorSummary = {};&lt;br /&gt;
&lt;br /&gt;
function authorSummary.vbar( frame )&lt;br /&gt;
  local args = defArgs(getArgs(frame), 1, &amp;quot;&amp;quot;);&lt;br /&gt;
  local arg = args[1];&lt;br /&gt;
&lt;br /&gt;
  local Ja = {} -- journals&lt;br /&gt;
  local Yr = {} -- publication years&lt;br /&gt;
  local first = 10000&lt;br /&gt;
  local last = 0&lt;br /&gt;
  for au, ja, yr in arg:gmatch(&amp;quot;([%a:_]+),([%a_\.]+),(%d+),(%d+)&amp;quot;)&lt;br /&gt;
        do table.insert(Ja, ja);&lt;br /&gt;
        yr = tonumber(yr)&lt;br /&gt;
        if (yr &amp;lt; first) then first = yr end&lt;br /&gt;
        if (yr &amp;gt; last) then last = yr end&lt;br /&gt;
        if (Yr[yr] == null) then Yr[yr] = 1 else Yr[yr] = 1 + Yr[yr]&lt;br /&gt;
        end&lt;br /&gt;
      end&lt;br /&gt;
  step = math.ceil((last - first+1)/10)&lt;br /&gt;
  output = &amp;quot;size=500x200;title=publication chart;legend=0.8x0;label=&amp;quot;&lt;br /&gt;
  if (step &amp;gt; 1)&lt;br /&gt;
    then output = output..first..&amp;quot;\\n-&amp;quot;..(first+step-1)&lt;br /&gt;
    else output = output..first&lt;br /&gt;
  end&lt;br /&gt;
  loop = math.ceil((last - first+1)/step)&lt;br /&gt;
  for i=first+step, first+(step*loop)-1, step do&lt;br /&gt;
    if (step &amp;gt; 1)&lt;br /&gt;
      then output = output..&amp;quot;,&amp;quot;..i..&amp;quot;\\n-&amp;quot;..(i+step-1)&lt;br /&gt;
      else output = output..&amp;quot;,&amp;quot;..i&lt;br /&gt;
    end&lt;br /&gt;
  end&lt;br /&gt;
  for i=0, step-1 do&lt;br /&gt;
    if (step == 1)&lt;br /&gt;
      then output = output..&amp;quot;;count=&amp;quot; &lt;br /&gt;
      else output = output..&amp;quot;;mod &amp;quot;..i..&amp;quot;=&amp;quot;&lt;br /&gt;
    end&lt;br /&gt;
    for y = first, first+(step*loop)-1 do&lt;br /&gt;
      if (y % step == i) then&lt;br /&gt;
        if (Yr[y] == nil)&lt;br /&gt;
          then output = output..&amp;quot;0,&amp;quot;&lt;br /&gt;
          else output = output..Yr[y]..&amp;quot;,&amp;quot;&lt;br /&gt;
        end&lt;br /&gt;
      end&lt;br /&gt;
    end&lt;br /&gt;
  end&lt;br /&gt;
  return output..&amp;quot;;&amp;quot;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function authorSummary.coauthors( frame )&lt;br /&gt;
  local args = defArgs(getArgs(frame), 1, &amp;quot;&amp;quot;);&lt;br /&gt;
  local arg = args[1];&lt;br /&gt;
&lt;br /&gt;
  local author = arg:gmatch(&amp;quot;%S+&amp;quot;);&lt;br /&gt;
  local Au = {}; -- authors&lt;br /&gt;
  local count =0;&lt;br /&gt;
  local total =0;&lt;br /&gt;
  local paper =0.0;&lt;br /&gt;
  for aus, ja, yr in arg:gmatch(&amp;quot;([%a:_]+),([%a_\.]+),(%d+),(%d+)&amp;quot;) do&lt;br /&gt;
    paper = paper + 1;&lt;br /&gt;
    for au in string.gmatch(aus,&amp;quot;[%a_]+&amp;quot;) do&lt;br /&gt;
      if (author ~= au) then&lt;br /&gt;
        if (Au[au] == null)&lt;br /&gt;
          then Au[au] = 1; count = count + 1;&lt;br /&gt;
          else Au[au] = 1 + Au[au];&lt;br /&gt;
        end&lt;br /&gt;
      end&lt;br /&gt;
      total = total + 1;&lt;br /&gt;
    end&lt;br /&gt;
  end&lt;br /&gt;
  local output = count .. &amp;quot; coauthors total.&amp;lt;br&amp;gt;(average&amp;quot;&lt;br /&gt;
  .. string.format(&amp;quot;%.1f&amp;quot;,total / paper) .. &amp;quot; / report)\n&amp;quot;;&lt;br /&gt;
  for k, v in pairs(Au) do&lt;br /&gt;
    output = output .. &amp;quot;# {{#volatile:AuthorSummary|&amp;quot; .. k .. &amp;quot; (&amp;quot; .. v .. &amp;quot;)|&amp;quot; .. k .. &amp;quot;|Reference}}\n&amp;quot;;&lt;br /&gt;
  end&lt;br /&gt;
  return frame:preprocess(output);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return authorSummary;&lt;/div&gt;</summary>
		<author><name>Editor</name></author>
	</entry>
</feed>