Contents

# @@@조건 지정

조건은 문서에서 필드와 구역 표시를 제어하기 위해 사용할 수 있는 논리식입니다. 다음 예는 필드에 적용할 수 있고 구역에도 적용할 수 있습니다.

다음 필드 유형에 대한 조건을 지정할 수 있습니다.

1. 조건부 텍스트: 조건이 참이면 텍스트 A를 표시하고 조건이 거짓이면 텍스트 B를 표시합니다.

2. 숨겨진 텍스트: 조건이 참이면 필드 내용을 숨깁니다.

3. 숨겨진 단락: 조건이 참이면 단락을 숨깁니다.

4. 임의의 레코드 및 다음 레코드: 데이터베이스 레코드에 대한 액세스를 제어합니다.

조건을 지정할 수 있는 가장 간단한 방법은 다음 값을 사용하여 조건 상자에 직접 논리식을 입력하는 것입니다.

TRUE | 조건이 항상 충족되었습니다. 대신 0과 다른 임의의 값을 조건 텍스트로 입력할 수도 있습니다.
FALSE | 조건이 충족되지 않았습니다. 대신 0 값을 지정할 수 있습니다.

조건 상자를 비어두면 조건이 충족되지 않은 것으로 해석됩니다.

조건을 지정할 때 같은 요소(수식, 즉 비교 연산자, 수식 및 통계 함수, 숫자 표기 형식, 변수 및 상수 지정 시)를 사용합니다.

조건을 지정할 때 다음 변수 유형을 사용할 수 있습니다.

1. 문서 속성에서 통계를 사용하는 미리 정의된 LibreOffice 변수

2. "변수 설정" 필드로 만들어진 사용자 정의 변수

3. 사용자 정보에 기반한 변수

4. 데이터베이스 필드 내용에 기반한 변수

조건식에서는 페이지, 장 번호 같은 내부 변수를 사용할 수 없습니다.

## 조건과 변수

다음 예에서는 "x"라는 변수를 사용합니다.

x == 1 또는 x EQ 1 | "x" 값이 1이면 조건은 참이 됩니다.
x != 1 또는 x NEQ 1 | "x"가 1이 아닌 경우에만 조건이 참입니다.
sinx == 0 | "x"가 pi의 배수인 경우에만 조건이 참입니다.

문자열에서 비교 연산자를 사용하려면 다음과 같이 피연산자를 큰따옴표로 묶어야 합니다.

x == "ABC" 또는 x EQ "ABC" | 변수 "x"에 "ABC" 문자열이 있는지(참), 없는지(거짓) 검사합니다.
x == "" 또는 x EQ "" 또는 !x 또는 NOT x | 변수 "x"에 빈 문자열이 있는지 검사합니다.

"등호" 비교 연산자의 경우 두 개의 등호(==)로 표현해야 합니다. 예를 들어, 변수 "x"의 값을 1로 지정하면 x==1 같은 조건을 입력할 수 있습니다.

## 사용자 데이터

You can include user data when you define conditions. To change your user data, choose LibreOffice - Preferences Tools - Options - LibreOffice - User data. User data must be entered in the form of strings. You can query the user data with "==" (EQ), "!=" (NEQ), or "!"(NOT).

다음 표는 사용자 정보 변수와 그 의미를 나열합니다.

변수 | 의미
--- | ---
user_firstname | 이름
user_lastname | 성
user_initials | 머리글자
user_company | 회사
user_street | 거리 번지수
user_country | 주
user_zipcode | 우편번호
user_city | 도시
user_title | 제목
user_position | 위치
user_tel_work | 직장 전화번호
user_tel_home | 집 전화번호
user_fax | 팩스 번호
user_email | Email address
user_state | 나라 (LibreOffice의 모든 버전은 아님)

예를 들어, "LM" 같은 특정 이니셜을 갖는 사용자에게 단락, 텍스트 또는 구역을 숨기려면 다음 조건을 입력합니다. user_initials=="LM"

## 조건과 데이터베이스 필드

데이터베이스나 데이터베이스 필드 액세스에 대한 조건을 지정할 수 있습니다. 예를 들어, 조건에서 데이터베이스 필드 내용을 검사하거나 논리식에서 데이터베이스 필드를 사용할 수 있습니다. 다음 표는 조건에서 데이터베이스를 사용하는 몇 가지 예를 더 나열합니다.

예 | 의미
--- | ---
데이터베이스.표.회사 Database.Table.Company NEQ "" Database.Table.Company != "" | COMPANY 필드가 비어 있지 않으면 조건이 참입니다. 첫 번째 예에는 연산자가 필요하지 않습니다.
!Database.Table.Company NOT 데이터베이스.표.회사 Database.Table.Company EQ "" Database.Table.Company =="" | COMPANY 필드가 비어 있는 경우 TRUE를 반환합니다.
Database.Table.Company !="Sun" Database.Table.Company NEQ "Sun" | COMPANY 필드의 현재 입력 항목이 "Sun"이 아닌 경우 TRUE를 반환합니다(느낌표는 불리언 NOT을 의미합니다).
Database.Table.Firstname AND Database.Table.Name | 데이터 레코드가 이름 뿐 아니라 성도 포함하면 참이됩니다.

불리언 Not "!" (NOT)과 비교 연산자 같지 않음 "!=" (NEQ)이 서로 다름에 주의하십시오.

조건에서 데이터베이스 필드를 참조하는 경우 Databasename.Tablename.Fieldname 형식을 사용합니다. 이름 중 하나에 빼기 기호(-) 같은 연산자가 있으면 해당 필드를 각괄호로 묶습니다(예: Databasename.[Table-name].Fieldname). 필드 이름 안에 공백을 사용하지 마십시오.

### 예: 빈 데이터베이스 필드 숨기기

예를 들어 일부 데이터 레코드에서 COMPANY 필드가 비어 있으면 빈 필드를 숨기도록 조건을 만들 수 있습니다.

숨겨진 단락 목록 항목을 선택하고 조건 Addressbook.Addresses.Company EQ ""를 입력합니다.

또는

NOT Addressbook.Addresses.Company를 입력합니다.

COMPANY 데이터베이스 필드가 비어 있으면 조건은 참이며 단락이 숨겨집니다.

To display hidden paragraphs on the screen, choose LibreOffice - Preferences Tools - Options - LibreOffice Writer - View, and clear the Hidden paragraphs check box.

## 필드 명령어의 조건을 위한 예

다음 예에서는 조건부 텍스트 필드를 사용합니다. 이러한 예는 조건에 연결될 수 있는 모든 필드에 적용될 수 있습니다. 조건에 사용된 구문은 숨겨진 텍스트, 숨겨진 단락, 임의의 레코드 또는 다음 레코드 필드에도 사용됩니다.

## 페이지 수에 따라 조건부 텍스트를 표시하려면 다음 작업을 수행합니다.

1. 삽입 - 필드 - 기타를 선택한 다음 기능 탭을 클릭합니다.

2. 유형 목록에서 "조건부 텍스트"를 클릭합니다.

3. 조건 상자에 "페이지 == 1"을 입력합니다.

4. 조건을 충족할 경우 상자에 "한 페이지만 있습니다."를 입력합니다.

5. 기타 상자에는 "여러 페이지가 있습니다."를 입력합니다.

6. 삽입을 누른 다음 닫기를 클릭합니다.

## 사용자 정의 변수에 따라 조건부 텍스트를 표시하려면 다음 작업을 수행합니다.

1. 삽입 - 필드 - 기타를 선택한 다음 변수 탭을 클릭합니다.

2. 유형 상자에서 "변수 설정"을 클릭합니다.

3. 이름 상자에 "Profit"을 입력합니다.

4. 값 상자에 "5000"을 입력합니다.

5. 삽입을 클릭합니다.

6. 기능 탭을 클릭하고 유형 목록에서 "조건부 텍스트"를 클릭합니다.

7. 조건 상자에 "Profit < 5000"을 입력합니다.

8. 조건을 충족할 경우 상자에 "목표가 충족되지 않았습니다."를 입력합니다.

9. 기타 상자에 "목표가 충족되었습니다."를 입력합니다.

10. 삽입을 클릭합니다.

"Profit" 변수 내용을 편집하려면 변수 필드를 더블 클릭합니다.

## 데이터베이스 필드 내용에 따라 조건부 텍스트를 표시하려면 다음 작업을 수행합니다.

이 예의 첫 번째 부분은 문서의 "이름" 및 "성" 필드 사이에 공백을 삽입하고 두 번째 부분은 필드의 내용에 따라 텍스트를 삽입합니다. 이 예를 사용하려면 주소 데이터 원본이 LibreOffice에 등록되어야 합니다.

1. 삽입 - 필드 - 기타를 선택한 다음 데이터베이스 탭을 클릭합니다.

2. 유형 목록에서 "편지 병합 필드"를 클릭합니다.

3. 데이터베이스 선택 상자에서 주소록을 더블 클릭하고 "이름"을 누른 다음 삽입을 클릭합니다. "성"에 대해서도 이 작업을 반복합니다.

4. 문서에서 두 필드 사이에 커서를 두고 공백을 누른 다음 필드 대화 상자로 돌아갑니다.

5. 기능 탭을 누른 다음 유형 목록에서 "조건부 텍스트"를 클릭합니다.

6. 조건 상자에 "Addressbook.addresses.firstname"을 입력합니다.

7. 조건을 충족할 경우 상자에 "공백"을 입력하고 기타 상자는 비워둡니다.

이제 이름 필드 내용에 따라 텍스트를 삽입하는 조건을 사용할 수 있습니다.

1. 필드 대화 상자에서 기능 탭을 클릭합니다.

2. 유형 상자에서 "조건부 텍스트"를 클릭합니다.

3. 조건 상자에 Addressbook.addresses.firstname == "Michael"을 입력합니다.

4. 조건을 충족할 경우 상자에 "Dear"를 입력합니다.

5. 기타 상자에 "Hello"를 입력합니다.

6. 삽입을 클릭합니다.