Archivo de la categoría: Series
PHP: 3 años de retrospectiva
A inicios del año 2009 publiqué una entrada sobre el entorno de desarrollo que utilizaba para programar en PHP. Desde aquel lejano día ha llovido mucho y de lo descrito en el artículo prácticamente no queda nada. Esto me ha llevado a pensar en redactar la segunda parte del artículo comentando cómo ha evolucionado mi entorno pero el tema se me antojaba manido: mi cuerpo me pedía hacer algo más completo y elaborado teniendo en cuenta los grandes cambios acaecidos en estos tres años.
El ecosistema PHP ha estado bastante convulso en los últimos tiempos con la publicación de PHP 5.3, que supone la inclusión de varias novedades y un pequeño punto de ruptura. Pero éste es el pistoletazo de salida para una revolución cuyos primeros visos de cambio aparecen con la creación del primer, y hasta el momento único, estándar de facto de la comunidad PHP.
Pero sin duda, el gran empujón lo supone la segunda versión del framework Symfony. Partiendo desde cero con un diseño arriesgado y diametralmente opuesto al previo ha sabido reinventarse completamente. Incorporación de los últimos patrones, integración de componentes existentes y porte/adaptación de grandes soluciones ya inventadas, aunque fueran en el seno otras comunidades, son los pilares de este framework.
En artículos sobre PHP empiezan a surgir términos como inyección de dependencias/inversión de control, assets, event dispatcher, pruebas, behavior driven development… cosas lejanas o completamente inimaginables en la comunidad PHP cuando escribí el artículo previo. Y no sólo es esta evolución sino la pequeña constelación de proyectos que han surgido alrededor es realmente sorprendente y un impulso notable. Proyectos como Assetic, Behat, Monolog, Twig… portan las mejores ideas y soluciones de otras comunidades.
Grandes conocidos ya se han subido al tren: PhpBB fue el primero que decidió desarrollar PhpBB4 sobre el sistema y la comunidad de Drupal está integrando componentes de Symfony 2 en Drupal8. Aunque aún falta camino para llegar al utópico mundo en el que es posible rehusar el código de todas los grandes proyectos para montar tu sistema a medida, se han dado los primeros pasos en esa dirección.
Por ello, en lugar de un artículo desdiciendo lo que publiqué hace ya casi tres años, he decidido iniciar el 2012 con una nueva serie: Desarrollo de aplicaciones en PHP. La idea es cubrir las mejores prácticas, los puntos no documentados o trucos variados mientras desarrollo un par de aplicaciones sobre el Symfony 2.
Problemas básicos con MiKTeX+TeXnicCenter
Captura de pantalla TeXnicCenter (Imagen: Wikipedia)
La última de ellas, sin ir más lejos a través del reciente formulario de contacto.
Escribiendo la respuesta he sufrido un Déjà vu: sentía que ya había escrito lo mismo antes. Por la importancia y utilidad, y para evitarme esta sensación en el futuro, he decidido añadir una nueva entrega al Tutorial de LaTeX por fascículos.
Empecemos con la pregunta (la idea es la misma con múltiples variantes y redacciones):
Al configurar TeXnicCenter con MiKTeX no me genera la salida (DVI, PDF o ambas).
¿Qué pasa? ¿Está bien configurado? ¿cómo lo resuelvo?
Habitualmente el problema suele ser el código del documento LaTeX más que un error en la configuración.
Mi consejo:
-
Actualizar los paquetes de MiKTeX
Entre los programas instalados por MiKTeX (accesibles desde el menú de inicio) hay un
update(y en las más recientes un segundo “update (admin)“. En algunos casos he detectado problemas al instalar/usar un paquete por incompatibilidad con los paquetes básicos de MiKTeX -
Probar un documento LaTeX básico y simple
El sistema puede que pida instalar algún paquete pero debería generar DVI y PDF sin problemas (es aconsejable probar a generar ambas salidas que son muy usadas).
- Si el paso anterior funciona se trata de un error en el documento que debería aparecer en el registro (en la parte inferior de la ventana de TeXnicCenter).
-
Si no funciona con un documento básico, puede que el perfil esté erróneo. En TeXnicCenter los perfiles están en el menú
Build > Define output profiles. Lo mejor es ejecutar el asistente (BotónWizarden la parte inferior izquierda) y verificar que todas las rutas son correctas. - Si funciona un tipo de salida y no el otro se trata posiblemente de imágenes con el formato erróneo o inclusiones de paquetes adaptados sólo a una plataforma. En el registro de errores debería indicar qué sucede.
Si tras estos pasos no se genera la salida, es necesaria más información para poder analizar el problema (código del documento, errores generados en el registro…).
Sistemas de control de versiones: Git
![]()
Linux Torwalds, autor del kernel de Git (Imagen: Wikipedia)
Git, a diferencia de Subversion tratado hasta ahora en la serie Control de Versiones), es de naturaleza distribuida, esto es, cada copia de trabajo es un repositorio en sí mismo y contiene todo el histórico de modificaciones. A pesar de lo que pueda parecer, crear una nueva copia del repositorio supone apenas unos segundos disponiendo de toda la información necesaria para trabajar sin conexión (en el portátil durante un largo viaje en tren) y sincronizar cambios al disponer de conexión.
Debido a su diferente visión y concepción es necesaria una primera introducción destacando sus características diferenciadoras:
Escribir mejores documentos en LaTeX
Mejorar la calidad de un documento en LaTeX es una tarea sencilla. Basta con disponer de un preámbulo de LaTeX que realice pequeñas configuraciones para obtener un documento con mucha mejor presencia y simplificar la labor de edición.
Esta lista parte de la idea los cuatro pasos para mejores documentos LaTeX de William C. Benton, ampliándola con un listado de paquetes que completan un preámbulo “todoterreno” útil para casi cada ocasión.
Modificar el tipo de letra en LaTeX
La tipografía es el arte de manejar tipos [de letra] (que no fuentes de letra) para su impresión. LaTeX es un sistema de composición tipográfica por lo que se encarga de realizar esa tarea: disponer el contenido para su impresión.
Sin embargo, a diferencia de los sistemas WYSIWYG (What You See Is What You Get, lo que ves es lo que obtienes) en que es una de las primeras cosas que se utiliza, en LaTeX no es intuitivo la modificación del tipo de letra. Quizá porque esa labor de elección queda asignada al diseñador del tipo de documento o por la escasez de fuentes en un inicio.
A pesar de esta aparente carencia, LaTeX dispone de múltiples tipografías con sus variantes. Cualquiera de ellas puede ser modificada de forma no excesivamente complicada proporcionando una flexibilidad y posibilidades elevadísimas.
Para poder utilizar toda la potencia es necesario conocer algunos conceptos utiliza LaTeX en el manejo de tipos de letra.
Imágenes en LaTeX
Uno de los puntos más complicados de LaTeX es el uso de figuras. Es bastante habitual tener problemas para incrustar y colocar estos elementos en el documento aunque la mayoría de ellos se deben al desconocimiento del funcionamiento del sistema. Este funcionamiento se divide en dos partes:
- Inclusión de la figura. En esta parte se indica qué fichero gráfico hay que incluir y la forma de hacerlo.
- Posicionamiento de la figura. El posicionamiento lo hace de forma automática y transparente LaTeX aunque se puede controlar ligeramente su comportamiento.
Para posicionar una figura de forma correcta es necesario conocer estos dos aspectos de LaTeX.
Lee el resto de esta entrada
entradas por RSS