You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
pandoc_basico/out/documento.tex

551 lines
15 KiB

% Options for packages loaded elsewhere
\PassOptionsToPackage{unicode}{hyperref}
\PassOptionsToPackage{hyphens}{url}
\PassOptionsToPackage{dvipsnames,svgnames*,x11names*}{xcolor}
%
\documentclass[
12pt,
spanish,
]{article}
\usepackage{lmodern}
\usepackage{amssymb,amsmath}
\usepackage{ifxetex,ifluatex}
\ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0 % if pdftex
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{textcomp} % provide euro and other symbols
\else % if luatex or xetex
\usepackage{unicode-math}
\defaultfontfeatures{Scale=MatchLowercase}
\defaultfontfeatures[\rmfamily]{Ligatures=TeX,Scale=1}
\setmainfont[]{Ubuntu}
\setmonofont[]{Ubuntu Mono}
\fi
% Use upquote if available, for straight quotes in verbatim environments
\IfFileExists{upquote.sty}{\usepackage{upquote}}{}
\IfFileExists{microtype.sty}{% use microtype if available
\usepackage[]{microtype}
\UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts
}{}
\makeatletter
\@ifundefined{KOMAClassName}{% if non-KOMA class
\IfFileExists{parskip.sty}{%
\usepackage{parskip}
}{% else
\setlength{\parindent}{0pt}
\setlength{\parskip}{6pt plus 2pt minus 1pt}}
}{% if KOMA class
\KOMAoptions{parskip=half}}
\makeatother
\usepackage{xcolor}
\IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available
\IfFileExists{bookmark.sty}{\usepackage{bookmark}}{\usepackage{hyperref}}
\hypersetup{
pdftitle={Usando Pandoc},
pdfauthor={Sergio Alvariño salvari@gmail.com},
pdflang={es-ES},
colorlinks=true,
linkcolor=Maroon,
filecolor=Maroon,
citecolor=Blue,
urlcolor=Blue,
pdfcreator={LaTeX via pandoc}}
\urlstyle{same} % disable monospaced font for URLs
\usepackage[a4paper]{geometry}
\setlength{\emergencystretch}{3em} % prevent overfull lines
\providecommand{\tightlist}{%
\setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}
\setcounter{secnumdepth}{5}
\ifxetex
% Load polyglossia as late as possible: uses bidi with RTL langages (e.g. Hebrew, Arabic)
\usepackage{polyglossia}
\setmainlanguage[]{spanish}
\else
\usepackage[shorthands=off,main=spanish]{babel}
\fi
\title{Usando Pandoc}
\author{Sergio Alvariño
\href{mailto:salvari@gmail.com}{\nolinkurl{salvari@gmail.com}}}
\date{abril-2016}
\begin{document}
\maketitle
\begin{abstract}
Una chuleta para usar Pandoc, copiado descaradamente de varios sitios de
internet.
Solo para referencia rápida y personal.
\end{abstract}
{
\hypersetup{linkcolor=}
\setcounter{tocdepth}{3}
\tableofcontents
}
\hypertarget{cuxf3mo-usar-esto}{%
\section{¿Cómo usar esto?}\label{cuxf3mo-usar-esto}}
\hypertarget{muy-ruxe1pido}{%
\subsection{Muy rápido}\label{muy-ruxe1pido}}
Clona el repo en un directorio :
\begin{verbatim}
git clone https://bitbucket.org/salvari/pandoc_basico
\end{verbatim}
Renombra el directorio:
\begin{verbatim}
mv pandoc_basico miProyecto
\end{verbatim}
Elimina la info de git
\begin{verbatim}
rm -rf miProyecto/.git
\end{verbatim}
Edita el fichero miProyecto/src/documento.md con tu editor de texto
favorito.
Ejecuta:
\begin{description}
\item[make]
Para generar todos los ficheros de salida y el fichero README.md
(equivale a \emph{make all})
\item[make clean]
Para borrar todos los ficheros de salida
\item[make reset]
Equivale a \emph{make clean all}
\end{description}
\hypertarget{muxe1s-detalles}{%
\subsection{Más detalles}\label{muxe1s-detalles}}
El makefile está preparado para procesar \textbf{todos} los ficheros con
extensión \emph{.md} que haya en el directorio \emph{src}. Esto permite
escribir documentos largos y dividirlos en secciones, por ejemplo
podríamos tener los siguientes documentos en el directorio \emph{src}
\begin{verbatim}
00_Comienzo.md
10_Capitulo_01.md
20_Capitulo_02.md
30_Conclusion.md
40_apendices.md
\end{verbatim}
Al ejecutar make nos crearía \textbf{un solo documento de salida}
concatenando todos los ficheros. El orden en que los concatena es el
orden en el que aparecen al hacer un \emph{ls} por eso se nombran con
una numeración al principio que permita ordenarlos a gusto del autor.
Si quieres cambiar el nombre del fichero de salida (\emph{documento})
tendrás que editar el makefile y cambiar la línea:
\begin{verbatim}
target := documento
\end{verbatim}
Otras líneas que puedes tocar en el makefile son las que especifican el
idioma y los tipos de letra usados.
\hypertarget{quuxe9-es-pandoc}{%
\section{¿Qué es Pandoc?}\label{quuxe9-es-pandoc}}
Como explican en http://pandoc.org, Pandoc es una librería en Haskell
para hacer conversión de documentos de un formato markup a otro. Y
también es una herramienta de terminal de comandos que usa esa librería.
Lo que nos permite Pandoc a la hora de documentar un proyecto es
mantener la documentación en un formato abierto y sencillo (markdown) y
generar salidas en distintos formatos (pdf, mediawiki, epub, html, etc)
con un simple comando.
\hypertarget{quuxe9-necesitas-tener-instalado}{%
\section{¿Qué necesitas tener
instalado?}\label{quuxe9-necesitas-tener-instalado}}
\begin{itemize}
\tightlist
\item
Pandoc
\item
make
\item
git (no es imprescindible pero muy recomendable)
\item
Las plantillas de Pandoc (o \emph{templates})
\item
Un buen editor de texto
\item
\emph{LaTeX} para la salida a \emph{pdf} El proceso de instalar
\emph{LaTeX} dependerá de tu sistema.
\end{itemize}
\hypertarget{instalaciuxf3n-de-pandoc}{%
\subsection{Instalación de Pandoc}\label{instalaciuxf3n-de-pandoc}}
Los paquetes de Pandoc están disponibles en la
\href{http://pandoc.org/installing.html}{página de descargas del
proyecto}. En el caso de Ubuntu se instala sin más que descargar el
paquete y abrirlo con el Centro de Software.
\hypertarget{instalaciuxf3n-de-plantillas-de-pandoc}{%
\subsection{Instalación de plantillas de
Pandoc}\label{instalaciuxf3n-de-plantillas-de-pandoc}}
Hay muchas plantillas para generar documentación con Pandoc, puestas a
disposición de la comunidad. De momento nos hemos limitado a las
plantillas del creador de Pandoc:
\begin{verbatim}
cd
mkdir .pandoc
cd .pandoc
git clone https://github.com/jgm/pandoc-templates templates
\end{verbatim}
Esto dejará las plantillas en el directorio
\emph{\textasciitilde/.pandoc/templates} que es uno de los directorios
donde Pandoc busca las plantillas.
No hay inconveniente en dejar las plantillas en otro directorio, o
incluso en el arbol de nuestro proyecto, pero habría que retocar el
\emph{makefile} para que Pandoc las encontrara sin problemas.
\hypertarget{chuletario-de-pandoc}{%
\section{Chuletario de Pandoc}\label{chuletario-de-pandoc}}
\hypertarget{backslash-escapes}{%
\subsection{Backslash Escapes}\label{backslash-escapes}}
Salvo que estemos dentro de un bloque de código o de ``código en
linea'', \textbf{cualquier carácter de puntuación o espacio} precedido
de contrabarra se tratará de forma literal, incluso si ese carácter
normalmente indique algún formato.
\hypertarget{bloque-de-tuxedtulo}{%
\subsection{Bloque de título}\label{bloque-de-tuxedtulo}}
Es una forma rápida de indicar el título el autor o autores y la fecha.
Tiene que ir al principio del documento
\begin{verbatim}
% título
% autor(es) (separados por :)
% fecha
\end{verbatim}
Alternativamente se puede usar otro estilo para el bloque de título,
mucho más completo, en formato
\href{https://en.wikipedia.org/wiki/YAML}{YAML}, especificando
variables. No puede usarse simultáneamente con el anterior, hay que
escoger entre los dos estilos.
Se pueden especificar todo tipo de variables \footnote{Ojo por que en el
makefile propuesto se especifica el lenguaje, asi que la variable del
bloque de título no va a tener efecto en este caso.}.
\begin{verbatim}
---
title: Título
author:
- Autor Uno <autor.uno@correo.com>
- Otro autor <otroautor@correo.com>
tags: [nothing, nothingness]
date: enero-2016
lang: es-ES
abstract: |
Este es el resumen.
Con dos párrafos.
...
---
\end{verbatim}
\hypertarget{incrustar-tex-y-html}{%
\subsection{Incrustar TeX y HTML}\label{incrustar-tex-y-html}}
\begin{itemize}
\tightlist
\item
Los comandos TeX se pasan de forma transparente al Markdown, y afectan
solo a la salida de LaTeX y ConTeXt; en el resto de casos se borran
\item
El código HTML pasará a la salida sin cambios, pero el Markdown dentro
de los bloques HTML se procesa como Markdown
\end{itemize}
\hypertarget{puxe1rrafos-y-retornos-de-luxednea}{%
\subsection{Párrafos y retornos de
línea}\label{puxe1rrafos-y-retornos-de-luxednea}}
\begin{itemize}
\tightlist
\item
Un párrafo es una o más líneas de texto separadas por una linea en
blanco del resto
\item
Una línea que termina con dos espacios, o una línea que termina con un
fin de linea escapado (contrabarra seguida de retorno de linea) indica
un cambio de linea manual
\end{itemize}
\hypertarget{ituxe1lica-negrita-superescrito-subesctrito-tachado}{%
\subsection{Itálica, negrita, superescrito, subesctrito,
tachado}\label{ituxe1lica-negrita-superescrito-subesctrito-tachado}}
\begin{verbatim}
*Itálica* and **negrita** se indican con asteriscos.
Para ~~tachar~~ texto usa tildes dobles.
Superscrito se indica así: 2^ndo^.
Subescrito con tildes simples, así: H~2~O.
Los espacios en el superescrito y el subescrito tienen que ir escapados,
p.ej., H~esto\ es \ un\ subescrito~.
\end{verbatim}
\hypertarget{tex-matemuxe1tico-o-cuxf3digo-incrustado-en-linea}{%
\subsection{TeX matemático o código incrustado en
linea}\label{tex-matemuxe1tico-o-cuxf3digo-incrustado-en-linea}}
\begin{verbatim}
El TeX matemático va entre signos$: $2 + 2$.
El código en linea va entre comillas invertidas: `echo 'hello'`
\end{verbatim}
\hypertarget{enlaces-e-imuxe1genes}{%
\subsection{Enlaces e imágenes}\label{enlaces-e-imuxe1genes}}
\begin{verbatim}
<http://example.com>
<foo@bar.com>
[inline link](http://example.com "Title")
![inline image](/path/to/image, "alt text")
[reference link][id]
[implicit reference link][]
![reference image][id2]
[id]: http://example.com "Title"
[implicit reference link]: http://example.com
[id2]: /path/to/image "alt text"
\end{verbatim}
\hypertarget{notas-al-pie-de-puxe1gina}{%
\subsection{Notas al pie de página}\label{notas-al-pie-de-puxe1gina}}
\begin{verbatim}
Las notas en linea son como
esta.^[Nótese que las notas en linea no pueden tener más de un párrafo.]
Las notas de referencia son como esta.[^id]
[^id]: Las notas de referencia pueden contener varios párrafos.
Los parámetros a continuación deben estar identados.
\end{verbatim}
\hypertarget{citas}{%
\subsection{Citas}\label{citas}}
\begin{verbatim}
Blah blah [see @doe99, pp. 33-35; also @smith04, ch. 1].
Blah blah [@doe99, pp. 33-35, 38-39 and *passim*].
Blah blah [@smith04; @doe99].
Smith says blah [-@smith04].
@smith04 says blah.
@smith04 [p. 33] says blah.
\end{verbatim}
\hypertarget{encabezados}{%
\subsection{Encabezados}\label{encabezados}}
\begin{verbatim}
Encabezado 1
========
Encabezado 2
--------
# Encabezado 1 #
## Encabezado 2 ##
\end{verbatim}
Las almohadillas de cierre \# son opcionales. Es necesario añadir una
línea en blanco antes y después de cada cabecera.
\hypertarget{listas}{%
\subsection{Listas}\label{listas}}
\hypertarget{listas-ordenadas}{%
\paragraph{Listas Ordenadas}\label{listas-ordenadas}}
\begin{verbatim}
1. example
2. example
A) example
B) example
\end{verbatim}
\hypertarget{listas-desordenadas}{%
\paragraph{Listas desordenadas}\label{listas-desordenadas}}
Los items de la lista deben ir marcados con `*', `+', or `-'.
\begin{verbatim}
+ example
- example
* example
\end{verbatim}
Las listas se pueden anidar de la forma usual:
\begin{verbatim}
+ example
+ example
+ example
\end{verbatim}
\hypertarget{listas-de-definiciuxf3n}{%
\paragraph{Listas de definición}\label{listas-de-definiciuxf3n}}
\begin{verbatim}
Term 1
: Definition 1
Term 2
: Definition 2
Second paragraph of definition 2.
\end{verbatim}
\hypertarget{blockquotes}{%
\subsection{Blockquotes}\label{blockquotes}}
\begin{verbatim}
> blockquote
>> nested blockquote
\end{verbatim}
Es necesario añadir lineas en blanco antes y después de los
bloques-cita.
\hypertarget{tablas}{%
\subsection{Tablas}\label{tablas}}
\begin{verbatim}
Right Left Center Default
------- ------ ---------- -------
12 12 12 12
123 123 123 123
1 1 1 1
Table: Demonstration of simple table syntax.
\end{verbatim}
(Para tablas más complejas consulta la
\href{http://pandoc.org/README.html\#tables}{documentación de Pandoc}.)
\hypertarget{bloques-de-cuxf3digo}{%
\subsection{Bloques de código}\label{bloques-de-cuxf3digo}}
Los bloques de código empiezan con tres o más tildes; y acaban por lo
menos con el mismo número de tildes:
\begin{verbatim}
~~~~~~~
{code here}
~~~~~~~
\end{verbatim}
Opcionalmente, se puede especificar el lenguaje que corresponde al
bloque de código:
\begin{verbatim}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ {.haskell .numberLines}
qsort [] = []
qsort (x:xs) = qsort (filter (< x) xs) ++ [x] ++
qsort (filter (>= x) xs)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
\end{verbatim}
\hypertarget{lineas-horizontales}{%
\subsection{Lineas horizontales}\label{lineas-horizontales}}
3 o mas guiones o asteriscos en una linea (se permiten espacios
intercalados)
\begin{verbatim}
---
* * *
- - - -
\end{verbatim}
\hypertarget{bloques-verbatim}{%
\subsection{Bloques verbatim}\label{bloques-verbatim}}
Todo el texto identado cuatro espacios
\begin{verbatim}
Ejemplo Esto es un bloque verbatim y por ejemplo *esto* aparece
tal cual y no en itálica.
\end{verbatim}
\hypertarget{notas-a-pie-de-puxe1gina}{%
\subsection{Notas a pie de página}\label{notas-a-pie-de-puxe1gina}}
\begin{verbatim}
Referencia[^1], y una nota[^larga]
[^1]: Cobbled together from
<http://daringfireball.net/projects/markdown/syntax> and
<http://johnmacfarlane.net/pandoc/README.html>.
[^larga] Una nota que tiene.
Varias lineas
{incluso código}
Mas lineas
Esto ya no es de la nota larga
\end{verbatim}
\hypertarget{en-que-me-he-basado-o-copiado-si-lo-prefieres}{%
\section{En que me he basado (o copiado si lo
prefieres)}\label{en-que-me-he-basado-o-copiado-si-lo-prefieres}}
\begin{itemize}
\tightlist
\item
En la \href{http://pandoc.org/README.html}{guia de usuario de Pandoc}
Importante leersela para sacarle todo el jugo a esta herramienta
\item
En la
\href{https://github.com/dsanson/Pandoc.tmbundle/blob/master/Support/doc/cheatsheet.markdown}{chuleta
de Pandoc} de \href{https://github.com/dsanson}{David Sanson},
perfecta para referencia rápida
\item
Para hacer el makefile me he leido varios tutoriales y copiado
descaradamente de varios sitios que olvidé apuntar (lo siento)
\end{itemize}
\end{document}