Compilación xelatex vs. xelatexmk: ¿cuál es la diferencia?

Compilación xelatex vs. xelatexmk: ¿cuál es la diferencia?

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 xelatexmky me daba instrucciones para su configuración.

Mi xelatexmkconfiguración se ve así:

ingrese la descripción de la imagen aquí

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í:

ingrese la descripción de la imagen aquí

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:

ingrese la descripción de la imagen aquí

Cuando compilo con XeLaTeX, por otro lado, me da esto:

ingrese la descripción de la imagen aquí

Necesito compilar por XeLaTeXsegunda vez para obtener el resultado adecuado:

ingrese la descripción de la imagen aquí

Estoy seguro de que hay una razón perfectamente buena por la que XeLaTeXse 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 XeLaTeXen futuras versiones de TeX Live deberían realizarse dos iteraciones de compilación, o por qué xelatexmkdeberían incluirse? Nuevamente, debo enfatizar que esto es desde la perspectiva de un usuario novato, que generalmente espera (o espera) que su .texdocumento se compile fácilmente usando algún compilador integrado predeterminado.

Respuesta1

El xelatexcomando ejecuta XeLaTeX exactamente una vez: realiza una ejecución tipográfica y produce un PDF. Por el contrario, xelatexmkejecuta 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.

información relacionada