Volatile:AuthorSummary: Difference between revisions

mNo edit summary
No edit summary
 
Line 1: Line 1:
{{#def:name|{{#replace:{{{1|Author}}}|_| }}}}
{{#def:name|{{#replace:{{#get:1|Author}}|_| }}}}
{{#def:namespace|{{{2|Reference}}}}}
{{#def:namespace|{{#get:2|Reference}}}}
{{#def:reflist|{{#SearchTitle:{{{1|Author}}}|{{{2|Reference}}} }}}}
{{#def:reflist|{{#SearchTitle:{{#get:1|Author}}|{{#get:2|Reference}} }}}}
{{#def:refnum|{{#count:{{#var:reflist}}}}}}
{{#def:refnum|{{#count:{{#var:reflist}}}}}}
{{#def:affiliations|{{#SearchLine:{{#var:name}}|Reference|Country%}}|&&}}
{{#def:affiliations|{{#SearchLine:{{#var:name}}|Reference|Country%}}|&&}}
Related pages: [[Persist:FLindex/author {{#substring:{{{1|Author}}}|0|1}}|Author Index]]
Related pages: [[Persist:FLindex/author {{#substring:{{#get:1|Author}}|0|1}}|Author Index]]
=={{#var:name}} ... author of {{#var:refnum}} paper{{#ifexpr:{{#var:refnum}}<2||s}}==
=={{#var:name}} ... author of {{#var:refnum}} paper{{#ifexpr:{{#var:refnum}}<2||s}}==
{{Reference/Link|{{{1|}}}}}
{{Reference/Link|{{#get:1|}}}}


{{#if:{{#var:affiliations}}|<!--- when national record exists--->
{{#if:{{#var:affiliations}}|<!--- when national record exists--->
Line 14: Line 14:
}}
}}


{{#graph:vbar|
{{#graph:vbar|{{#invoke:AuthorSummary|vbar|{{#var:reflist}}}}}}
{{#lua:
  local Ja = {} -- journals
  local Yr = {} -- publication years
  local first = 10000
  local last = 0
  for au, ja, yr in stdin:gmatch("([%a:_]+),([%a_\.]+),(%d+),(%d+)")
        do table.insert(Ja, ja);
        yr = tonumber(yr)
        if (yr < first) then first = yr end
        if (yr > last) then last = yr end
        if (Yr[yr] == null) then Yr[yr] = 1 else Yr[yr] = 1 + Yr[yr]
        end
      end
  step = math.ceil((last - first+1)/10)
  output = "size=500x200;title=publication chart;legend=0.8x0;label="
  if (step > 1)
    then output = output..first.."\\n-"..(first+step-1)
    else output = output..first
  end
  loop = math.ceil((last - first+1)/step)
  for i=first+step, first+(step*loop)-1, step do
    if (step > 1)
      then output = output..","..i.."\\n-"..(i+step-1)
      else output = output..","..i
    end
  end
  for i=0, step-1 do
    if (step == 1)
      then output = output..";count="
      else output = output..";mod "..i.."="
    end
    for y = first, first+(step*loop)-1 do
      if (y % step == i) then
        if (Yr[y] == nil)
          then output = output.."0,"
          else output = output..Yr[y]..","
        end
      end
    end
  end
  print(output..";")
|{{#var:reflist}}
}}
}}


{{#repeat:AuthorSummary/RefLink|1|{{#var:reflist}}}}
{{#repeat:AuthorSummary/RefLink|1|{{#var:reflist}}}}


<div style="column-count:3; -moz-column-count:3;">
<div style="column-count:3; -moz-column-count:3;">
{{#lua:
{{#invoke:AuthorSummary|coauthors|{{#get:1|Author}} {{#var:reflist}}}}
  local author = stdin:gmatch("%S+");
  local Au = {}; -- authors
  local count =0;
  local total =0;
  local paper =0.0;
  for aus, ja, yr in stdin:gmatch("([%a:_]+),([%a_\.]+),(%d+),(%d+)") do
    paper = paper + 1;
    for au in string.gmatch(aus,"[%a_]+") do
      if (author ~= au) then
        if (Au[au] == null)
          then Au[au] = 1; count = count + 1;
          else Au[au] = 1 + Au[au];
        end
      end
      total = total + 1;
    end
  end
  local output = count .. " coauthors total.<br>(average"
  .. string.format("%.1f",total / paper) .. " / report)\n";
  for k, v in pairs(Au) do
    output = output .. "# [[Volatile:AuthorSummary?my_1=" .. k .. "&my_2=Reference " .. k .. " (" .. v .. ")]]\n";
  end
  print(output);
|{{{1|Author}}} {{#var:reflist}}
}}
</div>
</div>

Latest revision as of 04:51, 30 January 2023



Related pages: Author Index

Author ... author of 0 paper

No institute/nationality information. Please update from here.


0 coauthors total.
(average-nan / report)