![비머 프레임 환경의 \href 링크에 있는 파운드 기호 #](https://rvso.com/image/400347/%EB%B9%84%EB%A8%B8%20%ED%94%84%EB%A0%88%EC%9E%84%20%ED%99%98%EA%B2%BD%EC%9D%98%20%5Chref%20%EB%A7%81%ED%81%AC%EC%97%90%20%EC%9E%88%EB%8A%94%20%ED%8C%8C%EC%9A%B4%EB%93%9C%20%EA%B8%B0%ED%98%B8%20%23.png)
일반적으로 링크에 파운드 기호 #을 사용하는 데에는 문제가 없습니다 \href
(참조#(숫자 기호)이 포함된 하이퍼링크frame
), 의 환경 에서는 작동하지 않습니다 beamer
.
\documentclass{beamer}
\usepackage{hyperref}
\begin{document}
\begin{frame}
\href{http://de.wikipedia.org/wiki/Hybridorbital#Beispiele}{Wiki}
\end{frame}
\end{document}
이로 인해 오류가 발생합니다.! Illegal parameter number in definition of \iterate.
frame
하지만 환경을 제거하면 정상적으로 컴파일됩니다. 그래서 제 질문은 의 환경 \href
에 # 기호가 있는 링크를 어떻게 포함할 수 있느냐는 것입니다 .frame
beamer
[fragile]
편집: 환경 에 옵션을 추가하라는 의견이 있습니다 frame
. 위의 MWE는 처리되지만 링크의 파운드 기호 # 때문에 아래의 MWE도 충돌한다는 사실은 수정되지 않습니다 \href
.
\documentclass{beamer}
\usepackage{hyperref}
\begin{document}
\begin{frame}[fragile]
\only<1>{\href{http://de.wikipedia.org/wiki/Hybridorbital#Beispiele}}{Wiki}
\end{frame}
\end{document}
! Illegal parameter number in definition of \beamer@doifinframe.
그러나 링크에서 파운드 기호 제거 # 오류가 발생 하고 오류 없이 컴파일됩니다.
답변1
beamer
실제로 조판하기 전에 전체 frame
환경을 검사합니다. 이는 실제로 조판되기 전에 "볼" 수 없거나 토큰화가 너무 일찍 일어나 작동하지 않기 때문에 축어적 콘텐츠에 문제가 발생합니다.
기본적으로 첫 번째 예에서는 다음과 같은 일이 발생합니다.
\def\iterate{Hybridorbital#Beispiele}
오류가 발생합니다.
! Illegal parameter number in definition of \iterate.
<to be read again>
B
l.4 \def\iterate{Hybridorbital#B
beamer
다음 예에서는 을 스캔하는 동안 문제가 발생하지 frame
않고 의 인수를 잡을 때 문제가 발생한다는 점을 제외하면 동일한 문제를 보여줍니다 \only
. 경험상, 축어적 명령을 다른 명령에 대한 인수로 사용하지 마십시오.
이 문제를 해결하려면 #
. 문서에 따르면 다음과 \href
같습니다.
따라서 이것은 작동합니다( \#
"특수" 문자가 아니기 때문에 #
).
\documentclass{beamer}
\usepackage{hyperref}
\begin{document}
\begin{frame}
\only<1>{\href{http://de.wikipedia.org/wiki/Hybridorbital\#Beispiele}{Wiki}}
\end{frame}
\end{document}