我使用类似这样的方法来嵌入 YouTube 视频:
\documentclass{article}
\usepackage{media9} %pdflatex, latex+dvips+ps2pdf, xelatex
%\usepackage[dvipdfmx]{media9} %latex+dvipdfmx
\begin{document}
\includemedia[
width=0.6\linewidth,height=0.45\linewidth,
activate=pageopen,
flashvars={
modestbranding=1 % no YT logo in control bar
&autohide=1 % controlbar autohide
&showinfo=0 % no title and other info before start
}
]{}{http://www.youtube.com/v/<video id>?rel=0} % Flash file
\end{document}
我想链接到特定时间的视频。通常,时间会作为链接附加到 URL 中#t=144
。这当然会导致编译时出现以下错误:
! You can't use `macro parameter character #' in horizontal mode.
我试图逃避#,\#
但没有成功。
有什么建议吗?
答案1
#
Youtube URL 中的语法是错误的。语法已记录这里。
Youtube 剪辑使用 Flash 变量进行配置。这些变量可以附加到 URL 或添加到flashvars
选项参数中。无论哪种情况,FlashVars 都使用 & 符号分隔&
,如所引用的示例所示。
因此,要在特定时间开始播放剪辑,需要说:
\documentclass{article}
\usepackage{media9} %pdflatex, latex+dvips+ps2pdf, xelatex
%\usepackage[dvipdfmx]{media9} %latex+dvipdfmx
\begin{document}
\includemedia[
width=0.6\linewidth,height=0.45\linewidth,
activate=pageopen,
flashvars={
modestbranding=1 % no YT logo in control bar
&autohide=1 % controlbar autohide
&showinfo=0 % no title and other info before start
&start=144
}
]{}{http://www.youtube.com/v/GZ9e3Dy7obA?rel=0}% Flash file
\end{document}
或者
\documentclass{article}
\usepackage{media9} %pdflatex, latex+dvips+ps2pdf, xelatex
%\usepackage[dvipdfmx]{media9} %latex+dvipdfmx
\begin{document}
\includemedia[
width=0.6\linewidth,height=0.45\linewidth,
activate=pageopen,
flashvars={
modestbranding=1 % no YT logo in control bar
&autohide=1 % controlbar autohide
&showinfo=0 % no title and other info before start
}
]{}{http://www.youtube.com/v/GZ9e3Dy7obA?rel=0&start=144}% Flash file
\end{document}
答案2
首先,您可以更改 catcode 以#
将其像普通字符一样使用:
\documentclass{article}
\usepackage{media9} %pdflatex, latex+dvips+ps2pdf, xelatex
%\usepackage[dvipdfmx]{media9} %latex+dvipdfmx
\begin{document}
{\catcode`\#=12
\includemedia[
width=0.6\linewidth,height=0.45\linewidth,
activate=pageopen,
flashvars={
modestbranding=1 % no YT logo in control bar
&autohide=1 % controlbar autohide
&showinfo=0 % no title and other info before start
}
]{}{http://www.youtube.com/v/<video id>?rel=0#t=144}% Flash file
}
\end{document}
这只是为了回答您关于的问题#
。
但根据https://stackoverflow.com/questions/17379268/youtube-droped-t-start-time-support-in-direct-url-and-embed-videos指定开始时间的语法已经改变。
因此,对于您的应用程序,请使用:
\documentclass{article}
\usepackage{media9} %pdflatex, latex+dvips+ps2pdf, xelatex
%\usepackage[dvipdfmx]{media9} %latex+dvipdfmx
\begin{document}
\includemedia[
width=0.6\linewidth,height=0.45\linewidth,
activate=pageopen,
flashvars={
modestbranding=1 % no YT logo in control bar
&autohide=1 % controlbar autohide
&showinfo=0 % no title and other info before start
}
]{}{http://www.youtube.com/v/<video id>?start=144}% Flash file
\end{document}