#!/bin/bash # -*- coding: utf-8 -*- # Test file for: apply_citation_style.sh THIS_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" ROOT_DIR="$(realpath "$THIS_DIR/../..")" # Test counter TESTS_RUN=0 TESTS_PASSED=0 TESTS_FAILED=0 # Colors GREEN='\033[0;32m' RED='\033[0;31m' NC='\033[0m' assert_success() { local cmd="$1" local desc="${2:-$cmd}" ((TESTS_RUN++)) if eval "$cmd" > /dev/null 2>&1; then echo -e "${GREEN}✓${NC} $desc" ((TESTS_PASSED++)) else echo -e "${RED}✗${NC} $desc" ((TESTS_FAILED++)) fi } assert_file_exists() { local file="$1" ((TESTS_RUN++)) if [ -f "$file" ]; then echo -e "${GREEN}✓${NC} File exists: $file" ((TESTS_PASSED++)) else echo -e "${RED}✗${NC} File missing: $file" ((TESTS_FAILED++)) fi } # Add your tests here test_placeholder() { echo "TODO: Add tests for apply_citation_style.sh" } # Run tests main() { echo "Testing: apply_citation_style.sh" echo "========================================" test_placeholder echo "========================================" echo "Results: $TESTS_PASSED/$TESTS_RUN passed" [ $TESTS_FAILED -gt 0 ] && exit 1 exit 0 } main "$@" # -------------------------------------------------------------------------------- # Start of Source Code from: /home/ywatanabe/proj/scitex-writer/scripts/shell/modules/apply_citation_style.sh # -------------------------------------------------------------------------------- # #!/bin/bash # # -*- coding: utf-8 -*- # # Timestamp: "2025-11-08 10:42:00 (ywatanabe)" # # File: ./scripts/shell/modules/apply_citation_style.sh # # # ============================================================================ # # Apply Citation Style from Config to LaTeX Bibliography File # # ============================================================================ # # This script reads the citation style from SCITEX_WRITER_CITATION_STYLE environment # # variable and updates the bibliography.tex file to use that style. # # # # Usage: # # source config/load_config.sh # # ./scripts/shell/modules/apply_citation_style.sh # # # # Or call it from compilation scripts after loading config # # ============================================================================ # # set -euo pipefail # # # Colors for output # GREEN='\033[0;32m' # YELLOW='\033[0;33m' # RED='\033[0;31m' # NC='\033[0m' # No Color # # echo_success() { echo -e "${GREEN}SUCC: $1${NC}"; } # echo_warning() { echo -e "${YELLOW}WARN: $1${NC}"; } # echo_error() { echo -e "${RED}ERRO: $1${NC}"; exit 1; } # # # Check if SCITEX_WRITER_CITATION_STYLE is set # if [ -z "${SCITEX_WRITER_CITATION_STYLE:-}" ]; then # echo_warning "SCITEX_WRITER_CITATION_STYLE not set, skipping citation style update" # echo_warning "Using default style in 00_shared/latex_styles/bibliography.tex" # exit 0 # fi # # # Path to bibliography file # BIBLIOGRAPHY_FILE="./00_shared/latex_styles/bibliography.tex" # # if [ ! -f "$BIBLIOGRAPHY_FILE" ]; then # echo_error "Bibliography file not found: $BIBLIOGRAPHY_FILE" # fi # # # Current style # CURRENT_STYLE=$(grep '^\\bibliographystyle' "$BIBLIOGRAPHY_FILE" | sed 's/\\bibliographystyle{\(.*\)}/\1/') # # if [ "$CURRENT_STYLE" = "$SCITEX_WRITER_CITATION_STYLE" ]; then # echo_success "Citation style already set to: $SCITEX_WRITER_CITATION_STYLE" # exit 0 # fi # # # Create backup # BACKUP_FILE="${BIBLIOGRAPHY_FILE}.bak" # cp "$BIBLIOGRAPHY_FILE" "$BACKUP_FILE" # # # Update the bibliography style # # This will comment out the current active style and uncomment the target style # # If target style is not in the file, it will add it # # # First, comment out all uncommented \bibliographystyle commands # sed -i '/^\\bibliographystyle/s/^/% /' "$BIBLIOGRAPHY_FILE" # # # Check if the target style exists as a commented line # if grep -q "^% \\\\bibliographystyle{${SCITEX_WRITER_CITATION_STYLE}}" "$BIBLIOGRAPHY_FILE"; then # # Uncomment the first occurrence of the target style # sed -i "0,/^% \\\\bibliographystyle{${SCITEX_WRITER_CITATION_STYLE}}/{s/^% //}" "$BIBLIOGRAPHY_FILE" # echo_success "Updated citation style to: $SCITEX_WRITER_CITATION_STYLE (from commented line)" # else # # Add the new style after line 20 (after OPTION 1 header) # sed -i "20a\\\\bibliographystyle{${SCITEX_WRITER_CITATION_STYLE}}" "$BIBLIOGRAPHY_FILE" # echo_success "Updated citation style to: $SCITEX_WRITER_CITATION_STYLE (added new)" # fi # # echo_success "Citation style changed: $CURRENT_STYLE → $SCITEX_WRITER_CITATION_STYLE" # echo_success "Backup saved to: $BACKUP_FILE" # # # EOF # -------------------------------------------------------------------------------- # End of Source Code from: /home/ywatanabe/proj/scitex-writer/scripts/shell/modules/apply_citation_style.sh # --------------------------------------------------------------------------------