Cómo lidiar con los espacios en blanco en OS X a lo largo de las rutas de archivo cuando a ciertos programas UNIX no les gusta

Estoy tratando de incluir un comando en un archivo TeX en un archivo de bibliografía que estoy almacenando centralmente.

Sin embargo, al incluir la ruta del archivo, como

/Foldername with whitespace/ANOTHER folder name with whitespace/nowsinfldrname/bibo.bib

mi sistema de composición tipográfica basado en Unix se queja. ¿Hay alguna forma de corregir eso que no sea cambiar el nombre de mis carpetas?

¿Qué programa de composición tipográfica estás usando? La solución inmediata está bien cubierta por grgarside, pero es mucho más difícil tener scripts que escapen correctamente de las cadenas. Especialmente si son modulares y pasan nombres de archivo a otros scripts, etc...
Gracias @bmike Es texshop dentro del contexto del látex. La salida de error proviene de su consola, lo que hace que los espacios en blanco sean explícitos como un problema. Ahora probando con las comillas simples.
Todavía no funciona, pero tal vez deba mover esto a tex.stackexchange en su lugar.

Respuestas (4)

En bash, hay dos formas principales de tener espacios en los nombres de las rutas:

  • Barra invertida escapar de los espacios

    /path/to/folder\ with\ spaces/
    
  • Envolver con comillas

    "/path/to/folder with spaces and $variable/"
    
    '/path/to/folder with spaces and a literal $/'
    

    Las comillas dobles expanden las variables de shell. Las comillas simples no lo hacen.

Probablemente desee utilizar comillas simples para evitar la interpolación de caracteres especiales como $. "/path/to/my/$money"es /path/to/my/con el valor de la $moneyvariable de shell al final (que probablemente estará vacío). '/path/to/my/$money'es /path/to/my/$money_
@Schwern Gracias: elegí específicamente comillas dobles por este motivo, ya que la pregunta original era específicamente sobre espacios y el nombre de la carpeta en la ruta de OP puede haber sido proporcionado por una variable, pero entiendo que lo supuse totalmente y no lo logré. claro en mi respuesta.
@Schwern Las barras diagonales inversas en realidad no funcionaron porque recibí otro mensaje de mi consola tex que indicaba que se detectaron espacios en blanco. Tampoco las comillas dobles. Sin embargo, lo intentaré con comillas simples.

Escape de los espacios con una barra invertida:

This\ has\ spaces

Como último recurso existen enlaces simbólicos.

el enlace se expande a un nivel inferior, por lo que se omite la cotización del nivel de la aplicación.

ln -s '/Foldername with whitespace/ANOTHER folder name with whitespace/nowsinfldrname' /tmp/
En realidad, esto podría ser una solución decente si la cadena de herramientas simplemente no puede escapar correctamente de los nombres de archivo y/o manejar rutas y nombres de archivo Unicode arbitrarios.

La respuesta es muy simple. No es culpa de OS X sino de BibTex. Es bastante antiguo y no admite espacios en blanco en nombres de archivos o rutas.