![Crea un árbol texmf local en MiKTeX](https://rvso.com/image/254698/Crea%20un%20%C3%A1rbol%20texmf%20local%20en%20MiKTeX.png)
En TeX Live hay opciones predefinidas TEXMFLOCAL
para administrador y usuario, pero en MiKTeX no hay ningún árbol local instalado por defecto, aunque es útil, cf.TEXMFHOME
texmf
Propósito de los árboles texmf locales. Por eso mi pregunta:
¿Cómo creo un texmf
árbol local en MiKTeX?
Respuesta1
¡En realidad puedes crear más de una carpeta TeXMF local! Ya hay una descripción en la documentación en línea de MiKTeX, consulteIntegración de adiciones locales, al momento de escribir este artículo para el reciente MiKTeX 2.9(pero las imágenes incluidas son de una versión anterior, aparentemente MiKTeX 2.5, y ligeramente diferentes, cf. tambiénhttp://docs.miktex.org/2.5/manual/localadditions.html). La denominación allí es “Directorio TEXMF administrado por el usuario”(ver también la nota adicional al final de esta respuesta).
De todos modos, aquí una descripción alternativa:
Cree una carpeta en algún lugar de su computadora, con unexcepción importante. Élno debeser una subcarpeta de su instalación de MiKTeX (funcionaba de esta manera en versiones anteriores de MiKTeX, pero se cambió por razones de seguridad). Evite en la medida de lo posible espacios en el camino, es un riesgo potencial de mal funcionamiento. Para usar con MiKTeX portátil, la carpeta debe estar, por supuesto, en la misma unidad que la instalación de MiKTeX, se guardará como ruta relativa. Aquí lo usaré
c:\localtexmf
.Esta carpeta debe ser compatible con TDS (consulte lo siguiente)Una estructura de directorio para archivos TeX); MiKTeX se quejará, si no. Lo que necesita depende de lo que desee instalar en este directorio; al menos un
tex\latex
subárbol debería ser suficiente. Irás seguro, si imitas la estructura del(compatible con TDS)Árbol MiKTEX, pero los binarios pueden ir directamente a una subcarpetac:\localtexmf\bin
.Ahora, usando la GUI:
En el menú Inicio, vaya a la entrada MiKTeX y abra la configuración, si actúa como administrador o "Configuración (Admin)", por supuesto. Se abrirá la ventana "Opciones de MiKTeX".
Vaya a la pestaña "Raíces". Haga clic en "Agregar" y elija
c:\localtexmf\
. Si hay más de un directorio local, se puede elegir el orden de búsqueda con los botones “Arriba” y “Abajo”.Ahora la parte casi más importante: vaya a la pestaña "General" y haga clic allí en "Actualizar FNDB".(FNDB = Base de datos de nombres de archivos). En algunos casos, especialmente si se instalan nuevas fuentes, es necesario presionar también el botón "Actualizar formatos".
Si olvida este paso, todos los pasos anteriores se realizarán sin ningún propósito.
De lo contrario, usando la línea de comando (como administrador siempre agregue el modificador
--admin
):Ejecutar
initexmf --register-root=c:\localtexmf
, seguido deinitexmf --update-fndb
(más cortoinitexmf -u
:).(En cada paso puedes agregar el interruptor
--verbose
para obtener más información sobre lo que sucede).Observación:Por razones de compatibilidad, también existe el conmutador anterior
--user-roots=<local-texmf-dir>
, que segúninitexmf --help
registra los directorios raíz de los usuarios, supongo que también en modo administrativo, pero enhttp://docs.miktex.org/manual/initexmf.htmlYa no se menciona, así que debo adivinar.En el caso de que
bin
se haya creado una subcarpeta para binarios, se debe registrar en la variable de entorno.%PATH%
antesel subárbol de binarios de la propia instalación de MiKTeX, ver, por ejemploCómo administrar variables de entorno en Windows XPo una herramienta de terceros comoEnv-ManoRapidEE. Entonces necesita reiniciar el sistema para que surta efecto. Un problema que no se puede resolver: una variable de entorno de todo el sistema, configurada por un administrador, siempre se lee antes que una específica del usuario. Luego, como usuario simple, solo podrá escribir y usar archivos por lotes con uno propio%PATH%
incluido.
Todos los árboles texmf locales creados por el usuario se pueden desactivar eliminándolos temporalmente de las raíces de MiKTeX (ver nota adicional al final).
Ver también¿Cómo puedo instalar manualmente un paquete en MiKTeX (Windows)?.
Para que esté completo, aquí hay una descripción de cómo eliminar un árbol TeXMF local de MiKTeX, con c:\localtexmf\
un ejemplo:
GUI:
Vaya nuevamente a la pestaña "Raíces" en la configuración (diálogo "Opciones de MiKTeX"), seleccione el directorioc:\localtexmf\
y haga clic en "Eliminar" en la parte inferior de la ventana. Después de eso, debe actualizar nuevamente la FNDB y quizás actualizar los archivos de formato.Línea de comando (también aquí: como administrador agregue el modificador
--admin
):
Ejecutarinitexmf --unregister-root=c:\localtexmf
, seguido deinitexmf --update-fndb
. Si ha desinstalado una fuente, ejecute adicionalmenteinitexmf --mkmaps
.--verbose
También se puede agregar el interruptor.Si ya no necesita la
bin
subcarpeta,%PATH%
se debe limpiar la variable de entorno.Entonces el árbol de carpetas
c:\localtexmf\
podría eliminarse de forma segura.
Nota adicional
Primero, una pista: en el símbolo del sistema puede escribir, echo %Variable%
por %Variable%
ejemplo %Userprofile%
, . Así podrá ver hasta qué valor se expanden las variables en su sistema.
Precisamente la frase"En MiKTeX no hay ningún árbol texmf local instalado por defecto" en la pregunta no es cierto. MiKTeX se agrega varios árboles bajo %UserProfile%
y en modo administrador también %AllUsersProfile%
(a continuación la denominación MiKTeX viene primero):
- “Configuración de usuario”:
%AppData%\MiKTeX\<version>\
- “UserData”:
%LocalAppData%\MiKTeX\<version>\
(desde Windows Vista) o%UserProfile%\<Local Settings>\<Application Data>\MiKTeX\<version>\
(hasta Windows XP, las cadenas<Local Settings>
y<Application Data>
dependen del idioma) - solo se usa en modo administrador“CommonConfig” y “CommonData”:
%AllUsersProfile%\MiKTeX\<version>\
(desde Windows Vista) o%AllUsersProfile%\<Application Data>\MiKTeX\<version>\
(hasta Windows XP, la cadena<Application Data>
depende del idioma)
Las rutas reales se pueden ver con la GUI en la ventana "Opciones de MiKTeX" en la pestaña "Raíces" o con la interfaz de línea de comandos ejecutando initexmf --report
.
Desventajas de todos estos árboles locales: sólo se pueden cambiar durante la instalación, cf.Cambiar la ubicación de los paquetes autoinstalados en MiKTeX, y no se pueden desactivar (eliminándolos temporalmente de las raíces de MiKTeX).
Para información adicional verDiferencia entre el modo administrativo y de usuario de MiKTeX.
Respuesta2
Estas son las instrucciones en las versiones más recientes de MikTeX. Las piezas cotizadas no han cambiado desdela otra respuesta.
- Cree una carpeta en algún lugar de su computadora, con unexcepción importante. Élno debeser una subcarpeta de su instalación de MiKTeX (funcionaba de esta manera en versiones anteriores de MiKTeX, pero se cambió por razones de seguridad). Evite en la medida de lo posible espacios en el camino, es un riesgo potencial de mal funcionamiento. Para usar con MiKTeX portátil, la carpeta debe estar, por supuesto, en la misma unidad que la instalación de MiKTeX, se guardará como ruta relativa. Aquí lo usaré
c:\localtexmf
.
¿Cuál es el mejor directorio para guardar mis archivos .sty? contiene algunas sugerencias sobre dónde colocar la carpeta.
Esta carpeta debe ser compatible con TDS (consulte lo siguiente)Una estructura de directorio para archivos TeX); MiKTeX se quejará, si no. Lo que necesita depende de lo que desee instalar en este directorio; al menos un
tex\latex
subárbol debería ser suficiente. Irás seguro, si imitas la estructura del(compatible con TDS)Árbol MiKTEX, pero los binarios pueden ir directamente a una subcarpetac:\localtexmf\bin
.
- Ahora, usando la GUI:
- Vaya a Inicio → MiKTeX → Consola MiKTeX.
- Haga clic en "Configuración" (en el panel izquierdo) → pestaña "Directorios" → botón "+" → seleccione la ruta.
- "Tareas" (entrada de menú) → "Actualizar base de datos de nombres de archivos".
De lo contrario, usando la línea de comando (como administrador siempre agregue el modificador
--admin
):Ejecutar
initexmf --register-root=c:\localtexmf
, seguido deinitexmf --update-fndb
(más cortoinitexmf -u
:).
Tenga en cuenta que initexmf --register-root=<path>
debe <path>
ser una ruta absoluta. Entonces debe comenzar con c:\
o algo así.
(En cada paso puedes agregar el interruptor
--verbose
para obtener más información sobre lo que sucede).