:Nopt/설명문서

이 틀은 {{nop}}의 버전입니다. 이 틀은 기본적으로 HTML 주석과 새 행을 삽입해 실제 내용(표 문법)이 강제로 다음 줄로 넘어가게끔 하는 원리를 이용합니다.

사용법 편집

{{nopt}}

  1. 앞쪽 페이지의 꼬리글 맨 앞에 부착하고,
  2. 뒤쪽 페이지의 '본문' 맨 앞에 부착합니다.

세 페이지 이상일 경우 중간의 페이지에는 두 경우 모두를 적용하면 됩니다.

앞쪽 페이지에서는 틀이 |}이 문서에 포함되는 것을 막으며, 뒤쪽 페이지에서는 |}, |-, | 등 표 요소가 포함되는 것을 막습니다.

기술적 설명 편집

미디어위키의 표 기능과 ProofreadPage (교정 확장 프로그램)의 끼워넣기 기능은 서로 잘 돌아가지 않습니다. 이는 교정 프로그램에서는 문서 간의 연결부를 매끄럽게 만들기 위해 미디어위키 표준을 준수하지 않기 때문입니다.

이러한 현상이 발생하는 대표적인 곳은, 페이지 이름공간 내 본문과 꼬리글 사이와, 일반 이름공간으로 끼워넣어졌을 때 두 페이지 사이입니다.

본문과 꼬리글 사이 편집

페이지 문서 하나에는 머리글, 본문, 꼬리글이 있습니다. 이 중 머리글과 꼬리글은 일반 이름공간으로 끼워넣어지는 현상을 막기 위해 <noinclude>…</noinclude>로 감싸져 있는 형태로써 한 문서에 함께 저장됩니다. 하지만 ProofreadPage는 편집 상의 편의를 위해 세 부분을 따로 나눠 각각의 편집창으로 띄우는데, 이로 인해 사용자에게 문서를 표시할 때 미디어위키에서는 세 부분을 합치며 본문 맨 뒤의 공백과 꼬리글 맨 앞의 공백을 없애, 뒤쪽 내용이 앞으로 붙는 것으로 처리합니다. 대부분의 경우 이렇게 해도 문제가 없습니다.

하지만 여러 페이지에 걸치는 표를 작성할 때는 밑처럼 작성해야 합니다.

{|
|-
| 1행 1열 || 1행 2열
|-
| 2행 1열 || 2행 2열
<noinclude>← 꼬리글의 시작 지점
|}
</noinclude>

이 코드를 미디어위키에서 처리하면 다음과 같이 변화합니다.

{|
|-
| 1행 1열 || 1행 2열
|-
| 2행 1열 || 2행 2열<noinclude>|}</noinclude>

여기에서 표 문법은 새 행에 있어야만 작동하기 때문에, 실질적으로 다음 표처럼 표시됩니다.

1행 1열 1행 2열
2행 1열 2행 2열|}

이 문제를 우회하기 위해서 다음과 같이 {{nopt}}를 사용하면 됩니다.

{|
|-
| 1행 1열 || 1행 2열
|-
| 2행 1열 || 2행 2열
<noinclude>← 꼬리글의 시작 지점
{{nopt}}
|}
</noinclude>

{{nopt}}는 보이지 않는 HTML 주석과 새 행을 하나 삽입함으로서, 결합 후에도 다음과 같은 결과가 나오게끔 해 줍니다.

{|
|-
| 1행 1열 || 1행 2열
|-
| 2행 1열 || 2행 2열<noinclude><!-- nopt -->
|}</noinclude>

HTML 주석은 미디어위키에서 제거하지 않기 때문에, 표 문법이 새 행에 있게 되어, 평소처럼 작동합니다. 표시 결과는 다음과 같습니다.

1행 1열 1행 2열
2행 1열 2행 2열

여러 페이지 사이 편집

표가 여러 페이지에 걸쳐있을 때는 첫 번째 페이지의 본문에서 표를 열고({|), 첫 번째 페이지의 꼬리글에서 표를 닫아(|}), 페이지 이름공간에서 제대로 표시되게끔 한 다음, 두 번째 페이지의 머리글에서 표를 열고({|), 중간에 여러 페이지가 있다면 계속 반복한 후, 마지막 페이지의 본문에서 표를 닫아야(|})합니다. 이 페이지가 함께 일반 이름공간으로 끼워넣어지면 표가 하나로 연결되어 표시됩니다.

ProofreadPage의 끼워넣기 기능은 표가 아닌 내용('산문')이 중점이기 때문에, 앞과 뒤에 있는 공백을 제거한 다음 공백 문자 하나로 치환합니다. 띄어쓰기를 사용하는 대부분의 문헌에서는 이 방법이 문제가 없으나, 표에 적용하면 다음과 같은 문제가 생깁니다.

앞 페이지
{|
|-
| 1행 1열 || 1행 2열
<noinclude>← 꼬리글 시작
|}
</noinclude>
뒤 페이지
<noinclude>← 머리글 시작
{|
</noinclude>
|-
| 2행 1열 || 2행 2열
|}

이 문서들이 일반 이름공간으로 끼워넣어지면 코드가 합쳐져 다음과 같이 표시됩니다.

{|
|-
| 1행 1열 || 1행 2열|-
| 2행 1열 || 2행 2열
|}

여기에서 표 문법은 새 행에 있어야만 작동하기 때문에, 실질적으로 다음 표처럼 표시됩니다.

1행 1열 - 2행 1열 2행 2열

이 문제를 우회하기 위해서 다음과 같이 {{nopt}}를 사용하면 됩니다.

앞 페이지
{|
|-
| Row one, cell one || Row one, cell two
<noinclude>← 꼬리글 시작
{{nopt}}
|}
</noinclude>
뒤 페이지
<noinclude>← 머리글 시작
{|
</noinclude>
{{nopt}}
|-
| 1행 1열 || 1행 2열
|}
</noinclude>

{{nopt}}는 보이지 않는 HTML 주석과 새 행을 하나 삽입함으로서, 결합 후에도 다음과 같은 결과가 나오게끔 해 줍니다.

{|
|-
| 1행 1열 || 1행 2열<!-- nopt -->
|-
| 2행 1열 || 2행 2열
|}

HTML 주석은 미디어위키에서 제거하지 않기 때문에, 표 문법이 새 행에 있게 되어, 평소처럼 작동합니다. 표시 결과는 다음과 같습니다.

1행 1열 1행 2열
2행 1열 2행 2열