AMD Zynqの開発環境をインストール(XQuartzの問題)

XQuartzが黒っぽい

UbuntuにVitis, Vivadoをインストールする。
SSHでX forwardingすると、黒っぽく表示される。また、黒背景とグレー背景(通常の色)がパタパタ切り替わっている。

以下を参考に直した。
github.com

Mac側 ターミナル

$ defaults write org.xquartz.X11 enable_render_extension 0

Ubuntu
~/.bashrc

export _JAVA_OPTIONS='-Dsun.java2d.xrender=false -Dsun.java2d.pmoffscreen=false -Dremote.x11.workaround=false -Dawt.useSystemAAFontSettings=lcd -Dsun.java2d.renderer=sun.java2d.marlin.MarlinRenderingEngine -Djava2d.font.loadFontConf=true'

として、インストーラ(.binファイル)を実行

$ ./FPGAs_AdaptiveSoCs_Unified_2023.2_1013_2256_Lin64.bin

InkscapeでLatexの数式を使う(textext)

Mac版のInkscapeが1.2のため、Textextはtextext-1.8.2を使った
github.com

インストール
以下の記事に従う
textext.github.io

python3 setup.py --inkscape-executable=/Applications/Inkscape.app/Contents/MacOS/inkscape --pdflatex-executable=$(which pdflatex) --lualatex-executable=$(which lualatex) --xelatex-executable=$(which xelatex)

起動

ダイアログに数式を打つ

Editableな数式ではない(編集しようとすると再度打ち直しになる)

Matplotlibで論文用のグラフを作る

#!/usr/bin/env python
# coding: utf-8

import matplotlib.pyplot as plt
import numpy as np

N = 10
x = np.linspace(0, np.pi * 2, N)
y = np.sin(x)
y_2 = np.sin(x-np.pi/10)

plt.style.use('classic')

plt.rcParams['font.family'] = 'Times New Roman' # font familyの設定
plt.rcParams['mathtext.fontset'] = 'stix' # math fontの設定
plt.rcParams["font.size"] = 24 # 全体のフォントサイズが変更されます。
plt.rcParams['xtick.labelsize'] = 24 # 軸だけ変更されます。
plt.rcParams['ytick.labelsize'] = 24 # 軸だけ変更されます
plt.rcParams['xtick.direction'] = 'in' # x axis in
plt.rcParams['ytick.direction'] = 'in' # y axis in 
plt.rcParams['axes.linewidth'] = 1.0 # axis line width
plt.rcParams['axes.grid'] = True# make grid
plt.rcParams['xtick.direction'] = 'in'
plt.rcParams['ytick.direction'] = 'in'
# plt.rcParams["legend.fancybox"] = False # 丸角
# plt.rcParams["legend.framealpha"] = 1 # 透明度の指定、0で塗りつぶしなし
plt.rcParams["legend.edgecolor"] = 'white' # edgeの色を変更
# plt.rcParams["legend.handlelength"] = 1 # 凡例の線の長さを調節
plt.rcParams["legend.labelspacing"] = .1 # 垂直方向の距離の各凡例の距離
plt.rcParams["legend.handletextpad"] = .1 # 凡例の線と文字の距離の長さ
# plt.rcParams["legend.markerscale"] = 2 # 点がある場合のmarker scale
# plt.rcParams["legend.borderaxespad"] = 0. # 凡例の端とグラフの端を合わせる

fig = plt.figure(figsize=(6.4,4), facecolor=(1,1,1,0), edgecolor=(0,0,0,1))
fig_1 = fig.add_subplot(111)
spines = 2 
fig_1.spines["top"].set_linewidth(spines)
fig_1.spines["left"].set_linewidth(spines)
fig_1.spines["bottom"].set_linewidth(spines)
fig_1.spines["right"].set_linewidth(spines)

fig_1.set_xlabel(r"$A \ \ \ \ {\rm N/mm^2}$")
fig_1.set_ylabel(r"$B \ \ \ \ {\rm m/s^2}$")
fig_1.set_xticks([0, 1, 2, 3, 4, 5, 6])
fig_1.set_yticks([-1, -0.5, 0, 0.5, 1])

fig_1.tick_params(bottom=True, top=False, left=True, right=False)
fig_1.tick_params(axis='x',direction='in', length=10, width=2)
fig_1.tick_params(axis='y',direction='in', length=10, width=2)

fig_1.plot(x, y, 'o-', linewidth=3, markersize=10, markerfacecolor='white', 
           markeredgewidth=2, markeredgecolor='k', color='k', fillstyle='full', label='A')
fig_1.plot(x, y_2, 's--', linewidth=3, markersize=10, markerfacecolor='white', 
           markeredgewidth=2, markeredgecolor='k', color='k', fillstyle='full', label='B')


plt.text(0.62, 0.87, 'WA60N8V', transform = fig_1.transAxes,
        bbox = {'facecolor': 'white', 'alpha': 1, 'pad': 4, 'linewidth': 0})
plt.text(0.62, 0.75, r"$V_s=33.3{\rm m/s}$", transform = fig_1.transAxes,
        bbox = {'facecolor': 'white', 'alpha': 1, 'pad': 4, 'linewidth': 0})
plt.text(0.62, 0.63, r"$d_T = 250{\rm \mu m}$", transform = fig_1.transAxes,
        bbox = {'facecolor': 'white', 'alpha': 1, 'pad': 4, 'linewidth': 0})

plt.annotate(r"$Q=1{\rm L/min}$",
             fontsize=18,
             xy = (3, 0.1),
             xytext = (2.08, -0.65),
             arrowprops = dict(facecolor = 'k', width = 0.4, headwidth = 8),
             backgroundcolor="w")


plt.text(0.6, 0.3, '3', fontsize=20, transform = fig_1.transAxes,
        bbox = {'facecolor': 'white', 'alpha': 1, 'pad': 1, 'linewidth': 0})
# plt.annotate('B',
#              xy = (3.9, -0.4),
#              xytext = (4.6, -0.1),
#              arrowprops = dict(facecolor = 'k', width = 0.4, headwidth = 8),
#              backgroundcolor="w")

plt.axvline(x=0.5, color='k', linestyle='--', linewidth=1)
plt.axvline(x=2.0, color='k', linestyle='--', linewidth=1)
fig_1.fill_between([0.5, 2.0],[1, 1],[-1,-1],color='grey', 
                   alpha=0.1, transform=fig_1.get_xaxis_transform())
# 太い矢印
plt.annotate(text='', xy=(0.5,-0.5), xytext=(2,-0.5), 
             arrowprops=dict(arrowstyle='<|-|>', color='k'))
# 細い矢印
#plt.annotate(text='', xy=(0.5,-0.5), xytext=(2,-0.5), 
#             arrowprops=dict(arrowstyle='<->', color='k'))
plt.text(0.1, 0.3, 'Warm-up', fontsize=18, transform = fig_1.transAxes,
        bbox = {'facecolor': 'grey', 'alpha': 0, 'pad': 4, 'linewidth': 0})
# ハッチング
from matplotlib.patches import Rectangle
fig_1.add_patch(Rectangle((0.5, 0.0), 1.5, 1, fill=False, hatch='//'))

fig_1.grid(False)
plt.savefig('fig.pdf',  bbox_inches='tight')