2009-04-05 8 views
8

Después del previous questions sobre este tema, cuando produces un sitio web en LaTeX, ¿cuál es la mejor manera de generar una url que contenga una tilde? \verb produce la tilde superior que no lee bien, y $\sim$ no copia/pase bien (agregando un espacio cuando lo hago). Soluciones?¿Cuál es la mejor manera de producir una tilde en LaTeX para un sitio web?

Parece que esta debería ser una de esas cosas que tiene una solución muy fácil ... si no es así, ¿por qué no?

+0

¿A qué se refieren exactamente por "producir un sitio web en LaTeX"? Si está utilizando algún tipo de traductor de LaTeX a HTML, ¿cuál, y ha revisado su documentación? –

Respuesta

10

Me gustaría ver el url package.

+0

A '\ url' proporciona una tilde reducida y copia/pega correctamente. Hecho y hecho. – physicsmichael

+0

Esto funciona perfectamente, excepto que considero que anula cualquier estilo de fuente establecido para el documento con un estilo de fuente de ancho fijo para el texto URL. –

+1

@Ashwin Encontré que esto funciona para devolver la fuente a la fuente del texto anterior: '\ newcommand {\ urlwofont} [1] {\ urlstyle {same} \ url {# 1}}' – physicsmichael

0

\symbol{126} sería de otra manera, pero en la fuente predeterminada también produce una tilde con superíndice. Un truco feo (pero lo que no está en látex) sería utilizar

${}_{\textrm{\symbol{126}}}$ 

que produce una tilde texto en el modo y los subíndices de TI matemáticas. Entonces aparece en el medio de la línea. Parece que también funciona para un enlace cliqueable. Siempre puede poner eso en un comando por sí mismo :)

0

No soy un usuario de látex, ¿pero esta página ayuda?

http://www.cse.wustl.edu/~mgeorg/html/tildalatex.html

Ellos hacen lo siguiente:

\def\urltilda{\kern -.15em\lower .7ex\hbox{\~{}}\kern .04em} 
\def\urldot{\kern -.10em.\kern -.10em} 
\def\urlhttp{http\kern -.10em\lower -.1ex\hbox{:}\kern -.12em\lower 0ex\hbox{/}\kern -.18em\lower 0ex\hbox{/}} 

La forma en que se utiliza es

{\tt [email protected]\urldot wustl\urldot edu} 
{\tt \urlhttp www\urldot cse\urldot wustl\urldot edu/\urltilda mgeorg} 
1

creo $ _ {\ widetilde {~}} $ funciona bien para el tilde problema.

+0

Ahh sí, Se ve bien. ¡Pero no copia/pega del pdf bien! – physicsmichael

6

Sé que esta es una vieja pregunta, pero recientemente se me ocurrió algo que, a pesar de la falta de elegancia severa, funciona muy bien.

\catcode`~=11 % make LaTeX treat tilde (~) like a normal character 
\newcommand{\urltilde}{\kern -.15em\lower .7ex\hbox{~}\kern .04em} 
\catcode`~=13 % revert back to treating tilde (~) as an active character 

Ahora se puede usar \ urltilde dentro de una etiqueta \ url (incluso en un archivo .bib) y: 1) la URL rendirá perfectamente; 2) al hacer clic en la URL lo llevará a la dirección correcta; y, 3) copiar y pegar colocará la dirección correcta en el portapapeles.

Esta es la única solución que he encontrado que cumple estos tres requisitos. Espero que ayude a alguien por ahí.

+0

Buena respuesta, Ryan. – physicsmichael

+1

¡Vaya! En realidad, esto no funciona con el url.sty estándar. Sin embargo, esto (aún más feo) hackear hace: \ catcode' ~ = 11 \ def \ UrlSpecials {\ do \ ~ {\ Kern -.15em \ .7ex inferior \ hbox {~} \ Kern .04em} } \ catcode' ~ = 13% pega esto inmediatamente * después de * incluyes url.sty, y puedes poner tildes directamente en tu URL sin ningún comando especial. – Ryan

+0

Reemplacé \ hbox {~} con \ hbox {\ texttt {~}} para obtener una tilde que se copió y pegó correctamente. Usé \ urltilde dentro de un comando \ href (en Mac OS X a Safari usando fuentes predeterminadas en una distribución texlive de látex) –

2

Creo que es mejor usar la codificación URL en ese caso (ver, por ejemplo, http://www.blooberry.com/indexdot/html/topics/urlencoding.htm).

Significa reemplazar la tilde en el enlace con% 7E.

Quizás no se vea tan bien en el documento final (los lectores verán% 7E en lugar de la tilde), pero al menos la funcionalidad de copiar y pegar funciona, creo que es lo más importante.

Por ejemplo, para el enlace www.example.com/~someuser/somepage.htm utilizo el siguiente código:

{\tt http://www.example.com/\%7Esomeuser/somepage.htm} 

PD: Lo mismo se aplica para todos los enlaces con espacios en blanco o cualquier otro especial caracteres.

1

Quiero sugerir el uso de %7e

\tt{http://example.com/\%7etest} 

tt es para lo que es MONOSPACE.

Parece un poco diferente, pero permite copiar y pegar.

+0

Buen enfoque. Puedo confirmar que funciona bien con hyperref y copy-pastas. – physicsmichael

1

paquete de URL no funcionó para mí. hyperref hace el trabajo.

\usepackage{hyperref} 
\url{http://website.com/~username/some_stuff/} 
Cuestiones relacionadas