[OS X TeX] TeXShop wish list
Claus Gerhardt
gerhardt at math.uni-heidelberg.de
Mon Sep 4 20:16:04 CEST 2006
Below is the Applescript in its final form that takes care of all
possible settings in the Finder as well as in the file properties
(for hiding the suffix).
Claus
--AppleScript
-- Apply only to an already saved file
-- Claus Gerhardt, September 2006
(*This script closes the frontmost (tex) document in TeXShop and
removes the corresponding auxilary files the suffixes of which are
listed in the list L. Beware of the quotation marks. The list L may
contain suffixes to which no corresponding files exist.*)
set L to {"aux", "flashmode"} as list
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)
set theFile to POSIX file fileName as string
(*
tell application "Finder"
if the file theFile exists then
set theAnswer to "yes"
else
set theAnswer to "no"
end if
end tell
if theAnswer is equal to "yes" then
set texName to baseName
else
set texName to texName
end if
*)
tell application "Finder"
get displayed name of the file theFile
end tell
set texName to result
tell application "TeXShop"
save document texName
close document texName
end tell
repeat with x in L
try
set shellScript to "cd " & dirName & ";"
set shellScript to shellScript & "rm -f " & baseName & "." & x
do shell script shellScript
end try
end repeat
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