[OS X TeX] Re: gnu fmt, or equivalent, for TeX?
Ramón Figueroa-Centeno
ramonf at hawaii.edu
Thu Apr 1 15:36:12 EDT 2010
Aloha,
I tried using the one line command, via an applescript, to reformat LaTeX
from TeXShop with AUCTeX as follows:
--Applescript direct
-- Script to call Emacs AUCTeX to reformat LaTeX
-- Ramon Figueroa-Centeno (April 1, 2010)
property UNIXfilterPrefix : "emacs -batch -Q -eval '(load \"auctex.el\" nil
t t)' "
property UNIXfilterSuffix : " -eval '(progn (LaTeX-fill-buffer nil)
(save-buffer))'"
tell application "TeXShop"
set the front_document to the front document
set the_selection to the content of the selection of the front_document
-- the Applescript command "do shell script" chokes if given a large amount
of data
-- the workaround is to dump the data into a temporary file
if the_selection is not "" then
tell me
set texpath to do shell script "mktemp /tmp/XXXXXXXX"
do shell script "mv " & texpath & " " & texpath & ".tex"
set texpath to texpath & ".tex"
set TMP to POSIX file texpath
open for access TMP with write permission
write the_selection to TMP
close access TMP
end tell
-- Convert the line endings to Unix ones, as is expected by most command
line programs
-- (we use flip which is part of the standard TeXShop distribution)
tell me to do shell script "~/Library/TeXShop/bin/flip -u " & texpath
set command to UNIXfilterPrefix & texpath & UNIXfilterSuffix
tell me
do shell script command
set filtered to do shell script "cat " & texpath
end tell
set the content of the selection of the front_document to filtered
try -- to delete the temporary file
tell me to do shell script "rm -f " & POSIX path of TMP
end try
end if
end tell
When I select the whole (minus some comments) document in the TeXShop front
window then it works. The only quirk I noticed is that it mangles things
like:
%&pdflatex
% !TEX encoding = UTF-8 Unicode
% !TEX TS-program = pdflatexmk
by making them one comment, but that is easily solved by not selecting those
lines.
However, when I select a portion AUCTeX chokes and I get errors like:
Applying style hooks...
Applying style hooks... done
Sorting environment...
Removing duplicates...
Removing duplicates... done
Applying style hooks...
Applying style hooks... done
Formatting buffer 6qkUnoC9.tex ... 0%
Formatting buffer 6qkUnoC9.tex ... 3%
Where "6qkUnoC9.tex" is the random name given to the file where we dumped
the selection.
By the way Emacs comes with OS X, but one needs to install AUCTeX for this
to work:
1. Download it from
<http://www.gnu.org/software/auctex/download-for-macosx.html>.
2. Decompress it and go to the directory you created in the Terminal.
3. Configure it by typing: ./configure --without-texmf-dir --disable-preview
(this install a minimal version, which is all I need for because otherwise I
use AUCTeX from Aquamacs).
4. Compile: make
5. Install: sudo make install
Hopefully this is enough for one of you to be able to figure what is wrong.
Thanks,
Ramón
--
View this message in context: http://n2.nabble.com/gnu-fmt-or-equivalent-for-TeX-tp4832589p4839203.html
Sent from the MacOSX-TeX mailing list archive at Nabble.com.
More information about the MacOSX-TeX
mailing list