[OS X TeX] Placing eps figures
Claus Gerhardt
gerhardt at math.uni-heidelberg.de
Mon Jun 5 21:38:22 CEST 2006
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/
More information about the macostex-archives
mailing list