![Compilación xelatex vs. xelatexmk: ¿cuál es la diferencia?](https://rvso.com/image/266421/Compilaci%C3%B3n%20xelatex%20vs.%20xelatexmk%3A%20%C2%BFcu%C3%A1l%20es%20la%20diferencia%3F.png)
Estoy usando TeX Live 2012 en un entorno Windows.
Solía compilar con xelatexmk
, que no está incluido en las "Herramientas de procesamiento" de TeX Live. Cuando quise cambiar de LaTeX a XeLaTeX, leí en alguna parte que tenía que compilar xelatexmk
y me daba instrucciones para su configuración.
Mi xelatexmk
configuración se ve así:
Luego recientemente cambié al compilador integrado de TeX Live XeLaTeX
, porque noté que era más rápido y siempre daba el mismo resultado. Esa configuración se ve así:
Pero he notado una diferencia cuando dibujo flechas con TikZ
. A continuación se muestra un MWE:
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tabular}{cc}
\tikz[baseline, remember picture] \node[inner sep = 0pt, anchor = base] (finisharrow) {a}; & \tikz[baseline, remember picture] \node[inner sep = 0pt, anchor = base] (startarrow) {c};
\end{tabular}
\begin{tikzpicture}[remember picture, overlay, shorten <=.1ex, shorten >=.1ex]
\draw [semithick, ->] (startarrow) -- (finisharrow);
\end{tikzpicture}
\end{document}
Cuando compilo con xelatexmk
, me da esto:
Cuando compilo con XeLaTeX
, por otro lado, me da esto:
Necesito compilar por XeLaTeX
segunda vez para obtener el resultado adecuado:
Estoy seguro de que hay una razón perfectamente buena por la que XeLaTeX
se comporta de esta manera, pero para los usuarios novatos como yo, resultó en mucha frustración, ya que no podía entender por qué mis flechas no salían como solían hacerlo antes. (cuando usaba xelatexmk
).
¿Podría ser esta una razón por la que XeLaTeX
en futuras versiones de TeX Live deberían realizarse dos iteraciones de compilación, o por qué xelatexmk
deberían incluirse? Nuevamente, debo enfatizar que esto es desde la perspectiva de un usuario novato, que generalmente espera (o espera) que su .tex
documento se compile fácilmente usando algún compilador integrado predeterminado.
Respuesta1
El xelatex
comando ejecuta XeLaTeX exactamente una vez: realiza una ejecución tipográfica y produce un PDF. Por el contrario, xelatexmk
ejecuta XeLaTeX y otras herramientas una o más veces, utilizando un script para (intentar) determinar qué ejecuciones son necesarias. Una vez que vaya más allá de un documento 'trivial', introduciendo referencias cruzadas o similares, se requieren al menos dos ejecuciones de XeLaTeX para compilar 'completamente' un documento (aquí tenemos una especie de 'etiqueta' en términos de posición en la salida). Por otro lado, los scripts no siempre hacen las cosas bien y, al resolver todos los enlaces,etc.normalmente sólo es esencial para el PDF de "producción" final. Como tal, muchas personas están felices de no usar un script y hacer las ejecuciones adicionales necesariamente a mano, lo que significa que las ejecuciones intermedias son más rápidas. Otros están más contentos con un guión que hace estas cosas de "back-end" por ellos.