[OS X TeX] TeXShop wish list

Claus Gerhardt gerhardt at math.uni-heidelberg.de
Mon Sep 4 13:31:48 EDT 2006


Paul,

Your Finder suppresses the suffixes. Below is an Applescript that  
takes care of it.

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 namePath 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 "TeXShop"
	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

On Sep 4, 2006, at 17:58, Paul Smyth wrote:

> That's the same version I'm using. I only downloaded it a couple of  
> days ago. I've tried various of my documents but the result is  
> always the same. Thanks anyway.
>
> Paul
>
> On 4 Sep 2006, at 12:50, Claus Gerhardt wrote:
>
>> I assume your using an old beta. The current beta is 2.10beta2.  
>> For me the script works fine.
>>
>> Claus
>>
>>
>> On Sep 4, 2006, at 13:07, Paul Smyth wrote:
>>
>>> Thanks Claus,
>>>
>>> I added this as a Macro and I can run it but I'm getting errors.  
>>> In the current version of TeXShop I get
>>>
>>> TeXShop got an error:
>>> NSReceiverEvaluationScriptError: 4
>>>
>>> Same in the current beta.
>>>
>>> Note: I have not modified the script in any way.
>>>
>>> Paul
>>>
>>> On 4 Sep 2006, at 11:24, Claus Gerhardt wrote:
>>>
>>>> The Applescript below closes the frontmost tex file and removes  
>>>> the corresponding .aux files. You can add any other filename.xxx  
>>>> to be removed by looking at the structure of the script.
>>>>
>>>> Save the script as a Macro to be called by a short key.
>>>>
>>>> Claus
>>>>
>>>> --AppleScript
>>>> -- Apply only to an already saved file
>>>> -- Claus Gerhardt, September 2006
>>>> (*This script provides the filename and its various derivatives  
>>>> of the frontmost (tex) document in TeXShop.*)
>>>>
>>>>
>>>>
>>>> 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)
>>>>
>>>> tell application "TeXShop"
>>>> 	close document texName
>>>> end tell
>>>>
>>>> set shellScript to "cd " & dirName & ";"
>>>> set shellScript to shellScript & "rm -f  " & baseName & ".aux"
>>>> do shell script shellScript
>>>>
>>>> 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
>>>>
>>>> On Sep 4, 2006, at 5:30, Jan Rosinski wrote:
>>>>
>>>>> The following option in TeXShop Preferences would be useful to  
>>>>> me and maybe other people will find it useful as well. I would  
>>>>> like to have, as an option to select,  'Trash Aux Files when  
>>>>> closing a document'. This option, when checked, would reduce  
>>>>> the clutter in my TeX folders automatically and without any  
>>>>> problem since creating new aux files is very quick. If you do  
>>>>> not want it, you can always uncheck it.
>>>>>
>>>>> Jan Rosinski
>>>>> ------------------------- 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/
>>>
>>
>> ------------------------- 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 MacOSX-TeX mailing list