Yo uso latexmk 4.77. El siguiente es mi archivo .latexmkrc
$pdf_mode = 4;# specifies creation of pdf via lualatex
$bibtex_use = "2";# to configure bibtex
$cleanup_includes_cusdep_generated = 1;
push @generated_exts, "lol";
$clean_ext .= " %R.synctex.gz";
# graphics by metapost
add_cus_dep('mp', 'mps', 0, 'mpost');
# sub mpost {
# #return system("mptopdf $_[0].mp");
# return system("mpost $_[0].mp");
# }
# metapost rule from http://tex.stackexchange.com/questions/37134
#add_cus_dep('mp', '1', 0, 'mpost');
sub mpost {
my $file = $_[0];
my ($name, $path) = fileparse($file);
pushd($path);
my $return = system("mpost $name");
popd();
return $return;
}
En mi archivo mp configuré
prologues := 2;
outputtemplate := "%j.mps";
para que realmente se cree un archivo mps. En un archivo tex acabo de incluir los mps con \includegraphics, pero esto es irrelevante en este contexto.
El comportamiento de latexmk
es bastante extraño: la ejecución latexmk
se queja directamente de que falta un archivo gráfico. Pero luego, si ejecuto latexmk -pvc
y comando el modo de desplazamiento e interrumpo, al final, los archivos se compilan correctamente.
También lo intenté add_cus_dep('mp', '1', 1, 'mpost');
, sin cambios. ¿Qué estoy haciendo mal? ¿Es posiblemente un problema general que latexmk no pueda compilar en situaciones en las que antes de la primera ejecución de látex ya se deben generar algunos archivos?
Esta sería una brecha considerable ya que se aplica a varios tipos de gráficos.
Respuesta1
En realidad se trata de una respuesta robada: John Collins dio la pista decisiva:
en .latexmkrc insertar
set_tex_cmds('-interaction=nonstopmode %O %S');
Si aún no hay un archivo gráfico presente, se emite una advertencia y se crea el archivo. En la próxima carrera de látex, todo estará bien.
Sin embargo, hay un punto especial con metapost: usar
mpost -interaction=nonstopmode -recorder -s prologues=2
El prólogo provocará la creación de un archivo mps. Descubrí que al incluir with \includegraphics
, se debe dar el final.
De esta manera también parecen funcionar otros archivos gráficos. Lo intenté con archivos xfig, funciona bien.