Keywords: Periodic table simple de bw.svg en 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 2013-09-27 17 47 36 own László Németh Source code ; 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 sourceslang0 langfield sourceslang1 ; 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 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 i0 for i in langtable langtable ; a few fixes table793 Mercury ; instead of Mercury element table117 24 31 ; Mg table257 55 85 ; Fe table637 157 3 ; Gd ; add missing positions TO the table FOR i IN RANGE 56 71 tablei5 i “ 56 “ 4 tablei6 8 5 FOR i IN RANGE 88 103 tablei5 i “ 88 “ 4 tablei6 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 d5 size posy + FLOAT d6 size 1 2 HEADING 0 ; show group number IF INT d0 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 d5 FORWARD size/2 + size/5 LABEL 0 4 5 d5 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 d5 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 d1 PENDOWN RECTANGLE size size 1 2 PENUP IF M IN d2 OR m IN d2 OR 2 < COUNT d2 FONTFAMILY font2 FONTFAMILY font FONTWEIGHT BOLD FONTSIZE size/2 1 TEXT d2 FONTWEIGHT UPRIGHT FONTFAMILY font BACK size 1 2/2-size/20 fontsiz 5 6 FONTSIZE size/fontsiz IF l18n name l18nINT d0 -1 name d3 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 d0 RIGHT 90 FORWARD size “ size/10 LEFT 90 weight FINDALL \d+ \d+ \\d+\ d7 0 IF weight0 wsize COUNT FINDALL \d+ weight 0 w2size COUNT FINDALL \d+ weight 0 IF w2size > 4 “ wsize weight + STR 4 “ wsize + f FLOAT weight IF d2 IN H Li B C N O Mg Si S Cl Br Zn Se Mo Tl weight weight + IF lang not in en weight SUB weight LABEL -1 -1 weight END HOME CLEARSCREEN HIDETURTLE PENSIZE 0 5 PENUP bwtext FALSE TRUE _bw bw ; save black and white images with _bw label PICTURE periodic_table_simple_ s s svg lang bwtext FONTSIZE size/5 8 FONTFAMILY font2 ; legend POSITION posx + size/2 + size/5 8/2 posy + size 1 2 7 5 + size/20 HEADING 0 LABEL -1 -1 legend H 1 00784 1 00811\nLi 6 938 6 997\nB 10 806 10 821\nC 12 0096 12 0116\nN 14 00643 14 00728\nO 15 99903 15 99977\nMg 24 304 24 307\nSi 26 084 26 086\nS 32 059 32 076\nCl 35 446 35 457\nBr 79 901 79 907\nTl 204 382 204 385\nZn 65 38 2 \nSe 78 96 3 \nMo 95 96 2 if lang not in en legend SUB legend LABEL 1 -1 legend POSITION posx + size 3 5 posy + size 1 2 8 5 HEADING 0 PENDOWN LEFT 90 FORWARD 2 size/5/3 RIGHT 90 FORWARD size 1 2 3 “ size/20 “ size/5 8/2 LEFT 90 FORWARD 5 size/5/3 PENUP POSITION posx + 2 5 size + size/20 posy + size 5 5 1 2 + size/20 HEADING 0 LABEL 1 -1 57 “71 PENUP POSITION posx + size 3 5 posy + size 1 2 9 5 HEADING 0 PENDOWN LEFT 90 FORWARD 4 size/5/3 RIGHT 90 FORWARD size 1 2 3 “ size/20 “ size/5 8/2 LEFT 90 FORWARD 1 2 size/5/3 PENUP POSITION posx + 2 5 size + size/20 posy + size 6 5 1 2 + size/20 HEADING 0 LABEL 1 -1 89 “103 ; draw elements FOR i IN table element size i langtable bw cc-zero SVG periodic table Valid SVG Images with LibreLogo source code Created with LibreOffice Uploaded with UploadWizard |