Datei:Periodic table simple de bw.svg

Aus ZUM-Unterrichten
Wechseln zu: Navigation, Suche
Originaldatei(SVG-Datei, Basisgröße: 946 × 637 Pixel, Dateigröße: 1,19 MB)

Diese Datei stammt aus Wikimedia Commons und kann von anderen Projekten verwendet werden. Die Beschreibung von deren Dateibeschreibungsseite wird unten angezeigt.

Beschreibung

Beschreibung
English: Simple periodic table with localized element names and standard atomic weights (IUPAC, 2009). [Temporarily converted to paths till fixing Wikipedia’s font problem with DejaVu Sans Condensed, but also the previous version of this image works correctly outside of Wikipedia.]
Datum
Quelle Eigenes Werk
Urheber László Németh
SVG‑Erstellung
LibreOffice icon 3.3.1 48 px.svg
Diese Vektorgrafik wurde mit LibreOffice erstellt.

Python

; Created in LibreOffice 4.1.2 with this LibreLogo program
 ; Usage: Put this code into an English language document in LibO Writer,
 ; fix one program line for older LibreOffice versions, see FIXME in the code,
 ; and click on the Start icon of the View»Toolbars»Logo toolbar.
 ; NEED INTERNET CONNECTION TO RUN THIS PROGRAM! (table data downloaded from Wikipedia)
 lang = input Language (de, el, en, fr, hu, it, ru)?”
 bw = int input Color (0 = COLORED, 1 = BLACK/WHITE)?”
 ; Source pages: http://www.wikidata.org/wiki/Q13584100?uselang=hu
 sources = {ru: [%D0%A1%D0%BF%D0%B8%D1%81%D0%BE%D0%BA_%D1%85%D0%B8%D0%BC%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D1%85_%D1%8D%D0%BB%D0%B5%D0%BC%D0%B5%D0%BD%D1%82%D0%BE%D0%B2, 2], fr: [Liste_des_%C3%A9l%C3%A9ments_chimiques, 2], de: [Liste_der_chemischen_Elemente, 1], el: [%CE%9A%CE%B1%CF%84%CE%AC%CE%BB%CE%BF%CE%B3%CE%BF%CF%82_%CF%87%CE%B7%CE%BC%CE%B9%CE%BA%CF%8E%CE%BD_%CF%83%CF%84%CE%BF%CE%B9%CF%87%CE%B5%CE%AF%CF%89%CE%BD_%CE%BA%CE%B1%CF%84%CE%AC_%CE%B1%CF%84%CE%BF%CE%BC%CE%B9%CE%BA%CF%8C_%CE%B1%CF%81%CE%B9%CE%B8%CE%BC%CF%8C, 2], it: [Elementi_per_numero_atomico, 2], hu: [K%C3%A9miai_elemek_list%C3%A1ja, 3]}
 
 if lang != en [
   langpage = sources[lang][0]
   langfield = sources[lang][1] ; column with element names on the Wikipedia page
 ]
 
 GLOBAL annotation, posx, posy, size, font, font2, lang
 font = DejaVu Sans
 font2 = DejaVu Sans Condensed ; Wikimedia has got problem with it, convert the result to path in Inkscape, if needed.
 posx = 30
 posy = 40
 size = 42
 
 ; load and process element data from Wikipedia (embedded Python)
 exec(import urllib.request)
 exec(data = urllib.request.urlopen("http://en.wikipedia.org/w/index.php?action=raw&title=List_of_elements").readlines())
 exec(table = [[j.strip(" |[]") for j in i.decode("utf-8").replace("style=\\\"background-color:#","0x").replace("\\\" | ","||").split("||")] for i in data if re.match("^\| *\d+ *\|\|", i.decode("utf-8"))])
 
 ; load and process other language data
 IF lang != en [
   exec(data = urllib.request.urlopen("http://%s.wikipedia.org/w/index.php?action=raw&title=%s").readlines() % (lang, langpage))
   IF lang != de [
     exec(langtable = [i.decode("utf-8").split("||")[%d].strip(" []").split("|")[-1] for i in data if re.match("^\| *\d+ *\|\|", i.decode("utf-8"))] % (langfield-1))
   ] [
     ; process and sort German data
     exec(langtable = [[i.decode("utf-8").split("||")[0].split("{")[0].split("|")[-1].strip(" \t[]").split(" ")[0].split("<")[0].split("(")[0].strip(" \t[]").split("|")[-1], int(i.decode("utf-8").split("||")[2].strip(" \t"))] for i in data if re.match(".*\|[ \t]*\d+[ \t]*\|\|", i.decode("utf-8"))])
     exec(import operator)
     exec(langtable.sort(key=operator.itemgetter(1)))
     exec(langtable = [i[0] for i in langtable])
   ]
 ] [ langtable = [] ]
 
 ; a few fixes
 table[79][3] = Mercury ; instead of Mercury (element)
 table[11][7] = 24.31 ; Mg
 table[25][7] = 55.85 ; Fe
 table[63][7] = 157.3 ; Gd
 
 ; add missing positions TO the table
 FOR i IN RANGE 56 71 [
   table[i][5] = i  (56  4)
   table[i][6] = 8.5
 ]
 FOR i IN RANGE 88 103 [
   table[i][5] = i  (88  4)
   table[i][6] = 9.5
 ]
 
 ; helper functions
 TO width_of_last_object
 OUTPUT _.drawpage.getByIndex(_.drawpage.getCount()-1).getSize().Width / 100 * __MM_TO_PT__; IN PT
 END ; FIXME: remove the space before the END
 
 TO delete_last_object
 _.drawpage.remove(_.drawpage.getByIndex(_.drawpage.getCount()-1))
 END
 
 TO element size d l18n bw
 PENUP POSITION [posx + INT(d[5])*size, posy + FLOAT(d[6])*size*1.2] HEADING 0
 ; show group number
 IF INT(d[0]) IN [1, 2, 4, 5, 6, 7, 8, 9, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30] [
   IF lang = en [
     FORWARD size/2 + size/5 LABEL [0, 1, d[5]]
   ] [
     FORWARD size/2 + size/5 LABEL [0, 4.5, d[5]]
     groupname = {1: I.A., 2: II.A., 3: III.B., 4: IV.B., 5: V.B., 6: VI.B., 7: VII.B., 8:      ╭───”, 9: VIII.B., 10: “───╮     , 11: I.B., 12: II.B., 13: III.A., 14: IV.A., 15: V.A., 16: VI.A., 17: VII.A., 18: VIII.A.}[d[5]]
     IF lang not in [hu] [ groupname = SUB ([.], “”, groupname) ]
     FONTSIZE 10 LABEL [0, 1, groupname]
   ]
   BACK size/2 + size/5
 ]
 IF bw [ FILLCOLOR WHITE ] [ FILLCOLOR INT (d[1]) ]
 PENDOWN RECTANGLE [size, size*1.2] PENUP
 IF M IN d[2] OR m IN d[2] OR 2 < COUNT (d[2]) [ FONTFAMILY font2 ] [ FONTFAMILY font ]
 FONTWEIGHT BOLD
 FONTSIZE size/2.1
 TEXT d[2]
 FONTWEIGHT UPRIGHT FONTFAMILY font
 BACK size*1.2/2-size/20
 fontsiz = 5.6
 FONTSIZE size/fontsiz
 IF l18n [
   name = l18n[INT(d[0])-1]
 ] [ name = d[3] ]
 if lang != de [ name = name.lower() ]
 LABEL [0, 1, name]
 fontdescratio = 492/2048 ; DejaVu Sans Condensed
 IF width_of_last_object() > size * 0.95 [
   delete_last_object
   FONTFAMILY font2
   LABEL [0, 1, name]
   width = width_of_last_object
   IF width > size * 0.95 [
     delete_last_object
     fontsiz2 = size/fontsiz * size/width * 0.95
     FORWARD size/fontsiz*fontdescratio - fontsiz2*fontdescratio
     FONTSIZE fontsiz2
     LABEL [0, 1, name]
     BACK size/fontsiz*fontdescratio - fontsiz2*fontdescratio
   ]
 ]
 FONTSIZE size/5.8 FONTFAMILY font2
 FORWARD [-size/2 + size/20, size*1.2/2-size/20 + size*0.6  size/20]
 HEADING 0 LABEL [1, -1, d[0]]
 RIGHT 90 FORWARD size  size/10 LEFT 90
 weight = FINDALL((\d+[.]\d+

Path text SVG The file size of this SVG periodic table may be irrationally large because its text has been converted to paths.

Lizenz

Ich, der Urheber dieses Werkes, veröffentliche es unter der folgenden Lizenz:
Creative Commons CC-Zero Diese Datei wird unter der Creative-Commons-Lizenz „CC0 1.0 Verzicht auf das Copyright“ zur Verfügung gestellt.
Die Person, die das Werk mit diesem Dokument verbunden hat, übergibt dieses weltweit der Gemeinfreiheit, indem sie alle Urheberrechte und damit verbundenen weiteren Rechte – im Rahmen der jeweils geltenden gesetzlichen Bestimmungen – aufgibt. Das Werk kann – selbst für kommerzielle Zwecke – kopiert, modifiziert und weiterverteilt werden, ohne hierfür um Erlaubnis bitten zu müssen.

Dateiversionen

Klicke auf einen Zeitpunkt, um diese Version zu laden.

Version vomVorschaubildMaßeBenutzerKommentar
aktuell11:47, 26. Okt. 2013Vorschaubild der Version vom 26. Oktober 2013, 11:47 Uhr946 × 637 (1,19 MB)Nl74fix decimal marks and rounding (converted path)

Die folgende Seite verwendet diese Datei:

Metadaten