2009-04-05 3 views
8

После previous questions на эту тему, когда вы создаете сайт в LaTeX, что является лучшим способом создания URL-адреса, который содержит тильду? \verb создает верхнюю тильду, которая не читается хорошо, и $\sim$ не копирует/pase хорошо (добавление пробела, когда я это делаю). Решения?Каков наилучший способ создания тильды в LaTeX для сайта?

Кажется, что это должна быть одна из тех вещей, которая имеет очень легкое решение ... если это не так, почему бы и нет?

+0

Что именно вы подразумеваете под «изготовлением веб-сайта в LaTeX»? Если вы используете какой-то переводчик LaTeX to HTML, какой из них, и вы просмотрели его документацию? –

ответ

10

Я бы посмотрел на url package.

+0

«\ url» обеспечивает пониженную тильду и правильно копирует/вставляет. Сделано и сделано. – physicsmichael

+0

Это прекрасно работает, за исключением того, что я обнаружил, что он переопределяет любой стиль шрифта, установленный для документа с стилем шрифта с фиксированной шириной для текста URL. –

+1

@Ashwin Я нашел, что это работает, чтобы вернуть шрифт шрифту предыдущего текста: '\ newcommand {\ urlwofont} [1] {\ urlstyle {same} \ url {# 1}}' – physicsmichael

0

\symbol{126} был бы другим способом, но в шрифте по умолчанию он также дает надстрочную тильду. Некрасиво хак (но то, что не в LaTeX) будет использовать

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

, который производит текстовые тильды в режиме Math и индексах его. Таким образом, он появляется в середине строки. Кажется, работает и для кликабельной ссылки. Вы всегда можете поместить это в команду самостоятельно :)

0

Я не латексный пользователь, по общему признанию, но помогает ли эта страница?

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

Они делают следующее:

\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{/}} 

Путь это используется в

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

Я думаю, что $ _ {\ widetilde {~}} $ хорошо работает для тильда.

+0

Ahh yes, выглядит хорошо. Но он не копирует/вставляет из PDF хорошо! – physicsmichael

6

Я знаю, что это старый вопрос, но я недавно придумал что-то, что, несмотря на серьезную нехватку элегантности, прекрасно работает.

\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 

Теперь вы можете использовать \ urltilde внутри \ URL-адрес тега (даже в файле .bib) и: 1) URL будет оказывать совершенно; 2) нажатие на URL-адрес приведет вас к правильному адресу; и, 3) copy-paste установит правильный адрес в буфер обмена.

Это единственное найденное решение, которое удовлетворяет всем трем из этих требований. Надеюсь, это поможет кому-то там.

+0

Хороший ответ, Райан. – physicsmichael

+1

Упс. На самом деле это не работает со стандартным url.sty. Однако это (даже уродливее) рубит: \ catcode' ~ = 11 \ Защиту \ UrlSpecials {\ сделать \ ~ {\ керн -.15em \ ниже .7ex \ HBox {~} \ керн .04em} } \ catcode' ~ = 13% вставьте это немедленно * после * вы включите url.sty, и вы можете просто поместить тильды прямо в свой URL без каких-либо специальных команд. – Ryan

+0

Я заменил \ hbox {~} на \ hbox {\ texttt {~}}, чтобы получить тильду, скопированную и вставленную правильно. Я использовал \ urltilde внутри команды \ href (в Mac OS X для Safari, использующей шрифты по умолчанию для распределения тексилитов латекса) –

2

Я думаю, что лучше использовать кодировку URL в таком случае (см., Например, http://www.blooberry.com/indexdot/html/topics/urlencoding.htm).

Это означает замену тильды на ссылку% 7E.

Возможно, это не выглядит так хорошо в заключительном документе (читатели увидят% 7E вместо тильды), но, по крайней мере, функция копирования-вставки работает точно, что я считаю самым важным.

Например, для www.example.com/~someuser/somepage.htm связи я использую следующий код:

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

PS: То же самое относится ко всем ссылкам с белыми пробелами или другими специальными персонажи.

1

Я хочу предложить использовать %7e

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

ТТ за то, что MONOSPACE.

Это выглядит немного иначе, но позволяет копировать и вставлять.

+0

Хороший подход. Я могу подтвердить, что он работает с гиперреком и копирует пасты. – physicsmichael

1

URL-адрес не работал для меня. гиперреф делает работу.

\usepackage{hyperref} 
\url{http://website.com/~username/some_stuff/} 
Смежные вопросы