bbCode

Wil je nieuwe functies op het forum? Heb je fouten gevonden die moeten worden verbeterd? Hier kan je suggesties doen om het forum te verbeteren.
User avatar
Z4x
Gallium
Posts: 1596
Joined: 03 Aug 2009, 15:29
Chemistry interests: Overall
Location: Grunn

bbCode

Post by Z4x » 24 Feb 2010, 23:49

Een soort van preview voor het maken van chemie formules. Uiteindelijk zou ie (waarschijnlijk aangepast) eigenlijk in het forum moeten, dan gaat het sneller/beter. :)

Functionaliteit is nog niet zo groot, maar het begin/idee is er (beta1 hé ;) ). Wat vinden jullie ervan? Als jullie het wel redelijk vinden, graag wat kritiek zodat ik em beter kan maken.

Ik had al het idee om de bbCode textbox een functie te geven dat als je er wat verandert, het voorbeeld ook mee verandert, is wel zo handig en kan je zo ook makkelijk oude formules fixen.... zoiets dacht ik.

H2 + O2 -> 2H2O

Klein plaatje er van:
beta1.png
Download:
bbChemieFormule_beta1.zip
(gewoon uitpakken en .html openen met IE of Firefox of andere browser die je gebruikt)
De kunst is om te blijven oefenen, oefenen en oefenen...

spidey
Kobalt
Posts: 1367
Joined: 16 Jan 2009, 23:58
Chemistry interests: Inorganic
Location: Amsterdam

Re: bbCode

Post by spidey » 25 Feb 2010, 18:21

Hoi Z4x,
Ik vind het prachtig dat je hier mee bezig bent.
Alleen snap ik je idee niet zo goed, want er verschijnt nog helemaal niets in de codebox.

Is het niet handiger dat je de formule gewoon via de toetsen invoert en dan een knop 'format BB' hebt die het formatteert?

Immers, als ik intyp CuSO4.5H2O, dan kun je zo afleiden wat er subscript en superscript moet worden.
Analoog voor ladingen: 2Na+(aq) + (SO4)2-(aq) --> ...

Misschien komt het omdat ik nog van de generatie 'machinecode' ben en daarom liever typ dan klik? Of snap ik je idee niet?

Nog even een tip: als je dit als HTML houdt, plaats dan svp het periodiek systeem onder of boven de test. Nu loopt dit door elkaar. Ik houd niet zo van browserschermen breder dan ca. 900 pixels

User avatar
Wouter
Krypton
Posts: 1979
Joined: 02 Aug 2008, 01:47
Chemistry interests: Organic
Location: Groesbeek, Gelderland
Contact:

Re: bbCode

Post by Wouter » 25 Feb 2010, 18:31

Best mooi gemaakt, lekker simpel. Ik weet nog niet of het opstellen van formules sneller zal gaan. :P

Een bugje, ergens: Na het aanpassen, op enige manier, van de textbox kan je niets meer toevoegen. De voorbeeldtekst verandert wel mee, maar laat de aanpassing niet zien die je in de textbox hebt aangebracht.
Organisch chemicus

User avatar
Z4x
Gallium
Posts: 1596
Joined: 03 Aug 2009, 15:29
Chemistry interests: Overall
Location: Grunn

Re: bbCode

Post by Z4x » 25 Feb 2010, 20:18

spidey wrote:Hoi Z4x,
Ik vind het prachtig dat je hier mee bezig bent.
Alleen snap ik je idee niet zo goed, want er verschijnt nog helemaal niets in de codebox.
Er komt niks in de bbcode-textbox? Dat is vreemd, dat zou wel moeten. Welke browsers gebruikte je? Als je IE gebruikt, dan moet je die toestemming geven de javascript uit te voeren die in de .html zit, anders werkt het niet. Er verschijnt een balkje onder de tabbladen waar je op kan klikken, dacht ik.
spidey wrote: Is het niet handiger dat je de formule gewoon via de toetsen invoert en dan een knop 'format BB' hebt die het formatteert?

Immers, als ik intyp CuSO4.5H2O, dan kun je zo afleiden wat er subscript en superscript moet worden.
Analoog voor ladingen: 2Na+(aq) + (SO4)2-(aq) --> ...

Misschien komt het omdat ik nog van de generatie 'machinecode' ben en daarom liever typ dan klik? Of snap ik je idee niet?

Nog even een tip: als je dit als HTML houdt, plaats dan svp het periodiek systeem onder of boven de test. Nu loopt dit door elkaar. Ik houd niet zo van browserschermen breder dan ca. 900 pixels
Het was ook de bedoeling dat ie tekst oppikte, maar dat gaat niet zo makkelijk met javascript (voor mij tenminste). Het klikken merk ik, duurt inderdaad veels te lang, met typen was je al lang klaar. Misschien is dat gewoon in eerst typen en dat ie het automatisch verandert wel een goed idee. Ik weet niet zeker of ik dat helemaal correct geprogrammeerd krijg, maar ik wil het wel proberen. :)

Het begin idee van dit programma was dat als je dit hebt:2FeCl4- + Fe2+ + 8NH3 + 4H2O ----> Fe3O4 + 8NH4+ + 8Cl-

Je met deze rotzooi moet werken en geen idee hebt hoe het er uit ziet:

Code: Select all

2FeCl[sub]4[/sub][sup]-[/sup] + Fe[sup]2+[/sup] + 8NH[sub]3[/sub] + 4H[sub]2[/sub]O ----> Fe[sub]3[/sub]O[sub]4[/sub] + 8NH[sub]4[/sub][sup]+[/sup] + 8Cl[sup]-[/sup]
Wouter wrote:Een bugje, ergens: Na het aanpassen, op enige manier, van de textbox kan je niets meer toevoegen. De voorbeeldtekst verandert wel mee, maar laat de aanpassing niet zien die je in de textbox hebt aangebracht.
Ik zie wat je bedoelt, geen idee waarom ie dat doet eigenlijk.

Ik zal deze week nog ff wat proberen/prutsen met automatisch omzetten, das misschien handiger en sneller. :P
De kunst is om te blijven oefenen, oefenen en oefenen...

User avatar
Z4x
Gallium
Posts: 1596
Joined: 03 Aug 2009, 15:29
Chemistry interests: Overall
Location: Grunn

Re: bbCode

Post by Z4x » 25 Feb 2010, 23:21

Fe3+ + H9+ + O8 + He2- -> H2O4K6-

Het werkt! :D

je voert dit in:

Code: Select all

Fe3+ + H9+ + O8 + He2- -> H2O4K6- 
(gewoon lekker door typen)

en dan ram je op "Generate bbCode" en je krijgt dit:

Code: Select all

Fe[sup]3+[/sup] + H[sup]9+[/sup] + O[sub]8[/sub] + He[sup]2-[/sup] -> H[sub]2[/sub]O[sub]4[/sub]K[sup]6-[/sup]
ik weet dat de formule niet klopt, maar dat is een test formule. :)

probeer het en vertel me hoe je het vindt. dank u. :)


edit: ik zie dat er al een bug in zit. als je Na+ doet dan pakt ie em niet. fix ik morgen wel. :P
De kunst is om te blijven oefenen, oefenen en oefenen...

User avatar
woelen
IJzer
Posts: 1298
Joined: 13 Jan 2009, 20:05
Chemistry interests: --------------
Location: Groningen
Contact:

Re: bbCode

Post by woelen » 26 Feb 2010, 09:12

spidey wrote:Hoi Z4x,
Ik vind het prachtig dat je hier mee bezig bent.
Alleen snap ik je idee niet zo goed, want er verschijnt nog helemaal niets in de codebox.

Is het niet handiger dat je de formule gewoon via de toetsen invoert en dan een knop 'format BB' hebt die het formatteert?

Immers, als ik intyp CuSO4.5H2O, dan kun je zo afleiden wat er subscript en superscript moet worden.
Analoog voor ladingen: 2Na+(aq) + (SO4)2-(aq) --> ...

Misschien komt het omdat ik nog van de generatie 'machinecode' ben en daarom liever typ dan klik? Of snap ik je idee niet?

Nog even een tip: als je dit als HTML houdt, plaats dan svp het periodiek systeem onder of boven de test. Nu loopt dit door elkaar. Ik houd niet zo van browserschermen breder dan ca. 900 pixels
Spidey, wat jij zegt is toch iets minder triviaal dan je wellicht denkt. Ik heb me zelf vrij uitgebreid bezig gehouden met een grammatica waarmee chemische formules vastgelegd kunnen worden op eenduidige manier (voor mijn chemeq programma) die ook nog enigszins leesbaar is voor chemici. Er bestaat al een grammatica voor chemische formules, welke afgeleid is van de LaTEX grammatica voor algemene formules. Deze vind ik zelf redelijk onleesbaar, zo is koper(II)sulfaat 5 hydraat gelijk aan CuSO_{4} \dot 5H_{2}O en het natrium ion schrijf je als Na^{+}. Zelf heb ik daarom iets afgeleid waarin molecuulformules zonder speciale tekens kunnen worden geschreven en ionladingen tussen haakes, dus CuSO4.5H2O en Na(+). Ik heb een parser ontwikkeld voor formules in deze notatie. Complexen kun je schrijven met haakjes, zoals hexacyanoferraat(III) Fe(CN)6(3-).
The art of wondering makes life worth living...
Want to wonder? http://www.oelen.net/science

User avatar
Z4x
Gallium
Posts: 1596
Joined: 03 Aug 2009, 15:29
Chemistry interests: Overall
Location: Grunn

Re: bbCode

Post by Z4x » 26 Feb 2010, 10:44

Volgens mij werkt ie bijna perfect. Alleen Uuq en andere met drie letters ondersteunt ie niet (maar die gebruik je toch bijna nooit).

Geef je em CuSO4.5H2O dan krijg je: CuSO4.5H2O

Geef je em Na+ + 2Cl- -> Na+(Cl-)2 dan krijg je : Na+ + 2Cl- -> Na+(Cl-)2

Natrium ion kan je gewoon als Na+ schrijven, dan pakt ie em wel. Na+ :)

Hebben jullie misschien nog paar moeilijke formules? Dan probeer ik die ook. Bijvoorbeeld deze: Fe(CN)6(3-), bij deze, moet dan de 3- in sub of sup?

Ik ben er wel trots op, hij werkt snel en goed. :D

edit: het zou mooi als we het in het forum kunnen verwerken. iemand ideeën? ik dacht misschien naast "opties", "bijlage toevoegen" en dan daar zoiets als het programma met een knop het in de textbox te kunnen doen.

edit:2 ik post em ook wel ff op chemieforum
De kunst is om te blijven oefenen, oefenen en oefenen...

spidey
Kobalt
Posts: 1367
Joined: 16 Jan 2009, 23:58
Chemistry interests: Inorganic
Location: Amsterdam

Re: bbCode

Post by spidey » 26 Feb 2010, 11:39

Hoi Z4x,

Dit is precies het idee zoals ik het bedoelde :)
Inderdaad moest ik javascript toestaan, sorry, suf van me, die gele balk in IE niet gezien....

Het enige is dat de bbCode hetzelfde lijkt als de input.

input:
Li2CO3 + 2HCl --> 2LiCl + H2O + CO2

bbCode:
Li2CO3 + 2HCl --> 2LiCl + H2O + CO2

Edit: ik gebruik IE, javascript staat nu aan.

Ik zou trouwens 3-lettercodeondersteuning gewoon weglaten. Die elementen gebruiken wij toch niet.

Edit: Het is misschien handiger om als je <enter> geeft de output naar clipboard te kopieren en een <clear> knop te maken. Wat vinden de anderen hiervan?
woelen wrote:Spidey, wat jij zegt is toch iets minder triviaal dan je wellicht denkt. Ik heb me zelf vrij uitgebreid bezig gehouden met een grammatica waarmee chemische formules vastgelegd kunnen worden op eenduidige manier (voor mijn chemeq programma) die ook nog enigszins leesbaar is voor chemici. Er bestaat al een grammatica voor chemische formules, welke afgeleid is van de LaTEX grammatica voor algemene formules. Deze vind ik zelf redelijk onleesbaar, zo is koper(II)sulfaat 5 hydraat gelijk aan CuSO_{4} \dot 5H_{2}O en het natrium ion schrijf je als Na^{+}. Zelf heb ik daarom iets afgeleid waarin molecuulformules zonder speciale tekens kunnen worden geschreven en ionladingen tussen haakes, dus CuSO4.5H2O en Na(+). Ik heb een parser ontwikkeld voor formules in deze notatie. Complexen kun je schrijven met haakjes, zoals hexacyanoferraat(III) Fe(CN)6(3-).
Kun je een voorbeeld geven van waar het niet-trivial wordt? Ik zou denken dat het vooral een kwestie van gebruikersdiscipline is mbt haakjes. Je zou in dat geval het idee van 'blinkende klammern' kunnen gebruiken ter ondersteuning van de gebruiker.

User avatar
woelen
IJzer
Posts: 1298
Joined: 13 Jan 2009, 20:05
Chemistry interests: --------------
Location: Groningen
Contact:

Re: bbCode

Post by woelen » 26 Feb 2010, 12:12

Hoe krijg ik een ion als SO42- of Hg22+ er in?

In de grammatica van LaTEX ziet dit er als volgt uit: SO_{4}^{2-} resp. Hg_{2}^{2+}. In mijn grammatica zoals ik in chemeq.exe gebruik is het SO4(2-) resp. Hg2(2+). Met de bbCode generator kan ik deze ionen niet representeren, tenzij ik iets over het hoofd zie.
The art of wondering makes life worth living...
Want to wonder? http://www.oelen.net/science

User avatar
woelen
IJzer
Posts: 1298
Joined: 13 Jan 2009, 20:05
Chemistry interests: --------------
Location: Groningen
Contact:

Re: bbCode

Post by woelen » 26 Feb 2010, 12:20

De grammatica van Spidey zou ook kunnen, maar je moet dan wel altijd haken gebruiken bij meervoudige ionen, dus (SO4)2- en (Fe(CN)6)3- en (Hg2)2-. Dit is een notatie die redelijk duidelijk is (de haken geven aan dat de totale entiteit de opgegeven lading heeft), maar het sluit helaas minder aan bij wat chemici verwachten. Daarom heb ik er voor gekozen om ladingen altijd tussen haken te zetten en voorkom je de problematiek met ionen als Hg2(2+). Door de haken rondom de lading is altijd duidelijk dat het om lading gaat.
The art of wondering makes life worth living...
Want to wonder? http://www.oelen.net/science

spidey
Kobalt
Posts: 1367
Joined: 16 Jan 2009, 23:58
Chemistry interests: Inorganic
Location: Amsterdam

Re: bbCode

Post by spidey » 26 Feb 2010, 12:26

woelen wrote:De grammatica van Spidey zou ook kunnen, maar je moet dan wel altijd haken gebruiken bij meervoudige ionen, dus (SO4)2- en (Fe(CN)6)3- en (Hg2)2-. Dit is een notatie die redelijk duidelijk is (de haken geven aan dat de totale entiteit de opgegeven lading heeft), maar het sluit helaas minder aan bij wat chemici verwachten. Daarom heb ik er voor gekozen om ladingen altijd tussen haken te zetten en voorkom je de problematiek met ionen als Hg2(2+). Door de haken rondom de lading is altijd duidelijk dat het om lading gaat.
OK, dus haakjes om lading verplicht, anders is het getal een aantal indicator?
Wat mij betreft: laten we de gebruiken onder chemici wel zo veel mogelijk respecteren, dat schept duidelijkheid voor andere gebruikers.

User avatar
Z4x
Gallium
Posts: 1596
Joined: 03 Aug 2009, 15:29
Chemistry interests: Overall
Location: Grunn

Re: bbCode

Post by Z4x » 26 Feb 2010, 15:55

Waarom haakjes? Das zo'n gedoe als je eentje vergeet aan het begin. Het zou ook zonder kunnen. :) Tenminste, bij mijn script lijkt het goed te werken. (nieuwe versie, beta 2.2)

SO42- = SO42-

Het is wel iets lastiger lezen dan... misschien een punt er tussen gooien...

SO4.2-

Met een punt zijn deze ook makkelijker eruit te fixen/halen (als ze bestaan, boven de 9 met een lading):

CH22.2-

Zou ik de script aanpassen dat je een punt kan gebruiken of?
spidey wrote:Edit: Het is misschien handiger om als je <enter> geeft de output naar clipboard te kopieren en een <clear> knop te maken. Wat vinden de anderen hiervan?
Goed idee, die <enter> zit er nu in. En <shift>+<del> is alles weg. Geen <del> want ik gebruik die soms ook wel om gewoon een getal weg te hallen. Ook een knop voor clear gemaakt.

Bestaan er trouwens Na12- (of +) en hoger? En zo ja, gebruiken wij die veel? Want tot nu toe gaat die alleen tot en met 9 en dat is wel zo makkelijk.
De kunst is om te blijven oefenen, oefenen en oefenen...

User avatar
woelen
IJzer
Posts: 1298
Joined: 13 Jan 2009, 20:05
Chemistry interests: --------------
Location: Groningen
Contact:

Re: bbCode

Post by woelen » 26 Feb 2010, 16:39

Z4x, let wel op dat wat jij doet beslist geen generieke grammatica is die jij ontwerpt, ik wil je echt aanraden om eerst eens de grammatica op te schrijven voordat je allerlei patches toepast om ieder volgend vervelend ding wat iemand te berde brengt weer te kunnen tacklen. Wat ik voor mijn programma heb ontwikkeld heb ik heel formeel opgezet m.b.v. Backus Naur Forms, simpelweg omdat het ALTIJD moet werken zonder beperking. Jouw insteek is anders. Natuurlijk kun je stellen dat je maar 1 cijfer kunt gebruiken voor ladingen en aantallen atomen, maar of dat nou zo fraai is? Als zoiets onderdeel wordt van een forum, dan moet het naar mijn idee ALTIJD werken, voor alle soorten moleculen, dus ook voor bijv. C12H20O11(2-) (suiker waarvan twee hydroxylgroepen zijn gedeprotoneerd). En dan die punt notatie, zoals Hg2.2+, dat levert mogelijkerwijs weer conflicten op met andere situaties, waarin ook een punt wordt gebruikt, of wanneer men met niet-stoichiometrische data moet werken, zoals in MnO1.95 (dit is de werkelijke samenstelling van bruinsteen, net iets minder dan 2 O per 1 Mn).

Als je wilt, dan wil ik je de BNF van mijn grammatica wel mailen, daarmee zou jij in staat moeten zijn om heel gemakkelijk een plugin te maken die formules editen gemakkelijk maakt. De grammatica "voelt" heel natuurlijk voor chemische formules in dagelijks gebruik en went heel snel, ook voor de ingewikkelder zaken. Ik gebruik hem zelf in mijn programma chemeq om stoffen helemaal op te breken in losse atomen en ladingen, jij zou hem kunnen gebruiken om presentatie-strings te maken voor weergave in het forum. Je zult er niet aan ontkomen om een recursive descent parser/generator te bouwen om alle mogelijke formules aan te kunnen. Dat zie je direct als je de BNF van de grammatica van chemische formules bekijkt.
The art of wondering makes life worth living...
Want to wonder? http://www.oelen.net/science

User avatar
Z4x
Gallium
Posts: 1596
Joined: 03 Aug 2009, 15:29
Chemistry interests: Overall
Location: Grunn

Re: bbCode

Post by Z4x » 26 Feb 2010, 18:27

Misschien is zo'n BNF wel beter uiteindelijk, kan je daar gewoon 2H2 + O2 -> 2H2O invoeren of moet alles in aparte boxen?

Uiteindelijk lijkt me een [formula] tag wel het handigst voor op het forum.
De kunst is om te blijven oefenen, oefenen en oefenen...

User avatar
Z4x
Gallium
Posts: 1596
Joined: 03 Aug 2009, 15:29
Chemistry interests: Overall
Location: Grunn

Re: bbCode

Post by Z4x » 26 Feb 2010, 18:36

Hier toch nog ff beta 2.2.

Heeft geen H2.2+ of H2(2+) ondersteuning. Ik zou die haakjes methode nog kunnen ondersteunen, maar misschien kan ik dan net zo goed BNF invoeren.
De kunst is om te blijven oefenen, oefenen en oefenen...

Post Reply

Who is online

Users browsing this forum: No registered users and 2 guests