On Fri, Apr 2, 2010 at 9:53 AM, Christiaan Hofman <[email protected]> wrote:
>
> On Apr 1, 2010, at 23:29, Peter Cowan wrote:
>
>> On Thu, Apr 1, 2010 at 2:03 PM, Christiaan Hofman <[email protected]> wrote:
>>>
>>> On Apr 1, 2010, at 22:15, Peter Cowan wrote:
>>>
>>>> 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
>>>>
>> [snip old code]
>>>
>>> This won't work, because you call the external scripts outside the "perform
>>> BibDesk action..." handler. The script hook will only call that handler, so
>>> anything outside it (like defining the protectLib and errorLib) will be
>>> ignored. Therefore reference to those external scripts will fail. You'll
>>> have to move everything to inside the script hook handler.
>>
>> Christiaan,
>>
>> Thanks for the reply, I've moved the load script calls inside of the
>> handler, but alas it still doesn't work. The current version is
>> below.
>>
>> I apologize for being such an applescript newb, but is there a
>> workflow you follow for developing this applescripts, e.g. debugging
>> hints, setting "breakpoints" etc.
>>
>> Cheers
>>
>> Peter
>
>
> [snip]
>
> BTW, another possibility is that this actually works, but you expect it to do
> something different from what it actually does. What this most certainly does
> NOT do is to enclose the Address value in braces, and the check you added
> make me think that that's what you (wrongly) expect it to do. So perhaps you
> should also say what you expect it to do, and what you did exactly to make it
> do that, perhaps with explicit samples.
Christian and Fischlin,
Thanks for your replies. Indeed I'm trying to wrap the Address Field
in curly braces so that biblatex won't puke on those bib items. I
thought that wrapping something in braces was called protecting, but
perhaps I am wrong.
You are correct the above script most definitely did not do what I was
hoping for.
An explicit example:
I usually use the Web of Science SCI search to import references. If
I search for au=(watson AND crick) the first hit is
CRICK, FHC and WATSON, JD. 1956. STRUCTURE OF SMALL VIRUSES. Nature.
177(4506):473-475.
However, this citation causes an error using my tex preview template
(below, require biblatex). The relevant part of the log is:
Too many commas in name 1 of "PORTERS SOUTH, 4 CRINAN ST, LONDON N1
9XW, ENGLAND" for entry cite-key
If I change the address field to
{PORTERS SOUTH, 4 CRINAN ST, LONDON N1 9XW, ENGLAND}
it is compiled and previewed correctly.
The applescript I sent before was an effort to do that wrapping on
import. I however was unable to get the protectLib to work at all so
I ended up with this *working* script hook. A couple of caveats, the
errorLib has never produced anything to me, it seem unlikely given my
applescript skills, that I produced no errors. And, secondly this
method won't, of course, catch cases where the field is already in
braces, so some Address fields could end up double wrapped.
Suggestions for improvements are welcome.
property theFieldToSet : "Address"
using terms from application "BibDesk"
on perform BibDesk action with publications thePubs for script hook
theScriptHook
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
repeat with thePub in thePubs
try
tell thePub
set curValue to value of field theFieldToSet
set newValue to "{" & curValue & "}"
if newValue is not "{}" then ¬
set value of field theFieldToSet to newValue
end tell
on error errorMessage number errorNumber
tell errorLib to reportError(errorMessage, errorNumber)
end try
end repeat
end perform BibDesk action with publications
end using terms from
-- see if we had any errors
tell errorLib to checkForErrors()
%%%%%%%%%% TeX Preview template %%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%% Requires biblatex %%%%%%%%%%%%%%%%%%%%
\documentclass[letterpaper]{article}
\usepackage[natbib, style=authoryear]{biblatex}
\pagestyle{empty}
\textwidth = 6.5in
\voffset = -105pt
\hoffset = -120pt
% \renewcommand{\refname}{}
% The following command is provided for LaTeX2RTF compatibility with amslatex.
\newif\iflatextortf
\iflatextortf
\providecommand{\bysame}{\_\_\_\_\_}
\fi
\bibliography{<<File>>}
\begin{document}
\nocite{<<CiteKeys>>}
{\printbibliography[maxnames=99]}
\end{document}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
> ------------------------------------------------------------------------------
> 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
>
------------------------------------------------------------------------------
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