如何在论文中画出漂亮的插图?

[复制链接]
" I1 ]/ ^7 `5 v/ ?# v( T( u2 i
+ g0 i1 o/ D- s

DevWeekly收集整理每周优质开发者内容,包括开源项目资源工具技术文章等方面。

J; O$ T7 A) I, R" c/ _, d
' f% e* @% G. B& u+ M
# R: ]; q, _# C2 E+ W

每周五定期发布,同步更新到知乎:Jackpop公众号:平凡而诗意

+ i/ Y. l: C) t6 P
8 u6 R) Q% q$ f. \6 [
% S$ }0 B8 o" `3 a

欢迎大家投稿,提交issue,推荐或者自荐开源项目/资源/工具/文章~

! F3 {( _9 Z1 V) r2 ?- i& c
) `% a/ y3 Y' C1 k |
: Z7 H# P" ?4 T, b

订阅方式

/ k" D2 O5 r! @. U3 I
/ k- W' w0 t' V% x/ F
; h8 w: |$ z- E$ w9 Y

Star并收藏项目DevWeekly

0 E! c" V$ X; |3 g5 U3 Z, w

关注知乎:Jackpop

) a9 a( u* g. ^

关注并星标公众号:平凡而诗意

2 Z/ |& ]' V2 N R$ G7 U" h( j
( K) F% x% \6 \2 ]- i
, _6 `$ \9 W3 ?2 l& f

进阶技术,优质资源,实用工具,欢迎关注公众号平凡而诗意

& h% @, v' Q) Z" T0 x* k% i. a
b S, s5 ?0 P* `9 j
2 h! C: X+ S" o0 B

开源项目

q. \* |* |' [; a) i& ~9 Z+ m; s
7 |& g% v+ g8 }* h6 r3 V
( _2 d6 G1 x1 S* B

1. jetfuel

6 a t- o4 n- c4 c7 F& K
+ a! q8 S' a4 I1 k6 z
& h$ M3 l- _* ]

PythonStar:104

) _) ?' M9 _5 z$ T" n& Y3 I. N
5 k4 P. w6 ~8 H/ Q* _
3 a. X) ^/ T8 m
2 g1 T, @( t" z: K6 R5 M
; x7 d' X3 v7 B4 k- k2 Z
* F- P( O% ~6 n8 R7 N& N% R5 u

Jetfuel是一种性能分析器,可以监视生产Python的性能,并使结果易于聚合和搜索。

6 n A# }# z7 t+ ^
/ f2 O8 F) e! i& k" B
% K/ C4 {' x, b) x0 Y( d' b

2. LovelyPlots

8 ?7 c( S D! ^8 \
U" p. h1 q0 o& r* w- _( o
. X$ Y. ]- {$ \& v1 H& |

PythonStar:560

& r1 v0 u! b1 a: ^1 u9 r
$ T, p" q v/ M+ W
9 m! n+ {9 A: S& B
% n* q2 S' m3 U1 D9 E S
# B4 b% T3 d) s5 |
. H' z6 [$ C3 n0 H

LovelyPlots是一个包含matplotlib样式表的存储库,可以很好地格式化科学论文,论文和演示文稿的图形,同时使它们在Adobe Illustrator中完全可编辑。

+ L5 s" Q+ }+ ?" K/ _" B4 d. C
+ K {. q+ J- G& _0 W# v0 H8 n
- P; o' }! x C# V. @

此外,.svg导出选项允许图形自动调整其字体以适应文档的字体。例如,.tex文件中导入.svg插图将使用.tex文件中使用的文本字体自动生成。

6 K D, z* z. i; i9 y+ [- h
2 Y0 V, @$ l6 l. E
) b5 q% `& D- n7 o1 g

3. tsuki

/ T$ v: D/ y4 P' }" c9 Y
3 ~7 G0 s, W/ b$ f
- |+ q$ G; d* s9 ^& {! Q* O

PythonStar:58

P& N; [# H. B( C# A) }: m7 H
. k. n {8 ?' }( m' a D: W2 [
! U3 J5 E, i# o) H! e$ C

Tsuki是一个极简主义的开源社交媒体平台,使用Python构建。

& i1 o5 [/ A& F) \
7 {4 W" o# y& d! [) ]# p: t
7 A, J$ c* X: e* P8 S# k

4. Xtra

; M! x+ ]% L! D- R
# P7 S* v& k, v% s7 O; V% w
7 u6 y6 v' _& ^$ n2 ]% ^: W6 Q

KotlinStar:350

* T3 d, {- f- @
, C+ l) h, b. D8 \) @ A" c5 Y- K
' r m4 j9 A: q5 i

Xtra是一款适用于安卓的Twitch播放器和浏览器。

; W+ n$ v5 `0 e v
( w2 I* g# Y2 x- p4 ]
! v6 z# {* l" o6 u8 O1 }; h0 l

5. sbctl

% ^; }& r2 e" v* C& j/ B
" @2 g0 P5 Y- |' Y, h% i
* i7 P& A; ]" X

GoStar:555

+ W2 A" `* d2 r6 G: A
2 o, c; v5 O& ^6 u0 W
$ Y. [! `! W; ^4 F3 F6 t4 _ h
; r2 C$ w' ~+ o1 l% D( L
) U4 X `" q9 W- \" X2 g
. N1 k- n0 Z, J- q# `0 I

sbctl 旨在成为一个用户友好的安全启动密钥管理器,能够设置安全启动,提供密钥管理功能,并跟踪需要在启动链中签名的文件。

& `9 ~- B1 G+ L' E* [
. L7 h" w* t6 O" H5 @9 Q2 X7 [
, U H @+ Z9 I' ^# Z7 H

6. cli

8 X! C% z9 R9 M3 R' D
6 [7 O/ c2 c2 B) r5 u8 ?. e( A# m& @
* P) [: x% P1 ]* j

GoStar:983

& b: H. }- s/ o
5 D* N% R5 v, l$ o" \
- e$ k. J, g3 p4 G* t5 ~, q

用于 IPinfo API 的官方命令行工具。

. j( S( X" U `* X$ M
9 C2 c B5 Q; v6 _. ]* n
3 S/ X# |5 C5 v1 E# S8 d3 r

7. thisisthewall

1 d+ x3 I9 s+ v J! t' H
7 {! D2 ^- f0 t! m4 w9 ] A1 y9 A$ o/ U
- P8 C6 X) c* @4 q* u5 Y8 s

JavaScriptStar:14

5 \8 L% z. r/ g
. @8 H6 |, m7 N4 z3 f; P
6 z% }+ N" Q$ A1 z" g

使用此API,你可以在任何设备的屏幕上获取壁纸的图片。

6 d/ @! R0 ^8 E* N* g
# G' Y% Q3 `( U, W# s2 t! e+ I# o! t
. E1 u l# X0 ^, e, o

8. magic-regexp

+ e6 m; K4 _. @( K
' v. g# z* d) q+ }: v+ k
. B3 C, t$ r0 ?4 s \# f

TypeScriptStar:1.4k

' i' L+ f& e, }" e# f v8 g" I
5 R: [8 P3 d1 u; k# J
: h$ a4 X; X c4 Q1 Z r4 p$ q8 I, D

一种经过编译、类型安全、可读的正则表达式替代方案。

0 k' E! E. f! b( m
; u6 B# @$ g: ~ m$ \3 q
- e* [& T2 K+ T8 H4 l

9. frawk

: l' m" {2 ~9 P3 Z( a1 t$ r7 G n( z
7 t/ B* v* q! j1 u* ?! X6 g
. @' a. c1 G: H( x

RustStar:1k

( L$ ? }( e! M
# L' T4 s& t, J: U
T, Q- _* f) F4 f

frawk是一种小型编程语言,用于编写处理文本数据的短程序。

4 E0 X8 |/ a- E4 s6 q: X
, H: G9 {# K. l. T* ?7 K5 q2 e. G
9 b' F( D6 Y1 A6 k

它类似于AWK语言,许多常见的Awk程序在传递给fruk时会产生等效的输出。如果你希望脚本像标准 Awk 字段一样处理转义的 CSV/TSV,或者希望脚本执行得更快,那么frawk会表现更好。

3 L1 v1 |% d3 K
$ E/ n2 ]7 r( b. ^8 L
6 M* ?1 ?+ H Y: Z; `7 v; J" o

10. Vale

0 E$ S1 q- n7 H# t% s( u
5 f* d5 I0 z- t, | R& G; E4 X5 H
* w# A" _" `* I2 w

ScalaStar:1k

! I, { _. Y/ J) d
# \6 [. r9 t; h9 e0 a
+ n/ m0 w' [6 _% J7 o" A! f

Vale是一种编程语言,其目标不仅是快速和内存安全,而且简单灵活。

9 H2 _# ~( w6 n3 }4 O; J
+ V1 r! R# W7 q8 N# L
) J. E: H6 S# D# O, k! D

资源工具

) Z" G: h% P4 u. G& B
- B* ]! w, P* x# u
- Q% t; t5 ^/ G& Y

1. GitExplorer

) T5 ]8 \; g" Q6 j2 ?" z3 y
, p4 H+ {. C- \- R& ^$ d. b
4 y* s5 u3 _7 M" u7 g
3 |' K: B: s* ~* E+ i- L
( {" ?* n8 k% ?0 k8 f% X3 B
1 S: X9 P) d: D- O7 D: v; q

一款Git命令浏览器,只需要选择想执行的动作,它就可以快速生成命令。

9 ~) I. V& B0 H! x
* F! Y% F7 Y- S: e% o K- I$ Z
; r6 ^: T7 Z# `; b% D2 B9 T9 p

2. Bookworm

+ {( N9 j. T# t. A/ [5 ]: r4 r
6 x( N b1 o+ ]) A3 x
1 h5 X; B! m! }8 P
! I! h( q' k( x y5 T
9 l" Y+ ~) @! ?( |. {; ~, p
: D, S X: W- G7 j) W

适用于 Linux 的简单而功能丰富的电子书阅读器

% ]* s) p' H p+ R
! l) I5 P# e" g9 z/ K8 \
0 ?% S8 e. z2 x6 w

3. gitlogs

' J! w V: R4 U9 ?- {6 B
* h) M' _1 i) c5 K- M8 }( I" B
$ ^" M) H& G5 B! a

能够及时准确的发现最新优秀的Github项目。

, H) B. w+ r* U0 L' n" i5 y
: t5 k# p- v# [$ h
4 Y f3 F% r0 c. {9 P

4. readme.so

0 q+ _; t3 p3 U
0 f# K7 [* B* N2 [
' w! O4 @. F$ S m
* J5 F/ w Y* J! H; A5 [! |
, \6 t8 F; m) S% M7 Q" E6 M( D
# X7 c" i" [# U

readme是Github开源项目中非常简单的文件,那么为什么有的readme写的那么精美?

3 c& P |+ k" X8 |
0 x6 A+ j, P' ^5 J* Y
% Y8 z, r4 t; M* L- j4 u

这款项目就可以通过简单的选择快速生成美观的readme。

0 e( g+ v* |$ ]* H! ^8 d
, C, R9 `. F3 c7 k0 }4 [; v8 i
1 O0 o3 U8 A3 e& ^ f+ B7 \

5. learngitbranching

: \5 r7 b; K/ c7 c+ L) B% N
1 U) o! D3 ` `) i) s
4 S; k7 v0 A1 @- @' P
" T7 x" T) z6 g) j& \% O
, f- w8 X( P1 |, g1 }
4 h3 A$ g7 X+ |1 l

一款在线的Git分支学习工具,通过这款工具可以可视化的解释常用命令,更有助于理解。

/ r5 G# x2 n+ |' L
; N! Q/ A0 q& ^! x' a X/ K( v
/ R% r2 c( [9 i

技术文章

; A3 b7 R. x9 h3 d( z- L5 z- ?
; L- X5 E4 x' W1 Q2 _
. W m* O( i a

1. 了解Linux路由

4 x- t9 H2 `& F. S: y- f, j2 c; w
! W# n- Q+ `3 J2 b# y# V$ ~) ^4 r
, y, s7 E: E0 z, L2 q

过去只需在我的Linux终端中输入路route(或者后来的ir route),就可以准确了解我的所有路由。

, {" b4 ^9 m0 R% u
/ @; O2 X" M3 N
) {0 U- M8 a' C. C7 V1 K7 C& d* p

现在情况已不再如此。

% c G8 R) r$ t* j, A
9 j0 t: q" t3 |5 ~( ^+ A2 [* f
; x3 B7 ^0 P/ s" E. l; N! j

例如,当前使用的机器使用wg-quick脚本通过有线卫士协议连接到Mullvad虚拟接口。我很确定我的所有流量都通过Mullvad,但却无法从我的ip路由输出中看出这一点。

7 y* ?+ k& i2 p& S0 n8 k* V
4 Z2 N! J$ u1 G6 H
3 g# M7 }( x T# O* W

默认路由似乎通过我的物理网络接口而不是虚拟接口定向所有流量。

$ ^& n! q, R* j3 R6 }
, ]" i1 W5 R& n: F9 b" \
1 I$ r: k C3 S0 n* f+ K+ q

通过这篇文章就来了解一下Linux路由是如何工作的。

! o& e4 f4 J9 p$ q6 D% N) _
$ p( J2 M. L8 v! f: Q \. ?; _& l" r
: P$ E7 `8 `! n( w5 p j8 W! U

2. 一个专业程序员的10年

5 x' L+ y, P' v9 w9 v
$ z$ ~1 ]4 a. A3 @; R" n
5 r5 x; G! b( L* l# |

10年,对于一名程序员来说算是比较漫长的,在这10年中项目、工作经历了很多,也感悟了很多。

* G) q2 t( B+ I
8 i7 ]& }0 W% f+ d# N0 \
6 s$ ] C5 U; \" B# f K/ i8 I

作者是一名从事10年编程的程序员,从工作、技术等不同方面总结了自己的感悟,很有借鉴意义。

; z7 o* z; N6 @2 d( q2 h
! A+ o( M0 L/ d, X6 s
! b+ L- S: u% T4 B, B3 l4 H
举报/反馈
" H9 i7 X8 \ r% k
! Z$ V: s$ l5 z( h+ r- z" b4 W8 n1 P; r, R; u ' A/ K" ^5 p6 K8 P3 i $ V \ I. ^* @9 Q% g7 \ : d( d) X, V6 p% q6 a' a1 y

相关帖子

全部回帖
暂无回帖,快来参与回复吧
懒得打字?点击右侧快捷回复 【吾爱海洋论坛发文有奖】
您需要登录后才可以回帖 登录 | 立即注册
新恒商标
活跃在2025-1-26
快速回复 返回顶部 返回列表