I'm using biblatex in the TeX preview window.  And, since I often
import directly from ISI using the Web of Science Search function, I
get regular errors related to commas in the address or institution
field.  Perhaps there is a solution through biblatex to this problem,
but I'm fine with either protecting or deleting the
Address/Institution field on import.

Script hooks seem like the perfect solution to this problem, but I am
not an applescript users.  I've tried to cobble something together
based on the available example and got the following which doesn't
appear to work, on import (from Web of Science) nothing happens no
errors no braces.  Any nudges in the right direction are appreciated.

I apologize if this has been discussed on the list before, my searches
did not reveal anything aside from confirmation of the biblatex TeX
preview issue.

Cheers

Peter

set protectLib to (load script file ¬
        ((path to home folder as string) & "Library:Application
Support:BibDesk:Scripts:Add Protect Strings.scpt"))
-- load the Error Reporting script library
set errorLib to (load script file ¬
        ((path to home folder as string) & "Library:ScriptingAdditions:Error
Reporting.scpt"))
-- we only report all errors at the end
tell errorLib
        delayReportErrors()
        set its defaultErrorFileName to "BibDeskScriptErrors"
end tell

property theFieldToSet : "Address"

using terms from application "BibDesk"
        on perform BibDesk action with publications thePubs for script hook
theScriptHook
                
                -- here you could return depending on theName or theField
                tell protectLib
                        -- protect chars between balanced {}
                        set its startProtectChar to "{"
                        set its endProtectChar to "}"
                        
                        repeat with thePub in thePubs
                                
                                try
                                        tell thePub
                                                set curValue to value of field 
theFieldToSet
                                                -- generate a new value for the 
field
                                                set theField to field 
theFieldToSet
                                                set newValue to 
protectString(curValue)
                                                if newValue is not "{}" then ¬
                                                        set value of theField 
to newValue
                                        end tell
                                        
                                on error errorMessage number errorNumber
                                        tell errorLib to 
reportError(errorMessage, errorNumber)
                                        
                                end try
                                
                        end repeat
                end tell --protectLib
                
        end perform BibDesk action with publications
end using terms from

-- see if we had any errors
tell errorLib to checkForErrors()

------------------------------------------------------------------------------
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
Bibdesk-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bibdesk-users

Reply via email to