本站发布说明 Q&A

For Contributors

Posted by Yifei on June 16, 2022

基本问题

Q: 预设的读者有哪些?

A: 对物理感兴趣的本科生、研究生和科研工作者.

Q: 我可以写什么样的内容? 举个例子?

A: 只要是认真严肃的内容都可以发表. 例如

  • 对基本概念的理解和探讨, “路径积分如何实现算符的作用顺序? “
  • 对有趣工作的推荐, “我觉得…这个工作提出概念很有意思”
  • 对物理有关新闻/人物的讨论, “Witten 最近退休了, 我曾读到他的一个采访…”
  • 对自己工作的背景介绍. “我最近写了一个文章, 是因为思考…的时候想到了…”

Q: 发表短文的方法

A: 初次发表需向 quantumobserver.iastu@gmail.com 申请将其 GitHub 账号加入项目合作者名单. 然后在 \_posts 目录中建立 yyyy-mm-dd-title.md 的文件, 文件头应为

1
2
3
4
5
6
7
8
9
10
11
12
13
---
layout: post
title: "This is title"
subtitle: "This is subtitle"
author: "Your Name"
header-img: "img/thisfilename/head.jpg" # if you have a header image. or if you want to have a text style head, see the next line
# header-style: text 
header-mask: 0.4
mathjax: true # if you have equations in your article
tags:
  - tag1
  - tag2
---

正文则使用正常 markdown 语法书写即可.

风格建议

标点符号和空格

英文标点符号参照一般规范. 在公式较多的或中英文混排内容较多的中文文档中, 建议使用半角标点, 且标点后加空格.

在中英混排的句子中, 为了与英文单词之间加空格的习惯保持一致, 建议在英文单词与中文之间也加空格.

中文文段中的行内公式建议与英文中一致, 两边加空格.

上述标点和空格的风格建议, 简而言之即: 将连续的汉字串看做一个英文单词, 其他与英文习惯相同.

例如, 下列文段看起来会比较拥挤且标点风格不一致:

牛顿(Isaac Newton)提出了力学的基本定律。牛顿第二定律给出$F=ma$.牛顿的经典力学基于绝对时空观,相对论则将时空统一到了Minkowski空间中。

更好看的写法为

牛顿 (Isaac Newton) 提出了力学的基本定律. 牛顿第二定律给出 $F=ma$. 牛顿的经典力学基于绝对时空观, 相对论则将时空统一到了 Minkowski 空间中.

分段和行间公式

因为不必考虑翻页或节约纸张的问题, 网页中一般默认用段间空行而非首行缩进的方式来区分段落, 这也是本站 (也是大部分网页, 包括维基百科) 采用的分段方式. 基于这种分段方式, 我们不建议以行间公式作为一段的结尾, 因为这将和段中的行间公式没有视觉上的差异.

上述建议所基于的更直接的原因是, markdown 语言对行间公式的处理中, 公式前的文字、公式、公式后的文字分别是三个 html 的段落. 这也是我们不设置首行缩进的原因: 如果设置了首行缩进, 所有行间公式包括行间公式之后的文字都会缩进, 展示成新的一段, 这样就无法实现更常见的行间公式位于段中的效果.

基本语法展示

数学公式

薛定谔方程

\[\begin{equation} \mathrm{i}\hbar\frac{\partial }{\partial t}\psi=\hat{H}\psi \label{eq: schrodinger} \end{equation}\]

给出了波函数 $\psi\left(x,t\right)$ 在哈密顿量 $\hat{H}$ 下的时间演化. 不编号的公式例如

\[\partial_\mu F^{\mu\nu}=J^\nu.\]

可以引用公式 $\eqref{eq: schrodinger}$. 实现方式见 md 文件.

包含数学公式的文章, 需在文件头部开启 mathjax 功能

1
mathjax: true

出于页面渲染速度的考虑, 我们并未默认在所有页面开启此功能.

具体实现上, 行内公式通过 $inline equation$ 实现, 与 LaTeX 相同; 行间公式不编号的实现方式为

1
$$ display equation $$

编号的实现方式为

1
2
3
$$ \begin{equation} 
display equation
\end{equation} $$

代码块

虽然从本站的目的来看, 直接放代码似乎不太可能会用到, 但是该功能可以很方便地实现. 例如行内可以实现等款字体显示代码 sudo -rm rf /1. 也可在行间显示代码并实现依赖于语言的高亮. 例如指定语言为 python 的代码块效果如下

1
2
3
4
5
6
7
8
9
import numpy as np

print('hello, world!')

#include<iostream>
using namespace std
int main(){
  cout << "hello, world!" << endl;
}

而指定语言为 c++ 的代码块效果如下

1
2
3
4
5
6
7
8
9
import numpy as np

print('hello, world!')

#include<iostream>
using namespace std
int main(){
  cout << "hello, world!" << endl;
}

表格

本站内容包括

序号 内容
1 科普
2 评论
3 学习建议

高级配置

本地预览配置

进行本地预览则需配置 Jekyll 环境.

Mac 上环境配置需要注意使用 Homebrew 下载新的 ruby, 具体方法见这篇文章.

Windows 系统中的配置可参考文档 Jekyll Docs. 在 Downloads (rubyinstaller.org) 安装 Ruby+Devkit. 运行安装文件将其安装到 C:/. 运行

1
gem install jekyll bundler

配置好后进入本地 GitHub 仓库进行初次部署. 使用如下命令预览

1
bundle exec jekyll server

可能会报错

1
cannot load such file -- webrick

此时运行 bundle add webrick 安装. 再次尝试预览, 一般可以成功.

环境配置好后, 可通过与不进行本地预览的方法一致的方式在 \_posts 目录中建立 yyyy-mm-dd-title.md 的文件, 随后运行

1
bundle exec jekyll server

预览即可. 预览过程中, 浏览器中内容可即时刷新. 此时已生成对应文件. 因此直接 add - commit - push 即可完成部署.

注释

  1. 首先, 不要尝试运行这段代码; 其次, 我们在这里展示了脚注的功能.