File:Periodic table, good SVG.svg
Size of this preview: 800 × 544 pixels. Other resolutions: 320 × 218 pixels | 640 × 435 pixels | 1,024 × 697 pixels | 1,280 × 871 pixels | 2,560 × 1,741 pixels | 1,176 × 800 pixels.
Original file (SVG file, nominally 1,176 × 800 pixels, file size: 20 KB)
This file is from Wikimedia Commons and may be used by other projects. The description on its file description page there is shown below.
Summary
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.
|
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:
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 |
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.
Items portrayed in this file
depicts
some value
22 October 2012
image/svg+xml
File history
Click on a date/time to view the file as it appeared at that time.
Date/Time | Thumbnail | Dimensions | User | Comment | |
---|---|---|---|---|---|
current | 16:54, 9 October 2020 | 1,176 × 800 (20 KB) | wikimediacommons>Burzuchius | Reverted to version as of 13:09, 11 November 2018 (UTC) |
File usage
There are no pages that use this file.
Global file usage
The following other wikis use this file:
- Usage on miraheze.org
Metadata
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 |