diff --git a/frontend/src/components/papers/PaperParagraph.vue b/frontend/src/components/papers/PaperParagraph.vue index 26201e2..b640fb1 100644 --- a/frontend/src/components/papers/PaperParagraph.vue +++ b/frontend/src/components/papers/PaperParagraph.vue @@ -5,8 +5,10 @@ * Three things about this component carry the feature's contracts: * * 1. **The structure is never skipped.** A paragraph with no sentences still - * renders its heading and a quiet placeholder, because the paper's shape - * comes from its template and an unwritten paragraph is still a paragraph. + * renders its heading, because the paper's shape comes from its template and + * an unwritten paragraph is still a paragraph — and then prints nothing + * under it. A blank paragraph is blank: some positions in an outline are + * meant to stay empty, and placeholder text would end up in the paper. * 2. **A paragraph is reassembled from its sentences.** They are printed in * `sort` order, and the only thing between them is the server's * `separator_before` — a space for English, nothing for Chinese. This @@ -117,7 +119,13 @@ const anchor = computed(() => `paragraph-${props.paragraph.paper_template_filed_
-(本段暂无内容)
+ @@ -213,13 +221,6 @@ const anchor = computed(() => `paragraph-${props.paragraph.paper_template_filed_ line-height: 0; } -.paragraph-empty { - margin: 8px 0 0; - font-size: 13px; - color: var(--el-text-color-placeholder); - font-style: italic; -} - .cite-tip { max-width: 320px; } diff --git a/frontend/src/views/papers/PaperDetailView.vue b/frontend/src/views/papers/PaperDetailView.vue index fa76a4c..ac8d8b9 100644 --- a/frontend/src/views/papers/PaperDetailView.vue +++ b/frontend/src/views/papers/PaperDetailView.vue @@ -11,8 +11,9 @@ * Three states are visible and none of them is an error: * * * a **written paragraph** — heading, prose, numbered citation markers; - * * an **empty paragraph** — heading and a placeholder, because the structure - * is there before the words are; + * * an **empty paragraph** — its heading and nothing else. Some positions in an + * outline are meant to stay empty, so a blank paragraph is printed blank + * rather than annotated; * * an **unmatched paragraph** (未设定) — content whose position the current * template does not define, kept in order rather than hidden, and recoverable * by editing the paragraph or switching back.