
Следующий код работает с texlive 2021, но больше не работает с texlive 2022.
% !TeX program = lualatex
\documentclass{article}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage[inline]{asymptote}
\begin{document}
Alors?
\begin{asydef}
texpreamble("\usepackage[math-style=french,bold-style=ISO]{fourier-otf}");
texpreamble("\setmainfont[Scale=0.72]{Verdana}");
settings.tex="lualatex";
\end{asydef}
\begin{center}
\begin{asy}
import three;
unitsize(1cm);
//draw('en 2D : $A$ et A',(0,0)--(10,0));
draw('en 3D : $B$ et B',(0,0,0)--(10,0,0));
\end{asy}
\end{center}
\end{document}
Никаких проблем в 2D, но в 3D больше не генерирует PDF должным образом, рисование в PDF и текст только на _ps с asy -f pdf essai-1.asy
ИЗМЕНЕНО после комментария. Операционная система 64 бит, процессор x64 Windows 10 Famille
Код сгенерирован как обычно
if(!settings.multipleView) settings.batchView=false;
settings.tex="pdflatex";
settings.inlinetex=true;
deletepreamble();
defaultfilename="essai-1";
if(settings.render < 0) settings.render=4;
settings.outformat="";
settings.inlineimage=true;
settings.embed=true;
settings.toolbar=false;
viewportmargin=(2,2);
texpreamble("\usepackage[math-style=french,bold-style=ISO]{fourier-otf}");
texpreamble("\setmainfont[Scale=0.72]{Verdana}");
settings.tex="lualatex";
import three;
unitsize(1cm);
//draw('en 2D : $A$ et A',(0,0)--(10,0));
draw('en 3D : $B$ et B',(0,0,0)--(10,0,0));
Файлы, созданные
решение1
Я скачал TeXLive 2022.
/usr/local/texlive/2022/bin/x86_64-linux/asy -f pdf
работает отлично, где test.asy содержит строки
import three;
unitsize(1cm);
draw('en 3D : $B$ et B',(0,0,0)--(10,0,0));
Пожалуйста, проверьте, что ваша версия asy была скомпилирована с поддержкой 3D, используя asy --version
. Версия x86_64-linux возвращает
Asymptote version 2.79 [(C) 2004 Andy Hammerlindl, John C. Bowman, Tom Prince]
ENABLED OPTIONS:
V3D 3D vector graphics output
WebGL 3D HTML rendering
OpenGL 3D OpenGL rendering
SSBO GLSL shader storage buffer objects
XDR External Data Representation (portable binary file format for V3D)
Readline Interactive history and editing
GC Boehm garbage collector
threads Render OpenGL in separate thread
DISABLED OPTIONS:
GSL GNU Scientific Library (special functions)
FFTW3 Fast Fourier transforms
CURL URL support
LSP Language Server Protocol
Sigsegv Distinguish stack overflows from segmentation faults
решение2
Может быть, мне не стоит открывать новый вопрос. Стоит ли?
Давайте посмотрим на файл test.asy Джона Боумена. Если я добавлю первую строку:
settings.tex="latex";
import three;
unitsize(1cm);
draw('en 3D : $B$ et B',(0,0,0)--(10,0,0));
тогда asy -kf pdf test.asy работает (test.pdf содержит строку и текст) и test_.tex -
\documentclass[12pt]{article}
\newbox\ASYbox
\newdimen\ASYdimen
\def\ASYprefix{}
\long\def\ASYbase#1#2{\leavevmode\setbox\ASYbox=\hbox{#1}%\ASYdimen=\ht\ASYbox%
\setbox\ASYbox=\hbox{#2}\lower\ASYdimen\box\ASYbox}
\pagestyle{empty}
\textheight=2048pt
\textwidth=2048pt
\begin{document}
\makeatletter%
\let\ASYencoding\f@encoding%
\let\ASYfamily\f@family%
\let\ASYseries\f@series%
\let\ASYshape\f@shape%
\makeatother%
\fontsize{12.000000}{14.400000}\selectfont%
\usefont{\ASYencoding}{\ASYfamily}{\ASYseries}{\ASYshape}%
\special{ps:
/ASYx {( ) print ASYX sub 12 string cvs print} bind def
/ASYy {( ) print ASYY sub 12 string cvs print} bind def
/ASY1 true def
/show {ASY1 {/ASYX currentpoint pop def /ASYY currentpoint exch pop def /ASY1 false def} if currentpoint newpath moveto false charpath {(M) print ASYy ASYx} {(L) print ASYy ASYx} {(C) print ASYy ASYx ASYy ASYx ASYy ASYx} {(c) print} pathforall} bind def /V {ASY1 {/ASYX currentpoint pop def /ASYY currentpoint exch pop def ASY1 false def} if Ry neg Rx 4 copy 4 2 roll 2 copy 6 2 roll 2 copy (M) print ASYy ASYx (L) print ASYy add ASYx (L) print add ASYy add ASYx (L) print add ASYy ASYx (c) print} bind def}
en 3D : $B$ et B\ %
\end{document}
То же самое, если я заменю «latex» на «pdflatex».
Если я заменю «латекс» на «кселатекс»,
settings.tex="xelatex";
то asy -kf pdf test.asy не работает (только строка, без текста) и text_.tex
\documentclass[12pt]{article}
\newbox\ASYbox
\newdimen\ASYdimen
\def\ASYprefix{}
\long\def\ASYbase#1#2{\leavevmode\setbox\ASYbox=\hbox{#1}%\ASYdimen=\ht\ASYbox%
\setbox\ASYbox=\hbox{#2}\lower\ASYdimen\box\ASYbox}
\pagestyle{empty}
\textheight=2048pt
\textwidth=2048pt
\begin{document}
\makeatletter%
\let\ASYencoding\f@encoding%
\let\ASYfamily\f@family%
\let\ASYseries\f@series%
\let\ASYshape\f@shape%
\makeatother%
\fontsize{12.000000}{14.400000}\selectfont%
\usefont{\ASYencoding}{\ASYfamily}{\ASYseries}{\ASYshape}%
en 3D : $B$ et B\ %
\end{document}
Я полагаю, что у нас проблема...
P.S.: Manjaro Linux, Asymptote 2.79, texlive 2022.