
是否有一个软件包可以提供\place
您计算机的使用位置?
答案1
您可以使用 Lua 获取您当前的 IP 地址(在您的 NATed 网络内)。因此我 ping Google 的 DNS 服务器并让接口向我报告绑定的地址。
% arara: lualatex
\documentclass{article}
\newcommand\place{\directlua{
% https://stackoverflow.com/questions/7046291
require "socket"
local s = socket.udp()
s:setpeername("8.8.8.8",53)
local ip, _ = s:getsockname()
tex.sprint(ip)
}}
\begin{document}
\place
\end{document}
有一个 e-TeX 扩展,它允许你使用管道来输入外部程序的输出。你可以像下面这样使用它
\input{"| <program>"}
要使此功能正常工作,必须启用 Shell 转义。要获取文件排版的机器名称,我们执行hostname
(GNU/Linux 和 Mac OS X)。
% arara: pdflatex: {shell: yes}
\documentclass{article}
\newcommand\place{\input{"| hostname"}}
\begin{document}
\place
\end{document}