View on GitHub

Begin-Latex-in-minutes

馃摐 Brief Intro to LaTeX for beginners that helps you use LaTeX with ease.

English涓枃 路 Espa帽ol 路 Portugu锚sFran莽ais袪褍褋褋泻懈泄Deutsch鏃ユ湰瑾Polski


Empieza con LaTeX en minutos

(Spanish translator鈥檚 acknowledgement: I tried to translate this guide as the original meaning of the author as much as i could. If you think the translation is inappropriate, please feel free to modify it or add missing stuff you think would make this guide better. If you like this guide, please share to more people.)

Aviso: Todo lo descrito abajo es desde mi experiencia en la universidad y despu茅s de leer varios materiales. No soy ni un profesional ni un experto, sino un estudiante que tiene gran pasi贸n por el lenguaje. Cualquiera puede abrir una discusi贸n en la secci贸n de issues, o una solicitud de pull en caso de que algo deba ser modificado o agregado. Si valoras mi trabajo, una donaci贸n ser铆a muy apreciada. 隆Gracias!

Table of Contents

驴Qu茅 es LaTeX?

LaTeX, que es pronunciado 芦Lah-tech禄 o 芦Lay-tech禄 (para rimar con 芦blech禄), es un sistema de preparaci贸n de documentos para tipograf铆a de alta calidad. Es mayormente usado para documentos t茅cnicos o cient铆ficos, mediano o grandes, pero puede ser usado para cualquier tipo de publicaci贸n.

驴Por qu茅 usar LaTeX?

LaTeX no viene sin inconvenientes, pero vale la pena totalmente aprenderlo.

Configurar LaTeX

Necesitar谩s lo siguiente:

  1. Una distribuci贸n de LaTeX. Estouy usando MiKTeX para Windows.
  2. Un editor de LaTeX. Estoy usando TeXMaker para facilitar la edici贸n, sin embargo cualquier editor de texto puede modificar un archivo LaTeX.
  3. Un visor de PDF. (opcional) Cualquier visor de PDF servir谩. Esto es para que puedas ver el resultado.

Adem谩s, necesitas elegir un compilador. El compilador por defecto en la mayor铆a de editores es pdfLaTeX, pero si necesitas soporte (sin agragar m谩s l铆neas de c贸digo) para Unicode o fuentes TTF/OTF desde tu sistema, usa XeLaTeX o LuaLatex.

O puedes elegir simplemente una soluci贸n online como ShareLaTeX.

Por favor mira en Herramientas adicionales para una amplia variedad de opciones.

Primer archivo LaTeX

Hagamos el tradicional Hello World en LaTeX. Si tienes TexMaker instalado, primero crea un nuevo archivo con la extensi贸n .tex. despu茅s escribe el siguiente c贸digo para escribir 鈥淗ello world!鈥 y presiona 鈥淐ompilaci贸n r谩pida鈥. Para otros editores de LaTeX, deber铆a ser f谩cil seguir el mismo procedimiento.

\documentclass[a4paper]{article}

\begin{document}

Hello World !  % Este es tu contenido

\end{document}

As铆 es como deber铆a verse en TexMaker:

Un vistazo m谩s profundo

:eyes: Un vistazo m谩s profundo a tu primer archivo LaTeX muestra que:

:zap: Atenci贸n :zap:

Uso multilenguaje

Algunos lenguajes o idiomas no funcionar谩n de inmediato (por ejemplo, el espa帽ol y sus acentos, o la ). Para usar TeX con otros lenguajes tienes algunas opciones.

:white_check_mark: Primer m茅todo :white_check_mark:

El primer m茅todo es incluir 鈥減aquetes鈥 (aprender谩s esto despu茅s), por que pdfLaTeX est谩 limitado a 256 caracteres y tiene algunos detalles de codificaci贸n. Por ejemplo:

\documentclass[a4paper]{article}

\usepackage[T5]{fontenc}
\usepackage[utf8]{inputenc}

\begin{document}

Xin ch脿o th岷 gi峄沬. This is Hello World in Vietnamese.

\end{document}

Aqu铆 usamos los paquetes usepackage[T5]{fontenc} y usepackage[utf8]{inputenc} (usepackage[T1]{fontenc}) maneja los acentos del espa帽ol correctamente. Esto es sencillo de entender; el paquete importar谩 codificadores de fuentes para poder mostrar el contenido de una manera correcta. Si est谩s usando TexMaker as铆 se ver谩 el c贸digo anterior.

vs sin los paquetes (nota que los caracteres especiales se omiten) :package::

:umbrella: Una situaci贸n complicada es manejar chino-japon茅s-coreano. Aqu铆, usepackage{CJKutf8} con \begin{CJK}{UTF8} y \end{CJK} son bastante 煤ties. Aqui est谩 la forma de escribir japon茅s :jp: :

\documentclass[a4paper]{article}
\usepackage{CJKutf8}

\begin{document}

\begin{CJK}{UTF8}{min}
銇撱伄瑷樹簨銈掕銈撱仹銇勩仧銇犮亶銇傘倞銇屻仺銇嗐仈銇栥亜銇俱仚銆
%Thank you for reading this article. Gracias por leer esto
\end{CJK}

\end{document}

Tan f谩cil como comer :sushi: y :bento: :

:white_check_mark: Segundo m茅todo :white_check_mark:

Otro m茅todo es alcanzable si cambias tu compilador TeX de pdfLaTeX a LuaLaTeX (or XeLaTeX). Usando fontspec y polyglossia, Unicode funcionar谩 de maravilla:

\documentclass[a4paper]{article}

\usepackage{fontspec}
\usepackage{polyglossia}
%\setmainfont[]{DejaVu Serif}

\begin{document}

Xin ch脿o th岷 gi峄沬. This is Hello World in Vietnamese.

\end{document}

La fuente por defecto (Latin Modern) no soporta todos los caracteres. Puedes, sin embargo, usar cualquier fuente que tengas instalada en tu sistema descomentando la l铆nea \setmainfont. Las fuentes TTF y OTF est谩n soportadas por completo.

Listas

:straight_ruler: Es muy importnte que organices bien tu documento. Asi que, empezaremos por poner tus elementos en listas. Dos tipos comunes de listas son no ordered y ordenadas list. Cada una puede ser manejada con facilidad en LaTeX:

As铆 es como los dos tipos de listas se ven en la salida:

P谩rrafos y secciones

:blue_book: Empezamos una secci贸n con \section y un p谩rrafo con \paragraph . :orange_book: Tambi茅n puedes agregar subsecciones con \subsection y un subp谩rrafo con \subparagraph

Haciendo una tabla de contenidos

:metal: Es 煤til para abrir secciones y subsecciones sin tener que desplazarse hasta ellas. El comando es \tableofcontents

Ejemplo:

:bangbang: Tips : Puedes usar \newpage si quieres una nueva p谩gina.

Notas al pie

Es extremadamente f谩cil usar footnote+label+ref para hacer todas las notas al pie que puedas imaginar. Por ejemplo:

Hi let me introduce myself\footnote{\label{myfootnote}Hello footnote}.
... (later on)
I'm referring to myself \ref{myfootnote}.

:point_down: :point_down: 驴Lo ves? :point_down: :point_down:

:bangbang: Tips : Puedes usar \newline para crear un salto de l铆nea.

驴Qu茅 es un paquete?

LaTeX ofrece muchas funciones por defecto, sin embargo en algunas situaciones puede ser 煤til usar los llamados paquetes. Para importar un paquete en LaTeX, simplemente agrega \usepackage{ :package:}

Aqu铆 est谩 un ejemplo de como usar dos paquetes para escribir expresiones matem谩ticas:

M谩s 茅pico a煤n es como se muestran los circuitos:

:construction: Si necesitas alg煤n paquete con requisitos espec铆ficos, lo mejor es hacer una b煤squeda en Google. Por ejemplo, amsmath es ampliamente usado para escribir expresiones matem谩ticas, circuitikz es para dise帽o de circuitos, etc鈥 Cubrirlos todos ser铆a imposible para esta gu铆a general.

Tablas

Un ejemplo par谩ctico :thought_balloon: :

\begin{table}[h!]
  \centering
  \caption{Caption for the table.}
  \label{tab:table1}
  \begin{tabular}{l|c||r}
    1 & 2 & 3\\
    \hline
    a & b & c\\
  \end{tabular}
\end{table}

:star2: Esto es lo que muestra :star2: :

Veamos detenidamente :eyes: :

:bangbang: Tips Puedes usar un paquete :package: llamado booktabs \usepackage{booktabs} para crear tablas visualmente m谩s atractivas.

A帽adiendo im谩genes

Para a帽adir una imagen a un archivi LaTeX, necesitas usar un ambiente figure y el paquete graphicx.

\begin{figure}
  \includegraphics[width=\linewidth]{filename.jpg}
  \caption{What is it about?}
  \label{fig:whateverlabel}
\end{figure}

:bangbang: Tips: Pon [width=\linewidth] para hacer (escalar) la imagen del tama帽o del ancho del documento. Si quieres que la imagen sea flotante, necesitas agregar el atributo al principio de un cierto valor. Tambien fig es para poder hacer una referencia a esa imagen despu茅s.

\begin{figure}[h!]

:passport_control: Los valores aceptados son :

As铆 es como se ve la imagen :

Insertar c贸digo en LaTeX

:white_check_mark: Primer m茅todo :white_check_mark:

Un aspecto al compilar texto es que es de bastante importancia para programadores y desarroladores el qu茅 tan profesionalmente se inserte c贸digo en un documento.
Para LaTeX, el proceso es simple y muy profesional. Solo envolvemos el c贸digo en un comando predefinido y listo.

Ejemplo :

\documentclass[a4paper]{article}

\begin{document}

Hello world!

\begin{verbatim} %c贸digo de C++
#include <iostream>

int main()
{
	std::cout << "hello world!\n";
	return 0;
}
\end{verbatim}

\end{document}

:speech_balloon: LaTeX soporta la sintaxis de estos lenguajes :speech_balloon:

Como puedes ver, con {verbatim} puedes insertar f谩cilmente c贸digo sin preocuparte por c贸mo la sintaxis se ver谩. As铆 es como se ve sin hacer nada m谩s, limpio y profesional:

:white_check_mark: :white_check_mark: Segundo m茅todo :white_check_mark: :white_check_mark:

Este m茅todo te da m谩s opciones, incluyendo insertar c贸digo inline, hacer estilos propios de c贸digo, elegir un lenguaje en espec铆fico, importar c贸digo desde otro archivo en el mismo directorio鈥. Con este m茅todo no usas verbatim, sino que incluyes un paquete llamado listings.

Considera el siguiente ejemplo:

\documentclass[a4paper]{article}

\usepackage{listings}
\usepackage{color}

\lstdefinestyle{mystyle}{
keywordstyle=\color{magenta},
backgroundcolor=\color{yellow},
commentstyle=\color{green},
basicstyle=\footnotesize,
}
\lstset{style=mystyle}

\begin{document}


Hello world!

\begin{lstlisting}[language=Python]

print "Hello World!"

\end{lstlisting}

\lstinputlisting[language=C++]{hello.cpp}

Lorem ipsum dolor sit amet \lstinline{print "Hello World"} , consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.


\end{document}

Aqu铆 podemos observar:

  1. Para insertar un bloque de c贸digo, empezamos con \begin{lstlisting} y terminamos con \end{lstlisting}
  2. Para importar c贸digo desde otro archivo en el mismo directorio usamos lstinputlisiting{name_of_file}
  3. Para especificar un lenguaje, usamos [language=C++]
  4. Para insertar c贸digo inline, usamos \lstinline
  5. Para aplicar estilos propiios, usamos \usepackage{color} y definimos nuestros propios estilos, despu茅s definimos el listing con nuestro tema (por favor revisa el c贸digo m谩s abajo). Puedes modificar muchas cosas para crear tu propio estilo, pero necesitas leer la documentaci贸n para saber que propiedad modificar.
  6. 驴Te interesa? M谩s ac谩.

As铆 es como se ve el c贸digo en TexMaker:

M煤ltiples archivos en LaTeX

Cuando usamos LaTeX, podemos encontrar que un documento es demasiado grande, por cuestiones de practicidad. Entonces dividimos el archivo (para mejor orden) y de esta forma se m谩s manejable.

Veamos el ejemplo.

% main.tex
\documentclass[a4paper]{article}

\begin{document}

Hello Latex, This is my first part.

Hello Latex, This is my second part.

\end{document}

Es un archivo LaTeX normal. Ahora, dividiremos el contenido en dos partes usando el comando \input keyword:

% main.tex
\documentclass[a4paper]{article}

\begin{document}

Hello Latex, This is my first part.

\input{second_file}

\end{document}
% second_file.tex
Hello Latex, This is my second part.

Ahora el archivo principal se ve diferente, pero mejor documentado y m谩s legible. Aqu铆 est谩 el resultado en TexMaker:

multi_file.png

:bangbang: Tips : Para legibilidad, claridad y mantenimiento, es muy recomendable que dividas tu archivo principal simstem谩ticamente, jer谩rquicamente y cient铆ficamente. No dividas sin razones o tendr谩s un l铆o despu茅s.

Herramientas adicionales

Distribuciones

LaTeX Editors

LaTeX Compilers

HOORAY !!

:tada: 隆Gracias por completar la gu铆a! Eso es b谩sicamente todo lo que necesitas saber sobre LaTeX. :hammer:
Si tienes inter茅s por aprender, m谩s sobre LaTeX se puede encontrar ac谩 o en toda la web, dependiendo de lo que necesites.

Licencia

LICENCIA P脷BLICA PARA QUE HAGA LO QUE LE D脡 LA GANA
Derechos de autor (C) 2016 Luong Vo
Se permite la copia y distribuci贸n de forma literal o copias modificadas de este documento de licencia, y su modificaci贸n est谩n permitidas siempre que el se cambie el nombre. (Changing it is allowed as long as the name is changed).
T脡RMINOS Y CONDICIONES PARA LA COPIA, DISTRIBUCI脫N & MODIFICACI脫N: Eso s铆, HAGA LO QUE LE D脡 LA GANA.

Una cerveza en tu pais puede comprar una comida en el m铆o.