[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