Bueno respecto a la instlacion de auctex en emacs sigo sin solución.
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes MenúCitar
Intalacion de LaTeX en Windows
------------------------------
La instalación básica involucra solo el paso 1, pero para tener un sistema completo de producción es conveniente completar los pasos opcionales 2, 3, 4. Una explicación muy clara se encuentra en: http://www.ssc.wisc.edu/~dvanness/howto.htm, aunque ciertos aspectos pueden haber cambiado o no ser necesarios dado que esta explicación se refiere a la instalación en Windows 98/NT de versiones previas de MikTeX (LaTeX para Windows) que no tenían instaladores tan amigables como las versiones actuales. El pasos 5 (instalación de corrector ortográfico) también es opcional.
1. Descargar el instalador de la página web www.miktex.org.
http://miktex.org/2.7/Setup.aspx (o última versión)
http://sourceforge.net/projects/miktex/
2. Instale el procesador de PostScript Ghostscript y GSView (GhostView):
http://pages.cs.wisc.edu/~ghost/gsview/index.htm
3. Instalación de un editor de texto para desarrollo integrado.
Uno de los más configurables, flexibles y ampliamente utilizados por personas competentes en el uso de computadores es el GNU Emacs. La versión para Windows se puede encuentrar en:
ftp://ftp.gnu.org/gnu/emacs/windows/
Existe una versión un poco más gráfica llamada XEmacs, pero es más conveniente aprender a usar la versión sin botones ni componentes gráficos porque es más rápida.
Instalación de Emacs:
- Descargue Emacs versión 21.3-22.2:
- Copie la carpeta emacs-xx.x-bin-i386 a C:\emacs
- Ejecute C:\emacs\bin\addpm.exe
4. Si instaló Emacs, instale AUC-TeX, que es un componente para añadir capacidades avanzadas de edición de documentos LaTeX en Emacs. AUC-TeX puede obtenerse en:
http://www.gnu.org/software/auctex/download-for-windows.html
Instalación AucTex:
- Copie los contenidos de auctex-xx.xx-xxx.x-msw.zip a la carpeta C:\emacs o
donde haya instalado Emacs verificando que el contenido de la carpeta "site-lisp"
de AucTeX sea copiado a la carpeta "site-lisp" de Emacs.
- Por defecto AucTeX (11.85-e22.1-msw) viene configurado para invocar al
visor de archivos "xdvi" (original de sistemas tipo Unix). Para poder
activar visualizar archivos DVI desde Emacs en Windows, se debe cambiar la
configuración de Emacs para que invoque al programa Yap de MikTeX en vez de xdvi.
Para esto existen las siguientes alternativas:
Metodo 1: Modificación a través del Menú de Configuración
En el menu de Emacs LaTeX/Customize AUCTeX/Browse Options/TeX Command/Tex Command List/
En la sección "View":
Command: Reemplazar "%V" por "yap %d"
How: Reemplazar "TeX-run-discard" por "TeX-run-command"
Prompt: Reemplazar "on (non-nil)" por "off (nil)"
Similarmente para generar archivos Poscript, en la sección "Print":
Command: Reemplazar "%p" por "dvips %d -o %f"
How: Debe indicar "TeX-run-command"
Prompt: Reemplazar "on (non-nil)" por "off (nil)"
Las siguientes modificaciones recomendadas en http://www.emacswiki.org/cgi-bin/wiki/AUCTeX
NO serían necesarias:
"Usando M-x (Esc-x) modifique la variable "TeX-output-view-style" reemplazando todas las
veces que aparece "xdvi" por "yap" para archivos con extensión dvi."
Note que la opción "TeX-output-view-style" también puede accederse a través del menu
de Emacs LaTeX/Customize AUCTeX/Browse Options/TeX Command/TeX Output View Style.
Método 2: Modificación manual del archivo de configuración .emacs
*** Use este método con cuidado de no eliminar o alterar otras partes de los ***
*** archivos de configuración, de lo contrario Emacs puede funcionar incorrectamente ***
Agregue a su archivo de configuración .emacs las siguientes líneas:
(custom-set-variables
;; custom-set-variables was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
'(TeX-command-list (quote (
("TeX" "%(PDF)%(tex) %`%S%(PDFout)%(mode)%' %t" TeX-run-TeX nil (plain-tex-mode texinfo-mode ams-tex-mode) :help "Run plain TeX")
("LaTeX" "%`%l%(mode)%' %t" TeX-run-TeX nil (latex-mode doctex-mode) :help "Run LaTeX")
("Makeinfo" "makeinfo %t" TeX-run-compile nil (texinfo-mode) :help "Run Makeinfo with Info output")
("Makeinfo HTML" "makeinfo --html %t" TeX-run-compile nil (texinfo-mode) :help "Run Makeinfo with HTML output")
("AmSTeX" "%(PDF)amstex %`%S%(PDFout)%(mode)%' %t" TeX-run-TeX nil (ams-tex-mode) :help "Run AMSTeX")
("ConTeXt" "texexec --once --texutil %(execopts)%t" TeX-run-TeX nil (context-mode) :help "Run ConTeXt once")
("ConTeXt Full" "texexec %(execopts)%t" TeX-run-TeX nil (context-mode) :help "Run ConTeXt until completion")
("BibTeX" "bibtex %s" TeX-run-BibTeX nil t :help "Run BibTeX")
("View" "yap %d" TeX-run-command nil t :help "Run Viewer")
("Print" "dvips %d -o %f" TeX-run-command nil t :help "Print the file")
("Queue" "%q" TeX-run-background nil t :help "View the printer queue" :visible TeX-queue-command)
("File" "%(o?)dvips %d -o %f " TeX-run-command t t :help "Generate PostScript file")
("Index" "makeindex %s" TeX-run-command nil t :help "Create index file")
("Check" "lacheck %s" TeX-run-compile nil (latex-mode) :help "Check LaTeX file for correctness")
("Spell" "(TeX-ispell-document \"\")" TeX-run-function nil t :help "Spell-check the document")
("Clean" "TeX-clean" TeX-run-function nil t :help "Delete generated intermediate files")
("Clean All" "(TeX-clean t)" TeX-run-function nil t :help "Delete generated intermediate and output files")
("Other" "" TeX-run-command t t :help "Run an arbitrary command"))))
'(inhibit-startup-screen t))
(custom-set-faces
;; custom-set-faces was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
)
Método 3: Modificación manual de los archivos de configuración .emacs y tex-site.el
*** Use este método con cuidado de no eliminar o alterar otras partes de los ***
*** archivos de configuración, de lo contrario Emacs puede funcionar incorrectamente ***
*** Este método no es recomendado para las versiones Emacs 22 o posterior con ***
*** con AucTeX 11.xx o posterior, aunque también funciona ***
Incluya las siguientes líneas en el archivo .emacs después del punto donde se carga AucTeX:
(custom-set-variables
;; custom-set-variables was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
'(TeX-output-view-style (quote (("^dvi$" ("^landscape$" "^pstricks$\\|^pst-\\|^psfrag$") "%(o?)dvips -t landscape %d -o && gv %f") ("^dvi$" "^pstricks$\\|^pst-\\|^psfrag$" "%(o?)dvips %d -o && gv %f") ("^dvi$" ("^a4\\(?:dutch\\|paper\\|wide\\)\\|sem-a4$" "^landscape$") "%(o?)yap %dS -paper a4r -s 0 %d") ("^dvi$" "^a4\\(?:dutch\\|paper\\|wide\\)\\|sem-a4$" "%(o?)yap %dS -paper a4 %d") ("^dvi$" ("^a5\\(?:comb\\|paper\\)$" "^landscape$") "%(o?)yap %dS -paper a5r -s 0 %d") ("^dvi$" "^a5\\(?:comb\\|paper\\)$" "%(o?)yap %dS -paper a5 %d") ("^dvi$" "^b5paper$" "%(o?)yap %dS -paper b5 %d") ("^dvi$" "^letterpaper$" "%(o?)yap %dS -paper us %d") ("^dvi$" "^legalpaper$" "%(o?)yap %dS -paper legal %d") ("^dvi$" "^executivepaper$" "%(o?)yap %dS -paper 7.25x10.5in %d") ("^dvi$" "." "%(o?)yap %dS %d") ("^pdf$" "." "xpdf -remote %s -raise %o %(outpage)") ("^html?$" "." "netscape %o"))))
'(TeX-view-style (quote (("^a4\\(?:dutch\\|paper\\|wide\\)\\|sem-a4$" "%(o?)yap %dS -paper a4 %d") ("^a5\\(?:comb\\|paper\\)$" "%(o?)yap %dS -paper a5 %d") ("^b5paper$" "%(o?)yap %dS -paper b5 %d") ("^letterpaper$" "%(o?)yap %dS -paper us %d") ("^legalpaper$" "%(o?)yap %dS -paper legal %d") ("^executivepaper$" "%(o?)yap %dS -paper 7.25x10.5in %d") ("^landscape$" "%(o?)yap %dS -paper a4r -s 0 %d") ("." "%(o?)yap %dS %d"))))
Incluya las siguientes líneas en el archivo tex-site.el antes del punto donde empiezan
los auto-loads.el [--- ATENCION: Estas líneas modificaran el menú de Commandos
que se despliega en Emacs para archivos .tex---]
;; The 'TeX-command-list' (pull-down menu at the top of emacs appearing when
;; emacs is in TeX major mode) consists of the options below.
;; Invoking 'C-c C-c' in a TeX major mode will run the "LaTeX" command
;; of the command list. (After compiling, errors can be retrieved by
;; invoking 'C-c `' (Control-c accent-gr\`ave).
;; If no errors occur and if all cross-references are known, a second
;; 'C-c C-c' will run the 'View' command of the list.
(defvar TeX-command-list
(list(list "LaTeX" "latex \\nonstopmode\\input{%t}"
'TeX-run-LaTeX nil t)
(list "View" "yap %d"
'TeX-run-command nil t)
(list "dviPS" "dvips %d -o %f"
'TeX-run-command nil t)
(list "Ghostview" "c:\\GStools\\gsview\\gsview32.exe %f"
'TeX-run-command nil t)
(list "BibTeX" "bibtex %s" 'TeX-run-BibTeX nil nil)
(list "Index" "makeindex %s" 'TeX-run-command nil t)
(list "Check" "lacheck %s" 'TeX-run-compile nil t)
(list "Other" "" 'TeX-run-command t t)))
(setq TeX-default-mode 'LaTeX-mode)
Método 4: Obtenga el archivo .emacs en http://www.ing.puc.cl/~mtorrest/downloads/
que incluye tanto las modificaciones sugeridas en el método 2 para las variables
del grupo "TeX-command-list" como las modificaciones a las variables
"TeX-output-view-style" sugeridas en la primera parte del método 3.
Notar que este enfoque no altera el archivo tex-site.el, por lo tanto debería ser
el más seguro y completo. Sin embargo, si se desea modificar el menú de Emacs
bajo LaTeX, deberán implementarse instrucciones similares a las de la segunda parte
del método 3.
- Copie el archivo .emacs al directorio C:\emacs o donde instaló Emacs.
- Asegurese que las siguientes líneas del archivo .emacs contengan las rutas apropiadas,
sino modifíquelas:
(add-to-list 'load-path "c:/emacs/lisp/auctex/")
(add-to-list 'Info-default-directory-list "c:/emacs/lisp/auctex/doc/")
5. Instale un corrector ortográfico para Emacs como Ispell o Aspell.
Para la instlación de Aspell para Windows siga los pasos indicados abajo o en el link:
[http://aspell.net/man-html/Using-Aspell-with-other-Applications.html]
3.3.1 With Emacs and XEmacs
The easiest way to use Aspell with Emacs or XEmacs is to add this line:
(setq-default ispell-program-name "aspell")
to the end of your .emacs file.
For some reason version 3.0 of ispell.el (the lisp program that (x)emacs uses) wants to reverse the suggestion list. To fix this add this line:
(setq-default ispell-extra-args '("--reverse"))
after the previous line in your .emacs file and it should solve the problem.
Ispell.el, version 3.1 (December 1, 1998) and better, has the list reversing problem fixed. You can find it at http://www.kdstevens.com/~stevens/ispell-page.html.
6. Para hacer que la previsualización de LaTeX funcione bajo Emacs 22.xx o posterior
además de instalar AUCTeX debe agregar las siguientes líneas a su archivo de
de configuración .emacs:
(load "preview-latex.el" nil t t)
(setq preview-image-type 'pnm)
Deberá además tener instalado Ghostview (ver paso 2) y agregar a la variable de entorno
del sistema PATH la ruta de la ubicación del GhostView "gswin32c.exe", típicamente:
C:\gs\gs8.14\bin\
Citar
"GSWIN32C.EXE" "-dOutputFile=(_region_.prv/tmp2896JnV/pr1-1.pbm)" "-q" "-dSAFER" "-dNOPAUSE" "-DNOPLATFONTS" "-dPrinted" "-dTextAlphaBits=4" "-dGraphicsAlphaBits=4" "-sDEVICE=pnmraw" "-r61.3907x61.2726"
GS>{DELAYSAFER{.setsafe}if}stopped pop/.preview-BP currentpagedevice/BeginPage get dup null eq{pop{pop}bind}if def<</BeginPage{currentpagedevice/PageSize get dup 0 get 1 ne exch 1 get 1 ne or{.preview-BP gsave 0.752941 0.752941 0.752941 setrgbcolor clippath fill grestore }{pop}ifelse}bind/PageSize[1 1]>>setpagedevice/preview-do{[count 3 roll save]3 1 roll dup length 0 eq{pop}{setpagedevice}{ifelse .runandhide}stopped{handleerror quit}if aload pop restore}bind def [(_region_.prv/tmp2896JnV/preview.ps)(r)file]aload exch dup 0 setfileposition 58980()/SubFileDecode filter cvx .runandhide aload pop dup dup 59134 setfileposition 371()/SubFileDecode filter cvx<<>>preview-do
Error: /invalidfileaccess in --file--
Operand stack:
--nostringval-- (_region_.prv/tmp2896JnV/preview.ps) (r)
Execution stack:
%interp_exit .runexec2 --nostringval-- --nostringval-- --nostringval-- 2 %stopped_push --nostringval-- --nostringval-- %loop_continue --nostringval-- --nostringval-- false 1 %stopped_push .runexec2 --nostringval-- --nostringval-- --nostringval-- 2 %stopped_push --nostringval--
Dictionary stack:
--dict:1173/1684(ro)(G)-- --dict:0/20(G)-- --dict:79/200(L)--
Current allocation mode is local
Last OS error: No such file or directory
Current file position is 509
#include <stdio.h>
#include <string.h>
int atonum (int numero);
main(int argc, char *argv[])
{
unsigned int a=0;
unsigned int b=0;
unsigned int c=0;
unsigned int d=0;
int cont=0;
int tri=0;
int i=0;
long int ipn;
char *s;
if(argc!=2)
{
printf("Error en la introduccion de la direccion ip\n");
return(0);
}
if (strlen(argv[1])>15) // Me fijo que el string de entrada no posea
//mas de 15 caracteres, el maximo posible 3
//puntos mas 12 numeros 15 caracteres total
{
printf ("no es una ip valida");
return (0);
}
// me fijo que todos los craracteres que componene el string sean validos
//para una direccion ip
for (i=0;i<(strlen(argv[1]));i++)
{
if (atonum(argv[1][i])==-1 )
{
printf("\t el elemento \t %d \t es \t %c ERROR ",i,argv[1][i]);
printf("\n \t este elemento es invalido para una direccion ip \n");
return(0);
}
if (atonum(argv[1][i])!=-1 )
{
printf("\t el elemento \t %d \t es \t %c ok \n ",i,argv[1][i]);
}
}
i=0;
//me fijo que la cantidad de campos sea 4
for (i=0;i<(strlen(argv[1]));i++)
{
if (atonum(argv[1][i])==46 )
{
cont++;
}
if (cont>3 )
{
printf ("\n \n \t Error en el formato de la ip \n \n \t demasiado campos \n");
return (0);
}
}
i=0;
cont=0;
// me fijo que todos los campo no posean mas de 3 numeros
for (i=0;i<(strlen(argv[1]));i++)
{
if (atonum(argv[1][i])!=46)
{
if (cont>=3)
{
printf("error en el formato de la ip uno de los campos esta exedido");
}
cont++;
}
if (atonum(argv[1][i])==46)
{
cont=0;
}
}
sscanf(argv[1],"%u.%u.%u.%u",&a,&b,&c,&d);
printf ("\n\t %u.%u.%u.%u \n",a,b,c,d);
printf ("\n\t en exadecimal %x.%x.%x.%x \n",a,b,c,d);
if (a>256 || b>256 || c>256 || d>256 )
{
printf ("\n \t Error uno de los campos es mayor a 256 \n");
return(0);
}
printf ("\n\t la direccion ip sera pasada a una variable de 32 bits ipn \n");
ipn=(a<<24)+(b<<16)+(c<<8)+d;
printf ("\n\t la direccion ip ahora esta en ipn %x \n",ipn);
}
int atonum (int numero)
{
int n;
if ( (numero-48)>=0 && (numero-48)<=9) {n=numero-48;}
if ( numero==46) {n=46;} // si el caracter es un punto se retorna el mismo valor
if ((numero-48)<0 && (numero-48)>9) {n=-1;}
return (n);
}
int esnum(char numero)
{
if ((numero-48) >= 0 && (numero-48)<=9 ) return 1;
return -1;
}
int esnum(char numero)
{
return numero >= '0' && numero <= '9';
}
#include <stdio.h>
int esnum (char numero);
void main(void)
{
int numero, varaux;
printf("ingrese un numero del 0 al 9 \n \n \t \t");
scanf("%c",&numero);
varaux=esnum(numero);
printf ("La funcion esnum dio %d", varaux);
return (0);
}
int esnum (char numero)
{
if ( (numero-48)>=0 && (numero-48)<=9 )
{return (1);}
else {return(-1);}
}
code
ya que queda mucho mas legible.
#include <stdio.h>
int atonum (int numero);
void main(void)
{
char c;
int numero;
printf("\n \t \t ingrese un numero o caracter \n \n \n \t \t");
scanf("%c",&c);
printf("\n \t \t ingreso el numero o caracter %c que en ASCII es %d \n \n \t \t",c,c);
numero=atonum(c);
if (numero!=-1)
{
printf("ahora el numero %c lo pasamos a entero en la variable numero \n \n \t \t",c);
printf("la varible numero contiene el numero %d \n \n \t \t",numero);
}
if (numero==-1) {printf ("se ingreso un caracter \n \n \t \t");}
return (0);
}
int atonum (int numero)
{
int n;
if ( (numero-48)>=0 && (numero-48)<=9 ) {n=numero-48;}
if ((numero-48)<0 && (numero-48)>9) {n=-1;}
return (n);
}
#include <stdio.h>
int pot (int base, int exp);
void main(void)
{
int p,exp,base;
printf("ingrese la base \n \n \t \t");
scanf("%d",&base);
printf("ingrese el exponenete \n \n \t \t");
scanf("%d",&exp);
p=pot(base,exp);
printf ("el numero %d elevado a la %d es %d \n \n \t \t",base,exp,p);
return (0);
}
int pot (int base, int exp)
{
int p=1;
if (exp==0){p=1;}
while (exp>0)
{
p*=base;
exp=exp-1;
}
printf("\n \n \t \t %d \n \n \n ",p);
return (p);
}
#include <stdio.h>
int pot (int base, int exp);
void main(void)
{
int p,exp,base;
printf("ingrese la base \n \n \t \t");
scanf("%d",&base);
printf("ingrese el exponenete \n \n \t \t");
scanf("%d",&exp);
p=pot(base,exp);
printf ("el numero %d elevado a la %d es %d \n \n \t \t",base,exp,p);
return (0);
}
int pot(int base, int exp)
{
if (exp > 0)
return base * pot(base, exp - 1);
else
return 1;
}
#include <stdio.h>
int esnum (int numero);
void main(void)
{
int numero;
printf("ingrese un numero del 0 al 9 \n \n \t \t");
scanf("%c",&numero);
printf ("La funcion esnum dio %d", esnum(numero));
return (0);
}
int esnum (int numero)
{
int r;
if (0<=(numero-48)<=9)
r=1;
r=-1;
return (r);
}