Original file (SVG file, nominally 1,176 × 800 pixels, file size: 20 KB)
This is a file from the Wikimedia Commons. Information from its description page there is shown below. Commons is a freely licensed media file repository. You can help. |
DescriptionPeriodic table, good SVG.svg |
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:
|
||
Date | |||
Source | Own work | ||
Author | Incnis Mrsi | ||
Other versions | |||
SVG development InfoField |
This vector image was created with an unknown SVG tool.
This file uses embedded text that can be easily translated using a text editor.
|
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";
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.http://www.gnu.org/copyleft/fdl.htmlGFDLGNU Free Documentation Licensetruetrue |
Date/Time | Thumbnail | Dimensions | User | Comment | |
---|---|---|---|---|---|
current | 16:54, 9 October 2020 | 1,176 × 800 (20 KB) | Burzuchius | Reverted to version as of 13:09, 11 November 2018 (UTC) | |
14:26, 21 September 2020 | 1,176 × 800 (21 KB) | Once4O4 | Reverted to version as of 11:40, 30 November 2016 (UTC) | ||
13:09, 11 November 2018 | 1,176 × 800 (20 KB) | TilmannR | Am (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 2016 | 1,176 × 800 (21 KB) | Wiki LIC | IUPAC 2016/11/28 actualization: Uut>>Nh Uup>>Mc Uus>>Ts Uuo>>Og | ||
21:51, 22 October 2012 | 1,176 × 800 (21 KB) | Incnis Mrsi | corrected in line with w: Synthetic element | ||
19:10, 22 October 2012 | 1,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... |
This file contains additional information, probably added from the digital camera or scanner used to create or digitize it.
If the file has been modified from its original state, some details may not fully reflect the modified file.
Width | 1176 |
---|---|
Height | 800 |