File:Periodic table, good SVG.svg

From Wikiversity
Jump to navigation Jump to search

Original file(SVG file, nominally 1,176 × 800 pixels, file size: 20 KB)

This is a file from the Wikimedia Commons. The description on its description page there is shown below.

Commons is a freely licensed media file repository. You can help.

Summary

Description
English: A by-product of File:Monoisotopic, mononuclidic, radioactive elements.svg with more classical proportions of element cells, but without information about isotopes. These Perl programs generate a good, structured SVG code and may be modified further to create more sentient images that this concrete table.

Elements:

  •    Stable
  • Radioactive:
    • natural (industrially extractable)
    •    natural, marginally
    •    synthetic (purely)
209Bi is practically stable, so it is made orange, not red.
Date
Source Own work
Author Incnis Mrsi
Other versions
SVG development
InfoField
 
The SVG code is valid.
 
This vector image was created with an unknown SVG tool.
 
 This file uses embedded text that can be easily translated using a text editor.

Source code

See File:Monoisotopic, mononuclidic, radioactive elements.svg for definition of the @elements array.

sub start_box {
  my $fill="";
  $fill=' style="fill:'.$_[2].'"' if ($_[2]);
  print "<g> <rect$fill x=\"".(16*$_[1]-15)."\" width=\"14\" y=\"".($_[0]-19)."\" height=\"18\"/> ";
};

sub make_text {
  my $cl="";
  $cl=' class="'.$_[3].'"' if ($_[3]);
  print "<text$cl x=\"".$_[0]."\" y=\"".$_[1]."\">".$_[2]."</text> ";
};

sub smart_symbol {
  make_text ($_[0], $_[1], $_[2], (length($_[2])>2)?"smallsym":"sym");
};

sub smart_number {
  my $x = $_[0] - 3;
  my $cl = "num";
  if ( $_[2] >=100 ) { $cl = "smallnum"; $x -= 3; }
  elsif ( $_[2] >=10 ) { $x -= 3; };
  make_text ($x, $_[1], $_[2], $cl);
};
  

sub print_Z {
  my $ref = $elements[$_[0]];
  return unless $ref;
  my $intro;
  my $base_y = 20 * $ref->[1];
  my $group = $ref->[2];
  if ($group == 1) { # First element in a period
    $intro = $ref->[1];
  }
  elsif (!$group) { 
    if ( $ref->[1] == 6) { # Lanthanoid
      if ($_[0] == 57) { # Lanthanum
        start_box($base_y, 3); make_text (37, $base_y-10, "*", "sym"); print "</g>";
        $intro = "* lanthanoids";
      };
      $base_y = 174;
      $group = $_[0] - 54;
    }
    elsif ( $ref->[1] == 7) { # Actinoid
      if ($_[0] == 89) { # Actinium
        start_box($base_y, 3); make_text (35, $base_y-10, "**", "sym"); print "</g>";
        $intro = "** actinoids";
      };
      $base_y = 194;
      $group = $_[0] - 86;
    }
    else { return; };
  };
  if ($intro) {
    print "\n";
    make_text (-5, $base_y-4, $intro) if ($intro);
    print "\n";
  };
  my $background = $ref->[3];
# this version is not focused on nuclides, recycling some stuff
  if ( $background =~ /\#FF00/ ) {
# we classify all unstable elements to nanural, marginally natural and unnatural in this version
    if ( $ref->[5] eq "0" ) {
      $background = '#CC00FF'; # I said: no natural isotopes
    }
    else {
      $background = (($_[0] == 90)||($_[0] == 92))?'#FF3333' # Th, U
      :'#FF33FF'; # marginally natural
    };
  }
  else {
    $background =~ s/\#..FF../\#FFFFFF/;
  };
  start_box ($base_y, $group, $background);
# no check for natural radionuclides in this version
  smart_number (16*$group-8, $base_y-5, $_[0]); # Atomic number
  smart_symbol (16*$group-13, $base_y-11, $ref->[0]); # Symbol
# no mass numbers in this version
  print "</g>\n"; # end box
};

print "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\
<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\
<svg xmlns=\"http://www.w3.org/2000/svg\" xml:space=\"preserve\" width=\"1176\" height=\"800\" viewBox=\"-5 -6 294 200\"\
 xmlns:xlink=\"http://www.w3.org/1999/xlink\">\
  <!-- see http://commons.wikimedia.org/wiki/File:Periodic_table,_good_SVG.svg for more information about the file -->
  <defs>\
    <style type=\"text/css\">\
      <![CDATA[\
	rect {stroke:#666666; stroke-width:1px; fill:none} /* for cells */\
	text {fill:#000000; font-family:sans; font-size:5px; stroke:none} /* periods and groups */\
	.sym {font-family:serif; font-size:7px}\
	.smallsym {font-family:serif; font-size:5.5px} /* Uu? */\
	.num {font-size:4px} /* up to 99 */\
	.smallnum {font-size:3px} /* 100 and greater */\
      ]]>\
    </style>\
  </defs>\n\n";

my $group;
  make_text ( 6, -1, 1);
  make_text (22, 18, 2);
for ( $group=3; $group<=12; $group++) { make_text(16*$group-10, 58, $group); };
for ($group=13; $group<=17; $group++) { make_text(16*$group-12, 18, $group); };
  make_text (276, -1, 18);

my $Z;
for ($Z=1; $Z<=119; $Z++) { print_Z ($Z); };
print "</svg>\n";

Licensing

I, the copyright holder of this work, hereby publish it under the following licenses:
GNU head Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled GNU Free Documentation License.
w:en:Creative Commons
attribution share alike
This file is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported, 2.5 Generic, 2.0 Generic and 1.0 Generic license.
You are free:
  • to share – to copy, distribute and transmit the work
  • to remix – to adapt the work
Under the following conditions:
  • attribution – You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
  • share alike – If you remix, transform, or build upon the material, you must distribute your contributions under the same or compatible license as the original.
You may select the license of your choice.

Captions

Modern Periodic Table

Items portrayed in this file

depicts

22 October 2012

image/svg+xml

File history

Click on a date/time to view the file as it appeared at that time.

Date/TimeThumbnailDimensionsUserComment
current16:54, 9 October 2020Thumbnail for version as of 16:54, 9 October 20201,176 × 800 (20 KB)BurzuchiusReverted to version as of 13:09, 11 November 2018 (UTC)
14:26, 21 September 2020Thumbnail for version as of 14:26, 21 September 20201,176 × 800 (21 KB)Once4O4Reverted to version as of 11:40, 30 November 2016 (UTC)
13:09, 11 November 2018Thumbnail for version as of 13:09, 11 November 20181,176 × 800 (20 KB)TilmannRAm (95), Cm (96), Bk (97), and Cf (98) are purely synthetic. Uue (119) has not yet been synthesized. (Wikipedia illustration workshop request)
11:40, 30 November 2016Thumbnail for version as of 11:40, 30 November 20161,176 × 800 (21 KB)Wiki LICIUPAC 2016/11/28 actualization: Uut>>Nh Uup>>Mc Uus>>Ts Uuo>>Og
21:51, 22 October 2012Thumbnail for version as of 21:51, 22 October 20121,176 × 800 (21 KB)Incnis Mrsicorrected in line with w: Synthetic element
19:10, 22 October 2012Thumbnail for version as of 19:10, 22 October 20121,176 × 784 (21 KB)Incnis Mrsi== {{int:filedesc}} == {{Information |Description ={{en|1=A by-product of File:Monoisotopic, mononuclidic, radioactive elements.svg with more classical proportions of element cells, but without information about isotopes. This concrete SVG imag...

No pages embed this file. However pages may still include links to this file.

Global file usage

The following other wikis use this file:

Metadata