lunes, 10 de febrero de 2014

Errores con TeXnicCenter

En esta entrada pondré algunos errores que me han salido con TeXnicCenter. Quizás alguno te haya pasado a ti.

1) Errores con símbolos no anglosajones, el paquete {inputenc}.

El paquete {inputenc} se usa para poder escribir símbolos no anglosajones (á, ü, ñ, ¡! ¿?...) directamente, sin necesidad de usar ningún código especial. Para hacer esto, hay varios tipos de codificación (latin1, utf8, cp1252, etc...). Y dependiendo del editor de LaTeX que usemos, su versión, el sistema operativo, etc., deberíamos usar una opción u otra.

Por ejemplo, si escribimos un fichero tan sencillo como este, puede que nos de error:

\usepackage[latin1]{inputenc}

\begin{document}

¿Qué tal?

\end{document}
  
Lo malo es que la ayuda que nos da TeXnicCenter es muy consufa:

! Missing $ inserted.

O puede que compile sin errores, pero el resultado se vea mal.


Si te da error con [latin1], quizás te funcione correctametne con [utf8].

\usepackage[utf8]{inputenc}




2) Rizando el rizo, el problema de los tipos de codificación del punto anterior, también puede ocurrir con las tabulaciones. Si tienes un mensaje de error como el siguiente, puede que te esté pasando eso mismo.

Unicode char \u8:â€% not set up for use with LaTeX

Una tabulación no es algo estándar. Dependiendo del programa usado, una tabulación puede ser un espacio, tres espacios, cuatro... Y aquí viene el problema. Puede que copies una linea de texto de un programa (con una tabulación) y la pegues en LaTeX. Si LaTeX está usando un tipo de codificación distinta para las tabulaciones, no entienda qué es eso. Y te aparezca ese error.

También puede pasar algo parecido, si copias un texto con unas comillas, unas llaves, unos corchetes, el símbolo de grado (º), y muchos otros. El mensaje de error puede ser parecido al siguiente:

Keyboard character used is undefined: â€æ

A pesar de ser difícil de detectar, es fácil de solucionar. En ambos casos, basta con que borres la tabulación, las comillas o el símbolo externo, y lo vuelvas a escribir desde LaTeX. (Para el símbolito de grado, usa $^{\circ}$.)



3) ¿Te ha pasado alguna vez algunos de los siguientes errores?
  • Que se abra Adobe, pero no el pdf.
  • Que salga una ventana de error con el texto:
    "Cannot execute the command."
  • Que salga una ventana de error con el texto:
    "[DocOpen("%bm.pdf")][FileOpen("%bm.pdf")]"
Parece ser que este error se debe a la versión de Adobe y su configuración en TeXnicCenter. Para editar esta configuración, ve a "Build / Define Output Profiles" (Alt+F7), y en la ventana emergente, a la izquierda (en Profiles), selecciona "LaTeX => PS => PDF".

(Ya que estamos aquí, en la solapa "LaTeX", puedes sustituir "%bm", por "%tm". Que creo que soluciona un problema distinto, relacionado con el índice de palabras.)

En la solapa "Viewer", en Server, hay que poner el nombre de la versión de Adobe, de la siguiente forma:
"acroview" + {A o R} + {número de versión}. 
"A" si estás usando Adobe Acrobat.
"R" si estás usando Adobe Acrobat Reader.
Por ejemplo:
  • Si tienes "Adobe Acrobat X", hay que poner "acroviewA10".
  • Si tienes "Adobe Reader XI", hay que poner"acroviewR11".
  • Si tienes "Adobe Acrobat Reader DC", pon "acroviewR15".
A continuación, te muestro la configuración que yo tengo. Pero esto es algo que dependerá de cada caso. No hay una solución universal. (En la versión antigua que tenía, me funcionaba sencillamente con Server="acroview".)

En la instalación de Windows 7, la configuración que tengo es:

 

Mientras que en Windows 8, la configuración que tengo es:

 
 
 

Si te sigue sin funcionar, quizás podrías probar con algún otro programa para visualizar pdf, en vez de Adobe. Por ejemplo, Sumatra pdf (click aquí).



4) Recuerda que el formato de las figuras que usemos, depende de la forma de compilar. Si compilamos como "LaTeX-> PDF", nuestras figuras pueden ser .jpg, .npg, etc. Mientras que si compilamos como "LaTeX-> PS -> PDF", nuestras figuras deben de ser .eps.
Si, por ejemplo, compilamos "LaTeX-> PDF" pero nuestra figura está en .eps, LaTeX no encontrará la figura, y nos dará el siguiente error: "LaTeX Error: File `...' not found."



5) Seguramente ya lo sepas, pero no está de más repetirlo. Muchas veces, un error se soluciona compilando una segunda o tercera vez. Y también hay veces que un error se soluciona si borras todos los archivos auxiliares que crea TeXnicCenter, y vuelves a compilar de nuevo.

22 comentarios:

Claudio dijo...

te agradezco por tu aporte

Luis dijo...

Gracias. ^^

Jorge ZM dijo...

Hola.

Al utilizar el paquete con la codificación UTF8[inputenc] el siguiente código, el TexnicCenter (v2.02) me genera una serie de errores que no logro comprender.
El .tex:
% Tipo de documento
\documentclass[12pt,a4paper,twoside]{book}

\usepackage[utf8]{inputenc}
%\usepackage[latin1]{inputenc}

% LaTeX -> el texto esta en español
\usepackage[spanish]{babel}

\usepackage{fancyhdr}

% encabezados
%[] -> paginas pares
%{} -> paginas impares
\lhead[\thepage]{CAPÍTULO \thechapter. \rightmark}
\chead[]{}
\rhead[CAPÍTULO \thechapter. \leftmark]{\thepage}
\renewcommand{\headrulewidth}{0.5pt}

% pie de pagina
\lfoot[Mi nombre]{}
\cfoot[]{}
\rfoot[\today]{}
\renewcommand{\footrulewidth}{0.5pt}

% primera pagina de un capitulo
\fancypagestyle{plain}{
\fancyhead[L]{CAPÍTULO \thechapter:}
\fancyhead[C]{}
\fancyhead[R]{\thepage}
\fancyfoot[L]{}
\fancyfoot[C]{}
\fancyfoot[R]{}
\renewcommand{\headrulewidth}{0.5pt}
\renewcommand{\footrulewidth}{0pt}
}

\pagestyle{fancy}

%%%%%%%%%%%%%%%%%%
% BEGIN DOCUMENT %
%%%%%%%%%%%%%%%%%%

\begin{document}

\lhead[\thepage]{CAPÍTULO \thechapter. \rightmark}
\rhead[CAPÍTULO \thechapter. \leftmark]{\thepage}

\chapter{Introducción}\label{cap.intro}
\markboth{INTRODUCCIÓN}{INTRODUCCIÓN}

Bla bla bla...

\section{Estado del Arte}

\lhead[\thepage]{\thesection. Estado del Arte}

Bla bla bla...

\section{Objetivos de la Tesis}
\lhead[\thepage]{\thesection. Objetivos de la Tesis}

Bla bla bla...Bla bla bla...Bla bla bla...Bla bla bla...Bla bla bla...Bla bla bla...Bla bla bla...Bla bla bla...Bla bla bla...Bla bla bla...

\chapter{Nudo}\label{cap.nudo}
\markboth{NUDO}{NUDO}

Bla bla bla...

\section{Situación Mundial}
\lhead[\thepage]{\thesection. Situación Mundial}

Bla bla bla...

\end{document}

Una parte con los errores del .log:
Cap\'{\i }tulo 1.
! Argument of \UTFviii@four@octets has an extra }.

\par
l.49 \chapter{Introducción}
\label{cap.intro}
I've run across a `}' that doesn't seem to match anything.
For example, `\def\a#1{...}' and `\a}' would produce
this error. If you simply proceed now, the `\par' that
I've just inserted will cause me to report a runaway
argument that might be the root of the problem. But if
your `}' was spurious, just type `2' and it will go away.

Runaway argument?
! Paragraph ended before \UTFviii@four@octets was complete.

\par

He seguido las instrucciones al pie de la letra de una entrada en este mismo blog, para usar el paquete fancyhdr, y parece ser que junto con el UTF8[inputenc] estoy haciendo algo mal.

Muchas gracias por la atención.
Un saludo.

Luis dijo...

Hola Jorge,

a mí me funciona sin problemas lo que has puesto. Como digo en esta entrada, prueba con latin1 o utf8, a ver cuál te funciona a ti.

Hasta luego

alvaro mamani machaca dijo...

Una consulta cuando realizo modificaciones en los comandos del latex o modifico el texto, esto no se no se aprecia al generar el pdf, me podrias guiar para solucionar este problema, gracias.

Luis dijo...

Supongo que no estés cerrando el pdf. Ciérralo cada vez que hagas cambios y compiles.

Mar dijo...

Hola Luis,

Antes que nada, muchas gracias por este blog tan instructivo. Mi problema es exactamente el que pusiste son el número 2), donde me suceden las tres cosas: Se abre el Adobe Reader pero no el PDF, aparece la ventana con "Cannot execute the command." y sale el error "[DocOpen("%bm.pdf")][FileOpen("%bm.pdf")]".

El tema es que ya probé poner "%tm" en los dos campos que marcaste, pero sigue ocurriendo lo mismo. Los valores que tenía por defecto en esas líneas son:

Command line arguments to pass to BibTex: "%tm"

Command line arguments to pass to Make Index: "%tm.idx" -t "%tm.ilg" -o "%tm.ind"

Cuando voy a la carpeta del proyecto veo que creó el archivo .ps, pero no el .pdf, por lo que puedo visualizar el resultado con GSview pero no con Adobe Reader.

Una cosa que noté en los pasos de instalación distinta a la que describiste es que cuando hay que seleccionar el viewer, a mí me apareció que mi Tex-distribution no soportaba PDF, por lo que en la ventana para elegir el viewer decía "Enter the full path of the PS-viewer"

De todas formas puse Adobe Reader pensando que tal vez podía leer PS, pero no es así.

Yo instalé Basic MiKTeX 2.9.5105 y no entiendo por qué no permite generar archivos pdf, ¿alguna sugerencia?

Muchas gracias!

Luis dijo...

Hola Mar, gracias. :-)

A mí también me dio muchos quebraderos de cabeza este error. Mira entonces a ver si te funciona poniendo:

Server = acroviewR11
Topic = control

(Voy a editar la entrada con esto.)

O quizás, en vez de Adobe, podrías usar "Sumatra pdf", que en internet he leído que está muy bien para trabajar con LaTeX.

Ya me dirás si te funciona o si encuentras otra solución.

Hasta luego

Mar dijo...

Hola Luis,

Antes que nada, ¡¡FUNCIONÓ!! Ya tengo el PDF en la carpeta del proyecto.

Lo que me llama la atención es que yo tenía esos campos así y después de la primera modificación que sugeriste y no anduvo probé cambiar también esos. Es decir, ya había probado con esta configuración y no había tenido resultado, ¡pero ahora sí!

Ya ayer cuando estuve haciendo algunas pruebas para ir aprendiendo a usar el programa me encontré con que cosas que no funcionaban al principio, después de cambiarlas, compilar un par de veces y volverlas a cambiar sí salían bien. Me llamó la atención pero en fin, será cuestión de ir tocando y compilar varias veces aunque no termine de entender por qué sucede.

Te agradezco muchísimo la ayuda y seguiré explorando el blog para aprender más. Saludos!

Luis dijo...

Me alegro, Mar.
Jejeje, los grandes misterios de la informática. :D

Abraham Cuevas Otero dijo...

Hola Mar! Podrías especificar cual fue la opción que te funcionó? Acabado de instalar todos los paquetes, pero al ejecutar tampoco me permite visualizar el pdf.

abdias martinez dijo...

hola abraham!!!

tambien me salia el mismo error, pero ya quedo solo configura bien el build, fijate bien de cada guion en la ventanilla de Latex lo puse asi (--src -interaction=nonstopmode "%wm") en BibTeX y Makelndex tiene que ir ("%tm") esto es en la ventana de LaTex.

En Viewer verifica bien la direccion del adobe la mia quedo asi(C:\Program Files (x86)\Adobe\Reader 11.0\Reader\AcroRd32.exe), en View project's output seleccione (DDE command),en "Command:" le borre el mensaje de error que arroja y maneje Server: acroview Topic: System.
En Forward search seleccione Command line argument y dentro del Command: puse ("%bm.pdf").
en la ultima parte solo seleccione (Do noy close)


Espero te sirva

Luis dijo...

Gracias por compartirlo, Abdias. :-)

Santiago Ramírez Iturbe dijo...

Hola Luis,

También me sale el mismo problema que comentan debido al Acrobat. Yo tengo la versión Acrobat Reader DC, no sé si es la misma que la 11 o no. Ya le modifiqué como han comentado por aquí y aún marca el error. Descargué Sumatra como sugeriste y redirigí la ruta en Viewer a la aplicación Sumatra, pero sigue ocurriendo lo mismo. ¿Alguna sugerencia?
Gracias.
Santiago.

Luis dijo...

Hola Santiago,

vaya, pues ya no se me ocurre nada más. Todas las sugerencias que tenía son las que puse aquí. :-S

Pero si encuentras la solución, dímela. :-)

Hasta luego

Idaho dijo...

El problema es el viewer en la configuración de la salida.

Las personas que tengan problemas con los productos de Adobe (ya sea el Reader o el Acrobat) pueden intentar lo siguiente:

1) Accedan a la configuración del perfil de salida.
Build -> Define Output Profiles...

2) En Profiles (panel izquierdo) seleccionen el perfil a editar.

3) En la ficha Viewer reemplacen todas las entradas "acroview" según el siguiente criterio:

"acroview{A|R}{Version Superior)"


A : si el producto es Adobe Acrobat
R : si el producto es Adobe Reader
Versión Superior : versión del producto (dos dígitos).

Ejemplos:

Si utilizo Adobe Acrobat X, en "Server" debería colocar "acroviewA10"
Si utilizo Adobe Reader XI, en "Server" debería colocar "acroviewR11"
Si utilizo Adobe Reader DC, en "Server" debería colocar "acroviewR15"

Luis dijo...

Idaho, genial. Mil gracias. Era eso exactamente lo que necesitaba.

Becky dijo...

Hola, gracias por tu blog. Quiero hacer un comentario de fallo al compilar que tuve. Al compilar un archivo que tenía una imagen, el fallo me marcaba:
"LaTeX Error: File `...' not found"
Se solucionó al mover de lugar la carpeta del archivo (en esa misma carpeta estaba la imagen que quería colocar). Pienso que el fallo que tenía era una larga dirección del archivo (carpeta tras carpeta tras carpeta). Espero que a alguien le sirva mi experiencia. Saludos

Luis dijo...

Genial, gracias por compartirlo Becky :)

Martín Lyon dijo...

Muy buenas!

Estoy escribiendo mi tesis de grado. Comencé a escribirla en sharelatex (online) y me compilaba perfectamente, pero creo que tiene un máximo de líneas de código. Hasta la línea 500 me no tenía problema y luego me dejaba de compilar.
En fin, me bajé el Texstudio y al copiar y pegar el código me saltaron una infinidad de errores. Estoy trancado con el error \endcsname y creo que es por el tema de los tildes en español, pero no logro solucionarlo. Es similar al que expresaste en el punto 1, lo sé, pero no estoy teniendo resultado!

Este es mi header:

\documentclass[a4paper,openright,12pt]{report}
\usepackage[spanish]{babel} % espanol
\usepackage[utf8]{inputenc} % acentos sin codigo
\usepackage{graphicx} % graficos
\usepackage{fancyhdr}
\usepackage{emptypage}

Esta sería la parte del código:

\chapter{Métodos de Resolución}\label{cap.Métodos de Resolución}
French (1981) no solamente describe cómo plantear los problemas sino que también brinda distintos métodos para la resolución, muchas veces mencionando a otros autores que trabajaron con diferentes formas de hallar óptimos de programas de trabajo.


Este es el/los errores que me devuelve:

! Missing \endcsname inserted.

\unhbox
l.40 ...abel{cap.Métodos de Resolución}{{3}{14}}

The control sequence marked should
not appear between \csname and \endcsname.


LaTeX Warning: Label `cap.M\IeC {\'e}todos de Resoluci\IeC {\'o}n' multiply def
ined.

! Missing \endcsname inserted.

\unhbox
l.40 ...abel{cap.Métodos de Resolución}{{3}{14}}

The control sequence marked should
not appear between \csname and \endcsname.


! LaTeX Error: Missing \begin{document}.

See the LaTeX manual or LaTeX Companion for explanation.
Type H for immediate help.
...

l.40 ...abel{cap.Métodos de Resolución}{{3}{14}}

You're in trouble here. Try typing to proceed.
If that doesn't work, type X to quit.

! Missing number, treated as zero.

\accent@spacefactor
l.40 ...abel{cap.Métodos de Resolución}{{3}{14}}

A number should have been here; I inserted `0'.
(If you can't figure out why I needed to see a number,
look up `weird error' in the index to The TeXbook.)

! Bad space factor (0).

\accent@spacefactor
l.40 ...abel{cap.Métodos de Resolución}{{3}{14}}

I allow only values in the range 1..32767 here.

! Extra \endcsname.
\@namedef ...xpandafter \def \csname #1\endcsname

l.40 ...abel{cap.Métodos de Resolución}{{3}{14}}

I'm ignoring this, since I wasn't doing a \csname.

! Extra }, or forgotten \endgroup.
\@newl@bel ...ined}}\global \@namedef {#1@#2}{#3}}

l.40 ...abel{cap.Métodos de Resolución}{{3}{14}}

I've deleted a group-closing symbol because it seems to be
spurious, as in `$x}$'. But perhaps the } is legitimate and
you forgot something else, as in `\hbox{$x}'. In such cases
the way to recover is to insert both the forgotten and the
deleted material, e.g., by typing `I$}'.

------------------------------------


agradezco desde ya cualquier ayuda!
Saludos!

Luis dijo...

Hola Martín,
a mí me gusta más TeXnicCenter.

Hay veces que cuando copiamos en un programa, palabras con acentos, tabulaciones, etc. y las pegamos en un programa distinto, no funciona bien, porque cada programa está usando una forma distinta para codificar estos símbolos.

De todos modos, para encontrar el porqué de un error, yo iría comentando partes de tu documento y compilando, hasta descubrir cuál es la línea que falla.
Hasta luego

Renato Zamora Jofre dijo...

Estimado,

Muchas gracias, un gran aporte.