[OS X TeX] Placing eps figures
Claus Gerhardt
gerhardt at math.uni-heidelberg.de
Mon Jun 5 23:42:15 CEST 2006
Goerge,
On Jun 5, 2006, at 22:19, George Gratzer wrote:
> Claus,
>
> Still not perfect.
>
> 1. It asks for the paper size -- annoying. How can I change it to
> know that I want "letter"?
Change the default answer "a4" to "letter" in the script.
>
> 2. Changed the name of the application to "Adobe Illustrator CS",
> but it would not open it; after a long delay it gives me the list
> of all applications to choose from.
Pick Illustrator in the dialog it will only happen once. Apparently
your name is not correct.
>
> 3. Then
>
> AppleScriptError
>
> AFPL GhostScript 8.51: Unrecoverable error, exit code 1
I guess you have a master/slave combination. There are two solutions:
1. Have the pdf window in front , when the script is invoked (either
by a key combination or install the macros button in the pdf toolbar
(see customize toolbars in the windows menu)).
2. Have the root file in front, when invoking the script.
Claus
>
> GG
>
> On Jun 5, 2006, at 2:38 PM, Claus Gerhardt wrote:
>
>> George,
>>
>> Use the modified script as a macro, which has the subroutine
>> included.
>>
>> Beware that you need in addition the shell script pdfselectc
>> (downloadable from my tex page) which should be in
>> /Users/gratzer/Library/TeXShop/bin/pdfselectc
>>
>> If you can't get it, I shall send it to you as an executable file
>> separately.
>>
>> The Applescript will probably not run in TS 2.10beta because of
>> some bug in the beta version.
>>
>> Claus
>>
>>
>> --AppleScript
>> -- Apply only to an already saved file
>> -- Claus Gerhardt, June 2006
>> (*The script extracts a pdf page, then transforms it to a ps
>> file which will be opened in Illustrator.
>>
>> Important: If the name Preview in the last command is still
>> present, then it has to be replaced by the name of your
>> Illustrator application.
>>
>> Run the script when either the tex file or the pdf file is front
>> most in TeXShop.
>> *)
>>
>>
>> -- In the first dialog enter the papersize (a4, letter or any
>> other standard size)
>> -- In the following dialog enter your selection of pages like
>> -- 3:4,6,8:12 This would be the selection for one output file
>> -- It would contain the pages 3-4, 6, and 8-12
>>
>> tell application "TeXShop"
>> get path of document of window 1
>> set Filename to result
>> end tell
>>
>> set {baseName, texName, pdfname, namePath, dirName,
>> dirNameunquoted, logName, logPath, rtfName} to setnamets(Filename)
>>
>>
>>
>> activate
>> set dialogPaper to "Which paper size do you want: a4, a5, a3, letter"
>> activate
>> set input to the text returned of (display dialog dialogPaper
>> default answer "a4" buttons {"Cancel", "Next"} default button "Next")
>>
>> set dialogSelection to "Your selection for file # 1. The file
>> will be saved as " & baseName & "-1.pdf."
>> set i to 1 as number
>> activate
>> set input to input & " " & the text returned of (display dialog
>> dialogSelection default answer "" buttons {"Cancel", "Next"}
>> default button "Next")
>>
>>
>> set input to input & " " & baseName
>>
>> set shellScript to "cd " & dirName & ";"
>> set shellScript to shellScript & "~/Library/TeXShop/bin/
>> pdfselectc " & input
>> do shell script shellScript
>>
>> set pdfname to baseName & "-1.pdf"
>> set shellScript to "cd " & dirName & ";"
>> set shellScript to shellScript & "/usr/local/bin/gs -
>> sDEVICE=pswrite -dNOCACHE -sOutputFile=" & baseName & "-1.ps" & " -
>> q -dbatch -dNOPAUSE " & pdfname & " -c quit"
>> do shell script shellScript
>> set PSName to baseName & "-1.ps"
>> set PSName to dirNameunquoted & "/" & PSName
>> set theFile to alias (POSIX file PSName)
>>
>>
>> tell application "Adobe Illustrator CS"
>> activate
>> open theFile
>> end tell
>> on setnamets(x)
>> set n to (number of characters of contents of x)
>> set fileNamequoted to quoted form of x
>> set windowName to do shell script "basename " & fileNamequoted
>> set m to (number of characters of contents of windowName)
>> set dirName to quoted form of (characters 1 thru (n - m - 1) of x
>> as string)
>> set dirNameunquoted to (characters 1 thru (n - m - 1) of x as
>> string)
>> set theText to contents of windowName as string
>>
>> set n to (number of characters of contents of theText)
>> set i to n as number
>>
>> repeat while i > 0
>> if character i of theText is equal to "." then
>> set m to i
>> exit repeat
>> else
>> set i to (i - 1)
>> end if
>> end repeat
>>
>> set baseName to (characters 1 thru (m - 1) of theText as string)
>> set texName to baseName & ".tex"
>> set namePath to dirNameunquoted & "/" & baseName as string
>> set pdfname to namePath & ".pdf" as string
>> set rtfName to namePath & ".rtf" as string
>> set logPath to namePath & ".log" as string
>> set logName to baseName & ".log" as string
>>
>> try
>> tell application "TeXShop"
>> save document texName
>> end tell
>> end try
>> return {baseName, texName, pdfname, namePath, dirName,
>> dirNameunquoted, logName, logPath, rtfName} as list
>> end setnamets
>> ------------------------- Info --------------------------
>> Mac-TeX Website: http://www.esm.psu.edu/mac-tex/
>> & FAQ: http://latex.yauh.de/faq/
>> TeX FAQ: http://www.tex.ac.uk/faq
>> List Archive: http://tug.org/pipermail/macostex-archives/
>>
>
> ------------------------- Info --------------------------
> Mac-TeX Website: http://www.esm.psu.edu/mac-tex/
> & FAQ: http://latex.yauh.de/faq/
> TeX FAQ: http://www.tex.ac.uk/faq
> List Archive: http://tug.org/pipermail/macostex-archives/
>
------------------------- Info --------------------------
Mac-TeX Website: http://www.esm.psu.edu/mac-tex/
& FAQ: http://latex.yauh.de/faq/
TeX FAQ: http://www.tex.ac.uk/faq
List Archive: http://tug.org/pipermail/macostex-archives/
More information about the macostex-archives
mailing list